Rooting changed my charging sound? - Google Pixel 2 XL Questions & Answers

I rooted my device yesterday fresh factory install
but weirdly it has changed my charging/usb tone
Instead of playing the chargingstarted.ogg file it plays a file I can't locate and I'm not sure how to change... It's not exactly a "great" sound
I'm assuming the phone uses system/media/audio
For default.ui sounds but I'm unsure how to change this "new" default sound and it doesn't seem to be located here either....
I didn't have any idea how to change my UI sounds so I attempted a magisk module for something like OnePlus sounds to see if that would change the sound but alas my issue still exists.
I'm by no means a novice user but I wouldn't say I'm advanced either, I can't mount parts of the system using file managers so I assume changes would have to be made in adb using fastboot?
Edit, here is a quick video of the mysterious sound I'm unable to find.
https://youtu.be/JPkVRtcncC8
Edit#2 it seems this is a issue with a clean install of android10(pixel devices?) as I read a dirty flash doesn't cause this issue, here is a snippet from bug tracker on Google's site
The sound played is fallbackring.ogg from framework resources.:
09-04 15:54:44: OggExtractor for mime NULL, source TinyCacheSource(CallbackDataSource(784->787, RemoteDataSource(FileSource(fd(/system/framework/framework-res.apk), 7369304, 14611)))), pid 787: active
track {srte: (int32_t) 44100, mime: (char*) audio/vorbis, dura: (int64_t) 1567551, csd1: no type, size 3189), csd0: no type, size 30), chnm: (int32_t) 1, brte: (int32_t) 80000, #chn: (int32_t) 1} : active
I don't know exactly when we fall back to this sound but probably when the charging sound cannot be located.
Click to expand...
Click to collapse

Same happened to me, also lockscreen locking sound Not working anymore

Nightf0x_007 said:
Same happened to me, also lockscreen locking sound Not working anymore
Click to expand...
Click to collapse
Mines doing the same... If I can find the weird charge sound location perhaps this is fixable?

co4 said:
Mines doing the same... If I can find the weird charge sound location perhaps this is fixable?
Click to expand...
Click to collapse
Idk the location but when i first clean flashed android 10, none of this issues was there but after that i clean flashed several times and this is happening since then, changed charging sound and no locking sound
My fix for charging sound for now is that im using edxposed with gravitybox module, gravitybox have an option to change some power options sounds like charging, stop charging, .... etc, so i changed it to the default charging sound in folder system/audio/ui

co4 said:
Edit#2 it seems this is a issue with a clean install of android10(pixel devices?) as I read a dirty flash doesn't cause this issue, here is a snippet from bug tracker on Google's site
Click to expand...
Click to collapse
Do you have a link to this issue on Google's tracker? This has been an issue since the Q betas and I'd like to star/follow it. I was hoping it would have been fixed in the October update, but it's still playing this horrible sound.
I can confirm the bug is present on both the original Pixel and the Pixel 2 XL after a clean factory image flash. Upgrading from 9.0 Pie there is no issue.

Syxx14 said:
Do you have a link to this issue on Google's tracker? This has been an issue since the Q betas and I'd like to star/follow it. I was hoping it would have been fixed in the October update, but it's still playing this horrible sound.
I can confirm the bug is present on both the original Pixel and the Pixel 2 XL after a clean factory image flash. Upgrading from 9.0 Pie there is no issue.
Click to expand...
Click to collapse
Sure, I should of added it to begin with so more people would star it and elevate it's status
https://issuetracker.google.com/issues/140447165

This happend to me too. Lock screen sounds also dont work. Also my gmail notification sound most of the time only plays a fraction of the sound.
I rooted the phone to see if the sound files were actually there and they are.

krolla03 said:
This happend to me too. Lock screen sounds also dont work. Also my gmail notification sound most of the time only plays a fraction of the sound.
I rooted the phone to see if the sound files were actually there and they are.
Click to expand...
Click to collapse
I'm not sure if there is also more at play as flashing different sounds to the folder doesn't change anything... I'm no coder but I'd imagine there is a issue/typo in the framework and it's not pointing to the right directory, hence fallback sound file... I broke my NFC when I swapped to a new shell so not sure if all the ui sounds are barfed... And if somehow the soundsui program is messing, it's all speculation and not urgent to Google in fixing

ok so i managed to pull the framework-res.apk off my phone and decompile it
in framework-res.apk/res/xml/audio_assets.xml contains the following:
<?xml version="1.0" encoding="utf-8"?>
<audio_assets version="1.0">
<group name="touch_sounds">
<asset file="Effect_Tick.ogg" id="FX_KEY_CLICK" />
<asset file="Effect_Tick.ogg" id="FX_FOCUS_NAVIGATION_UP" />
<asset file="Effect_Tick.ogg" id="FX_FOCUS_NAVIGATION_DOWN" />
<asset file="Effect_Tick.ogg" id="FX_FOCUS_NAVIGATION_LEFT" />
<asset file="Effect_Tick.ogg" id="FX_FOCUS_NAVIGATION_RIGHT" />
<asset file="KeypressStandard.ogg" id="FX_KEYPRESS_STANDARD" />
<asset file="KeypressSpacebar.ogg" id="FX_KEYPRESS_SPACEBAR" />
<asset file="KeypressDelete.ogg" id="FX_KEYPRESS_DELETE" />
<asset file="KeypressReturn.ogg" id="FX_KEYPRESS_RETURN" />
<asset file="KeypressInvalid.ogg" id="FX_KEYPRESS_INVALID" />
</group>
</audio_assets>
Click to expand...
Click to collapse
isn't the UI audio settings meant to be in this file too or are they elsewhere? i wish i could check what the stock pie file has

Update
Upon further investigation I have found the issue using magisk & the hidden module on both android 9 factory & 10 I was able to compare the settings and
I have found there is a blatant error in where the sound triggers are being pointed to....
Lock_sound=/product/media/audio/ui/Lock.ogg
When checking the folder using a root browser the audio folder isn't located here, just the boot animation zips, the actual files are stored in
/system/media/audio/ui/Lock.ogg
So by changing /product/ to /system/ I was able to gain the correct sound for locking....
Obviously doing this on phone terminal is a pain so perhaps I can make further edits especially if I can find where hidden accesses those files that have these settings.

What file did you end up modifying to fix the issue?

yurilebbie said:
What file did you end up modifying to fix the issue?
Click to expand...
Click to collapse
Here is a quick and dirty write up:
ok so to fix this issue you need [root] access, and HiddenSettings Module (by Skittles9823) https://github.com/Magisk-Modules-Repo/hidden_settings
this can be done on the phone with a terminal emulator but its janky and slow so I prefer adb shell
what I typed is in Bold
Code:
[B]adb shell[/B]
taimen:/ $ [B]su[/B]
taimen:/ #
taimen:/ #[B] hidden[/B]
==========================
HiddenSettings v0.0.3(003)
by Skittles9823
Skittles9823 is not responsible for any damage caused by the use of this module
==========================
1 - System settings
2 - Secure settings
3 - Global settings
[I] [B]4 - All settings[/B][/I]
r - Reset/Backup setting(s) WIP
d - Donate
0 - Exit
[CHOICE]:[B]4[/B]
Press Enter
==========================
1 - List all settings
2 - Find specific settings
[I][B] 3 - Modify settings[/B][/I]
x - Back to Menu
0 - Exit
[CHOICE]:[B]3[/B]
press enter
===== Modify Settings =====
Enter a setting then value
E.g. navigation_bar_visible 0
x - Back to AllNamespace settings
0 - Exit
[Search?]:[B]wireless_charging_started_sound /system/media/audio/ui/ChargingStarted.ogg[/B]
press enter & reboot

co4 said:
Here is a quick and dirty write up:
ok so to fix this issue you need [root] access, and HiddenSettings Module (by Skittles9823) https://github.com/Magisk-Modules-Repo/hidden_settings
this can be done on the phone with a terminal emulator but its janky and slow so I prefer adb shell
what I typed is in Bold
Code:
[B]adb shell[/B]
taimen:/ $ [B]su[/B]
taimen:/ #
taimen:/ #[B] hidden[/B]
==========================
HiddenSettings v0.0.3(003)
by Skittles9823
Skittles9823 is not responsible for any damage caused by the use of this module
==========================
1 - System settings
2 - Secure settings
3 - Global settings
[I] [B]4 - All settings[/B][/I]
r - Reset/Backup setting(s) WIP
d - Donate
0 - Exit
[CHOICE]:[B]4[/B]
Press Enter
==========================
1 - List all settings
2 - Find specific settings
[I][B] 3 - Modify settings[/B][/I]
x - Back to Menu
0 - Exit
[CHOICE]:[B]3[/B]
press enter
===== Modify Settings =====
Enter a setting then value
E.g. navigation_bar_visible 0
x - Back to AllNamespace settings
0 - Exit
[Search?]:[B]wireless_charging_started_sound /system/media/audio/ui/ChargingStarted.ogg[/B]
press enter & reboot
Click to expand...
Click to collapse
THANK YOU!!!!! This worked for me.
Now can you help me with the missing lockscreen sound? The sound is in the same /system/media/audio/ui folder. But what would i change the "wireless_charging_started_sound" part of the command to?
---------- Post added at 11:42 AM ---------- Previous post was at 11:23 AM ----------
im doing the same process but instead of wreless_charging_started_sound /system/media/audio/ui/ChargingStarted.ogg im typing lock_sound /system/media/audio/ui/Lock.ogg
When i do this Hidden gives me error /system/bin/hidden[247]: [: unlock_sound: unexpected operator/operand
HiddenSettings v0.0.3(003)
by Skittles9823
Skittles9823 is not responsible for any damage caused by the use of this module
==========================
BusyBox not found!
==========================
1 - System settings
2 - Secure settings
3 - Global settings
4 - All settings
r - Reset/Backup setting(s) WIP
d - Donate
0 - Exit
[CHOICE]: 4
===== AllNamespace Settings =====
1 - List all settings
2 - Find specific settings
3 - Modify settings
x - Back to Menu
0 - Exit
[CHOICE]: 3
===== Modify Settings =====
Enter a setting then value
E.g. navigation_bar_visible 0
x - Back to AllNamespace settings
0 - Exit
[Search?]: unlock_sound /system/media/audio/ui/Unlock.ogg
/system/bin/hidden[247]: [: unlock_sound: unexpected operator/operand
===== Modify Settings =====
Enter a setting then value
E.g. navigation_bar_visible 0
x - Back to AllNamespace settings
0 - Exit
[Search?]:

krolla03 said:
THANK YOU!!!!! This worked for me.
Now can you help me with the missing lockscreen sound? The sound is in the same /system/media/audio/ui folder. But what would i change the "wireless_charging_started_sound" part of the command to?
Click to expand...
Click to collapse
I have found an easier way and written up a little guide:
https://forum.xda-developers.com/pixel-2-xl/how-to/guide-fix-androidq-unlocking-sound-bug-t3989657
This method works on non rooted devices 100% confirmed by myself.
All sounds now work for me this method throws NO errors.

Nightf0x_007 said:
Idk the location but when i first clean flashed android 10, none of this issues was there but after that i clean flashed several times and this is happening since then, changed charging sound and no locking sound
My fix for charging sound for now is that im using edxposed with gravitybox module, gravitybox have an option to change some power options sounds like charging, stop charging, .... etc, so i changed it to the default charging sound in folder system/audio/ui
Click to expand...
Click to collapse
Can you guide me how to fresh Install the Pixel 2XL to Android 10 like the device came out of the box. Help me any proper procedure/video to follow.

Mubashir hussian said:
Can you guide me how to fresh Install the Pixel 2XL to Android 10 like the device came out of the box. Help me any proper procedure/video to follow.
Click to expand...
Click to collapse
Download the latest pixel 2 xl factory image (here it is october update)
https://dl.google.com/dl/android/aosp/taimen-qp1a.191005.007.a1-factory-3ed47161.zip
Extract the .zip file in your computer
Now in your phone go to settings - about - click build number several times until you see you are developer now, go back to settings main page then system then developer settings and enable usb debugging
Connect your phone to your pc, and authorize message will appear enable authroization
Now go to the extracted folder and run the flash-all.bat file and wait until it flashes the firmware to your phone
It will completely wipe your device data and flash latest update, and now setup your device like it is new

And not only charging sound is miss linked, other sounds are also wrong.
here's the fix shell
Code:
adb shell "settings put global car_dock_sound /system/media/audio/ui/Dock.ogg"
adb shell "settings put global car_undock_sound /system/media/audio/ui/Undock.ogg"
adb shell "settings put global desk_dock_sound /system/media/audio/ui/Dock.ogg"
adb shell "settings put global desk_undock_sound /system/media/audio/ui/Undock.ogg"
adb shell "settings put global lock_sound /system/media/audio/ui/Lock.ogg"
adb shell "settings put global low_battery_sound /system/media/audio/ui/LowBattery.ogg"
adb shell "settings put global trusted_sound /system/media/audio/ui/Trusted.ogg"
adb shell "settings put global unlock_sound /system/media/audio/ui/Unlock.ogg"
adb shell "settings put global wireless_charging_started_sound /system/media/audio/ui/ChargingStarted.ogg"

Related

[ROOT] [MAGISK] Global ROM on CN Device - WORKING ROOT

THIS IS NOT FOR FAINT OF HEART. DON'T BLAME ME IF YOU BREAK SOMETHING.
Mount system as RW in TWRP. (this took mounting, unmounting, then remounting for me)
Use the following commands CAREFULLY from a computer.
cat /system/build.prop > /sdcard/build.prop
Open the build.prop from the sdcard and edit the following line numbers: 25, 26
You are changing:
ro.product.name=perseus
ro.product.device=perseus
To this:
ro.product.name=perseus_global
ro.product.device=perseus_global
save the file on the sdcard
Go back to ADB session and do this:
cat /sdcard/build.prop > /system/build.prop
IF THIS FAILS YOUR SYSTEM IS NOT RW, UNMOUNT AND REMOUNT IN THE MOUNTS MENU.
Go back to the mounts menu and unmount /system
Flash Magisk 17.3 (18.0 seems to be having intermittent issues with passing checks)
Reboot, and enjoy your CN device running Global with ROOT.
out-file : Could not find a part of the path 'C:\sdcard\build.prop'.
I got that error above. How do i know twrp mounted system correctly?
nvm... i went into advance and did via terminal
Great find, works!!
Thanks!!
You're welcome. I may try to make a flashable zip to do this automatically, but I haven't had a chance to look at it.
Work so well, Thanks @PWn3R!
xterminater07 said:
out-file : Could not find a part of the path 'C:\sdcard\build.prop'.
I got that error above. How do i know twrp mounted system correctly?
nvm... i went into advance and did via terminal
Click to expand...
Click to collapse
Here is the clue. " 'C:\sdcard\build.prop'."
What is a Windows drive letter doing on an Android? Adb session?
@PWn3R YOU ARE THE MAN
Has anyone tried a custom kernel on the latest global? I tried androplus v 0.6 and it didnt really work. It allows me to replace files in system but not rename because when I overwrite it still says there is an existing file with same name.
Any kernel that works please let me know. I am working with defcomg to get gcam modded more than the current ones.
I would like to try, i already had install last global, and this rtemove my twrp instead the official recovery.... Can you give me all the steps to do from this position? Thank you
I have a problem with camera, force close no matter what I've done. may be build.prop change?
kbello said:
I have a problem with camera, force close no matter what I've done. may be build.prop change?
Click to expand...
Click to collapse
i got this as well... oh well going back to xiaomi eu rom
Hi the change to the build.prop did not break the camera. Mine is working fine. Maybe clear app data for that app?
I do many times, didn't work,
---------- Post added at 11:45 PM ---------- Previous post was at 11:23 PM ----------
This is the error:
java.lang.RuntimeException: unSupported Saturation
at com.android.camera2.compat.MiCameraCompatBaseImpl.applySaturation(MiCameraCompatBaseImpl.java:248)
at com.android.camera2.compat.MiCameraCompat.applySaturation(MiCameraCompat.java:49)
at com.android.camera2.MiCamera2.applySaturation(MiCamera2.java:2486)
at com.android.camera2.MiCamera2.applyCommonSettings(MiCamera2.java:2858)
at com.android.camera2.MiCamera2.applySettingsForCapture(MiCamera2.java:2971)
at com.android.camera2.MiCamera2ShotNormal.generateRequestBuilder(MiCamera2ShotNormal.java:141)
at com.android.camera2.MiCamera2ShotNormal.startShot(MiCamera2ShotNormal.java:59)
at com.android.camera2.MiCamera2.captureStillPicture(MiCamera2.java:2042)
at com.android.camera2.MiCamera2.triggerCapture(MiCamera2.java:1892)
at com.android.camera2.MiCamera2.takePicture(MiCamera2.java:991)
at com.android.camera.module.Camera2Module.startNormalCapture(Camera2Module.java:1130)
at com.android.camera.module.Camera2Module.onWaitingFocusFinished(Camera2Module.java:406)
at com.android.camera.module.loader.camera2.FocusManager2.capture(FocusManager2.java:767)
at com.android.camera.module.loader.camera2.FocusManager2.doSnap(FocusManager2.java:326)
at com.android.camera.module.Camera2Module.onShutterButtonClick(Camera2Module.java:1057)
at com.android.camera.fragment.bottom.FragmentBottomAction.onSnapClick(FragmentBottomAction.java:1653)
at com.android.camera.ui.CameraSnapView$1.handleMessage(CameraSnapView.java:67)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:201)
at android.app.ActivityThread.main(ActivityThread.java:6806)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
@PWn3R, the root is working but there are some functionalities that disappeared in the setting menu such as slider settings, screen color.
For those who wants to revert to CN rom, revert the changes you have done and DO NOT forget to remove Magisk by flashing the uninstaller zip otherwise the device will bootloop.
I restore the original build.prop and boot.img, the camera came back to work. Any workaround?
kbello said:
I have a problem with camera, force close no matter what I've done. may be build.prop change?
Click to expand...
Click to collapse
I didn't notice if the slider settings were there before changing the build.prop. The problem here is that when you flash magisk it's enabling secure boot, which is triggering a check that normally runs when the device is locked. I think we can probably fix that by modifying the file that causes it and then this will work without build.prop changes. I have not had a chance to look into that, but will try to do so.

Android 10 Rooted Can't Edit build.prop

So, grabbed the latest OTA, and went through the usual re-root cycle, but was unable to edit the build.prop. While /root is mountable, /root/system is not, which means no tethering for me.
Anyone else running into the same issue?
I have the same issue, I've been fighting with it all day.
I patched the boot.img with Magisk Manager and flashed it, Magisk Manager show's I'm installed and Root Checker says I'm rooted, I was even able to install Adaway. But i cannot use any root app that needs to mount /System
I tried using Root Uninstaller and it says it has root access but cannot mount /system as R/W
It seems Magisk is only able to partially root on Android 10
I tried this with the Canary version and the standard version of Magisk and the same issue both times
Same issue on regular pixel:
sailfish:/ # mount -o remount,rw /system
'/dev/block/sda33' is read-only
lame
bbarnes1 said:
Same issue on regular pixel:
sailfish:/ # mount -o remount,rw /system
'/dev/block/sda33' is read-only
lame
Click to expand...
Click to collapse
if all you want to do is edit a prop in build.prop, just use the Magisk module MagiskHidePropsConfig....works like a charm (at least it did on Android 9 - assume it would work on 10....it sounded like it worked on the betas)....
https://forum.xda-developers.com/apps/magisk/module-magiskhide-props-config-t3789228
This has been a problem since the Q beta came out, with each update I tried to figure something out. With no luck! I tried the Magisk Mod but it didn't seem to work.
suggestions would be most appreciated!!
Thinkin about a clean install....maybe.....
Edit: It was also a problem with the P beta until it was out of beta (That was my hope for this)
sb1893 said:
if all you want to do is edit a prop in build.prop, just use the Magisk module MagiskHidePropsConfig....
Click to expand...
Click to collapse
I'm trying to add a prop, which seems like a different need, but will look into it.
tufyuma said:
Thinkin about a clean install....maybe.....
Click to expand...
Click to collapse
Was thinking about this, but realized a clean install for every update isn't worth a hotspot to me.
sb1893 said:
if all you want to do is edit a prop in build.prop, just use the Magisk module MagiskHidePropsConfig....works like a charm (at least it did on Android 9 - assume it would work on 10....it sounded like it worked on the betas)....
https://forum.xda-developers.com/apps/magisk/module-magiskhide-props-config-t3789228
Click to expand...
Click to collapse
I gave this a whirl, its doesn't appear to actually be change build.prop
bbarnes1 said:
I gave this a whirl, its doesn't appear to actually be change build.prop
Click to expand...
Click to collapse
It doesn't physically change anything in system. The intent is to offer the same functionality as physically editing the build.prop without modifying that file. It creates the prop and value setting and loads into into memory at boot time.....(similar to the way the build.prop file is read at boot time for those settings.) At least that is my understanding. It works for me on Android 9 for setting the prop for tethering...for example. You can confirm it works by using the getprop command to verify the prop you set is set as you intended.
Welp, still can't mount /system or edit the file directly, but PropsConfig seems to be good enough for my needs.
somethingsomethingroot said:
Welp, still can't mount /system or edit the file directly, but PropsConfig seems to be good enough for my needs.
Click to expand...
Click to collapse
Can you tell me what the process is that got you tethering capability?
Having the same issue on my P2XL which was upgraded via flash of full image minus -w. Using latest canary build of Magisk. I couldn't mount system or anything under it.
I then downgraded Magisk to v19.3 and had no issues mounting system using FX File Explorer, etc. and still had root. But I couldn't mount anything under system so I still can't edit build.prop.
For those who are just trying to find a way to get hotspot working (via build.prop edit), try this...worked for me on a dirty upgrade (A9 -> A10 via full image flash without -w) + latest Magisk Canary:
https://forum.xda-developers.com/showpost.php?p=75238542&postcount=59
IlyaKol said:
For those who are just trying to find a way to get hotspot working (via build.prop edit), try this...worked for me on a dirty upgrade (A9 -> A10 via full image flash without -w) + latest Magisk Canary:
https://forum.xda-developers.com/showpost.php?p=75238542&postcount=59
Click to expand...
Click to collapse
Thanks for posting this, it worked great on my Pixel XL on Sprint. I had about given up on being able to edit the build.prop.
You no longer need the canary version of Magisk. Version 20.00 will rebuild your boot.img and if you load busybox and use a terminal type "props" and follow the onscreen menu. you can get your tethering back. My output:
Your prop
DebianDog said:
You no longer need the canary version of Magisk. Version 20.00 will rebuild your boot.img and if you load busybox and use a terminal type "props" and follow the onscreen menu. you can get your tethering back. My output:
Click to expand...
Click to collapse
Are you sure that your screenshot of the props output is correct? Because it looks like you have the value set to "net.tethering.noprovisioning" and the prop name has =true in it. I'm just trying to figure this out because I've tried this and everything else trying to get my hotspot to work. My hotspot will turn on and devices can connect to it, but they don't have internet access. Any ideas at all?
Edit: Nevermind, I had the custom prop set to post fs data when it was supposed to be set at boot stage (default). My hotspot is working now. Thank you all.
DebianDog said:
You no longer need the canary version of Magisk. Version 20.00 will rebuild your boot.img and if you load busybox and use a terminal type "props" and follow the onscreen menu. you can get your tethering back. My output:
Click to expand...
Click to collapse
Confirming that this works on rooted pixel 4. Thank you for this btw
IlyaKol said:
For those who are just trying to find a way to get hotspot working (via build.prop edit), try this...worked for me on a dirty upgrade (A9 -> A10 via full image flash without -w) + latest Magisk Canary:
https://forum.xda-developers.com/showpost.php?p=75238542&postcount=59
Click to expand...
Click to collapse
This seems to have worked for me, though I don't really understand why or what did it.
For any dummies like me that happen to fall on this post after their build.prop seems to fail to save. The link above to: https://forum.xda-developers.com/showpost.php?p=75238542&postcount=59 worked for me.
download
https://forum.xda-developers.com/attachment.php?attachmentid=4392434&d=1516234353
to the device > run TWRP
I have to run twrp from cmd line since my Pixel XL refuses to install it using command::
.... fastboot boot twrp.img
and installing the zip file above > rebooting
back to cmd line
> adb shell
> settings put global tether_dun_required 0
> reboot
swipe notifications bar and turn on hotspot and wamo she's kicking.
Thanks guys
I haven't been beating my head too hard this time around. Many thanks to the brains that are keeping the rest of us dummies excited to keep tinkering about with our androids!
wolvmarine said:
For any dummies like me that happen to fall on this post after their build.prop seems to fail to save. The link above to: https://forum.xda-developers.com/showpost.php?p=75238542&postcount=59 worked for me.
download
https://forum.xda-developers.com/attachment.php?attachmentid=4392434&d=1516234353
to the device > run TWRP
I have to run twrp from cmd line since my Pixel XL refuses to install it using command::
.... fastboot boot twrp.img
and installing the zip file above > rebooting
back to cmd line
> adb shell
> settings put global tether_dun_required 0
> reboot
swipe notifications bar and turn on hotspot and wamo she's kicking.
Thanks guys
I haven't been beating my head too hard this time around. Many thanks to the brains that are keeping the rest of us dummies excited to keep tinkering about with our androids!
Click to expand...
Click to collapse
Why need to turn on Hotspot for build.Prop editing? What's wamo?
truelies1 said:
Why need to turn on Hotspot for build.Prop editing? What's wamo?
Click to expand...
Click to collapse
Does anyone know a way to enable gestures on 3rd party launchers on stock rom

[LINUX] Unlock bootloader of HUAWEI P20 lite with PotatoNV in Linux

The genius Andrey Smirnoff, author of PotatoNV, offers a version of the program that can be used in Linux, called PotatoNV-crossplatform, written in python3.
Steps to unlock bootloader of HUAWEI P20 lite with PotatoNV in Linux (can be used for any Huawei phone listed, tested in Arch Linux)
1) Prepare the software
- Download PotatoNV-crossplatform, unpack and cd inside it
- Prepare a venv, using python3/pip3 :
Code:
python -m venv ./
source ./bin/activate
pip install -r requirements.txt
- Fix some bugs of the software:
i. in file main.py, line 48, replace %s with the name of the folder, that lies under ./bootloaders and contains the bootloader of your phone, eg for P2 lite:
Code:
args.manifest = "./bootloaders/hisi659a/manifest.json".format(args.bootloader)
ii. in file imageflasher.py, comment out lines 59, 67 and 76, as function ui.debug is not defined in module ui
2) Prepare the hardware (omitting the details, you can find them easily online)
- open the back case using heat from a hair dryer, better start from the left side as you see the phone from the back
- connect (short, ground) the test point with the adjucent metal case
- connect the phone to USB cable with the spare hand (eg. by pushing the cable while the phone is hold at a fixed edge)
- notice if the phone screen lights on. If it does, unplug the cable and try again until no light comes up (you can see light through the chips of the open phone)
- check that the device /dev/ttyUSB0 shows up (the interface well known to those who connect devices with UART...)
3) Run the program:
-
Code:
python -m usrlock
(if you hit at permission problem run the above as root)
- select any bootloader (as you have hardcoded the correct one)
- select any 16-digit code, eg 1111111111111111
Wait as the 'magic' happens!
Your phone's bootloader in now unlocked. The phone will reboot, low level reset and start!
Good luck with flashing!
Thanks for sharing!
Thanks for sharing this quide.
In my case it didn't work. Lack of knowledge, propably. I got message
Code:
PotatoNV-crossplatform-master]$ python -m usrlock
Traceback (most recent call last):
File "/usr/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/home/xxxx/Lataukset/PotatoNV-crossplatform-master/usrlock/__main__.py", line 2, in <module>
import chalk
ModuleNotFoundError: No module named 'chalk'
Everyting seemed to be installed. But I quess something is missing. There is no "chalk" in anywhere. Do you happen to know about this case?
kuukkeli01 said:
Thanks for sharing this quide.
In my case it didn't work. Lack of knowledge, propably. I got message
Code:
PotatoNV-crossplatform-master]$ python -m usrlock
Traceback (most recent call last):
File "/usr/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/home/xxxx/Lataukset/PotatoNV-crossplatform-master/usrlock/__main__.py", line 2, in <module>
import chalk
ModuleNotFoundError: No module named 'chalk'
Everyting seemed to be installed. But I quess something is missing. There is no "chalk" in anywhere. Do you happen to know about this case?
Click to expand...
Click to collapse
same boat here
kuukkeli01 said:
Thanks for sharing this quide.
In my case it didn't work. Lack of knowledge, propably. I got message
Code:
PotatoNV-crossplatform-master]$ python -m usrlock
Traceback (most recent call last):
File "/usr/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/home/xxxx/Lataukset/PotatoNV-crossplatform-master/usrlock/__main__.py", line 2, in <module>
import chalk
ModuleNotFoundError: No module named 'chalk'
Everyting seemed to be installed. But I quess something is missing. There is no "chalk" in anywhere. Do you happen to know about this case?
Click to expand...
Click to collapse
Use this on your terminal:
Bash:
python -m venv ./
source ./bin/activate
pip install -r requirements.txt
After that don't close the terminal and continue with the next command:
Bash:
python -m usrlock
To running as root you must first do:
Bash:
sudo su
and next run all the above commands (you can skip the install part: "pip install -r requirements.txt").
In my case this didn't work even after OP bug fixes. I had to add one line to main.py file in write_nvme function after ui.success("Bootloader code updated") just before rebooting:
Code:
fb.unlock(key)
Which makes sense to me, if script wasn't even trying to unlock bootloader then why should it be? Wonder why this worked for you guys, maybe I have too new EMUI?
Hello!
Just updating since I just followed your tutorial and ended up unlocking my P8 so thank you!
For anyone encountering an error with M2Crypto when performing pip install requirements.txt, it's a problem with depedencies that I solved following this post: https://github.com/google/python-adb/issues/112#issuecomment-530824958
Also, I used the bootloader from the main PotatoNV release, doing so I had to use another manifest.json since the windows release bootloaders use a xml file, i just modified the name of it and dragged it in the directory of the new bootloader, it went fine. I precise that I have no idea wtf I was doing but since the "adress" line of the two other file was the same I assumed the manifest was the same with just another format. Anyway it worked, and I think I had to do this because installing the "old" bootloaders, hisi659a, returned an error in potatoNV, whilst hisi65x_a went fine.
Thanks again, I will now brick it while installing shady roms and making big mistakes.
LeSplendide said:
Hello!
Just updating since I just followed your tutorial and ended up unlocking my P8 so thank you!
For anyone encountering an error with M2Crypto when performing pip install requirements.txt, it's a problem with depedencies that I solved following this post: https://github.com/google/python-adb/issues/112#issuecomment-530824958
Also, I used the bootloader from the main PotatoNV release, doing so I had to use another manifest.json since the windows release bootloaders use a xml file, i just modified the name of it and dragged it in the directory of the new bootloader, it went fine. I precise that I have no idea wtf I was doing but since the "adress" line of the two other file was the same I assumed the manifest was the same with just another format. Anyway it worked, and I think I had to do this because installing the "old" bootloaders, hisi659a, returned an error in potatoNV, whilst hisi65x_a went fine.
Thanks again, I will now brick it while installing shady roms and making big mistakes.
Click to expand...
Click to collapse
On debian I had to add a bit more of dev packages:
- libxslt1-dev
- libxml2-dev
- python3-dev
- libssl-dev
- python3-m2crypto
- swig
- python3-rsa
I have a question though, as I am not familiar with those bootloader for huawei devices.
Is there a specific fastboot image (bootloader) for P8 ?
Thanks
I have a general question, though, might not be the place but.
The phone I have is FRP locked and bootloader locked.
If I can unlock the bootloader would I be able to run some kind of `fastboot oem erase-frp`?
Thanks
dave2017 said:
fastboot oem erase-frp`?
Click to expand...
Click to collapse
for what reason? You can change FRP status in settings > developers option. Btw, the command fastboot oem erase-frp doesn't work on Kirin, afaik.
-Alf- said:
for what reason? You can change FRP status in settings > developers option. Btw, the command fastboot oem erase-frp doesn't work on Kirin, afaik.
Click to expand...
Click to collapse
The reason is that phone was given to me, reset and frp locked. The previous user does not remember the account she used.
dave2017 said:
The reason is that phone was given to me, reset and frp locked. The previous user does not remember the account she used.
Click to expand...
Click to collapse
so you need google account bypass, not FRP unlock on the phone, it's not the same...
dave2017 said:
The previous user does not remember the account she used
Click to expand...
Click to collapse
Really?
-Alf- said:
so you need google account bypass, not FRP unlock on the phone, it's not the same...
Really?
Click to expand...
Click to collapse
Yeah really, she is 70 year old and does not really get an understanding of what an account is.
-Alf- said:
so you need google account bypass, not FRP unlock on the phone, it's not the same...
Really?
Click to expand...
Click to collapse
And what is a google account bypass? How can I get something for that? Thanks
Amazing!
I just discovered it. Thank you so much! We're going to be able to unlock our phones finally!

Themes / Apps / Mods [MOD/magisk/root] Magisk module to disable app Ads/Analytics/Firebase/Crashlytics

Attached is a (simple) Magisk module which allows you to disable:
- app measurement
- app analytics
- app firebase tracking
- app crashlytics
In short, each APK (system app or user app) may have background services to do all sorts of tracking and ad handling. Module allows you to disable (or enable) those services.
You must obviously be rooted and have a working Magisk.
How to install:
Code:
a) download attached zip file
b) push the zip file to your /sdcard folder (use: adb push dss.zip /sdcard)
c) open Magisk
d) in the panel at the bottom, tap the "modules" icon
e) at the top, select "install downloaded module"
f) navigate to your /sdcard folder
g) select dss.zip
h) tap the reboot button
After installation:
The script must be run manually using the command line. First, open a shell using adb:
Code:
> adb shell
$ su
#
The script has the following syntax:
Code:
dss {disable|enable} {user|system} <package-name>
You must provide 2 or 3 arguments to the script:
a) first argument is "disable" or "enable" (by default Analytics/Firebase/etc services are enabled)
b) second argument is "user" or "system" (use "user" for any app wich you installed using an APK or installed from play store; use "system" for apps which come as part of the official Google image, e.g. contacts/dialer/messaging)
c) the third argument is optional and - if present - contains the name of a specific package (e.g. com.banking.mybankapp)
Examples:
1) disable analytics/firebase/etc for ALL user apps
Code:
# dss disable user
2) enable analytics/firebase/etc for ALL system apps (this is the default)
Code:
# dss enable system
3) disable analytics/firebase/etc for Feedly
Code:
# dss disable user com.devhd.feedly
The script will show you output of the services which get disabled, for example for the Feedly case:
Code:
Component {com.devhd.feedly/com.facebook.internal.FacebookInitProvider} new state: disabled
Component {com.devhd.feedly/com.google.android.gms.analytics.AnalyticsJobService} new state: disabled
Component {com.devhd.feedly/com.google.android.gms.analytics.AnalyticsReceiver} new state: disabled
Component {com.devhd.feedly/com.google.android.gms.analytics.AnalyticsService} new state: disabled
Occasionally it can happen that after disabling Analytics/Firebase/etc, the app no longer works. Then just "enable" again. Apps should - in principle - be resilient but some are not coded properly. Alternatively, you can try to figure out exactly which of the services causes the crash and (manuall) re-enable that service (but you will need to look into the source code a bit). When you run this on Feedly for example, you will find that it crashes afterwards (reason is that the script disabled com.devhd.feedly/com.facebook.internal.FacebookInitProvider). You can re-enable that service individually using:
Code:
pm enable com.devhd.feedly/com.facebook.internal.FacebookInitProvider
or just do:
Code:
# dss enable user com.devhd.feedly
(that will re-enable all the services previously disabled)
You can also disable stuff for system apps, e.g. com.android.contacts (Contacts), com.android.vending (Play store app), etc ...
However, one BIG WARNING. If you disable this for system apps, make sure to re-run the script with the 'enable system' argument BEFORE running a Play-systemupdate otherwise that may bootloop. So, to be on the safe side, if you have used the script to disable services in system APKs, then run:
Code:
# dss enable system
before doing the Play-systemupdate.
I you want to check the source code (simple sh script), just unzip the dss.zip in a new directory and check out the file system/bin/dss. It's not complicated ...
This will save you (a tiny litte bit) of battery, but more importantly, a lot of nasty "tracking" (which you don't need).
Changes are persistent across reboots.
github: https://github.com/foobar66/dss
Notes:
When I run this for the user apps on my phone, I have ~189 background services that get disabled.
If you want to know more about firebase, look here: https://firebase.google.com/
And here is some detail about app analytics: https://developers.google.com/analytics/devguides/collection/android/v4
If you want to know the name of your APKs/packages, do:
Code:
# pm list packages -f
Looks like a brillant tool, I'll test it, thanks a lot for this very user-friendly and efficient tool!
Yes brilliant tool thanks for this!
I'll third, I run this on my device at the moment on user apps. Great tool and does what it says it will do. Thank you for this!
Great tool.
Thanks for the effort and sharing.
Great share
wow, thanks OP
I did disable analytics/firebase/etc for ALL user apps and scrolling facebook on Chrome no longer jittery.
Flashed and disabled analytics on ProtonAOSP. Thank you for the tool.
This would be great on the Pixel 5
207 user packages got disabled.
Do I have to also run "dss enable system" after the initial "dss disable user"?
Will I have to re-run this after an app updates?
Will I have to re-run this after a monthly android update?
Really useful tool, mate! Will be trying on my device once I get Magisk to work.
Utini said:
207 user packages got disabled.
Do I have to also run "dss enable system" after the initial "dss disable user"?
Will I have to re-run this after an app updates?
Will I have to re-run this after a monthly android update?
Click to expand...
Click to collapse
Also:
You should implement that the module saves the output of the disabled packages.
That way you can easily (and safer) restore those packages e.g. when uninstalling the module?
Same goes for all your other modules:
They tinker with the system but how can I safely restore the original form and uninstall the module?
Utini said:
Also:
You should implement that the module saves the output of the disabled packages.
That way you can easily (and safer) restore those packages e.g. when uninstalling the module?
Same goes for all your other modules:
They tinker with the system but how can I safely restore the original form and uninstall the module?
Click to expand...
Click to collapse
Well, as this is commandline based its basically all there in OP
BTW saving the output is easy, just expand the commandline by "> filename.log" (without the "")
And the safe way back before uninstalling is just dss enable user / dss enable system
s3axel said:
Well, as this is commandline based its basically all there in OP
BTW saving the output is easy, just expand the commandline by "> filename.log" (without the "")
And the safe way back before uninstalling is just dss enable user / dss enable system
Click to expand...
Click to collapse
What I was trying to say is that the module should use the output for when restoring / enabling.
If you have looked at the source code of the module, then you will see that it basically works by creating an array of queried packages to disable/enable. I could imagine that due to what ever fault / later update / package changes / ... the "enable query" might look different than the "disable query" that was run months before. Meaning that there is a chance that not everything that got disabled will get enabled again.
Looks amazing so far, not just for Pixel 6 but good for other phones too
Utini said:
207 user packages got disabled.
Do I have to also run "dss enable system" after the initial "dss disable user"?
Will I have to re-run this after an app updates?
Will I have to re-run this after a monthly android update?
Click to expand...
Click to collapse
1. No, your own choice if you want to disable the services for system packages
2. No
3. No
Utini said:
What I was trying to say is that the module should use the output for when restoring / enabling.
If you have looked at the source code of the module, then you will see that it basically works by creating an array of queried packages to disable/enable. I could imagine that due to what ever fault / later update / package changes / ... the "enable query" might look different than the "disable query" that was run months before. Meaning that there is a chance that not everything that got disabled will get enabled again.
Click to expand...
Click to collapse
Indeed ... that would be a very good improvement ... I´ll have a look at implementing that.
Thanks for the suggestion.
MrRob0t said:
This would be great on the Pixel 5
Click to expand...
Click to collapse
Will work on any phone.
foobar66 said:
Indeed ... that would be a very good improvement ... I´ll have a look at implementing that.
Thanks for the suggestion.
Click to expand...
Click to collapse
It would also be useful for re-running the module after installing some new apps.
E.g. re-running dss disable user will try to disable all user apps even if 90% of them was disabled previously already.
If there was a "file" or "log" to compare what was disabled already, then it could only care about what is now newly installed

How To Guide GSI 12 - fixed audio , vulkan renderer

This is a GSI Image for alioth, fixes audio distortion,sets default renderer to Vulkan and increases Dalvik and dex2oat for smoother performance.
Not working:
Telephony - Fully broken, they don't hear you and you don't hear them... Both mic and speakers work fine I'll try looking into this
Camera - Works just like in any other aosp rom xd meaning stock app freezes when switching sensors, no auto focus/rly bad autofocus.
Bluetooth - only SBC/AAC codecs.
(Fingerprint works as long as you are on Miui 13 before flashing GSI12 , If you are flashing GSI11 Miui 12 will work. If you are having issue update stock miui)
Any ideas on how to fix these or any other issues I would like to hear. Guide below let's you mount system image fully , so editing/adding files is as simple as drag and drop.
( Since 128gb is smallest variant of this phone there's plenty of space to reserve 2GB for increased performance of apps , no reason to use default 500mb ).
For best performance first flash back to stock miui via fastboot !!! #MIUI 13 PREFERRED
( You want original vendor partitions alongside everything else for the best compatibility with GSI image )
Vanilla variant only without GMS (Playstore)
Idk the license agreement for it so I won't be sharing GMS variant, as far as I am aware vanilla one should be free to share as long as you provide source.If you want GMS variant it's not hard to make - use any linux distro , follow steps below to mount system.img , when mounted you can replace default build.prop from /system/build.prop with the one provided or modify build.prop yourself - explained below.
Download and unzip in a new folder:
DOWNLOAD
Steps for flashing:
Download Platform Tools from google, unzip them, open unzipped folder , open terminal inside - right click inside folder ( Windows: right click + shift ) click open terminal/command window/powershell
./fastboot reboot fastboot ( This is a must , before this reboot phone , hold power down while rebooting to enter fastboot and then issue this command )
./fastboot --disable-verification flash vbmeta ( Drag and drop vbmeta.img from GSI folder to terminal, when done press enter )
./fastboot erase system
./fastboot flash system ( Drag and drop system.img from GSI folder to terminal , when done press enter )
./fastboot -w
./fastboot reboot
That's it. As far as I know everything works , magisk should work as well as long as you followed steps and didn't delete logic parition by following some other guide - you need to install magisk yourself xd
- to enable 120fps wait for phone to boot up . Enable USB debugging , connect to pc and issue these:
./adb shell settings put system peak_refresh_rate 120
./adb shell settings put system min_refresh_rate 120
#########################################################
Process behind this :
Downloaded GSI from: https://developer.android.com/about/versions/12/gsi-release-notes
Image later processed:
Opwn terminal in GSI folder
mkdir system
fallocate -l 5G system.img
fallocate -l 5G system.img
e2fsck -y -E unshare_blocks system.img
sudo mount -t ext4 -o loop system.img system
sudo nautilus - locate the folder where you unzipped the GSI
edit build.prop to add these lines OR use buid.prop provided below to replace the whole file:
ro.audio.ignore_effects=true
debug.hwui.renderer=vulkan
dalvik.vm.image-dex2oat-Xmx=128m
dalvik.vm.dex2oat-Xmx=2048m
pm.dexopt.first-boot=speed
pm.dexopt.boot=speed
pm.dexopt.boot-after-ota=speed
pm.dexopt.post-boot=extract
pm.dexopt.install=speed
pm.dexopt.install-fast=speed
pm.dexopt.install-bulk=speed
pm.dexopt.install-bulk-secondary=speed
pm.dexopt.install-bulk-downgraded=speed
pm.dexopt.install-bulk-secondary-downgraded=extract
pm.dexopt.bg-dexopt=speed
dalvik.vm.minidebuginfo=false
dalvik.vm.dex2oat-minidebuginfo=false
persist.traced.enable=0
sudo umount system
e2fsck -yf system.img
resize2fs -M system.img
e2fsck -yf system.img
How's it feel? Does this allow for compatibility with MIUI things, such as ANX camera?
Veiranx said:
How's it feel? Does this allow for compatibility with MIUI things, such as ANX camera?
Click to expand...
Click to collapse
You'll have to try for yourself ANX camera... I don't wanna install random apps
As for how it feels it's as I said above - everything works just as good as miui if not better - Only Bluetooth codes are SBC and AAC.
Fingerprint doesn't show up in settings so I'm assuming not working...might work if you use Miui 13 before flashing as they are both Android 12 - I didn't
How's the echo cancelation on video calls?
Rstment ^m^ said:
You'll have to try for yourself ANX camera... I don't wanna install random apps
As for how it feels it's as I said above - everything works just as good as miui if not better - Only Bluetooth codes are SBC and AAC.
Fingerprint doesn't show up in settings so I'm assuming not working...might work if you use Miui 13 before flashing as they are both Android 12 - I didn't
Click to expand...
Click to collapse
Can you flash MIUI 13 firmware? ANX Camera is a big deal as it gives you MIUI camera.
theoneofgod said:
Can you flash MIUI 13 firmware? ANX Camera is a big deal as it gives you MIUI camera.
Click to expand...
Click to collapse
No I can't
raz123 said:
How's the echo cancelation on video calls?
Click to expand...
Click to collapse
Idk If I ever use it I'll let you know....
Rstment ^m^ said:
Idk If I ever use it I'll let you know....
Click to expand...
Click to collapse
Cool. Think you could try a VoIP call in speakerphone mode and see how that fares? (Eg. Whatsapp, Messenger, etc.)
raz123 said:
Cool. Think you could try a VoIP call in speakerphone mode and see how that fares? (Eg. Whatsapp, Messenger, etc.)
Click to expand...
Click to collapse
For whatever reason telephony is broken lmao - they don't hear you and you don't hear them.
Microphone works fine in other apps , so maybe it will work as well in VoIP but regular phone calls are a no go...

Categories

Resources