1. 程式人生 > >[RK3399][Android7.1] 除錯筆記 --- USB:device descriptor read/64, error -32

[RK3399][Android7.1] 除錯筆記 --- USB:device descriptor read/64, error -32

Platform: RK3399
OS: Android 7.1
Kernel: v4.4.83

現象:

由於rk3399四個usb口不能滿足數量需求,對其中的usb3.0(非OTG口)進行外接Hub(用的是GL850)做擴充套件。

插上U盤後出現如下error:

[   41.443701] usb 2-1.1: device descriptor read/64, error -32
[   41.613674] usb 2-1.1: device descriptor read/64, error -32
[   41.793672] usb 2-1.1: new low-speed USB device number 6 using ehci-platform
[   41.863665] usb 2-1.1: device descriptor read/64, error -32
[   42.036972] usb 2-1.1: device descriptor read/64, error -32
[   42.213868] usb 2-1.1: new low-speed USB device number 7 using ehci-platform
[   42.620364] usb 2-1.1: device not accepting address 7, error -32
[   42.687248] usb 2-1.1: new low-speed USB device number 8 using ehci-platform
[   43.093688] usb 2-1.1: device not accepting address 8, error -32

分析:

GL850本身支援USB2.0,理論上能識別到全速裝置,但是error log中列印的是low-speed.
hub根據D+/D-上的電平判斷所掛載的是全速裝置還是低速裝置:

--全速裝置:D+通過1.5K的電阻上拉;
--低速裝置:D-通過1.5K的電阻上拉;

那麼如果是low-speed,當前識別到的是D-。


原因:

檢視原理圖,果然發現其中一路port的D+/D-接反了。

在這裡插入圖片描述


參考:

USB2.0速度識別(USB上電分析)
FT245RL - device descriptor read/64, error -32 on connect