注:目前这篇文章开出来的diag模式我还没有能用QPST成功接入,所以请先考虑要不要折腾再尝试。本人未尝试的方法将不会写入博文,更多可能有效的方法,请查看评论。
本文按理说适用于Pixel和Pixel XL。
Pixel和Pixel XL默认没有diag模式的开关,发布的正式版系统里的配置文件中并没有写入这个开关→相关参考
这个配置文件为/init.common.diag.rc
打开我们手机里的这个文件,可以看到内容为
on property:ro.boot.mode=normal rm /dev/diag
与这里的内容一致。
那么接下来我们要做的事情就很明确了,就是用这个文件覆盖手机中的/init.common.diag.rc
文件,然后重启手机。
注意:系统中的根目录是read only的,所以需要刷入第三方recovery(比如twrp),并挂载system分区,才能修改这个文件。
这里我以twrp为例(首先打开你的USB调试模式,并把手机连上电脑)
由于懒得上传图片,这里用文字简单地进行操作介绍,如果你知道如何覆盖这个文件,那么可以直接跳到最后
- 刷入twrp,这个相关教程很多,本文不做介绍。
- 进入twrp。(如果你在系统中,可以使用
adb reboot recovery
进入recovery。如果你的手机正在bootloader模式,那么可以按音量上下键找到recovery模式。如果你没有开机,那可以按着音量↑和电源键进入recovery) - 如果你的设备有锁,先进行相关的解锁操作。
- 进入Mount菜单,勾上System,返回。
- 回到电脑上,下载这个文件。(下载下来是个内容为原文件base64过后的txt,不要用base64转换工具转换后复制,因为不同的系统复制文本可能出现换行方面的一些问题。直接在浏览器地址栏输入
data:plain/text;base64,下载的txt里的内容
然后回车即可下载这个文件) - 把这个文件改成一个简单的英文文件名,放进手机存储里,就和你往手机里放照片,放视频一样的方法。
- 这一步有两个选择,选一种你认为方便的
- 通过twrp的终端输入命令
- 进入Advanced菜单,点Terminal,这时你应该看见了一个黑乎乎的终端界面。
- 输入命令
cat /sdcard/你保存的文件名 > /system/init.common.diag.rc
,点√。
- 通过adb命令(需要root)
- 打开cmd,输入
adb shell
,回车。 - 输入
su
,回车。这时候你的手机上应该会跳出一个请求root权限的框,请注意查看。 - 输入命令
cat /sdcard/你保存的文件名 > /system/init.common.diag.rc
,
- 打开cmd,输入
- 通过twrp的终端输入命令
- 查看是否成功复制,继续输入命令
cat /system/init.common.diag.rc
,看显示出来的内容是不是你下载的文件中的内容,如果不是的话,检查第7步的文件名有没有打错。 - 现在配置文件已经修改好了,重启你的手机。
- 重启好了之后回到电脑,如果你之前就是用的cmd,跳过这一步后面的内容。打开cmd,做第7步中第二种方法的1、2步。
- 输入
setprop sys.usb.config diag,serial_cdev,serial_tty,rmnet_ipa,mass_storage,adb
,回车。 - 打开电脑上的设备管理器,看看有没有多出一个未知的Pixel设备或者一个Com端口。如果有,那就成功了。未知的Pixel设备应该会自动安装驱动,耐心等待一会儿。
- 完成。
我的Pixel XL完成以上步骤之后,设备管理器里多出来了一个叫做Qualcomm HS-USB Diagnostics 9025和Qualcomm HS-USB NMEA 9025的端口。
不过在使用QPST尝试连接的时候回出现一个错误 : Online connection failure:IDispatch error #7690
目前仍然没有什么进展
目前有个新发现是,直接打开系统的USB调试模式,然后在电脑cmd输入adb reboot edl
后会出来一个QPST能识别的端口Qualcomm HS-USB QDLoader 9008,但是QPST的信息下载会卡在一个进度不动。
如果读者有什么能推进进程的想法请留言。
本文发布于 https://luojia.me
本站文章未经文下加注授权不得拷贝发布。
本博客使用Disqus评论系统,如果看不到评论框,请尝试爬墙。