In this post we will learn about Fixing Bugs in Helio P10 ROMs MT6738, MT6750 & MT6755 ROMs. These Chipsets are the part of Helio P10. Currently, the following processors are built-on Helio P10 hardware:
1. MT6738 = 1.5 GHz + 1.0 GHz (Mali-T860MP2 – 500 MHz)
2. MT6750 = 1.5 GHz + 1.0 GHz (Mali-T860MP2 – 500 MHz)
3. MT6750T = 1.5 GHz + 1.0 GHz (Mali-T860MP2 – 700 MHz)
4. MT6755 = 1.8 or 2.0 GHz + 1.2 GHz (Mali-T860MP2 – 700 MHz)
5. MT6755T (Helio P15) = 2.2 GHz + 1.2 GHz (Mali-T860MP2 – 800 MHz)
The guide here is presented by Nonta72 from XDA Developer Group.
Fixing Bugs in Helio P10 ROMs MT6738, MT6750 & MT6755 ROMs:
Fingerprint bug fix:
This guide is intended to be used on MT6750 and MT6755 devices. It might work on other MT67xx devices like MT6797, MT6753 and MT6735. You’ll have to try and find out!
1. Open your stock ROM and port ROM side by side.
2. Go to system/lib/hw in both ROMs.
3. Compare the files in both hw folders.
4. Check your stock ROM for these files:
For MT6750 gatekeeper.mt6750.so gatekeeper.device_name.so keystore.mt6750.so libMcGatekeeper.so
For MT6755 gatekeeper.mt6755.so gatekeeper.device_name.so keystore.mt6755.so libMcGatekeeper.so
Note: device_name depends on the device you’re porting the ROM from. For Meizu U10 Flyme ROM, it was gatekeeper.u10.so
5. If stock ROM DOES NOT HAVE the above files and Port ROM also DOES NOT HAVE them. Then it’s fine! Move to step 8.
6. If your stock ROM DOES HAVE the above files, copy them and paste them in port. If they are in port, replace them. If they are not in port, just add them.
7. If Stock ROM DOES NOT HAVE them but Port ROM DOES HAVE them; then remove them from port. THIS IS IMPORTANT.
8. Copy fingerprintd from sotck system/bin and paste it in port system/bin. REPLACE when prompted.
9. Copy all files from stock system/bin and paste them in port system/bin. DO NOT REPLACE anything when prompted. The goal is to have stock extra files in port ROM.
Repeat the above step with lib, lib64 (and their subfolders), etc root directory files, permissions, vendor/lib & vendor/lib64 and xbin.
10.Repack the ROM and test it!
RIL Bug fix:
1. Build.prop method
1. Compare your stock build.prop to port build.prop
2. Remove the extra lines that are related to RIL from port build.prop
3. Add extra lines from your stock build.prop to port one
4. Make sure to remove any line where VoLTE or SrLTE has been mentioned unless your stock build.prop does have such lines.
5. Use the edited build.prop
2. Boot.img method
1. Unpack your stock boot.img and port boot.img
2. Copy init.modem.rc and meta_init.modem.rc from stock to port ramdisk.
3. Compare your stock ramdisk to port ramdisk (the ramdisk folder contents themselves).
4. If your stock ramdisk has files like init.volte.rc, go to B), otherwise, go to A). You SHALL NOT follow A) and B) for the same device at the same time. It will not make sense.
A) Remove any extra file from port ramdisk that is related to RIL. These, mostly, are:
- init.mal.rc - init.volte.rc
B) If the above files are in your stock ramdisk, then copy them to port ramdisk.
Open init.mt6755.rc and make sure that these lines are defined in the very first section:
import /init.volte.rc import /init.mal.rc Repack boot.img and flash it.
3. Binary replace method
1. Open init.modem.rc of your stock ramdisk
2. Scroll down until you see “start service”
3. For example:
service gsm0710muxd /system/bin/gsm0710muxd -s /dev/ttyC0 -f 512 -n 8 -m basic class core user root group radio cache inet misc disabled oneshot
Here, we take note of gsm0710muxd
3. Take note of the files mentioned in this section. Keep taking note until you reach the end of the file.
4. Copy the mentioned files from stock system/bin. If you can’t find a file in stock but it has been mentioned in init.modem.rc; just skip it!
5. Paste them in port system/bin and replace.
Hint: You do not need to make a flashable zip every time. Just copy these files with Root explorer (use v3.8.8 for easy use), create a folder in system/bin and name it “ril”, paste the files in that folder, select all of them and change permissions to “755” or “rwxr-xr-x”. Copy them to system/bin, paste them and replace if prompted.
6. Go to your stock system/lib and copy these files (skip those that don’t exist):
libradio.so libradio_metadata.so libradioservice.so libreference-ril.so libril.so librilmtk.so librilmtkmd2.so librilutils.so mtk-ril.so mtk-rilmd2.so volte_imsm.so
7. Paste them in port system/lib and replace
8. Repeat the previous step for system/lib64
9. Reboot and RIL should be good now.
10. If RIL still has issues. Then go to stock system/lib and check if there is any file with volte and/or viarild in its name. If not, then check port system/lib for the same files, if they’re there; remove them.
11. Repeat the same for system/lib64.
Audio Bug fix:
1. Copy audio.primary.mt6750.so from lib/hw and lib64/hw of your stock ROM and paste them in port one.
2. If it still doesn’t, then you can copy libaudio*.so (meaning all files with audio in their names) from your stock rom’s lib and lib64 to port rom. Use with care, some audio files can cause bootloop.
3. You might also need to copy all the files starting with audio from etc folder of your stock rom to the port rom. That should fix Bluetooth Headset Audio bug as well.
Camera bug fix:
- Copy camera.mt6750.so and camera.default.so from lib/hw and lib64/hw of your stock ROM to port ROM.
- Copy all camera files from your stock rom’s lib and lib64 folders except libcameraservice.so, libcamera_client.so, libcamera_metadata.so
- If camera still doesn’t work, try using another camera app. This is important especially when you crossport a MT67xx ROM to another MT67xx! Due to platform differences, the MT6735/MT6753 camera apps for instance are mostly incompatible with MT6750/MT6755. So, the stock camera apps in these roms will likely not work in your ported ROM. There is no solution to that besides using another camera app.
Settings Force, Security Settings force bugs fix:
If you get settings app for close or security settings force close, remove these from port rom’s lib/hw and/or lib64/hw:
libGatekeeper.so gatekeeper.mt67xx.so gatekeeper.mt67xx.so gatekeeper.device_name.so (device_name refers to the device codename). libMcGatekeeper keystore.mt67xx.so keystore.mt67xx.so