Hi, I found out that Google removed modem.img in android 10 factory images. How can we change it?Thanks for your post, this is the best way I can find to enable China Telecom LTE on Pixel.
Based on your post, I did some further checks, and found a way to do this without erasing data partition, and even no need to root.
Successfully tested on my Pixel running Android P.
Same as your method, we will change modem.img and copy mcfg_sw.mbn from 1+3T's image.
From the aosp source code, we can see that the init.radio.sh will copy configs from modem.img if the versions in ver_info.txt is changed.
So we can just simply change the version to another value, and it will copy the new configs.
The following are the detailed steps, we need a Linux environment to mount modem.img:
1. extract modem.img from Pixel factory image.
2. extract NO-HLOS.bin from 1+ 3T factory image (download from oneplus).
3. In order to add new files into modem.img, first need to expand its size:
This command appends about 400KB to the end of the modem.img.Code:
dd if=/dev/zero of=modem.img bs=4096 count=100 conv=notrunc oflag=append
The total size of CT configs in 1+ 3T is about 230KB, but you can change to a larger count if you need to add more files.
4. mount modem.img:
5. mount NO-HLOS.bin:Code:
mkdir modem sudo mount -o loop modem.img modem
6. create a "china" folder, since we only copy the CT configs, and skip CMCC and CU configs.Code:
mkdir oneplus sudo mount -o loop NO-HLOS.bin oneplus
7. copy CT configs from oneplus:Code:
sudo mkdir modem/modem_pr/mcfg/configs/mcfg_sw/generic/china/
8. change the ver_info.txt:Code:
sudo cp -r oneplus/image/modem_pr/mcfg/configs/mcfg_sw/generic/china/ct modem/modem_pr/mcfg/configs/mcfg_sw/generic/china/
It is enough to only change the last digit.Code:
sudo vim modem/modem_pr/verinfo/ver_info.txt
9. umount the images:
10. flash the modem.img:Code:
sync umount modem umount oneplus
After reboot, Pixel will be able to use China Telecom LTE.Code:
fastboot flash modem_a modem.img fastboot flash modem_b modem.img fastboot reboot