Jump to content
  • 0

USB Devices attached to Arty-Z7 Host Port Will Not Enumerate


MyDirtIsRed

Question

Hello,

I have a couple of Arty-Z7 boards, and I'm attempting to use the USB Host port on them.  In my end application, a device will attach to that USB host port, while a custom PCB will be utilizing one of the PMOD connectors.  I've built Petalinux and proven out the PMOD part of the system.  However, what I thought would be one of the simpler aspects of this is turning into the most challenging, and that is getting the USB host port to function correctly.  Here are the steps that I've taken:

  • The board is powered via the barrel jack connector.
  • The kernel has been modified to include USB host functionality (i.e., CONFIG_USB=y and about 20 other configuration options are set to yes.
  • The file 'system-user.dtsi' has been modified to match what Digilent has up on Github, i.e. linking usb_phy@0 to the ulpi-phy driver, and set to "host" mode.

When I boot it up, dmesg seems to show everything going swimmingly.  Here's the output of dmesg | grep -i usb:

[    0.439532] usbcore: registered new interface driver usbfs
[    0.443821] usbcore: registered new interface driver hub
[    0.447918] usbcore: registered new device driver usb
[    1.361299] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.373846] usbcore: registered new interface driver cdc_acm
[    1.378193] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[    1.384964] usbcore: registered new interface driver usb-storage
[    1.389770] usbcore: registered new interface driver usbserial_generic
[    1.395042] usbserial: USB Serial support registered for generic
[    1.399774] usbcore: registered new interface driver cp210x
[    1.404084] usbserial: USB Serial support registered for cp210x
[    1.408730] usbcore: registered new interface driver ftdi_sio
[    1.413207] usbserial: USB Serial support registered for FTDI USB Serial Device
[    1.424692] Found TI TUSB1210 ULPI transceiver.
[    1.434294] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
[    1.470228] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
[    1.474527] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
[    1.481514] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.487425] usb usb1: Product: EHCI Host Controller
[    1.491010] usb usb1: Manufacturer: Linux 5.10.0-xilinx-v2021.1 ehci_hcd
[    1.496399] usb usb1: SerialNumber: ci_hdrc.0
[    1.500126] hub 1-0:1.0: USB hub found
[    1.552525] usbcore: registered new interface driver usbhid
[    1.556817] usbhid: USB HID core driver

It looks like to me that all of the useful USB drivers are loaded, it finds the TUSB1210 transceiver on the board, and the root linux USB device is 'found' and 'enumerated'.  Also, when I measure VBUS with a multimeter, there's a proper 5 volts.  When I plug devices in, I see their power lights illuminate.  However, regardless of what I plug in, I get the following message from the kernel:

root@mic_test:~# usb 1-1: device descriptor read/64, error -71
usb 1-1: device descriptor read/64, error -71
usb 1-1: device descriptor read/64, error -71
usb 1-1: device descriptor read/64, error -71
usb 1-1: device not accepting address 4, error -71
usb 1-1: device not accepting address 5, error -71
usb usb1-port1: unable to enumerate USB device

I have scoured the internet for clues, but I just can't seem to figure out what's going.  I've also tried this on multiple boards, so either I got unlucky on two boards, or (more likely) there's still something in the kernel or the device tree that I'm missing.

PLEASE HELP!

Regards,

Jake

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...