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 カーネルを使用します。
編集:カスタマイズされたボードなので、Zynq UltraScale + MPSoCを使用していると言うことができます。詳細については、ブートログとデバイスツリーを添付しました。 システム.dts&起動ログ