After recent update, Ubuntu does not address some USB devices

Asked by Ryan Budney

For the past few weeks I've been editing an Arduino device over USB. I performed a regular system update recently, and now the USB device is no longer recognised.

It's unclear to me what is at issue, since my other USB devices continue to be recognised. I have a USB external drive that is doing fine. A USB keyboard operates as usual, and a USB mouse.

But the Arduino isn't recognised. When I plug the Arduino in, regardless of which USB port I use, I get this in dmesg:

[ 181.628764] usb 1-10.2: device descriptor read/64, error -32
[ 181.816753] usb 1-10.2: device descriptor read/64, error -32
[ 182.004728] usb 1-10.2: new full-speed USB device number 14 using xhci_hcd
[ 182.084746] usb 1-10.2: device descriptor read/64, error -32
[ 182.272745] usb 1-10.2: device descriptor read/64, error -32
[ 182.380771] usb 1-10-port2: attempt power cycle
[ 182.992684] usb 1-10.2: new full-speed USB device number 15 using xhci_hcd
[ 182.992752] usb 1-10.2: Device not responding to setup address.
[ 183.200753] usb 1-10.2: Device not responding to setup address.
[ 183.408685] usb 1-10.2: device not accepting address 15, error -71
[ 183.488682] usb 1-10.2: new full-speed USB device number 16 using xhci_hcd
[ 183.488751] usb 1-10.2: Device not responding to setup address.
[ 183.696738] usb 1-10.2: Device not responding to setup address.
[ 183.904671] usb 1-10.2: device not accepting address 16, error -71
[ 183.904753] usb 1-10-port2: unable to enumerate USB device

So it's clear the computer knows the USB device is there, it's just having trouble assigning the USB device an address.

As you might expect, the device does not appear in lsusb.

You may ask, perhaps it's the Arduino circuit. But I have tried several other Arduino devices that were working before today, and none of them are recognised over USB.

You mas ask, perhaps its the USB cable, or perhaps the USB port I'm using. But if I connect a USB keyboard to this cable and port, the keyboard works.

Similarly, my tablet that's running the same version of Ubuntu (20.04) and is also up to date, is having the same problem. i.e. I have two computers with the identical problem.

Any ideas for how to diagnose this problem further? My Arduino USB devices were connecting perfectly fine, just yesterday.

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu Edit question
Assignee:
No assignee Edit question
Solved by:
Ryan Budney
Solved:
Last query:
Last reply:
Revision history for this message
Bernard Stafford (bernard010) said :
#1

https://learn.sparkfun.com/tutorials/how-to-install-ftdi-drivers/linux
https://askubuntu.com/questions/1345632/arduino-port-not-detected-and-can-not-run-it-as-root
https://www.arduino.cc/en/guide/linux
-or-
Try connecting the Arduino to the cable and pressing the reset button on the Arduino. Unplug the reattach. If the board's last sketch was stuck on a logic error, i.e. a never ending loop, it may be incorrectly recognized.

Revision history for this message
Ryan Budney (delooper) said :
#2

The problem does not appear to be specific to one board. As I mentioned, I've tried several boards. Specifically, one of of these boards has never been used before. All of them are unresponsive in the same way -- "unable to enumerate USB device". Two of these boards I've used before, and I have not changed how I use them. I just did a software upgrade and after that, my computer does not recognise Arduino devices.

The first link you gave seems too outdated to be useful -- Ubuntu 13.04 and Arduino software that looks little like the current software. The second link is a different problem.

The last link gives me something to work with. It says /dev/ttyACM* directories should exist, but they do not. It talks about ensuring my username is a member of the dialout group, and it is.

I do a google search on /dev/ACM* not existing, and threads mention giving permissions to /dev/ttyUSB*, but none of those directories exist, either. All the /dev/tty groups I'm a member of (dialout, tty).

I managed to get my Adafruit Metro device recognised over this USB cable. Not certain what has changed. Maybe this does have something to do with the USB cable. I'll try a few others.

Revision history for this message
Ryan Budney (delooper) said :
#3

To clarify, my Adafruit Metro appears to be recognised, but my other Arduino devices (Adafruit feathers) are not recognised at present.

Revision history for this message
Ryan Budney (delooper) said :
#4

Figured it out, sort of.

I tried about 6 different USB cables. All of them recognised my Adafruit Metro, and none of them would recognise any of my Adafruit Feathers.

Even though I could not select the port of the Feathers when attached to the USB, strangely enough, if I hit the reset button on the feather while uploading the code, the Arduino app would miraculously find the device.

It makes little sense to me, but the problem appears resolved.