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-接反了。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2csAnVtplZOhVY5RnMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLwgjMzEDOxkTM0ETMxgTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
参考:
USB2.0速度识别(USB上电分析)
FT245RL - device descriptor read/64, error -32 on connect