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