在自定义板上启动内核后,USB 设备不会枚举:usb 1-1:设备描述符读取/64,错误 -71

在自定义板上启动内核后,USB 设备不会枚举:usb 1-1:设备描述符读取/64,错误 -71

当我插入 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。

从以下行为中,我注意到:

  1. USB 驱动程序已加载,否则无法从 u-boot 加载 image.ub

  2. 刷新 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&启动日志

相关内容