[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-接反了。

[RK3399][Android7.1] 调试笔记 --- USB:device descriptor read/64, error -32_第1张图片


参考:

USB2.0速度识别(USB上电分析)
FT245RL - device descriptor read/64, error -32 on connect

你可能感兴趣的:(RK3399,子类__USB,descriptor,address,enumerate,gl850)