사용자 정의 보드에서 커널을 부팅한 후 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 커널을 사용하십시오.

편집: 맞춤형 보드이므로 Zynq UltraScale+ MPSoC를 사용하고 있다고 말씀드릴 수 있습니다. 자세한 내용을 보려면 부팅 로그와 장치 트리를 첨부했습니다. 시스템.dts&시작 로그

관련 정보