Устройство USB, не принимающее адрес

10

У меня есть ряд машин, которые я создаю для работы с USB-считывателями карт. Когда я загружаю их, я получаю длинную серию сообщений:

...
[ 2347.768419] hub 1-6:1.0: unable to enumerate USB device on port 6
[ 2347.968178] usb 1-6.6: new full-speed USB device number 10 using ehci_hcd
[ 2352.552020] usb 1-6.6: device not accepting address 10, error -32
[ 2352.568421] hub 1-6:1.0: unable to enumerate USB device on port 6
[ 2352.768179] usb 1-6.6: new full-speed USB device number 12 using ehci_hcd
[ 2357.352033] usb 1-6.6: device not accepting address 12, error -32
...

На некоторых старых машинах это только предпринимает несколько попыток, прежде чем считыватель карт, наконец, примет адрес, а на более новых машинах это может занять много минут. Изменение аппаратного обеспечения не является опцией, и подключение устройства чтения карт USB в другой порт является лишь вариантом для более старых manchines. Это была проблема в 11.04, и теперь я запускаю бета-версию 12.04 и ее все еще происходит.

Есть ли что-то, что я могу сделать в программном обеспечении (возможно, это правило udev?), чтобы это исправить?

Любые советы приветствуются. Я рад предоставить более подробную информацию, если вам это нужно.

    
задан mikewilliamson 31.03.2012 в 04:09
источник

5 ответов

5

Не могли бы вы попробовать старую схему инициализации устройств usb? Это можно сделать, изменив параметр ядра в /etc/default/grub :

  • измените строку, в которой указано GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" , GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.old_scheme_first=1"
  • выполнить update-grub
  • перезагрузитесь и посмотрите, помогло ли оно
ответ дан taneli 03.04.2012 в 13:51
источник
2

В моем случае у меня, кажется, есть хаб внутри машины (возможно, это четырехпортовый кластер на задней панели), который не будет принимать назначенный адрес.

Сообщения журнала для меня выглядят следующим образом:

usb 6-1: new low-speed USB device number 116 using uhci_hcd
usb 6-1: device not accepting address 116, error -71
hub 6-0:1.0: unable to enumerate USB device on port 1

Это показывает, что это шина usb 6 . У меня нет ничего связанного с этим, и я хочу, чтобы он заткнулся.

Теперь нам нужно найти соответствующий драйвер. В этом случае это uhci_hcd , поэтому

$ sudo -s
# cd /sys/bus/pci/drivers/uhci_hcd

и найдите, какое PCI-устройство обеспечивает шину usb 6:

# echo */usb6
0000:00:1a.2/usb5

Здесь имя каталога - это идентификатор шины PCI, соответствующий этой шине USB. Тогда это просто:

# echo 0000:00:1d.0 > unbind

, чтобы отключить его.

Если это работает, тогда только последняя строка может быть добавлена ​​в сценарий загрузки. Кажется, должен быть параметр ядра, чтобы избежать некоторых USB-шин, но я не могу его найти.

(Основываясь на ответе titaniumtux , но пытаюсь избежать развязывания моей клавиатуры. Назовите меня старомодным, но я все еще используйте его.)

    
ответ дан poolie 02.06.2014 в 03:59
0

Я встретил ту же ситуацию, что и ваша.

Но я использовал Ubuntu 10.04.

Но если я использовал другой компьютер, он никогда не выйдет.

Итак, до сих пор, я думаю, что это было что-то с моим интерфейсом USB.

После добавления в мою систему правил udev, это может произойти меньше, чем раньше.

Вы можете попробовать.

С наилучшими пожеланиями!

    
ответ дан CathyLuan 31.03.2012 в 06:44
0

Создайте скрипт, содержащий следующее и запустив его при запуске:

cd /sys/bus/pci/drivers/ehci_hcd/

sudo sh -c 'find ./ -name "0000:00:*" -print| sed "s/\.\///">unbind'

Это должно решить проблему.

Источник: здесь

    
ответ дан titaniumtux 05.04.2012 в 03:45
0

Если бы

usb 2-2: new high speed USB device using address 10
usb 2-2: device not accepting address 10, error -71
...
usb 2-2: new high speed USB device using address 13
usb 2-2: device not accepting address 13, error -71

на CentOS.

Найдено Ссылка

Достаточно, добавив USB-концентратор с питанием в уравнение, которое оно разрешило.

    
ответ дан tschodt 27.01.2015 в 21:52