Usb read error linux

device descriptor read/64, error -110

I have a storage server running openmediavault which is based on debian. The OS is in a USB 3.0 Stick pluged directly on the motherboard (no USB-Hub or sth). The system was running fine for about 3 Months and 2 days ago I got this errors:

usb 1-3: device descriptor read/64, error -110 usb 1-3: device not accepting address 33, error -110 usb 1-3: device not accepting address 34, error -110 hub 1-0:1.0: unable to enumerate USB device on port 3 

When I restart the server, everything is fine again. The next day I face the same error. What can I do to fix this. I dont want to loose 3TB of data.

5 Answers 5

USB error -110 means «Timeout expired before the transfer completed», which could be caused by anything. Most commonly, it’s because power was exceeded; the host could not provide enough electric power for the pendrive to operate. Because it has not enough power also the USB stick cannot provide the device descriptor to the host, as a result it cannot be identified and so on. Maybe your motherboard it’s overloaded with devices that consume all the available power.

So far it worked well, and the only things I have pluged into the MB are 3 SATA-HDDs and the CPU-Fan. Nothing that could drain so much power.

Hmmm, it depends. you have study the specs of the motherboard, the hdd and the CPU fan (even I don’t think that fan drains a lot of power).

Off-topic. I once diagnosed a similar issue, an industrial computer board (which actually it was a former laptop line adjusted by Fujitsu-Siemens for industrial/medical use) and a FireWire industrial camera. This camera was reseting randomly. In fact all the peripherals were sharing the same power source, and in some situations the board was cutting the power to the camera, in order to suply it the more higher priority devices.

This answer does not make sense to me. The failed device is an HP LaserJet printer and so it have its own power supply.

The problem was a USB 3.0 Stick that needed more current than usual for a USB 2.0 device. This lead to the errors. I replaced the stick and in addition to that I installed the latest BIOS-Drivers. No more problems!

Just to add another data point: I was running into «error -110» messages for my Inateck dual bay USB 3.0 to SATA device (amazon link). This fixed it for me:

  1. shutdown -h now (turn off the computer)
  2. Unplug USB device from computer.
  3. Unplug power cord to back of the computer.
  4. Unplug power to Inateck — pull wall wart plug from wall socket.
  5. Noticed there was a green glowing LED on the Inateck wall wart; waited for that to go dark.
  6. Waited ~3min total.
  7. Plugged everything back in and booted up.
Читайте также:  How to change resolution in linux mint

Note: Previously I tried just unplugging the computer and letting it sit for a while; that didn’t work. I had to unplug the USB from the computer and the usb device power adapter from the wall.

Must be something with USB power provisioning/negotiation?

Thanks for that information. I have had that glowing LED thing with some NIVIDIA drivers on Linux, so I knew what you meant. In my case I had plugged-in a powered USB hub before the power was connected. I am surprised though that the Hub drew power before anything was connected. Based on the comments here, seems the USB port status is locked at at 110 until whatever hot-start on-board memory loses power long enough to forget. Like I said, seen that already with the graphics driver. It is a relief to be back and running — I couldn’t see what might have gone awry.

I had the same problem, but I only needed to unplug and replug the power cable (while the PC is runnning). For some reason, simply rebooting the PC didn’t help.

Источник

Где определенны коды ошибок для usb?

Ошибка: device descriptor read/64, error -110
И еще, как происходит инициализация устройства, оно само передает код для определения idVendor idProduct?

Где определены коды ошибок для usb? Ошибка: device descriptor read/64, error -110

$ wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.4.4.tar.bz2 $ tar xvfj linux-3.4.4.tar.bz2 $ cd linux-3.4.4 $ find . -name "*" -exec grep -Hn "device descriptor read" <> \; ./drivers/usb/core/hub.c:3109: "device descriptor read/64, error %d\n", ./drivers/usb/core/hub.c:3155: "device descriptor read/8, error %d\n", ./drivers/usb/core/hub.c:3205: dev_err(&udev->dev, "device descriptor read/all, error %d\n",

Идём на строку 3109 файлика ./drivers/usb/core/hub.c, там вызов dev_err(&udev->dev, «device descriptor read/64, error %d\n», r)

а выше по коду присвоено r = usb_control_msg(. )

а значит грепаем usb_control_msg по сорцам

а находим его внезапно в Documentation/usb/error-codes.txt. Да и в нагрузку http://man-wiki.net/index.php/9:usb_control_msg

а и видим, что единственный код возврата, заданный для usb_control_msg(. ), это -ETIMEDOUT

а пробуем грепать define’ишен ETIMEDOUT по сорцам

а внезапно находим его в include/asm-generic/errno.h

#define ETIMEDOUT 110 /* Connection timed out */

Я далеко не кернел-девелопер, но у меня на это ушло минут десять. Это так сложно было сделать самому.

И еще, как происходит инициализация устройства, оно само передает код для определения idVendor idProduct?

Источник

Problem reading from a device with libusb

The situation is this: I have a USB device (a custom device I’m trying to talk to) with two endpoints, one writing to the device, one reading from the device. Both are bulk transfers. Every communication transaction takes the form of (1) Write a command to the device (2) Read the response. I’m using libusb (version 0.1 rather than the 1.0 beta) to actually perform the communications. On Windows, all is well. I can connect the device, claim the interface and communicate happily. However, in Ubuntu (a standard Hardy desktop install), whilst I can connect to the device and write to it, all read operations fail with the error «error submitting URB: Invalid argument» reported from libusb (error code -22). If I check /var/log/messages I see a warning message logged for the same time as the read was attempted: «sysfs: duplicate filename ‘usbdev4.3_ep81’ can not be created» — which tallies with the device (it is indeed on that bus and it’s endpoint 81 I’m trying to read from). So. anyone seen a similar problem using libusb, or have any idea how to fix it?

Читайте также:  Dayz standalone linux сервер

4 Answers 4

Turns out it was a misconfiguration in the descriptors on the device itself. lsusb -v showed an extra interface which was never used, which had a single isochronous endpoint 0x81. Since this was never used (and had never been tested as far as I could see, so quite possibly not even defined correctly) I removed it from the device descriptors completely (in the firmware).

And now I have a fully working device. Why linux refused to read from the device but Windows worked fine I don’t know, but it definitely sent me on a wild goose chase.

I haven’t used libusb in quite some time — but the sysfs error indicates that this is likely to be a kernel problem rather than a libusb one, so I’d start by trying to track that one down. (Not much point in trying to work with libusb until you’re sure your kernel is talking to the device correctly).

I stepped down into the code, and it does indeed seem to be a kernel level problem (the error code is propagating all the way up from the ioctl call that should be performing the transfer). I’ll take a look at the patch and report back. Cheers!

Nope, didn’t fix it. I applied the patch and still see exactly the same problem when using the patched kernel. Which is weird, because it looks like the patch addresses this very issue.

Источник

Ubuntu can’t read my USB: «device descriptor read/64, error -110»

I have a 16GB flash drive. I’m running Ubuntu 14.04. I can’t open my flash drive and I can’t see it in GParted. After running tail -f /var/log/syslog . After inserting my flash:

USB disconnect, device number 10 Jul 3 16:39:55 rihanna-VGN-Z56GG-B kernel: [ 3309.712166] usb 2-3: new high-speed USB device number 11 using ehci-pci Jul 3 16:39:55 rihanna-VGN-Z56GG-B kernel: [ 3309.846591] usb 2-3: New USB device found, idVendor=090c, idProduct=1000 Jul 3 16:39:55 rihanna-VGN-Z56GG-B kernel: [ 3309.846601] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Jul 3 16:39:55 rihanna-VGN-Z56GG-B kernel: [ 3309.846609] usb 2-3: Product: Silicon-Power Jul 3 16:39:55 rihanna-VGN-Z56GG-B kernel: [ 3309.846615] usb 2-3: Manufacturer: UFD 2.0 Jul 3 16:39:55 rihanna-VGN-Z56GG-B kernel: [ 3309.846622] usb 2-3: SerialNumber: 1401208423400131 Jul 3 16:39:55 rihanna-VGN-Z56GG-B kernel: [ 3309.847176] usb-storage 2-3:1.0: USB Mass Storage device detected Jul 3 16:39:55 rihanna-VGN-Z56GG-B kernel: [ 3309.847309] scsi12 : usb-storage 2-3:1.0 Jul 3 16:39:55 rihanna-VGN-Z56GG-B mtp-probe: checking bus 2, device 11: "/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-3" Jul 3 16:39:55 rihanna-VGN-Z56GG-B mtp-probe: bus: 2, device: 11 was not an MTP device Jul 3 16:40:17 rihanna-VGN-Z56GG-B kernel: [ 3332.176107] usb 2-3: reset high-speed USB device number 11 using ehci-pci Jul 3 16:40:33 rihanna-VGN-Z56GG-B kernel: [ 3347.288080] usb 2-3: device descriptor read/64, error -110 Jul 3 16:40:48 rihanna-VGN-Z56GG-B kernel: [ 3362.504081] usb 2-3: device descriptor read/64, error -110 Jul 3 16:40:48 rihanna-VGN-Z56GG-B kernel: [ 3362.720076] usb 2-3: reset high-speed USB device number 11 using ehci-pci Jul 3 16:40:52 rihanna-VGN-Z56GG-B kernel: [ 3366.812110] usb 2-3: reset high-speed USB device number 11 using ehci-pci Jul 3 16:41:07 rihanna-VGN-Z56GG-B kernel: [ 3381.924082] usb 2-3: device descriptor read/64, error -110 Jul 3 16:41:23 rihanna-VGN-Z56GG-B kernel: [ 3397.356093] usb 2-3: reset high-speed USB device number 11 using ehci-pci Jul 3 16:41:38 rihanna-VGN-Z56GG-B kernel: [ 3412.468057] usb 2-3: device descriptor read/64, error -110 Jul 3 16:41:54 rihanna-VGN-Z56GG-B kernel: [ 3428.664065] usb 2-3: reset high-speed USB device number 11 using ehci-pci Jul 3 16:42:09 rihanna-VGN-Z56GG-B kernel: [ 3443.776100] usb 2-3: device descriptor read/64, error -110 Jul 3 16:42:24 rihanna-VGN-Z56GG-B kernel: [ 3458.992085] usb 2-3: device descriptor read/64, error -110 Jul 3 16:42:25 rihanna-VGN-Z56GG-B kernel: [ 3459.208063] usb 2-3: reset high-speed USB device number 11 using ehci-pci Jul 3 16:42:40 rihanna-VGN-Z56GG-B kernel: [ 3474.320039] usb 2-3: device descriptor read/64, error -110 Jul 3 16:42:50 rihanna-VGN-Z56GG-B kernel: [ 3484.516109] usb 2-3: reset high-speed USB device number 11 using ehci-pci Jul 3 16:42:50 rihanna-VGN-Z56GG-B kernel: [ 3484.768108] usb 2-3: reset high-speed USB device number 11 using ehci-pci Jul 3 16:43:05 rihanna-VGN-Z56GG-B kernel: [ 3499.880081] usb 2-3: device descriptor read/64, error -110 Jul 3 16:43:20 rihanna-VGN-Z56GG-B kernel: [ 3515.096081] usb 2-3: device descriptor read/64, error -110 Jul 3 16:43:21 rihanna-VGN-Z56GG-B kernel: [ 3515.312048] usb 2-3: reset high-speed USB device number 11 using ehci-pci Jul 3 16:43:36 rihanna-VGN-Z56GG-B kernel: [ 3530.424032] usb 2-3: device descriptor read/64, error -110 Jul 3 16:43:46 rihanna-VGN-Z56GG-B kernel: [ 3540.505230] scsi 12:0:0:0: Device offlined - not ready after error recovery 

Источник

Оцените статью
Adblock
detector