在 Windows 上使用 USB3.0 運行 fastboot 時可能會遇到這個問題
手機成功進入 fastboot 了,但在 cmd 執行 fastboot devices 後手機卻斷開了,螢幕上顯示一行 Press any key to shutdown
而在一些預裝 Win8 的機子上使用 USB3.0 卻不會出現這樣的問題
解決方法如下:
手機進入 fastboot 模式,打開裝置管理員,在詳細資訊選項卡查看手機的硬體 ID,
打開登錄編輯程式,定位到 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\usbflags
根據 VID PID REV 後的值找到對應的項(本例中為 18D1D00D0100)
按照這個值,新建一個類型為 DWORD,名稱為 SkipBOSDescriptorQuery 的資料
數值資料設為 1,然後按一下確定
退出登錄編輯程式,拔下並重新插入設備,以使解決方法生效
最終效果:
[最終效果]
當一些 USB 設備連接到 EHCI 的埠時,在 Windows 8.1 上可能無法枚舉,但在 Windows 8 上可以工作。
在 Windows 8.1 中,該錯誤在裝置管理員中報告為錯誤代碼 43。原因之一是設備報告自己支援的 USB 版本大於 2.00,但未提供所需的 BOS 描述符。
根據官方 USB 規範,版本大於 2.00 的 USB 設備必須提供 BOS 描述符。
在 Windows 8 中,USB 2.0 驅動程式堆疊無法驗證該要求。因此,連接到 EHCI 控制器時,具有大於 2.00 版本且沒有 BOS 描述符的設備將成功枚舉。
在 Windows 8.1 中,驅動程式堆疊已更新,此類設備的枚舉失敗。
注意:Windows 8 和 8.1 中的 USB 3.0 可擴展主機控制器(xHCI)驅動程式可驗證該要求。
看來是 Windows 驅動的一個歷史遺留問題
參考
Windows 8.1 “A request for the USB BOS descriptor failed” – SOLVED !
Why does my USB device work on Windows 8.0 but fail on Windows 8.1 with code 43?