版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kris_fei/article/details/84072293
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