一日一技 | 借助 QPST 为 Pixel 5 启用 5G 网络支持
2020-12-14 16:48:47 Author: sspai.com(查看原文) 阅读量:266 收藏

一日一技 | 借助 QPST 为 Pixel 5 启用 5G 网络支持

在上一篇文章中我曾介绍过使用一种为 Pixel 5 开启 5G 网络的方法,后续联系到了最初模块的作者,发现是付费模块,因此对原文的模块进行了下架。这里也再次向这位作者道个歉。

关联阅读:Pixel 5 到手后可以做的 6 件事

为了弥补那些因此受到误导、没能找到解决方案的读者,我决定另起一篇文章,分享一下前段时间在研究 5G 网络支持的过程中找到的替代解决方案 —— 使用 QPST 工具解锁。

使用高通的 QPST 工具进行网络解锁在某些厂商的机型里很常见,但本文介绍的方法并不完美,具体而言:

  • 它可以解锁 5G 网络
  • 它不可以解锁 VoLTE
  • 相关操作既不会影响 OTA,OTA 也不会影响已经生效的 5G 配置
  • 适合那些不需要频繁切换 SIM 卡的人

如果你觉得没问题,或者单纯只是想了解一下,那么我们继续。

准备工作

  1. 安装高通 Diag 驱动 下载
  2. 安装 QPST 工具 下载

完成后如果启动 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++ 的所有文件索引功能,如果你用的编辑器不支持这个功能,也可以手动查找替换。具体而言,我们需要完成的修改有两部分:

  1. 添加 5G 支持
  2. 删除运营商限制

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.xmlpolicies.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

> 下载少数派 客户端 、关注 少数派公众号 ,发现更多实用技巧 👀

> 实用、好用的 正版软件,少数派为你呈现 🚀

Clyde


文章来源: https://sspai.com/post/64029
如有侵权请联系:admin#unsafe.sh