Unable to enumerate USB device - unknown device: how to find out device that odes not show in lsusb?
The error message you're seeing is from a low-level USB failure, the basic USB protocol hasn't been completed — so Linux probably doesn't even know the idVendor/idProduct yet. That's also why lsusb isn't showing it, it hasn't really connected yet.
The first odd thing here is that it has a USB A port, normally that's on the computer/"host" side (and B is on the device/"gadget"). So it sounds like the way its used with the display is the "hardware product" functions like a computer, and is controlling the display. It sounds like you're trying to connect two USB A ports together, that isn't supposed to work (or be physically possible).
If you want your Pi to work like the display, you likely need to do a lot of work to make it present itself as a display. That's called USB gadget mode. Writing the programs to make that happen would be something to ask about on Stack Overflow; it's definitely software development.
If your hardware device is supposed to connect to a computer as well, then it may implement both modes (often called USB On-The-Go). If that's the case, it should be able to talk to the Pi, but that's not working. First debugging step would be to see if it works on a PC — even a Windows one. If it doesn't, then I doubt there is much to do other than contact the vendor. If it does, it's possible your Pi isn't able to supply it enough power; make sure you're using a good USB power supply with the Pi.
BTW: Another thing that comes to mind to investigate how the two devices communicate is to plug the display into your Pi or computer. The one you can use a normal USB cable with; see what type of device it is. If it shows up as a monitor (and not say a serial port)... good luck!
Related videos on Youtube
Cactus
Updated on September 18, 2022Comments
-
Cactus over 1 year
I have a hardware product which sends a signal to an LCD display. The hardware box (unknown chip set) has an USB-A outlet and connects to a USB-B outlet on an LCD-display. The LCD display shows different values in a one second interval. I would need to read the values from the Hardware box with whatever Linux-based machine. I have tried a Raspberry that connects per USB to the hardware box. However, when I try to enumerate usb devices via
lsusb
the device does not show up. It just shows my keyboard and mouse.When I look at the dmesg outpout, I get the following:
[ 2.411997] usb 1-1.3: new low-speed USB device number 6 using dwc_otg [ 2.511983] usb 1-1.3: device descriptor read/64, error -32 [ 2.731995] usb 1-1.3: device descriptor read/64, error -32 [ 3.192015] usb 1-1.3: new low-speed USB device number 8 using dwc_otg [ 3.292089] usb 1-1.3: device descriptor read/64, error -32 [ 3.512305] usb 1-1.3: device descriptor read/64, error -32 [ 4.292059] usb 1-1.3: new low-speed USB device number 9 using dwc_otg [ 4.732030] usb 1-1.3: device not accepting address 9, error -32 [ 4.832062] usb 1-1.3: new low-speed USB device number 10 using dwc_otg [ 5.272043] usb 1-1.3: device not accepting address 10, error -32 [ 5.272238] usb 1-1-port3: unable to enumerate USB device
I tried pyserial, but does not know which device to read from. I do not get the
idVendor
andidProduct
, I do not know whether there is a driver that I can update or something.I have been going through a lot of documentation, set the speed of the usb-driver to 1 (via
dwc_otg.speed=1
that did not help either). I tried all the things here:https://www.raspberrypi.org/documentation/configuration/cmdline-txt.md But nothing helped. I have two questions:- What else can I potentially do to debug the usb connection?
- How can I identify a USB device that is not being listed by
lsusb
and gives an error in dmesg?
This is quite important for my research so any help is much appreciated.
-
Cactus over 4 yearsHello derobert, thank you, your answer is very helpful. Yes, it comes down to connecting two USB A ports. I thought if the signal sent from the hardware device is being read by a display, I could have a chance to also read it from the Raspberry. I have already contacted the vendor, however, they are very unresponsive. If the hardware device really controls the display, do you have any pointers/resources where I could read how to put the Raspberry in USB gadget mode? I would not know how to start, since I do not even know which signal is coming from the hardware device. Thanks!
-
Cactus over 4 yearsDo you think a USB to ttl converter such as this one could help: amazon.com/ADAFRUIT-Industries-954-Serial-Raspberry/dp/…
-
derobert over 4 years@Cactus Not all Raspberry Pi support gadget mode (see raspberrypi.stackexchange.com/questions/71613/… which also has some links on how to do it). USB a simple protocol like you might be used to from, e.g., RS-232 serial ports. You've got a potentially large amount of work ahead of you...
-
derobert over 4 years@Cactus Also, I thought of another way to investigate what the hardware is doing, I added it to the bottom of an answer.