这么折腾应该并没有什么实用价值(也许可以用来提取旧手机里的数据)。主要算是满足了好奇心。
印象里自从 Intel skylake 开始,一般就没有 USB EHCI 控制器了,只有 USB 3.0 原生的 xHCI (大概是这个原因)。因为 Win7 没有原生的 USB3.0 支持,所以微软原版的 Win7 安装盘是认不出 USB 的。然后某些坚守 Win7 的死硬分子会想办法找 PS/2“圆口”鼠标键盘来完成装机 2333 。
我的笔记本不是那么新,还有 EHCI,但也有 xHCI 。
这台古董 Android 手机启动到 fastboot 模式(也就是 bootloader )后,在我的笔记本上很有意思,插到 USB2.0 口,设备管理器里只会把它归类到异常 USB 设备里,看不出是个啥,点开看,报错代码 43 ;’插到 USB3.0 口,这下识别出来是 Android Bootloader Interface 了,但是报错代码 10 。
右键更新驱动,试了好几个驱动,都不能解决问题。搜索代码 10,貌似也搜不到什么。再看看插到 USB2.0 的情况下,代码 43,里面有提到“请求 USB BOS 描述符失败”——搜索这个,终于找到解决方法了:
ehye.github.io/2020/03/21/fastboot-press-any-key-to-shutdown/这篇博文里描述的症状和我并不一样,但是他的方法适用于我。
1.先把手机连到 USB3.0 口;
2.然后到设备管理器里查看硬件 ID ;
3.再到注册表 H [我去这也是敏感字] KEY_LOCAL_MACHINE\System\CurrentControlSet\Control\usbflags,下面用 VID 、PID 、REV 三个值可以定位到有问题的手机,在里面新建一个 DWORD 值 SkipBOSDescriptorQuery,把数值设为 1 ;
4.重新拔插一下,就好了。
在 USB2.0 的情况下,我反倒是压根看不到硬件 ID……这个修复办法好像也不不奏效,这我就不知道为啥了。