Are there any updates to fixing the lag on Android Pie (9.0)? I can't find any of the hex values in /system/lib64/libbluetooth.so
I made a short youtube video explaining if, hope it helps
EDIT 3 : I was able to make it work by editing the second bluetooth.default.so (in the lib64 folder). I can't make a general protocol on how to patch the file, but on my Galaxy S7 running Oreo I had to replace the first occurence of 09648052 with 09038052. I used objdump to decompile the file (but I wan't able to find any reference to ssr), and searched a line with value 0x320 in it (which is 800, the default value). I wanted to try all lines where 0x320 is assigned, I was lucky it worked on the first one ! (This is why you have to replace only the first occurence)
I found that (this is in reverse order)
I know very little (almost nothing) about assembly and machine code, so this may be completly wrong. However, this works on my phone, so it may be worth it for you to try this (always with a backup just in case )
- 52 means "mov"
- 80 means ???
- 6409 is 0x640 in the 9th register. I don't know why the value is doubled. (And so, to put 24, which is 0x18, just replace 640 with 0x018 * 2 = 0x030)
This method works also on my Galaxy Note 9 running Android Pie (One UI). The difference is that the file isn't /system/lib64/hw/bluetooth.default.so but /system/lib64/libbluetooth.so
Again, just replacing the first occurence of 09648052 with 09038052 works fine with me.
As always, be safe and do a backup
Hey I have an S9+ without root and I never rooted one could someone explain me what I have to do to succeed, especially yul because u have the same phones as me.Just made an account to say thanks !
Works on galaxy s9+ lineage android 8.1.
And thanks to OP too btw !
Has anyone figured out the string that needs to be replaced in /system/lib64/libbluetooth.so on Galaxy S8 (running Android 9)?
I'm not finding the suggesting strings (or subsets of them).
EDIT: In addition to the ones for S5, etc., posted earlier in the thread, I've searched for 09648052.
I do have an app called Bluetooth Auto Connect I was trying to use to solve this issue. So if 09648052 is the correct value to find on a S8 plus, I'm wondering if the value was maybe changed by that app?
Can anyone let me know the offset where I should find the hex value?
I appreciate the help, but it doesn't work for me. I can't find the hex values, and the size of my libbluetooth.so doesn't line up with yours. If it's any help, I'm on a OnePlus 5T running OxygenOS 9.0.3
I found the correct file to edit on my One Plus 6 running OxygenOS 9.0.7. In the /system/lib64/libbluetooth_qti.so file, search for 09648052, then edit the 64 to 03 like in the video. Be sure to backup the original file before making any changes.
*Side note, I had to copy the file to a different folder on my phone to edit it, then replace the original file with the new one in its original location.*
I tested my Joy-Cons and the Pro Controller on my Android and while it did work, it was very laggy and unplayable. The Wiimote can connect but it requires a pin that no one seems to know.
There is no actual pin for it, it's just how the wiimote's bluetooth works that it asks for a pin when there isn't oneI tested my Joy-Cons and the Pro Controller on my Android and while it did work, it was very laggy and unplayable. The Wiimote can connect but it requires a pin that no one seems to know.
WORKING on OnePlus 7 Pro (on OxygenOS 10.0.1) using a slight variant of the numbers posted by notrewound
File: /system/lib64/libbluetooth_qti.so
Find: 09648052
Replace: 09008052
Note that if you replace 64 with 03 as suggested above, the phone still only polls every 24ms - button presses between polls won't get picked up. Setting it to 00 fixes this too.
I have made a Magisk module that applies this, I can post it if anyone is interested.