一日一技 | 借助 QPST 为 Pixel 5 启用 5G 网络支持
在上一篇文章中我曾介绍过使用一种为 Pixel 5 开启 5G 网络的方法,后续联系到了最初模块的作者,发现是付费模块,因此对原文的模块进行了下架。这里也再次向这位作者道个歉。
关联阅读:Pixel 5 到手后可以做的 6 件事
为了弥补那些因此受到误导、没能找到解决方案的读者,我决定另起一篇文章,分享一下前段时间在研究 5G 网络支持的过程中找到的替代解决方案 —— 使用 QPST 工具解锁。
使用高通的 QPST 工具进行网络解锁在某些厂商的机型里很常见,但本文介绍的方法并不完美,具体而言:
- 它可以解锁 5G 网络
- 它不可以解锁 VoLTE
- 相关操作既不会影响 OTA,OTA 也不会影响已经生效的 5G 配置
- 适合那些不需要频繁切换 SIM 卡的人
如果你觉得没问题,或者单纯只是想了解一下,那么我们继续。
准备工作
完成后如果启动 QPST,会发现电脑无法识别手机:
搞定 QPST 识别
接下来要让 QPST 识别 Pixel 5。这里借鉴了 GCam 开发者 @cstark27 在 这个帖子 里的方法:
adb shell
su
resetprop ro.bootmode usbradio
resetprop ro.build.type userdebug
setprop sys.usb.config diag,diag_mdm,adb
diag_mdlog
依次执行上述命令后,应该会卡在一个地方不动:
failed to open diag socket…
此时使用 Ctrl+C
退出,等待命令完成。
完成后关闭窗口,手机上切换一下 USB 连接方式(比如从 无数据传输
切换到 文件传输
)。再打开 QPST,此时电脑应该就能识别出设备 SAIPAN 了:
运营商配置文件导出
接下来就是动手的环节了。
在 QPST 窗口中,在顶部菜单栏选择 Start Clients > EFS Explorer
然后在弹出的窗口中选择 SAIPAN 设备,等待读取完成
读取完成后应该是下图这样:
此时我们需要找到 policyman 这个文件夹,如下图,文件夹内有一堆 xml 配置文件,右键导出以下三个到电脑上:
- carrier_policy.xml
- policies.xml
- lte_feature_restrictions.xml
导出到电脑上之后,备份一份以防万一,然后我们使用 NotePad++ 将这些 xml 文件全部打开开始编辑:
运营商配置文件修改
这里我用到了 NotePad++ 的所有文件索引功能,如果你用的编辑器不支持这个功能,也可以手动查找替换。具体而言,我们需要完成的修改有两部分:
- 添加 5G 支持
- 删除运营商限制
5G 支持
先说 5G 支持,这个比较简单粗暴,在 carrier_policy.xml 中找到 <rat_capability base="none"> 字段,然后在下方的 <include> 字段中加上 5G:
如:
<rat_capability_if base="none">
<include> G W L </include>
</rat_capability_if>
</actions>
改为:
<rat_capability_if base="none">
<include> G W L 5G </include>
</rat_capability_if>
</actions>
carrier_policy.xml 中类似的字段有 4 处,全部按照这个方法修改。
删除运营商限制
首先需要明确的是,大陆运营商相关的运营商代码都是 460 范围内的,所以我们只需要在 lte_feature_restrictions.xml 这个文件中搜索关键字,然后将对应字段删掉即可,比如下图这部分:
再比如下图这部分:
注意,我们遵循就近删除原则,即只删除目标字段附近最小的代码区块,比如 <plmn_list>xxxx</plmn_list>,没必要多删。
接下来用同样的方法,在 lte_feature_restrictions.xml 和 policies.xml 这俩文件中找到与 china
相关的字段并删除,具体而言包括 lte_feature_restrictions.xml 中如下部分:
<lte_feature name="NONDDS_APS">
<all_of>
<imsi_plmn_in list="post:cmcc_imsi" />
<imsi_plmn_in subs="other" list="post:cmcc_imsi" />
<serving_mcc_in subs="all" list="post:china_mccs" />
</all_of>
</lte_feature>
以及 policies.xml 文件中如下部分:
<policy file="/policyman/china_msim_restrictions.xml" execute_for="subs" load_for="device" refresh_on_sim_change="false" />
<policy file="/policyman/china_msim_lna_protection.xml" execute_for="subs" load_for="device" refresh_on_sim_change="false" />
所有文件便修改好了。
完成替换
接下来就是把修改后的三个 xml 文件替换回去的时候了,方法很简单。
为了避免 QPST 的 bug,建议先在 EFS Explorer 中删除三个源文件:
- carrier_policy.xml
- policies.xml
- lte_feature_restrictions.xml
再说一次,右键单击、一个个删除,千万不要多选。一来避免误删(虽然我们有备份),二来避免 BUG(多选会卡死的哟)。删除后将修改后的三个文件拖进手机,然后关闭 QPST,重启手机就行了!
最后再说一次本方法的注意事项和局限性:
- 全程请保持手机和电脑连接,不要拔掉!
- 重启不会失效,但重新插拔 SIM 卡会失效
- 所以全程请插上你的常用 SIM 卡进行操作
- 这种方法只开启 5G,VoLTE 不可用
最后,如果你找到了能够让 PDC 工具识别 Pixel 5 的方法,那 VoLTE 也是可以顺带实现的,欢迎私信我或者评论分享。
关联阅读:Pixel 5 到手后可以做的 6 件事
参考链接:How to add 5G configurations to your Pixel 5
> 下载少数派 客户端 、关注 少数派公众号 ,发现更多实用技巧 👀
> 实用、好用的 正版软件,少数派为你呈现 🚀