Flashable file to change build.prop values - ONE Q&A, Help & Troubleshooting

Hi!
So I'm having this weird microphone issue with my OnePlus One where people can only hear me if I turn on the speakerphone.
I found a way to fix it, but I need to do it every time I flash a new rom. Since I'm currently testing the CM nightlies, that means almost everyday!
I was thinking about a flashable .zip file that changes the values for me. Is this possible? Is it complicated? Do we have any tool/app for this?
The details are below, but the files that need to be adjusted are build.prop, audio_platform_info.xml, and mixer_paths.xml+
Thanks!
Step by step:
/system/build.prop. Change
ro.qc.sdk.audio.fluencetype=fluence
to
ro.qc.sdk.audio.fluencetype=none
Then, edit /system/etc/audio_platform_info.xml
<device name="SND_DEVICE_IN_HANDSET_MIC" acdb_id="40" />
to
<device name="SND_DEVICE_IN_HANDSET_MIC" acdb_id="4" />
And also....
1. Go to system/etc/mixer_paths.xml
2. Mount system as R/W
3. Open up mixer_paths.xml with Text Editor
4. Scroll close to the bottom of the text, your little scroll position indicator should be about an inch up from the bottom of your screen(no on screen buttons)
5. You will see <!-- Analog input devices --> and a bunch of text underneath.
6. I wasn't entirely sure which mic would make this work so I changed the <path name+"main-mic"> value from 84 to 110
7. Save the changed mixer_paths.xml and reboot your device for good measure

Have you figured out how to make a flashable zip for this? I'm having the same mic issues now and would love a quick flash after updating my rom every time as well.

Related

Registry changes are lost after reboot! (Xperia)

Hello,
I would like to change the multiline-capabilites key in HKLM/System/State/Phone to '1' in order to make the menus necessary to control the line for outgoing calls appear. Since the changes will only take effect after reboot, I have to do so. However, after reboot, the menus still do not appear, but the registry key is changed back to '0'. I guess this is due to the simcard, which does not have a valid CSP-entry for ALS. Is there any possibility to make the phone not check the CSP but just keep the entry I set manually?
Thanks,
Chris
They are probably changing back because they are built into the rom that way. Try a new rom if you really want to change it.

[Q]

I was trying to to install and use adb shell for the first time. It didn't go out so well. I forgot to put a title so oh well lol.
This is for Windows 7.
Basically, I was trying to follow the instructions on this site: http://www.mydroidworld.com/forums/android-hacks/734-how-adb-windows-easy-way.html I have a Sprint Hero so i skipped the parts about downloading the Motorola drivers. When i got to this part,
"You should now be in the System Properties window.
Click on the Advanced tab.
Click on the Environment Variables... button
In the System variables(lower box), scroll through the list until you see Path under the Variable column.
Click on it to highlight it, click on the Edit... button.
We are going to add our path to adb, where we installed the SDK, in the Variable value: box.
Make sure your cursor is at the end of the last entry, and type this:
;C:\android\tools\"
I went to the path variable and for the variable value, I actually put "box" in for it. Then i went to the last variable on the list and put ";C:\android\tools\" as the value for it. The original value of it was the %SYSTEMROOT% stuff... I'm not sure if that was right or not. Anyway i pressed okay and exited. I noticed that ADB didn't work right, so i tried to go back into the Advanced system settings but i get this error message that keeps kicking me out. I noticed that i got it for all programs that required admin privileges. So, i don't know what to do. System restores don't work, even in safe mode. Any help would be appreciated.
Edit- I found out how to change the PATH variable back to default, but it's not saving. Can someone tell me how to make it stick? Also, if someone could check on their computer what the last variable is ( the environmental variables menu) I could probably how to change that back to default as well! Please hurry lol
Error- The file name or directory name, or volume label syntax is incorrect
This is also another error i get due to the mistake i made. Like i said, I get the first error only when trying to go into system settings, but i get this error when i try to run anything that needs admin privileges . Once again, all help and suggestions are appreciated.

[Q] GravityMod2 questions

C3C076 or one of you who are more familiar with this than I might be able to answer this...only I can't post in the proper thread due to thread post count....
Couple of things about this mod for the ThL W8. I have it running just fine but have some issues with it.
1. How do I get rid of the circle battery mod and go back to the stock battery icon?
2. How do I change the font on the lockscreen 'clock' app? The bolded hour looks terrible.
3. How do I stop the lockscreen from showing the left side box temporarily? It is showing that you can slide left to install widgets on the lockscreen but I don't like how it unbalances the look of the lockscreen.
4. Version 1.4 changelog mentioned that empty sim card slot notifications would be hidden....I still see a message for sim slot 2 being empty until I click the clear notification button.
5. Now that I think about it, could I just replace the digital clock app in 1.4 gravitymod2 with the stock clock app from android 4.1.2? If so, how?
Link to thread in question:
http://forum.xda-developers.com/showthread.php?t=2249808
1) You have 3 options a) learn to live with it b) decompile SystemUI and edit resource XMLs to hide circle mod and unhide stock battery c) flash different ROM
2) You can replace clock with another clock lock screen widget. There are many of them on play store, e.g. DashClock
3) There's no option for it. It's default Android 4.2 feature. There's an app called "lockscreen policy" which can disable side lock screen pages so it is maybe capable of hiding carousels, but I'm not sure.
4) it's not about disabling notification but hiding second signal icon in status bar
5) see 2)
C3C076 said:
1) You have 3 options a) learn to live with it b) decompile SystemUI and edit resource XMLs to hide circle mod and unhide stock battery c) flash different ROM
2) You can replace clock with another clock lock screen widget. There are many of them on play store, e.g. DashClock
3) There's no option for it. It's default Android 4.2 feature. There's an app called "lockscreen policy" which can disable side lock screen pages so it is maybe capable of hiding carousels, but I'm not sure.
4) it's not about disabling notification but hiding second signal icon in status bar
5) see 2)
Click to expand...
Click to collapse
Thank you for your reply C3C076.
Lockscreen Policy killed 3 birds with one stone! It disables lockscreen widgets, which also gets rid of the 'carousel' or box borders that show then fade for a second on the left side of the screen, and also disables the bold font on the clock hours! Nifty app and does just what I want there. Thanks for that!
6. There is a major bug that I and other uses are running into in the current version of GravityMod2 (1.4). My phone recent list and also text message contacts are getting split up. I send a message or make a call and it goes through fine. Then a return message or call is received and it shows up in my call log or messages as a different contact/person. It shows up received with the country code (+1) in my case and if I go to click on the profile/contact icon next to that number there is a message about an invalid number couldn't save contact. When I place calls by clicking on these received calls, I get a invalid number error message, click ok to dismiss it and then it will go through fine (using gv or not using gv in both cases).
I think that has something to do with the country code being added...I don't really know except it is kinda frustrating. Is there anything you can do to fix in an update to GravityMod2?
Ok Back to the topics above.
4. The missing sim icon is indeed gone (i didn't even really realize it because it never bothered me). The notification, other the other hand, really bugs me. I mean, that TRIANGLE CAUTION EXCLAMATION POINT! just BEGS for my attention and the notification comes up every boot or every airplane mode disable (cell radio on enable). I haven't tried this yet but I thought maybe freezing the specific sim toolkit app using titanium backup might cause this notification to not show up....unless the notification is from the OS itself in which case, any way you can disable that?
1. Thanks for the pointers. That will get me started towards changing the battery icon to suit my preferences.
7. Possible updates for the next version of GM2 to consider:
In version 1.4 of GM2, the file /System/etc/permission/com.android.sip.xml has the feature android.software.sip commented out (as per this topic by gmincca). I checked the other file: android.software.sip.voip.xml and the permission was not commented out. Maybe you missed that first one? Or it doesn't matter? I understand those permissions relate to the built in internet calling capability of this phone. I probably won't use it but I uncommented those two permissions in those files anyway using FX Explorer rooted to save the files after remounting as rw.
Volume levels for the earbuds while playing media (headset, media) were killing me ears! I used engineering mode to adjust the volume levels here under Headset mode, media, to be max of 112 and levels 0-6 to be 40, 64, 80, 96, 102, 108, 255. The last setting is for when plugged into a car speaker or external speaker you can still get max volume and the previous settings allow for actual listening with earbuds at a comfortable level. I do not know if these settings are on a per speaker basis and your mileage may vary with the usefulness of these. I thought it helped out a good bit. I also made some minor adjustments with the sound levels for the speakerphone (loudspeakermode, sph, level 6 to 160) to be able to hear the speakerphone better while on a phone call.
8. You got the auto brightness setting for the dark just right in your latest change. 0% brightness matched autobrightness just perfect! Only minor thing is in full daylight auto brightness was a little bit under 100% so didn't work as I thought. If the auto brightness % for full lux can be adjusted I'd like to know where, or if you could update for the next version of GM2 that would be awesome!
Thanks for all your hard work on this custom ROM for the ThL W8! Kudos/Karma/+1 to you!
6) This is a standard feature/bug of all mtk6589 4.2 roms. I can't do anything about it since we have no sources and messing with anything at java disassembled code level (smali) is a pain in the ass. Easy solution is to keep all your contacts with country code prefix and it'll be OK in case your operator sends the same caller ID for calls and messages. You should keep your contacts with prefix anyway to be able to call while roaming.
4) I might try removing that notification in the future
7) you're right about SIP. I missed that file. If you uncomment it SIP options will appear in Phone settings.
8) I didn't adjust upper levels, just lower ones. It would be helpful to measure light sensor values under different light conditions with some app and adjust levels. So if you like to experiment, any input will be welcome. I can send you current values.
C3C076 said:
6) This is a standard feature/bug of all mtk6589 4.2 roms. I can't do anything about it since we have no sources and messing with anything at java disassembled code level (smali) is a pain in the ass. Easy solution is to keep all your contacts with country code prefix and it'll be OK in case your operator sends the same caller ID for calls and messages. You should keep your contacts with prefix anyway to be able to call while roaming.
4) I might try removing that notification in the future
7) you're right about SIP. I missed that file. If you uncomment it SIP options will appear in Phone settings.
8) I didn't adjust upper levels, just lower ones. It would be helpful to measure light sensor values under different light conditions with some app and adjust levels. So if you like to experiment, any input will be welcome. I can send you current values.
Click to expand...
Click to collapse
6. I can say it is not solely 4.2 roms but also 4.1.2 as well. On the stock rom and on the update line brush package FH4, 4-28-2013 (4.1.2 and 4.2.1 respectively) both of those roms also experienced this issue with the contacts being added country codes on incoming calls/messages.
After I went through my google contacts and used UltraEdit32 (similar to notepad++) with regular expressions to remove parenthesis, spaces, and hyphens (and a bad contact that was gumming up the works), I was able to make calls again without it erroring out with that message. It would still give the error message but then the call would go through. I didn't add the country code at that time but I guess it wouldn't be to difficult to export/download my google contacts again, turn off syncing, fix/add my contacts, then delete the contact stores on my phones and resync with added country codes.
With that said, if I use the dialer to directly dial the number which isn't in my contacts I still get the "Call not sent, no valid number entered" error message. I have found this problem is related to Google Voice and the Dialer (Phone) app. If I turn off using Google Voice to make all calls or to ask every time and set it to do not make any calls, the calls will go through no problem, I need Google Voice though so I guess I'm left wondering if I can use a different dialer...perhaps the stock 4.2.1? I have no idea how to get started changing that though.
My phone's dialer is from GM2 currently: version 4.2.1-eng.zhangshuangshuang.1366707806
Other's who have had my same problems with GV integration had similar issues with Samsung's replacement/custom dialer causing issues. Can I get a stock dialer/phone app somehow?
4. Please! And thank you! Of note: using Titanium Backup to freeze the simtoolkit application didn't do anything. I didn't see stk1 and stk2 like in 4.1.2 and in the 'line brush update official 4.2.1 rom. I only saw the one simtoolkit app and freezing had no effect on the notification). When I long press the notification, and press 'app info' it brings up the phone app. This means the notification is coming from the phone app directly I guess.
8. I'd be interested in what the current levels are for the brightness. I can use GPS status to measure the current lux however it doesn't report the current screen light level brightness setting, just the incoming measured lux from the light sensor.
9. Developer mode is not enabled by default in GM2. I had to google to find my usb debugging setting. (Go to Settings -> About -> Press 7 times on the Build number). Maybe this is an easy toggle to enable this by default for the next build of GravityMod2? I mean we are flashing a custom rom after all Not a big deal really if not.
6) Using alternative dialer from vanilla Android is impossible "thanks" to dual sim extension. The changes in framework and telephony are too vast.
4) it's coming from telephony subsystem in the framework.
8) I'll provide lux/brightness pairs later today (hopefully)
9) My opinion is that it's OK how it is now. Most of the users don't need it. Those who do, already know how enable it or can find out easily.
Here are the brightness levels and corresponding LCD backlight values.
Code:
<integer-array name="config_autoBrightnessLevels">
<item>16</item>
<item>32</item>
<item>50</item>
<item>100</item>
<item>140</item>
<item>180</item>
<item>240</item>
<item>300</item>
<item>600</item>
<item>1000</item>
<item>2000</item>
<item>3000</item>
<item>4000</item>
<item>8000</item>
<item>10000</item>
</integer-array>
<integer-array name="config_autoBrightnessLcdBacklightValues">
<item>20</item>
<item>30</item>
<item>50</item>
<item>60</item>
<item>70</item>
<item>80</item>
<item>90</item>
<item>102</item>
<item>110</item>
<item>120</item>
<item>130</item>
<item>180</item>
<item>200</item>
<item>210</item>
<item>230</item>
<item>255</item>
</integer-array>
C3C076 said:
Here are the brightness levels and corresponding LCD backlight values.
Code:
<integer-array name="config_autoBrightnessLevels">
<item>16</item>
<item>32</item>
<item>50</item>
<item>100</item>
<item>140</item>
<item>180</item>
<item>240</item>
<item>300</item>
<item>600</item>
<item>1000</item>
<item>2000</item>
<item>3000</item>
<item>4000</item>
<item>8000</item>
<item>10000</item>
</integer-array>
<integer-array name="config_autoBrightnessLcdBacklightValues">
<item>20</item>
<item>30</item>
<item>50</item>
<item>60</item>
<item>70</item>
<item>80</item>
<item>90</item>
<item>102</item>
<item>110</item>
<item>120</item>
<item>130</item>
<item>180</item>
<item>200</item>
<item>210</item>
<item>230</item>
<item>255</item>
</integer-array>
Click to expand...
Click to collapse
I did some testing in direct sunlight.
Anything over 8000 lux needs full brightness to be able to see the screen (even when the screen is set to 100% brightness in anything over 8000 lux it is still kinda of hard to see but that's why it needs to be full brightness on auto for 8000+).
In shade, but still bright out, the lux read about 6000 and the auto brightness setting was good.
I in framework-res.apk, changing those last two lux levels I think would help.
<item>6000</item>
<item>8000</item>
...
<item>230</item>
<item>255</item>
I tried decompiling and recompiling framework-res.apk after making the changes but couldn't get it to work. I wasn't sure how to install it. I used apktool and apkmultitool to decompile framework-res.apk and then change /res/values/arrays.xml and saved the files. Then I compiled and also tried signing them to produce the new apk. So far so good.
I then tried installing using apkmultitool install apk and it didn't work. It just said waiting on device. I tried rebooting my phone, tried recovery mode, tried regular just plugged in and turned on mode and nothing. USB debugging is enabled.
I also tried copying the changed apk directly to /system/framework (after first mounting as rw and changing the permissions of the new apk to match the permissions of the current framework-res.apk) using copy and paste on FX "file explorer." It would freeze when I gave it the paste command (yes it had root permissions).
I don't know how to install the changed apk or how to update this to get the new brightness settings. As the copy operation had froze the app, even pressing home did not work so I had to use my nandroid backup to revert phone to a useable state again.
When you compile modified apk in multi tool, say yes when it asks you if it's a system apk. Then say yes to create "keep" folder and delete resources.arsc from it, and then finish compiling process.
C3C076 said:
6) Using alternative dialer from vanilla Android is impossible "thanks" to dual sim extension. The changes in framework and telephony are too vast.
4) it's coming from telephony subsystem in the framework.
8) I'll provide lux/brightness pairs later today (hopefully)
9) My opinion is that it's OK how it is now. Most of the users don't need it. Those who do, already know how enable it or can find out easily.
Click to expand...
Click to collapse
6. Great. Perhaps an alternative dual-sim dialer is available...I didn't check...are the stock 4.2.1 (FH4 4-28-2013 official update) dialer and the Eastcom/GravityMod2 dialers the same? Could that kind of change be made and fix up these crazy errors?
4. Does that mean it is also impossible or just kinda difficult to fix?
9. Agreed and hey, thanks for taking the time to answer all my questions. Hopefully I can help in some way too
I managed to solve 4) already. I mentioned it in GM2 thread.
C3C076 said:
When you compile modified apk in multi tool, say yes when it asks you if it's a system apk. Then say yes to create "keep" folder and delete resources.arsc from it, and then finish compiling process.
Click to expand...
Click to collapse
Apkmultitook didn't prompt me about this, possibly because I chose the decompile system apk option at first. In fact, the compile process finished just fine with no errors. (Hopefully it was a good format for being a system apk but it didn't ask about that so...)
Once I have the compiled apk...I wasn't sure what to do with it. I was able to verify I had changed the xml file by decompiling the new apk but couldn't get it installed on my phone. I was probably doing something wrong. Is copying and pasting correct?
Have you tried wiping dalvik cache?
C3C076 said:
Have you tried wiping dalvik cache?
Click to expand...
Click to collapse
In what order would I do that?
Wipe the dalvik cache from recovery....then what? Try copying and pasting the new apk again? How does wiping the dalvik cache help here?
OK. I wiped the dalvik cache and then rebooted. Tried replacing my current framework-res.apk again with the new one (after setting permssions on the file first) and I still get a freeze at coping files. I might try again later with a different app with root access that can remount the /system as rw. Or maybe look into creating a update.zip and trying from recovery if that is possible.
I typically use "adb push" while in recovery (system partition must be mounted)
Good new everybody.
Looks like I fixed the Caller ID issues. At least for phone calls now.
This means that contacts stored without country code will be matched to caller ID sent by operator containing country code.
Messages seem to be handled differently (damn it) but I will try to look into it, too.
C3C076 said:
Good new everybody.
Looks like I fixed the Caller ID issues. At least for phone calls now.
This means that contacts stored without country code will be matched to caller ID sent by operator containing country code.
Messages seem to be handled differently (damn it) but I will try to look into it, too.
Click to expand...
Click to collapse
Waiting for this update for phone and Messages.
C3C076 said:
I typically use "adb push" while in recovery (system partition must be mounted)
Click to expand...
Click to collapse
Thanks. That was part of the problem.
The other part was since it was a system apk, I signed it thinking that's what it needed but I read a comment that stated that system apks shouldn't be signed. All I had to do was make my changes, compile it, then copy over meta-inf and AndroidManifest.xml from the original to the newly compiled apk. Then, adb push was correct as you stated for system apks.
On a side note I had to manually put in my java jdk path for android's sdk by editing the \adt-bundle-windows-x86_64-20130219\sdk\tools\lib\find-java.bat file with my jdk path....and I had to make sure I had the adb driver installed which was another hiccup. Once all those settled then I could use adb and apkmultitool etc worked fine.
I pushed the changed framework-res.apk to my phone verifying the changes were made and testing the light sensor values with 'GPS Status' which shows the lux...AND IT WORKED!! I can now leave the brightness on Auto and it works just fine
The change made was to framework-res.apk\res\values\arrays.xml
Changed lines 554 and 555 to be 6000 and 8000 respectively instead of 8000 and 10000.
Can you incorporate this change into the next version of GM2 C3C076?
So, new topic:
10. What files in SystemUI.apk or framework-res.apk are for the Cyanogenmod circle battery? I looked all through those two and couldn't find the graphics of the circle battery?
Thanks again!
Great I will include it in today's release.
CM circle battery is not image based. It is a self-drawing ImageView. It's in CircleBattery.smali in statusbar/policy.
It is referenced in layout xmls. The change would be easy. Just remove references from 2 xmls and remove visibility="gone" from standard battery references.
@C3C076, sir could you share how you were able to fix the Caller ID problems of your phone/rom. I currently own a ZTE V987 and have been trying to look for a fix for the same problem. I currently have android 4.1.2 Thanks!

Asus tf 101 dead pixel and isuues

Hi Igot 3 diffrents tablets, and in the first one I have a 2 dead black pixels one next to the other like a little very little black spot. I tried all soft where but nothing work, is there anythinhg I can do?? And in my second tablet is something like the resulotion of the screen is not sharp, like is 800 on 600 or something and not 1280 on 720, is there anyway to fix it??? The 3rd ta let has no issues at all thank u
Nothing you can probably do about the first one. Black pixels = dead pixels. Software can only affect stuck or "lazy" pixels, and even then it won't necessarily fix anything. On the second one, go to Settings>Accessibility and make sure that the option "Large text" is unchecked. Or go to Settings>Display and set the "Font size" to Normal (these two options affect the same setting, that is, choosing "Huge" as the font size will turn on the "Large text").
On the second thought, you might have to change your DPI settings. (You will need root) Download and open ES File Explorer, open "Tools" and turn on the "Root Explorer", then go to /system and open build.prop with ES Note Editor. Find a line "ro.sf.lcd_density=XXX". Set it to 160 if there's any other value in place of XXX. Make sure the changes are saved and reboot your tablet. It should be back to normal afterwards
re
Duchman said:
Nothing you can probably do about the first one. Black pixels = dead pixels. Software can only affect stuck or "lazy" pixels, and even then it won't necessarily fix anything. On the second one, go to Settings>Accessibility and make sure that the option "Large text" is unchecked. Or go to Settings>Display and set the "Font size" to Normal (these two options affect the same setting, that is, choosing "Huge" as the font size will turn on the "Large text".
On the second thought, you might have to change your DPI settings. (You will need root) Download and open ES File Explorer, open "Tools" and turn on the "Root Explorer", then go to /system and open build.prop with ES Note Editor. Find a line "ro.sf.lcd_density=XXX". Set it to 160 if there's any other value in place of XXX. Make sure the changes are saved and reboot your tablet. It should be back to normal afterwards
Click to expand...
Click to collapse
thanks- its already in 160... there anything else i can do//??
bennnnnn said:
thanks- its already in 160... there anything else i can do//??
Click to expand...
Click to collapse
Could you post a screenshot? Is it running the same ROM as the other two tablets?
Yes katkiss 4.4 30 stable
bennnnnn said:
Yes katkiss 4.4 30 stable
Click to expand...
Click to collapse
So uhm, what about screenshot?

[FIXED] Microphone/Ok Google Low Sensitivity

After diving into some of the files in the oneplus one, I found some file values that once changed, make the microphone actually strong enough to recognize ok google from an arm's distance away. This is essential for using speakerphone, skype, any recording application, as well as google now. I was tired of having people go WAT ARE YOU SAYING repeatedly.
You will need a rooted Oneplus One with some sort of root explorer.
I used Root Explorer (File Manager) by Speed Software
1. Go to system/etc/mixer_paths.xml
2. Mount system as R/W
3. Open up mixer_paths.xml with Text Editor
4. Scroll close to the bottom of the text, your little scroll position indicator should be about an inch up from the bottom of your screen(no on screen buttons)
5. You will see <!-- Analog input devices --> and a bunch of text underneath.
6. I wasn't entirely sure which mic would make this work so I changed the <path name+"main-mic"> value from 84 to 100. (Play around with the value until you find a sweet spot.) IF YOU GET ENVIRONMENTAL MICROPHONE INTERFERENCE, TRY TURNING THE VALUES BACK DOWN A BIT.
7. Save the changed mixer_paths.xml and reboot your device for good measure
Enjoy your actually functional microphone! I hope that CM11s fixes this in an update shortly. It is not fixed as of July 4, 2014
I AM THE ORIGINAL POSTER
Gabriel Hahr AKA Kokorone
If you want my original Oneplus One forum post, search it up under the CM11s section of their forum. I am not able to link it here because I just joined XDA.
Thanks for this workaround.
I'm wondering if you know how to enable lock screen wake up hotword. Is it working in current version of cyanogenmod 11s? As I now, it should be something like "OK, oneplus" and phone wakes up from a black screen. Thanks.
soul_ride said:
Thanks for this workaround.
I'm wondering if you know how to enable lock screen wake up hotword. Is it working in current version of cyanogenmod 11s? As I now, it should be something like "OK, oneplus" and phone wakes up from a black screen. Thanks.
Click to expand...
Click to collapse
This is not working yet. There's an update on OP forums (https://forums.oneplus.net/threads/ok-oneplus-update.46934/) saying that there's a further delay.
As an OPO owner, I have confirmed the shipped version of the phone with XNPH22R and XNPH25R do not have a working screen off "Ok Google/HeySnapdragon/OK OnePlus"
---------- Post added at 11:30 PM ---------- Previous post was at 11:29 PM ----------
Kokorone said:
After diving into some of the files in the oneplus one, I found some file values that once changed, make the microphone actually strong enough to recognize ok google from an arm's distance away. This is essential for using speakerphone, skype, any recording application, as well as google now. I was tired of having people go WAT ARE YOU SAYING repeatedly.
You will need a rooted Oneplus One with some sort of root explorer.
I used Root Explorer (File Manager) by Speed Software
1. Go to system/etc/mixer_paths.xml
2. Mount system as R/W
3. Open up mixer_paths.xml with Text Editor
4. Scroll close to the bottom of the text, your little scroll position indicator should be about an inch up from the bottom of your screen(no on screen buttons)
5. You will see <!-- Analog input devices --> and a bunch of text underneath.
6. I wasn't entirely sure which mic would make this work so I changed the <path name+"main-mic"> value from 84 to 100. (Play around with the value until you find a sweet spot.) IF YOU GET ENVIRONMENTAL MICROPHONE INTERFERENCE, TRY TURNING THE VALUES BACK DOWN A BIT.
7. Save the changed mixer_paths.xml and reboot your device for good measure
Enjoy your actually functional microphone! I hope that CM11s fixes this in an update shortly. It is not fixed as of July 4, 2014
I AM THE ORIGINAL POSTER
Gabriel Hahr AKA Kokorone
If you want my original Oneplus One forum post, search it up under the CM11s section of their forum. I am not able to link it here because I just joined XDA.
Click to expand...
Click to collapse
Does this only affect OK Google? I'm wondering if affects other mic input like voice calls, etc. I don't want my voice to sound booming while on calls because of this change... lol
is it possible to root without wipe/reinstall CM?
I did it to the "t" and it only gave me force closes. Audiofx wouldn't stop even afteri freezer the all disabled it and force stopped. I'm running usa version of the oneplus. I had to reinstall cm11s
jerrah said:
I did it to the "t" and it only gave me force closes. Audiofx wouldn't stop even afteri freezer the all disabled it and force stopped. I'm running usa version of the oneplus. I had to reinstall cm11s
Click to expand...
Click to collapse
Yea likewise minus the reinstall since I am smart. OP something is not right when we touch this file. It seems to delete a lot of the stuff. I managed to fix it in TWRP, mount system, and adb push the fixed file. Their is an easier way to do this operation using a shell script and the busy box command, "SED" which will place an exact line with what you tell it to. I am in the process of creating one since this hack really helps a lot.
tonu42 said:
Yea likewise minus the reinstall since I am smart. OP something is not right when we touch this file. It seems to delete a lot of the stuff. I managed to fix it in TWRP, mount system, and adb push the fixed file. Their is an easier way to do this operation using a shell script and the busy box command, "SED" which will place an exact line with what you tell it to. I am in the process of creating one since this hack really helps a lot.
Click to expand...
Click to collapse
thank I really wanted to try this. This time I had my back up ready I went to the file didn't change anything later when I restarted it gave me force closes again. So I can't wait for your script.
dmo580 said:
This is not working yet. There's an update on OP forums (https://forums.oneplus.net/threads/ok-oneplus-update.46934/) saying that there's a further delay.
As an OPO owner, I have confirmed the shipped version of the phone with XNPH22R and XNPH25R do not have a working screen off "Ok Google/HeySnapdragon/OK OnePlus"
---------- Post added at 11:30 PM ---------- Previous post was at 11:29 PM ----------
Does this only affect OK Google? I'm wondering if affects other mic input like voice calls, etc. I don't want my voice to sound booming while on calls because of this change... lol
Click to expand...
Click to collapse
OK Snapdragon works on earlier versions of ColorOS with the screen off.
In later versions they took out the support for the OK Snapdragon command and replaced it with their garbage chinese voice control app.
---------- Post added at 10:57 PM ---------- Previous post was at 10:32 PM ----------
jerrah said:
I did it to the "t" and it only gave me force closes. Audiofx wouldn't stop even afteri freezer the all disabled it and force stopped. I'm running usa version of the oneplus. I had to reinstall cm11s
Click to expand...
Click to collapse
You probably had word wrap turned on.
---------- Post added at 10:58 PM ---------- Previous post was at 10:57 PM ----------
Kokorone said:
After diving into some of the files in the oneplus one, I found some file values that once changed, make the microphone actually strong enough to recognize ok google from an arm's distance away. This is essential for using speakerphone, skype, any recording application, as well as google now. I was tired of having people go WAT ARE YOU SAYING repeatedly.
You will need a rooted Oneplus One with some sort of root explorer.
I used Root Explorer (File Manager) by Speed Software
1. Go to system/etc/mixer_paths.xml
2. Mount system as R/W
3. Open up mixer_paths.xml with Text Editor
4. Scroll close to the bottom of the text, your little scroll position indicator should be about an inch up from the bottom of your screen(no on screen buttons)
5. You will see <!-- Analog input devices --> and a bunch of text underneath.
6. I wasn't entirely sure which mic would make this work so I changed the <path name+"main-mic"> value from 84 to 100. (Play around with the value until you find a sweet spot.) IF YOU GET ENVIRONMENTAL MICROPHONE INTERFERENCE, TRY TURNING THE VALUES BACK DOWN A BIT.
7. Save the changed mixer_paths.xml and reboot your device for good measure
Enjoy your actually functional microphone! I hope that CM11s fixes this in an update shortly. It is not fixed as of July 4, 2014
I AM THE ORIGINAL POSTER
Gabriel Hahr AKA Kokorone
If you want my original Oneplus One forum post, search it up under the CM11s section of their forum. I am not able to link it here because I just joined XDA.
Click to expand...
Click to collapse
This fix didn't work for me.
I set all 3 values to 100 and Google Now still can't hear me until I press the microphone button.
I think the problem is not that the volume is too low. I think the problem is that the mic doesn't get turned on until you touch the microphone button.
Edit: This actually seems to be a problem with my specific phone. I'm sorry about that.
tonu42 said:
Yea likewise minus the reinstall since I am smart. OP something is not right when we touch this file. It seems to delete a lot of the stuff. I managed to fix it in TWRP, mount system, and adb push the fixed file. Their is an easier way to do this operation using a shell script and the busy box command, "SED" which will place an exact line with what you tell it to. I am in the process of creating one since this hack really helps a lot.
Click to expand...
Click to collapse
Can you give a quick explanation of how you adb push the fixed XML? I'd rather not have to completely reinstall to fix one file.
tonu42 said:
Yea likewise minus the reinstall since I am smart. OP something is not right when we touch this file. It seems to delete a lot of the stuff. I managed to fix it in TWRP, mount system, and adb push the fixed file. Their is an easier way to do this operation using a shell script and the busy box command, "SED" which will place an exact line with what you tell it to. I am in the process of creating one since this hack really helps a lot.
Click to expand...
Click to collapse
Works perfectly fine on my OnePlus One. I followed the above tutorial and got Google Now finally working as it should.
Kokorone said:
After diving into some of the files in the oneplus one, I found some file values that once changed, make the microphone actually strong enough to recognize ok google from an arm's distance away. This is essential for using speakerphone, skype, any recording application, as well as google now. I was tired of having people go WAT ARE YOU SAYING repeatedly.
You will need a rooted Oneplus One with some sort of root explorer.
I used Root Explorer (File Manager) by Speed Software
1. Go to system/etc/mixer_paths.xml
2. Mount system as R/W
3. Open up mixer_paths.xml with Text Editor
4. Scroll close to the bottom of the text, your little scroll position indicator should be about an inch up from the bottom of your screen(no on screen buttons)
5. You will see <!-- Analog input devices --> and a bunch of text underneath.
6. I wasn't entirely sure which mic would make this work so I changed the <path name+"main-mic"> value from 84 to 100. (Play around with the value until you find a sweet spot.) IF YOU GET ENVIRONMENTAL MICROPHONE INTERFERENCE, TRY TURNING THE VALUES BACK DOWN A BIT.
7. Save the changed mixer_paths.xml and reboot your device for good measure
Enjoy your actually functional microphone! I hope that CM11s fixes this in an update shortly. It is not fixed as of July 4, 2014
I AM THE ORIGINAL POSTER
Gabriel Hahr AKA Kokorone
If you want my original Oneplus One forum post, search it up under the CM11s section of their forum. I am not able to link it here because I just joined XDA.
Click to expand...
Click to collapse
I'm thinking of trying this but hesitant due to the problems others are having. If we run into an issue can we just restore a nandroid and everything will be fine? Thanks
Tried but didn't work for me.
*edit* It does work. Is it supposed to work from the home screen though? If i go into my google now it will work without hitting the microphone but not from the home screen. Just wondering.
Worked great for me, used the stock CM file browser/editor and carefully edited it correctly. no issues. Voice transcription quality is greatly improved, OK Google (On google now screen) is much more reactive.
OK Google (or OK One Plus) is not working on the home screen, but that is to be expected, https://forums.oneplus.net/threads/ok-oneplus-update.46934/ The developers need to re-record the hotword sound files and we will need to get an update to have this function enabled. That problem is unrelated to the low microphone sensitivity.
Thank you so much for posting this fix! Just got my OPO today and was getting fed up w/ "OK Google" not working. Arms length my ass haha. I used Root Explorer as well and no issues.
I set the main-mic to 95 and the anc-mic to 90. Will play around more. :good:
sharp2G said:
Works perfectly fine on my OnePlus One. I followed the above tutorial and got Google Now finally working as it should.
Click to expand...
Click to collapse
Thanks! Honestly I don't think I'll be rooting mine though..
Hey I just came back to say I figured out why hotword detection was not working sometimes.
Some apps you install which use Notification Access prevent Google Search from opening the microphone channel.
Pushbullet is one app that is known to do that.
Worked like a charm. On 64GB Oneplus One, the Chinese version.
Thanks a million.
I received my OPO this past Saturday. Coming from an awesome LG G2 experience I was a bit disappointed that I had to be about no more that 5 inches from the phone to get it to hear OK Google. My phone sits in the cupholder in my truck while driving and I have come to really like the OK Google feature on my G2.
This edit fixed it!
Hopefully the CM11s team will clear it up in the next update.
Thank you.
I recommend using the official fix here:
http://review.cyanogenmod.org/#/c/67619/
I've attached the xml (zipped) in this post. Gerrit seems to name the XML funny. Just be sure to rename it as mixers_path.xml and place it in /system/etc/ and fix the permissions (664)!
I just tried it in a meeting room and it picks up wonderfully at normal arms length distance WITHOUT having to point the microphone at me.
Edit: Wrong permissions = FC fest. If you're a noob, do a Nandroid backup.
dmo580 said:
I recommend using the official fix here:
http://review.cyanogenmod.org/#/c/67619/
I've attached the xml (zipped) in this post. Gerrit seems to name the XML funny. Just be sure to rename it as mixers_path.xml and place it in /system/etc/ and fix the permissions (664)!
I just tried it in a meeting room and it picks up wonderfully at normal arms length distance WITHOUT having to point the microphone at me.
Edit: Wrong permissions = FC fest. If you're a noob, do a Nandroid backup.
Click to expand...
Click to collapse
I really want to do this but I'm too lazy to go through the root process at the current time. However the Ok Google detection completely sucks and I hope someone figures a way to repair without root or someone makes rooting the OPO quicker and easier for lazy folk like myself.
My S3 with CM on it picks up me whispering Ok Google from across a room and under a sweater...this thing can't recognize me shouting at arms length.

Categories

Resources