前情回顾:
解决小米手机不能使用电信或联通卡VoLTE电话短信的问题(1)--基础篇_小米5电信volte补丁-CSDN博客
解决小米手机不能使用电信或联通卡VoLTE电话短信的问题(2)--小米5篇_小米5电信volte补丁-CSDN博客
解决小米手机不能使用电信或联通卡VoLTE电话短信的问题(3)--小米5总结篇_小米5电信卡不能打电话-CSDN博客
背景:
我是阿清,一名电子电脑爱好者,也是一名”万能维修工",有20多年的维修经验。下面是一些我的维修故事。
对老款旧手机执着的人,一定是一个喜欢怀旧的人,也一定是一个不离不弃、值得托付的人,比如我。但我还有一个原因,就是我穷!
再简单回顾一下小米手机使用电信卡联通卡不能开通VoLTE的维修步骤:
备份手机数据-->解锁BL-->刷开发版-->开启Root-->安装文件管理器-->替换相关文件-->测试-->干杯!
知识点1:开启Root有两种途径。一种是官方开发版自带的开启Root功能,第二种是第三方Root软件开启Root功能。前者工作量小,后者工作量大。如果开发版自带的Root功能无法开启Root,那就要借助第三方Root软件。
知识点2:替换相关文件是指替换电信运营商预置的mcfg_sw.mbn文件。它们通常存在于根文件系统的ffirmware->image->modem_pr->mcfg->configs->mcfg_sw->mbn下,mbn文件夹下有很多子文件夹,其中cmcc代表移动,ct代表电信,cu代表联通。网上查不到mbn文件是如何编译的,我们也拿不到编辑工具。我们只能通过把某运营商的mcfg_sw.mbn替换给其它运行商进行测试。幸好前人已经总结出来了替换规律,我们直接用前人的成功经验即可。
问题:
这天,有位C友求助。他说按我的操作步骤,用开发版的Root提示获取root失败,手机无法解锁,用Apache Root虽然成功了,但是找不到可替换的相关文件。他把机器快递给我,让我研究。
手机拿到手后,我发现插入移动卡可以4G+VoLTE,但联通卡和电信卡都只能4G,无VoLTE。且手机已经安装了Apache Root、magisk、MT管理器。用MT管理器在根文件系统无法找到firmware文件夹,magisk也没有Root过的痕迹。
看样子root并没有真正成功,ApacheRoot我不熟,那就先magisk重做root,再替换文件吧。
一:magisk进行Root步骤
1 获取boot.img文件。boot.img实际上是刷写bootloader用的,可以从原厂安装包中提取。下载一个与手机相同版本的线刷包或卡刷包,解压即可找到boot.img。此时小米官网有很大的改版,原先的下载链接都失效了,我试了几个都不行。只好从第三方网站miuiver.com下载(链接附后),第三方网站的安全风险需要自己承担。
2获取magisk。为了防止C友自己下载的软件版本友问题,我从官网重新下载了magisk。
3破解boot.img。将手机连接电脑,设置为文件传输模式,在电脑上将magisk和boot.img传入手机根文件夹;然后在手机上安装并运行magisk。magisk运行后,点击Magisk后面的“安装”,点击“下一步”,点击“选择并修补一个文件”,选中已经传到手机里的boot.img文件,点“开始”,等到提示AllDone,表示boot.img破解成功,记住新文件名和所在位置,不要断开手机和电脑的连接
4破解包刷入手机。电脑上安装adb和fastboot,网上资源较多,就不赘述。用电脑打开手机存储器,找到上一步生成的破解文件,将其复制到电脑上adb和fastboot所在文件夹下。
然后在电脑上打开cmd命令或powershell,输入以下指令:
adb reboot bootloader
fastboot devices
fastboot flash boot 破解的boot文件名
fastboot reboot
其中“破解的boot文件名”代表上一步复制到电脑上的boot文件名,请按实际情况替换。上面的命令运行完后,手机会重启。
5重启成功后,就会获取root权限。测试成功,舔杯!为啥不是干杯呢,革命任重道远,还没到了庆祝的时候。
二:使用MT管理器替换相关文件
在小米5时是用CMCC下的mcfg_sw.mbn替换CU和CT文件夹下的mcfg_sw.mbn。还是按这个思路,进行操作,重启以后,结果两张卡都不认了。
翻车了,是不是把基带刷坏了?吓出一身冷汗!C友承诺给的辛苦费可不够赔这台手机的。
试着把替换的mcfg_sw.mbn还原回去,又认卡了。擦干冷汗。
去度娘搜前人的经验,发现是用cu_volte下的mcfg_sw.mbn替换CU和CT文件夹下的mcfg_sw.mbn。cu_volte,顾名思义,即使中国联通高清通话的配置文件,应该手机早就设计好了要支持联通高清通话。
完整替换步骤为:
打开MT管理器,首先点击左侧的..,一直点击到没有..,这才到了顶层目录。在左侧一层一层打开文件夹:firmware->image->modem_pr->mcfg->configs->mcfg_sw->mbn->cu_volte,可以看到mcfg_sw.mbn,这就是我们需要的文件
然后点击右侧的..,一直点击到没有..,这才到了顶层目录。先解决电信卡VoLTE问题,所以在右侧一层一层打开文件夹:firmware->image->modem_pr->mcfg->configs->mcfg_sw->mbn->ct,可以看到mcfg_sw.mbn,这就是我们需要覆盖的文件。
保险起见,按住该文件不松手,选择重命名,名字改为mcfg_sw.mbn.bak,点完成。点确定。
按住左侧的mcfg_sw.mbn不松手,选择复制,确定。这样左侧的mcfg_sw.mbn就复制到右侧一份。
使用同样方法,解决联通卡VoLTE问题。联通卡需要覆盖的文件在firmware->image->modem_pr->mcfg->configs->mcfg_sw->mbn->cu文件夹下。
三:测试。
单移动卡:显示4G+VoLTE。
单电信卡:在拨号键盘输入*#86583#*#*,等到显示“Volte carrier check was disabled”后,返回设置,打开高清通话开关,显示4G+VoLTE。若注册不上VoLTE,可以飞行一下,开关一下高清通话开关。
单联通卡,显示4G+VoLTE。
主卡电信、副卡联通:主卡4G和VoLTE,副卡无信号。
主卡电信、副卡移动:主卡4G和VoLTE,副卡2G网络;任意一张卡通话时,另外一张卡无法接通。
主卡移动、副卡联通:主卡4G和VoLTE,副卡无信号。
四:发现bug
电信卡拨打10000、100001时,能接通,但是听不到对方语音,与10001短信收发正常;电信卡拨打12345无法接通。联系C友,C友表示能接受。
五:庆祝,干杯!
由于本人精力有限,描述不够详尽,但保证100%真机测试成功。如按上述方法操作,出现不成功的情况,请不要慌,可按照教程多尝试几次。没时间折腾或折腾不出来的可以私我。
部分参考资料:
小米手机安装 Magisk 获取 Root 权限指南 – MIUI历史版本 (miuiver.com)
小米5sPlus 开发版刷机包下载合集 – MIUI历史版本 (miuiver.com)
小米5S也可以使用电信VOLTE了,小米5也同样适用 - 运营商·运营人 - 通信人家园 - Powered by C114
(码字不易,转载请注明出处)