Related
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
CyanogenMod is a free, community built, aftermarket firmware distribution of Android 6.0.x (Marshmallow), which is designed to increase performance and reliability over stock Android for your device.
Code:
/*
* Your warranty is now void.
*
* We are not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at us for messing up your device, we will laugh at you.
*
*/
CyanogenMod is based on the Android Open Source Project with extra contributions from many people within the Android community. It can be used without any need to have any Google application installed. You will need to provide your own Google Applications package (gapps). CyanogenMod does still include various hardware-specific code, which is also slowly being open-sourced anyway.
All the source code for CyanogenMod is available in the CyanogenMod Github Repo. And if you would like to contribute to CyanogenMod, please visit our Gerrit Code Review. Your changelog is whatever was merged into gerrit.
Instructions:
1. First time flashing CyanogenMod 13.0 your device, or coming from another ROM?
2. Download the zip(s).
3. Install a compatible Recovery
4. Perform a NANDroid backup of your current ROM (Optional)
5. Wipe data & cache partitions of your device
6. Flash CyanogenMod.
7. Optional: Install the Google Apps addon package.
Firmware Update:
If you have not installed the latest stock ota, then some firmware files need updated. The following flashable zips will update the bootloader and the dtb corresponding with the listed stock version. Only the latest one listed here will be supported by recent CM builds.
106
Official Nightly Downloads:
get.cm
GAPPS
Unofficial Downloads with Nvidia App Support (CM 12.1):
20151003
Bugreport:
Report in this thread. CM's JIRA is only for stable builds, which I have not released.
Known Problems:
Only the power button seems to wake the device.
Wireless controller doesn't work.
Source Code:
https://github.com/CM-Shield/android_device_nvidia_roth
https://github.com/CM-Shield/android_kernel_nvidia_roth
XDA:DevDB Information
CM13.0 Unofficial Roth, ROM for the Nvidia Shield
Contributors
Steel01, Unjustified Dev
ROM OS Version: 6.0.x Marshmallow
ROM Kernel: Linux 3.4.x
Based On: CyanogenMod
Version Information
Status: Nightly
Created 2015-02-28
Last Updated 2016-03-15
sweet - since I'm not using most of the quicksettings on the stock shield I can finally get rid of most of them without installing xposed and gravity box...
but right now its missing the buttons-menu in the settings - so you cant configure the power menu or any of that stuff.
still, the bootup time is amazing on this thing compared to stock...
Sweet! Does this have the stuff I sent to @Unjustified Dev? (Setting volume button as volume down)
r3pwn said:
Sweet! Does this have the stuff I sent to @Unjustified Dev? (Setting volume button as volume down)
Click to expand...
Click to collapse
No, this build does nothing with the volume button. What I'd like to see it do is bring up the volume widget without changing the volume which would be as similar to stock as I can figure, but I don't see a way to do that. You can change that pretty easily locally, if you want that on your install.
@Spleeno: I expect that has to do with upstream cm. I didn't turn off any settins and I don't think Unjustified Dev did either. I know upstream was still working on forward porting all of 11's features last I looked. I don't know where they're at on that now.
Also, if it helps at all, it's possible to disable the LED by running (as root) "echo 0 > /sys/class/leds/roth-led/brightness". (This was a setting on stock, not sure if you guys want to re-add it in.)
Steel01 said:
No, this build does nothing with the volume button. What I'd like to see it do is bring up the volume widget without changing the volume which would be as similar to stock as I can figure, but I don't see a way to do that. You can change that pretty easily locally, if you want that on your install
Click to expand...
Click to collapse
I had mine set to Volume down for a couple reasons:
1. When tapped once, it would pull up the volume menu (and lower volume by one step, but not a huge issue)
2. When held with the power button, it takes a screenshot (that's what happened on stock, too)
3. Holding it down mutes it, if for some reason you needed to quickly mute the device.
r3pwn said:
Also, if it helps at all, it's possible to disable the LED by running (as root) "echo 0 > /sys/class/leds/roth-led/brightness". (This was a setting on stock, not sure if you guys want to re-add it in.)
I had mine set to Volume down for a couple reasons:
1. When tapped once, it would pull up the volume menu (and lower volume by one step, but not a huge issue)
2. When held with the power button, it takes a screenshot (that's what happened on stock, too)
3. Holding it down mutes it, if for some reason you needed to quickly mute the device.
Click to expand...
Click to collapse
For the first, I'd want to leave that to user choice. Wonder how hard it would be to add that to the settings section. Can you even add setting pages from the device tree without modifying upstream?
On the second, you might have me convinced there. I'll change it on mine next time I'm poking at it. And will probably change it in the tree unless something weird pops out.
There's several more things I want to look at porting over. Console mode looks to be really easy. At least in basic form. There's a couple props to force hdmi only and resolution. Only problem is if the cable is unplugged, it wont automatically switch back over. The wireless controller is another, but more difficult. I got the apps to run, but they errored out. I have a couple more ideas to try, but haven't got there yet. Took a break over the weekend, but should be back at it tomorrow night.
Steel01 said:
For the first, I'd want to leave that to user choice. Wonder how hard it would be to add that to the settings section. Can you even add setting pages from the device tree without modifying upstream?
Click to expand...
Click to collapse
I'm not sure. I'll have to take a look. Anything is possible with overlays, though, right?
Absolute worst case scenario, I'll make an app with a few misc. things like this to gain some functionality back from stock.
And while we're in the spirit of discussing rom-related components, I have a bug report: Attempting to use Nvidia's GRID Streaming service results in only the audio going through. (Not sure if that affects PC streaming, as my PC is nowhere near powerful enough to test)
And also,
There seems to be some weird issue with storage. Either apps aren't getting moved to the sdcard when told or the system is factoring them into the internal storage space calculation anyways. (I'll get back to you on this one, it isn't too hard to test to figure it out.)
Steel01 said:
Took a break over the weekend, but should be back at it tomorrow night.
Click to expand...
Click to collapse
Alright. No rush, take as long of a break as you need!
Steel01 said:
I expect that has to do with upstream cm. I didn't turn off any settins and I don't think Unjustified Dev did either. I know upstream was still working on forward porting all of 11's features last I looked. I don't know where they're at on that now.
Click to expand...
Click to collapse
Hm, I'm running the 20150223 cm12 nightly on my z3 compact and it already has the button menu - I wouldnt have expected/noticed with some of the early january builds ofc
So I started a proper post with quotes and all, but the android keyboard or textbox edit thing in Firefox did something weird and ate my post. And there's no undo... So this is my shorter and more miffed second attempt.
@Spleeno: My bad, I see that on my Nexus 5 now. I'll compare my dev tree with the N5's and see what the difference in that area is.
@r3pwn: On the Grid issue: I confirmed that this morning, but didn't have much time to look at the logs. I saw something about missing codecs, but that was at the top and maybe not related. I'll look more into it tonight. It could well be a worse underlying problem.
@Steel01 man thanks so much for your initiative, i'm happy to see a custom rom o my shield and its working great, i have tested with retroarch nightly and ppsspp nightly and its working awesome.
if its possible until you define the function to volume button i think you can change from program_red to button_select to at least we can use on the emulators
another thing i have noticed the volume button on original shield rom is 109 on you rom is 183
thanks for your time and thanks so much for the custom rom!
update:
other things i have noticed
when we make a fresh installation the shield don't have the mtp option checked
we have a vibration option on sound menu (i dont know if this make some erros on system if enable/disable)
if the kernel have the option Prism from nvidia its possible to put on display using the adaptive brightness ( /sys/class/graphics/fb0/device/smartdimmer/enable)
thanks again
I looked at the sdcard issue. It appears that only the app is getting transferred over,not any obbs that belong to the app. You can move those manually, but that's not very user-friendly.
Okay, I've been chasing this grid problem around most of the night... Finally got a lead when I gave up and started trying to mess with the controller stuff again. Apparently the Grid service want to use stuff from the main Nvidia control service. Which is embedded in the stock build and not open source. I was able to pull the apks (NvCPLSvc and the controller related NvBlakeManager and BlakePairing) from my Shield Tablet (already on lollipop), resign them with CM's keys and get them to run. Once NvCPLSvc was happy, the logs related to Grid stuff look a lot more similar to what I get on my stock tablet, but still no dice. It's getting stuck in the queue. Dunno if I'll make any more progress on that tonight or not, but I'm a lot closer.
On the controller front, at least it's more obvious what the problem is. Nvidia modified the wireless p2p stuff in the android framework. Some functions that blake calls don't exist in CM and causes the service to bomb. I'm playing with a diff between the aosp tree and CM. Should be able to get get a sane one tonight and run off a build to see how much further I can get. Then the question will be if I can magically add the changes to the device tree or if they would have to be submitted to upstream CM or Google which isn't likely to get merged.
@YamazakiRobert:
The mtp part could be due to some testing we were doing and trying to get adb up when cm wasn't booting. I'll check when I'm working on the device tree again.
I doubt turning on vibrate would damage anything since there isn't any hardware for it. But I agree the option shouldn't be there. More things to add to the device tree list.
That smartdimmer path is there on this build and is enabled by default. Though, I haven't seen any effects like adaptive brightness. That feature drives me nuts and is one of the first things I turn off on a phone reinstall... But, I'll look into enabling auto brightness in CM. Should be able to find that in the N5 tree as well.
@r3pwn:
Creating a open source control app would probably be the easiest way to go. Control things like the leds, console mode, etc. If someone could figure out what blake is actually doing under the hood, it would be nice to get away from those stock programs as well. But I didn't have a whole lot of luck with deciphering that a few weeks ago. But it's looking like NvCPLSvc will have to stick around if people want Grid access, which is unfortunate.
The transfer problem sounds like an upstream issue or even on-purpose decision. Does this work on other CM ports?
Edit: Ugh. The wifi framework stuff appears to have been refactored between 4.4 and 5.0. Got the patch cleaned up and applied and stuff overlaps and isn't found and all kinds of fun. I probably should have pulled all this from the tablet aosp. Guess I'll try that angle tomorrow.
Thank you for this majestic piece of work.
I'm going to build a shrine with your username when you'll make a working CM12 with GRID.
Steel01 said:
@r3pwn:
Creating a open source control app would probably be the easiest way to go. Control things like the leds, console mode, etc. If someone could figure out what blake is actually doing under the hood, it would be nice to get away from those stock programs as well. But I didn't have a whole lot of luck with deciphering that a few weeks ago. But it's looking like NvCPLSvc will have to stick around if people want Grid access, which is unfortunate.
The transfer problem sounds like an upstream issue or even on-purpose decision. Does this work on other CM ports?
Edit: Ugh. The wifi framework stuff appears to have been refactored between 4.4 and 5.0. Got the patch cleaned up and applied and stuff overlaps and isn't found and all kinds of fun. I probably should have pulled all this from the tablet aosp. Guess I'll try that angle tomorrow.
Click to expand...
Click to collapse
I can get right on making the app to control the LED, just as soon as I get back to my shield. Ah, who cares, I can start on it now! Also, glad to see you're making progress with GRID and the controller. I'll check out the storage thing on my G3 to see if it's a CM thing or something else.
So, the wifi framework stuff for the controller is taking more work than I bargained for. The changes needed are not in the tablet aosp tree at all, so I can't base from there. Makes me think they got put in the portables tree by accident. Somewhat of a break, it seems. But stuff is all in the wrong directories when trying to pull it into lollipop. It doesn't help that I'm mostly shooting blind and reacting to compiler errors. I think I'm starting to get a picture of what's going on, though. I'm probably going to have to start over at least one more time, but it's starting to look like it might be a small patch after all. I just need to find where all the files are really supposed to go...
Edit:
Got it to compile with only a few file changes (and I think only three lines in one file matter), but blake still errors out. Saying it can't find a different virtual function that should be right where it says it's looking for it. Somewhat confused atm. Doing a full clean and recompile just to make sure something didn't get way confused as I was tweaking and compiling. I'll see what that looks like tomorrow.
Does anyone around here have the first clue about smali? Given the following snippets from a decompiled BlakeManager:
Code:
.line 498
invoke-virtual {v1}, Landroid/net/wifi/p2p/WifiP2pGroup;->getNetworkId()I
move-result v0
*snip*
iget-object v5, p0, Lcom/nvidia/blakemanager/connectivity/BlakePairManagerMainWifi$6;->this$0:Lcom/nvidia/blakemanager/connectivity/BlakePairManagerMainWifi;
# getter for: Lcom/nvidia/blakemanager/connectivity/BlakePairManagerMainWifi;->mWifiP2pMgr:Landroid/net/wifi/p2p/WifiP2pManager;
invoke-static {v5}, Lcom/nvidia/blakemanager/connectivity/BlakePairManagerMainWifi;->access$500(Lcom/nvidia/blakemanager/connectivity/BlakePairManagerMainWifi;)Landroid/net/wifi/p2p/WifiP2pManager;
move-result-object v5
iget-object v6, p0, Lcom/nvidia/blakemanager/connectivity/BlakePairManagerMainWifi$6;->this$0:Lcom/nvidia/blakemanager/connectivity/BlakePairManagerMainWifi;
# getter for: Lcom/nvidia/blakemanager/connectivity/BlakePairManagerMainWifi;->mChannel:Landroid/net/wifi/p2p/WifiP2pManager$Channel;
invoke-static {v6}, Lcom/nvidia/blakemanager/connectivity/BlakePairManagerMainWifi;->access$400(Lcom/nvidia/blakemanager/connectivity/BlakePairManagerMainWifi;)Landroid/net/wifi/p2p/WifiP2pManager$Channel;
move-result-object v6
new-instance v7, Lcom/nvidia/blakemanager/connectivity/BlakePairManagerMainWifi$6$1;
invoke-direct {v7, p0}, Lcom/nvidia/blakemanager/connectivity/BlakePairManagerMainWifi$6$1;-><init>(Lcom/nvidia/blakemanager/connectivity/BlakePairManagerMainWifi$6;)V
invoke-virtual {v5, v6, v0, v7}, Landroid/net/wifi/p2p/WifiP2pManager;->createGroup(Landroid/net/wifi/p2p/WifiP2pManager$Channel;ILandroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V
I am totally confused about the last line. The function createGroup is declared as "public void createGroup(Channel c, ActionListener listener)" in mainline Android and the Shield Portable tree. Which matches the longhand call there. However, the function is being passed 4 parameters. Afaik, that should only be three. One for the 'this' pointer and two for the parameters. What is it doing with that fourth parameter (as I read, v0 is the extra)?
Other info. The logcat error I'm getting is:
Code:
--------- beginning of crash
E/AndroidRuntime( 1236): FATAL EXCEPTION: main
E/AndroidRuntime( 1236): Process: com.nvidia.blakemanager, PID: 1236
E/AndroidRuntime( 1236): java.lang.NoSuchMethodError: No virtual method createGroup(Landroid/net/wifi/p2p/WifiP2pManager$Channel;ILandroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V in class Landroid/net/wifi/p2p/WifiP2pManager; or its super classes (declaration of 'android.net.wifi.p2p.WifiP2pManager' appears in /system/framework/framework.jar)
E/AndroidRuntime( 1236): at com.nvidia.blakemanager.connectivity.BlakePairManagerMainWifi$6.onPersistentGroupInfoAvailable(BlakePairManagerMainWifi.java:505)
E/AndroidRuntime( 1236): at android.net.wifi.p2p.WifiP2pManager$Channel$P2pHandler.handleMessage(WifiP2pManager.java:776)
E/AndroidRuntime( 1236): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime( 1236): at android.os.Looper.loop(Looper.java:135)
E/AndroidRuntime( 1236): at android.app.ActivityThread.main(ActivityThread.java:5256)
E/AndroidRuntime( 1236): at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime( 1236): at java.lang.reflect.Method.invoke(Method.java:372)
E/AndroidRuntime( 1236): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898)
E/AndroidRuntime( 1236): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)
That virtual method is there in my build and the line in framework.jar/classes.dex matches byte for byte the line from the Shield Tablet's framework. Also, decompiling the Portables BlakeManager shows a way different application, though the call to createGroup only passes 3 parameters. I tried tweaking the smali file to remove v0 and reassembling, but that failed some art verification when I tried copy it over. Even after clearing the cache and a full factory reset. Like so:
Code:
I/art ( 1364): Verification error in void com.nvidia.blakemanager.connectivity.BlakePairManagerMainWifi$6.onPersistentGroupInfoAvailable(android.net.wifi.p2p.WifiP2pGroupList)
I/art ( 1364): couldn't find method android.net.wifi.p2p.WifiP2pManager.createGroup (Landroid/net/wifi/p2p/WifiP2pManager$Channel;ILandroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V
I/art ( 1364): void com.nvidia.blakemanager.connectivity.BlakePairManagerMainWifi$6.onPersistentGroupInfoAvailable(android.net.wifi.p2p.WifiP2pGroupList) failed to verify: register v7 has type Precise Reference: com.nvidia.blakemanager.connectivity.BlakePairManagerMainWifi$6$1 but expected Integer2pGroupList): [0x56]
E/art ( 1364): Verification failed on class com.nvidia.blakemanager.connectivity.BlakePairManagerMainWifi$6 in /system/app/NvBlakeManager.apk because: Verifier rejected class com.nvidia.blakemanager.connectivity.BlakePairManagerMainWifi$6 due to bad method void com.nvidia.blakemanager.connectivity.BlakePairManagerMainWifi$6.onPersistentGroupInfoAvailable(android.net.wifi.p2p.WifiP2pGroupList)
E/JavaBinder( 1364): *** Uncaught remote exception! (Exceptions are not yet supported across processes.)
What is it verifying against? The function declaration doesn't have that parameter... I'm beginning to think I'm out of my league unless someone can give me a crash course in low level Android programming. I mean, I can hazard an educated guess as to what that parameter (result of getNetworkId()) does (instead of WifiP2pGroup.PERSISTENT_NET_ID in createGroup, use that), but that would change the declaration. I even tried overloading the function. So confused...
Edit:
Scratch all of that. I botched the overload first time through. Got the overload in correctly and now it's happier. WifiP2P stuff isn't activating correctly, though. Don't know if that's due to their changes to hostapd and wpa_supplicant or if I'm missing more framework stuff.
I'm thinking of throwing together another build to release tomorrow along with a flashable zip of of the Nvidia stuff. That way if anyone else wants to tinker with it, they can. More eyes do make this stuff easier.
I don't like triple posting, but I still want to trigger new post alerts...
Okay, new build is up here: cm-12-20150305-UNOFFICIAL-roth.zip. That includes everything I've done to date. Attached are the two patches I don't have on github. They apply in cm12 to frameworks/base and frameworks/opt/net/wifi respectively. Also attached is a flashable zip of the Nvidia system apps pulled from my tablet (which can be obtained by anyone from Nvidia's ota zips). These are unmodified outside of resigning them with CM's key to allow them to run as system. The command I used is below for reproducibility. Neither Grid or the controller pairing works correctly yet, but nothing outright crashes either. If someone has any ideas from the logs or wherever about what's missing now, I'd appreciate suggestions.
Code:
java -jar /path/to/cm12/out/host/linux-x86/framework/signapk.jar /path/to/cm12/build/target/product/security/platform.x509.pem /path/to/cm12/build/target/product/security/platform.pk8 old.apk new.apk
Changes and known problems:
The volume button is now mapped to volume_down.
If 'Google Play Movies and TV' is updated, it starts FCing on the next reboot. I haven't tried to track down the problem yet. I just removed it.
Edit:
Well, blast... This is going to be much more of a pain than I thought. Good news: I got the wireless controller to connect. Bad news: I had to copy wpa_supplicant and hostapd over from my tablet. This code, I don't see anywhere... I've reuploaded the flashable zip with these files. I do not like this as a long term solution. Not at all.
Edit 2:
So, it connects, but won't reconnect and old pairings aren't saving correctly. Think I have a fix for it, but I'm having to recompile. This works, but after the 2 minute timeout, you have to reboot and re-pair.
Edit 3: Or worse... It just disconnects period after 2 minutes. Hoping my change in the rebuild changes this.
Edit 4: And no dice. It dies after two minutes with a few comments in the log. Any time a button is pressed, it spits a bunch of stuff about not being able to open the audio device. Probably trying to make the button sound through the headphone jack while that isn't completely initialized. More research to do later, but I think I'm done for the night.
Steel01 said:
I don't like triple posting, but I still want to trigger new post alerts...
Click to expand...
Click to collapse
Instead of using baksmali, why not use jadx (decompiles from apk straight to java and is interactive too)?
Sorry for the short (and only potentially helpful) reply to such a massive wall of text, but it's about midnight here and I need some sleep.
Also, I'm guessing your "nvservices.zip" file isn't supposed to be 5 bytes.
r3pwn said:
Instead of using baksmali, why not use jadx (decompiles from apk straight to java and is interactive too)?
Sorry for the short (and only potentially helpful) reply to such a massive wall of text, but it's about midnight here and I need some sleep.
Also, I'm guessing your "nvservices.zip" file isn't supposed to be 5 bytes.
Click to expand...
Click to collapse
I tried several tools to get there... Apktool being the one that got me the smali. Thanks for the reference, I'll look it up tomorrow. It's late here too. And the zip is 2.8 MB on this side. Just downloaded and it opened fine. Dunno what happened on your side.
Steel01 said:
I tried several tools to get there... Apktool being the one that got me the smali. Thanks for the reference, I'll look it up tomorrow. It's late here too. And the zip is 2.8 MB on this side. Just downloaded and it opened fine. Dunno what happened on your side.
Click to expand...
Click to collapse
Oh. I guess it was Tapatalk being stupid.
CyanogenMod is a free, community built, aftermarket firmware distribution of Android 5.0.x (Lollipop), which is designed to increase performance and reliability over stock Android for your device.
Code:
#include <std_disclaimer.h>
/*
* Your warranty is now void.
*
* We are not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at us for messing up your device, we will laugh at you.
*
*/
CyanogenMod is based on the Android Open Source Project with extra contributions from many people within the Android community. It can be used without any need to have any Google application installed. You will need to provide your own Google Applications package (gapps). CyanogenMod does still include various hardware-specific code, which is also slowly being open-sourced anyway.
All the source code for CyanogenMod is available in the CyanogenMod Github repo. And if you would like to contribute to CyanogenMod, please visit our Gerrit Code Review. Your changelog is whatever was merged into gerrit.
Now for the more specific stuff. Let me preface this entire thread by saying that I'm very much out on a limb here. I, as well as many others, have noticed that there are some fairly significant audio issues in CM stretching back to early CM11 builds for the M8. The general fix has always been "install v4a, and it'll work just fine". This isn't really a fix imho, it's a band-aid.
As such, I've created two repos: 4.20.x Sprint Stock, and 02/26 CM Unofficial (NOT NIGHTLY). I've uploaded the various parts that I think are going to be relevant in comparing the two code bases in the hopes that this problem can be tracked to its origin and finally fixed. The repos are on github as Stock and CM.
As far as the problems that have been noticed, it's good to remember that not all problems related to audio issues are what we're trying to address here. As an example, this is not a bluetooth thread, so bluetooth connectivity problems aren't going to be addressed even if it relates to phone calls or music playback. This is by no means a complete list and additional items should be listed as noted in posts. Some of the issues I feel that are actually related to audio problems are as such:
Distortion at loud volumes; speakers sound like crap when played loud, but not on stock or gpe
Improper playback channels; speakerphone volume level activating through phone channel rather than media channel
Sound dropouts during calls; caller can be heard but not hear M8 user (common with V4A Lolli installs)
Problem Submission: If you submit a problem to the list in your responses, please tag it as such;
PROBLEM_ITEM: [my problem description here].This will allow me to easily search the thread and add additional known issues to the list. If you submit a problem but don't see it in the list, check Post #2 for reasoning as to why the problem wasn't initially added to the list.
Inside the Stock repo is a logcat that I took while performing operations during music playback. Specifically, I started the music playback via Poweramp, opened AudioFx from inside Poweramp, changed the EQ Preset various times,returned to Poweramp, and stopped the music. I'm hoping that starting with the logcat will lead somewhere..... as I mentioned, I'm waayyy out on a limb here.
As for my device, I'm running my own builds of CM12, no cherry-picks, SuperSu, CM kernel w/ no tweaks, NO V4A. Repo sync for this build includes Settings: reorganization merge on Feb 26, 2015 7:35 AM. Anything after is not in the current build, and therefore not in the CM repo.
ALL help is greatly appreciated, unconstructive / disrespectful comments are not. Here's to hoping this goes somewhere.
Saved for Info
It's most likely not possible to fix. Boomsound drivers are closed source. Unless HTC decides to make the drivers open source, then we probably won't be able to get sound fixed on cm. [emoji80] [emoji80] [emoji80] [emoji80] [emoji80] [emoji80] [emoji80] [emoji80] [emoji80] [emoji80] [emoji80] [emoji80]
Yea... that was a statement I made in another thread responding to one of those "Why can't CM fix the audio issues already" posts. I still think that there might be a channel problem, especially with the way that the speakerphone is operating. So far though, I've not found a direct reference to the boomsound drivers in digging through the stock sources.
Rescue9 said:
Yea... that was a statement I made in another thread responding to one of those "Why can't CM fix the audio issues already" posts. I still think that there might be a channel problem, especially with the way that the speakerphone is operating. So far though, I've not found a direct reference to the boomsound drivers in digging through the stock sources.
Click to expand...
Click to collapse
I'm thinking it could be done through the kernel. But that's beyond my skill level.
probably not relevant , but all i got.lol. just found on beanstalk ROM. of course , i wouldnt know what to do with it. lmao.
"all i can really do , is stay out of my own way and let the will of heaven be done"
mrrocketdog said:
just found on beanstalk ROM. of course , i wouldnt know what to do with it.
Click to expand...
Click to collapse
no worries mrrocketdog. can you verify that you do not have audio issues on beanstalk rom? If so, think you can find mixer_paths.xml, audio_effects.xml, and audio_platform_info.xml and post links?
I found up that mixer_paths.xml is indeed used, unlike what some were saying in the other thread. and I'm starting there.
Rescue9 said:
no worries mrrocketdog. can you verify that you do not have audio issues on beanstalk rom? If so, think you can find mixer_paths.xml, audio_effects.xml, and audio_platform_info.xml and post links?
I found up that mixer_paths.xml is indeed used, unlike what some were saying in the other thread. and I'm starting there.
Click to expand...
Click to collapse
no audio issues confirmed. will look for path and report back.
"all i can really do , is stay out of my own way and let the will of heaven be done"
@Rescue9 , all i could find were these under system-lib-hw.
https://www.dropbox.com/sh/3xaqr8nlr19v6mm/AAD2VdLPQf8ijftOxZQiKmeGa?dl=0
if there is some other folder to check just let me know. i think i went thru them all. (maybe just named different?). will also go thru my cm11 nightly and look for above mentioned files. also can confirm no audio distortion on it. ran for about 2 months.
here is cm11.
https://www.dropbox.com/sh/prv441xo5mu25sj/AAAtGuWro9Jz4y3B2E8dtvm9a?dl=0
again , could not find exact files you requested , but uploaded everything with 'audio' in title.
"all i can really do , is stay out of my own way and let the will of heaven be done"
The discussion in this thread is great and definitely development related with an end goal as the rules say. However, since it's unofficial, we decided to move it to Development. Please PM me if you have questions or concerns.
Thanks,
coal686
Forum Moderator
@Rescue9, found maybe something else. beanstalk - system - media - soundimage.
https://www.dropbox.com/sh/whqk8elvgjbd7jh/AACoqdZrxrNH3C1BMn2IHzXha?dl=0
"all i can really do , is stay out of my own way and let the will of heaven be done"
Some possible Kernel help.
Not sure if this will help or not, but I'm running the CM12 based rom Resurrection Remix by: Brian Koluch
The Kernel he includes seems to fix a lot of the speaker distortion issues I was having with my M8. The Kernel is: B14CKB1RD v3.4.36 (g1069d49)
Here's his Google+ RR Community Post: https://plus.google.com/115522815889154627721/posts/d9BApKK8nbx
Maybe you guys can review that Kernel and see what's different, it has some audio commits in it.
toknitup420 said:
It's most likely not possible to fix. Boomsound drivers are closed source. Unless HTC decides to make the drivers open source, then we probably won't be able to get sound fixed on cm. [emoji80] [emoji80] [emoji80] [emoji80] [emoji80] [emoji80] [emoji80] [emoji80] [emoji80] [emoji80] [emoji80] [emoji80]
Click to expand...
Click to collapse
nothing is imposible.
What about using v4a or using a volume limiter ??
fcukmayank said:
What about using v4a or using a volume limiter ??
Click to expand...
Click to collapse
Those are band-aid solutions. The goal is to fix the problem once and for all.
CJ-Wylde said:
The Kernel he includes seems to fix a lot of the speaker distortion issues I was having with my M8. The Kernel is: B14CKB1RD v3.4.36 (g1069d49)
Click to expand...
Click to collapse
This is very informative! After playing around extensively with the config files in /etc/ I'm beginning to think that this is indeed a problem wholely related to the kernel. I remember using Quantum on my GS3 simply because the kernel fixed a number of issues.
Part of the problem that I'm facing is the fact that my M8 doesn't sound all that distorted on the high end. I feel as I'm trying to grease a squeaky wheel when I don't even hear the squeak.
I know that with the build I'm on now with the Kernel I mentioned, things are definitely more clean & clear on the speakers. I'm glad I can help a little bit.
Thanks @CJ-Wylde never knew this Brian guy built Roms for the m8. I see the kernel is a from wyldstallyn using blackbirds git.
OP maybe ask Brian on G+ if he can direct you to who built the kernel and ask them what they changed if anything that is maybe fixing the distortion
krazie1 said:
OP maybe ask Brian on G+ if he can direct you to who built the kernel and ask them what they changed if anything that is maybe fixing the distortion
Click to expand...
Click to collapse
That's a good idea @krazie1. Would you take care of that for the team. I'm still working through lines of code looking for a connection.
I did install the blackbird kernel straight over the 02/28 CM12 build I'm running now and the speakers actually sounded worse. Very distorted at half volume. I didn't even want to increase the volume fie fear of damaging them.
Rescue9 said:
That's a good idea @krazie1. Would you take care of that for the team. I'm still working through lines of code looking for a connection.
I did install the blackbird kernel straight over the 02/28 CM12 build I'm running now and the speakers actually sounded worse. Very distorted at half volume. I didn't even want to increase the volume fie fear of damaging them.
Click to expand...
Click to collapse
Here is the wyldstallyn's kernel github https://github.com/wyldstallyns
I will be flash testing the resurrection remix 5.3.7 build later when my phone charges up
Since at lease back in the 4.4 days of AOSP, the nexus 5 (and probably others) has had an issue with the camera when in video mode. There's a nasty green line that appears on the side of the video during playback.
It's an easy fix; just replace the file /system/lib/libmmcamera_interface.so with the one from the factory nexus image.
I have poured over the source code for this library, but I can't find out what it is that causes this anomaly nor why it is fixed in google's image, but not in the AOSP source. How can this have been an issue for so long? Am I the only one who runs self-compiled AOSP on my N5?
Anyway, does anybody have any idea what the cause is, or how to fix it in the source?
Hello!
I started searching to fix that issue this morning and i ran in to your post. Ive been building a while from aosp sources with minimal editing only, and i think this hasnt happened with 5.0.2 for me. Now that ive merged 5.1 into the source, i saw it happening again.
I checked few trusted developers vendors, blobs, etc. And i managed to make this:
https://github.com/sicknemesis/android_vendor_lge/commit/de6831773e3e083cef8d53f344f0a03f6a604268
As i write, im flashing and bootin a rom build with this commit and it seems its working correctly now.
All credits to original authors as seen in original commit! Hope this was the thing we are looking for and i see not lot of people check this Developer Discussion forum . I DO!
Gene Poole said:
Since at lease back in the 4.4 days of AOSP, the nexus 5 (and probably others) has had an issue with the camera when in video mode. There's a nasty green line that appears on the side of the video during playback.
It's an easy fix; just replace the file /system/lib/libmmcamera_interface.so with the one from the factory nexus image.
I have poured over the source code for this library, but I can't find out what it is that causes this anomaly nor why it is fixed in google's image, but not in the AOSP source. How can this have been an issue for so long? Am I the only one who runs self-compiled AOSP on my N5?
Anyway, does anybody have any idea what the cause is, or how to fix it in the source?
Click to expand...
Click to collapse
Wow, so the N5 was never intended to use the AOSP version of that library. I never checked the qcom binaries nor noticed that it was included there.
Thanks for this!
The Boot2Gecko people have a source fix for it:
https://bugzilla.mozilla.org/show_bug.cgi?id=1117662
https://github.com/mozilla-b2g/device-hammerhead/commit/c37663f828891cf7a49451a04f3f1ce7f7e5c054
Thanks. It appears that the same lack of patch exists in the M source. I'll try it when I get a chance.
Hello guys and girls,
As some of you already know Android 8.1 suffers from a severe Multi-Touch Issue. This issues makes the smartphone randomly jumping between the two touching points on the screen when touching with two or more fingers.
The issue is known to google since the preview of 8.1. It isn´t only affecting pixel but most probably all devices running 8.1. The issue is also present on P.
An issue got created here: https://issuetracker.google.com/issues/70344455
There is a fix since mid march in review on google gerrit. But that didn´t make it into the april release, obviously.
To visualize the issue refer to the following videos:
https://youtu.be/wgYN5GwIgIc
https://youtu.be/2Vv584tvVyg
https://www.youtube.com/watch?v=4dnIk_5qdK8&feature=youtu.be
This is especially bad for gamers. With the recent release of PUBG this issues seems dramatic to some, less to others.
I´m no gamer but I noticed the issue on the google foto app.
This issue has nothing to do with the corners badly reacting to touches, or touch sensitivity etc.
So but now to the fix. It seems the issues is only related to resampling but not to touching specific points of the screen ( not related to crossing x and y axis).
That also explains why the issue wasn´t happening when using the touch tracking tool in dev settings but on various multi touch test apps.
The fix is on google gerrit currently under review here:
https://android-review.googlesource.com/c/platform/frameworks/native/+/640605
https://android-review.googlesource.com/c/platform/frameworks/native/+/640606
Last week I compiled myself a DU build with the changes included and I couldn´t trigger the issue at all. I found no other side effects caused by the two patches.
For now I decided to provide a Magisk Module which replaces the changed libs that fixes the issue.
I compiled the libs while doing my april build of DU. The magisk module can be found on the link a little bit down.
The download is here:
https://www.androidfilehost.com/?fid=890129502657595755
A few disclaimers here.
1. That fix should in theory work for most 8.1 devices, including the likes of pixel 1st gen, pixel 2nd gen, one plus, xiaomi which suffer from this severe issue.
2. I didn´t fix this, I just compiled the libs with the fix found on google gerrit.
3. Rom devs you are very welcome to include this fix. I found no ill consequences as of yet but I can understand google taking it slow and reviewing it longer. Maybe they will find a better fix, but as of now this is the best thing we have.
Donations:
Donations are not mandatory but very welcome.
If you like my work: http://paypal.me/freak07
deleted
This made my phone bootloop. Have you got uninstaller for this module?
MpandAUS said:
This made my phone bootloop. Have you got uninstaller for this module?
Click to expand...
Click to collapse
See the second paragraph from here. Also, really no point in using this anymore anyways since this patch was merged into aosp in May.
Hi,
I'm acually working on LineageOS 15.1 and I'm running into a problem:
In frameworks/base/core/java/android/content/BroadcastReceiver.java (in the method PendingResult beginning with line 86) the resultCode is set to 4!
This is
Code:
RESULT_SMS_UNSUPPORTED
added in API level 19
public static final int RESULT_SMS_UNSUPPORTED
Set by BroadcastReceiver to indicate that the message, while possibly valid, is of a format or encoding that is not supported.
Constant Value: 4 (0x00000004)
My problem is, I can't figure out, where and why this is set!
So, it's not possible to send a message via SMS...
Any help is welcome!
These two main problems are left in LineageOS 15.1:
Camera not working
Sending SMS not working
There are a few minor problems, but they are not important.
If there is no further help, this finally will be the end of developing this ROM! :crying:
thanks for the work
im just want stable rom.
my stock ROM reboot too much everday after rooting.
so now im using 14.1 no reboot here, you already lose lots good options in the LA14 camera like slow motion(high fps rate) and EIS \ OIS
this phone slowly dying
even my old sony(LWW) was develop from android 2.3 upto 7.1 (through CM to lineage) about 7 years (include custom roms)
Superrman said:
thanks for the work
im just want stable rom.
my stock ROM reboot too much everday after rooting.
so now im using 14.1 no reboot here, you already lose lots good options in the LA14 camera like slow motion(high fps rate) and EIS \ OIS
this phone slowly dying
even my old sony(LWW) was develop from android 2.3 upto 7.1 (through CM to lineage) about 7 years (include custom roms)
Click to expand...
Click to collapse
I understand what you are saying but I think the users enjoying Bernie's ROM are practical users who do not care about latest (crap) features like live emoji or animojis or whatever teenage functions they implement. Real innovations are not to be found. Currenty i switch between my iPhone 7 and Z5c every other week. I still think my Z5c rocks!
I would love to try L15 so I sincerely hope Bernie will find support for his development.
Berni-0815 said:
Hi,
My problem is, I can't figure out, where and why this is set!
Click to expand...
Click to collapse
I've been skimming through LOS repos. AFAICT, the only place in which that constant is used is here.
Antonio
antonio.galea said:
I've been skimming through LOS repos. AFAICT, the only place in which that constant is used is here.
Click to expand...
Click to collapse
Yes; I know. But I've set a logging command at this point and the code is never reached.
So, it ("4") must be set somewhere else...
I've set so much logging commands in some suspicious sourcecode-files but I can't figure out, where this could happen.
The logging commands are showing this chronological order:
Code:
packages/apps/Messaging/src/com/android/messaging/util/PhoneUtils.java #getCanonicalByCountry()
- MessagingApp: (bt): Number valid at this point! getCanonicalByCountry(): canonicalNumber: +nnnnnnnnnnn
>>> It must happen [B]after[/B] the above sourcecode-file and [B]before[/B] the next ones: <<<
frameworks/base/core/java/android/app/LoadedApk.java (Don't find anything)
frameworks/base/core/java/android/content/BroadcastReceiver.java #getResultCode() #PendingResult() #getPendingResult() and #setPendingResult()
- BroadcastReceiver: (bt): PendingResult(Line 86): resultCode: 4