当我插入 USB 设备时,出现以下错误:
usb 1-1: new high-speed USB device number 2 using xhci-hcd
usb 1-1: device descriptor read/64, error -71
usb 1-1: device descriptor read/64, error -71
usb 1-1: new high-speed USB device number 3 using xhci-hcd
usb 1-1: device descriptor read/64, error -71
usb 1-1: device descriptor read/64, error -71
usb 1-1: new high-speed USB device number 4 using xhci-hcd
usb 1-1: Device not responding to setup address.
usb 1-1: Device not responding to setup address.
usb 1-1: device not accepting address 4, error -71
usb 1-1: new high-speed USB device number 5 using xhci-hcd
usb 1-1: Device not responding to setup address.
usb 1-1: Device not responding to setup address.
usb 1-1: device not accepting address 5, error -71
usb usb1-port1: unable to enumerate USB device
笔记:
但是当我使用以下命令从 U-boot 命令行加载 image.ub 时:
usb start
fatload usb 0 0x20000000 image.ub
bootm 0x20000000
加载 image.ub 后不要移除我的 USB。它在启动时正常工作并且我能够读取/写入设备。
但是在我断开并重新连接 USB 设备后,我得到了与上面提到的相同的错误 -71。
从以下行为中,我注意到:
USB 驱动程序已加载,否则无法从 u-boot 加载 image.ub
刷新 image.ub 的过程是主板和 USB 之间的交互,它可能在内核启动之前初始化了一些东西。因此USB在那之后就可以工作了。
我已经配置了 system-user.dtsi 文件:
/include/ "system-conf.dtsi"
/ {
};
&dwc3_0 {
dr_mode = "host";
phy-names = "usb3-phy";
};
还启用了
xHCI HCD(3.0)
USB Mass storage support
Designware USB3
DWC mode -> Dual Role mode
使用 petalinux-config -c kernel 。
编辑:由于它是定制板,我可以告诉你,我们正在使用 Zynq UltraScale+ MPSoC。我已附上启动日志和设备树以获取更多信息。 系统.dts&启动日志