开启Google Pixel的USB diag模式

注:目前这篇文章开出来的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调试模式,并把手机连上电脑)

由于懒得上传图片,这里用文字简单地进行操作介绍,如果你知道如何覆盖这个文件,那么可以直接跳到最后

  1. 刷入twrp,这个相关教程很多,本文不做介绍。
  2. 进入twrp。(如果你在系统中,可以使用adb reboot recovery 进入recovery。如果你的手机正在bootloader模式,那么可以按音量上下键找到recovery模式。如果你没有开机,那可以按着音量↑和电源键进入recovery)
  3. 如果你的设备有锁,先进行相关的解锁操作。
  4. 进入Mount菜单,勾上System,返回。
  5. 回到电脑上,下载这个文件。(下载下来是个内容为原文件base64过后的txt,不要用base64转换工具转换后复制,因为不同的系统复制文本可能出现换行方面的一些问题。直接在浏览器地址栏输入data:plain/text;base64,下载的txt里的内容 然后回车即可下载这个文件)
  6. 把这个文件改成一个简单的英文文件名,放进手机存储里,就和你往手机里放照片,放视频一样的方法。
  7. 这一步有两个选择,选一种你认为方便的
    • 通过twrp的终端输入命令
      1. 进入Advanced菜单,点Terminal,这时你应该看见了一个黑乎乎的终端界面。
      2. 输入命令cat /sdcard/你保存的文件名 > /system/init.common.diag.rc ,点√。
    • 通过adb命令(需要root)
      1. 打开cmd,输入adb shell ,回车。
      2. 输入su ,回车。这时候你的手机上应该会跳出一个请求root权限的框,请注意查看。
      3. 输入命令cat /sdcard/你保存的文件名 > /system/init.common.diag.rc ,
  8. 查看是否成功复制,继续输入命令cat /system/init.common.diag.rc ,看显示出来的内容是不是你下载的文件中的内容,如果不是的话,检查第7步的文件名有没有打错。
  9. 现在配置文件已经修改好了,重启你的手机。
  10. 重启好了之后回到电脑,如果你之前就是用的cmd,跳过这一步后面的内容。打开cmd,做第7步中第二种方法的1、2步。
  11. 输入setprop sys.usb.config diag,serial_cdev,serial_tty,rmnet_ipa,mass_storage,adb ,回车。
  12. 打开电脑上的设备管理器,看看有没有多出一个未知的Pixel设备或者一个Com端口。如果有,那就成功了。未知的Pixel设备应该会自动安装驱动,耐心等待一会儿。
  13. 完成。

我的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

本站文章未经文下加注授权不得拷贝发布。

0 0 投票数
打分
订阅评论
提醒
guest
19 评论
内联反馈
查看所有评论
郭志
游客
郭志
5 年 前

comment image

郭志
游客
郭志
5 年 前

USB Debugging Mode – Pixel™ / Pixel XL, Phone by Google
If you need to facilitate a connection between your device and a computer with the Android SDK (software development kit), view this info.

From a Home screen, tap the Arrow icon Up arrow icon to display all apps.
Navigate: Settings Settings app icon > System About icon > Developer options Developer options icon.
Note If Developer options isn’t available, navigate: Apps > Settings > System > About phone then tap Build number 7 times. Tap the Back icon Back icon to navigate back to System then select Developer options.
Ensure that the Developer options switch (located in the upper-right) is turned on On icon.
Tap USB debugging to turn on On icon or off Switch off.
If prompted “Allow USB debugging?”, tap OK to confirm.

佳佳菌
游客
5 年 前
回复给  郭志

谢谢,但这是usb debug,不是手机芯片diag模式

yun wang
游客
yun wang
5 年 前

看到楼主是用系统的驱动,那么这就是QPST连接不上的原因所在了。以前破解Nexus 6的时候我也遇到过相同的问题,一定要去找厂商提供的支持diag的驱动才可以连接上QPST。希望楼主早日成功。

hnyhan
游客
hnyhan
5 年 前
回复给  yun wang

请问pixel 2破解成功了吗

yun wang
游客
yun wang
5 年 前
回复给  hnyhan

没有pixel 2

无名
游客
无名
5 年 前

编译一个基于userdebug的aosp就可以

hnyhan
游客
hnyhan
5 年 前
回复给  无名

怎么编译

大金鱼
游客
大金鱼
5 年 前

从这个 Google Forum 的讨论来看,似乎确实需要 -userdebug 的系统才能打开 usb diag mode
https://productforums.google.com/forum/#!msg/phone-by-google/-3VuWHa0xDw/gjOl4Zz5AQAJ

佳佳菌
游客
5 年 前
回复给  大金鱼

但是奇怪的是把diag mode放到debug版系统的commit只改动了init.common.diag.rc文件,其它没有变动。

大金鱼
游客
大金鱼
5 年 前
回复给  佳佳菌

把仓库 clone 下来搜索了一下,似乎确实只有这个 commit 改动了 diag mode 到 userdebug 版本。。照理说按照这篇博文把文件替换回去就应该可以了啊

佳佳菌
游客
5 年 前
回复给  大金鱼

这我之前没有什么经验,请问你知道到底要开出哪个端口的diag才有用嘛

大金鱼
游客
大金鱼
5 年 前
回复给  佳佳菌

这方面我也不熟悉,是跟别人讨论能否修改 pixel 的 carrier_policy.xml 让它支持电信的时候,讨论到打开 diag mode 的问题时,搜到这篇博客的

hnyhan
游客
hnyhan
5 年 前
回复给  大金鱼

请问最终修改成功了吗?

佳佳菌
游客
5 年 前
回复给  taugocauci

所以还是得用userdebug模式编译的系统吗

Baixiang Zhu
游客
Baixiang Zhu
5 年 前
回复给  佳佳菌

请问大神有新的进展吗?

佳佳菌
游客
5 年 前
回复给  Baixiang Zhu

没有

taugocauci
游客
taugocauci
5 年 前
回复给  佳佳菌

gfan有人发了编译好可以连接上QPST的包