17

У меня есть это совершенно новое программное обеспечение RAID-1 с двумя внешними USB-накопителями WD Elements, и я вижу, что Linux довольно часто повторяет следующее сообщение:

...
[302148.036912] usb 1-3.1: reset high-speed USB device number 19 using ehci_hcd
[302153.052029] usb 1-3.3: reset high-speed USB device number 20 using ehci_hcd
[302186.031481] usb 1-3.3: reset high-speed USB device number 20 using ehci_hcd
[302217.050210] usb 1-3.3: reset high-speed USB device number 20 using ehci_hcd
[302281.043543] usb 1-3.3: reset high-speed USB device number 20 using ehci_hcd
[302312.090158] usb 1-3.3: reset high-speed USB device number 20 using ehci_hcd
[302351.076851] usb 1-3.1: reset high-speed USB device number 19 using ehci_hcd
...

Итак, что это говорит? Это нормально? Это проблема, которую я должен попытаться решить?

Обновить
На самом деле, эти сообщения не для дисков, которые я думал, что они были. У меня есть несколько других USB-накопителей, подключенных к этому компьютеру через USB-концентратор. Во всяком случае, мой вопрос в основном, что означает это сообщение на простом английском языке?

2 ответа2

19

Дай мне попробовать.

Буквально в сообщении говорится, что Linux USB stack выпустил "USB_RESET" для вашего конкретного устройства (устройства № 19 и № 20, какими бы они ни были). Кажется, ошибка появляется один раз в 10-30 секунд. После сброса в журнале должны появиться свежие сообщения о перечислении, поскольку при сбросе через USB подключенное устройство переходит в "состояние по умолчанию". Похоже, многословие вашего журнала очень сокращено.

Сброс USB-устройства во время работы - довольно радикальная ситуация. Контроллер прибегает к этому сбросу "порта", если он сталкивается с "ошибкой транзакции". Ошибка транзакции возникает, когда ссылка не завершает все необходимые этапы транзакции USB или имеет ошибку CRC. При обычном USB контроллер EHCI автоматически повторяет неудачную транзакцию (обычно максимум 3 раза), а затем устанавливает прерывание XACT_ERROR. Статистически, согласно теории ошибок, если ссылка не отвечает должным образом на три попытки подряд, что-то не так с конкретным сегментом USB, в основном электрически. Таким образом, ошибка транзакции считается фатальной, и программное обеспечение пытается восстановить ссылку. Если дерево-четыре пытается восстановить связь неудачно, хост считает этот порт мертвым и завершает работу.

Однако в Linux кто-то решил, что трех теоретических попыток недостаточно, и программное обеспечение Linux выполняет дополнительно 32 (тридцать две) попытки, что делает его 96 (!!!) Всего. Если аппаратное соединение оказывается электрически маргинальным, 96 попыток могут быть успешными в 99,99% случаев. Гуру программного обеспечения Linux утверждают, что это помогает улучшить работоспособность сомнительных устройств / кабелей. По сути, этот метод скрывает серьезную проблему с этим конкретным USB-соединением, которое не помогает пользователям в долгосрочной перспективе.

Проблема может заключаться в подаче предельного напряжения (VBUS) на накопители, глюках VBUS или ухудшении сигнала на сигнальных проводах. Сначала я бы попробовал очень короткие высококачественные сертифицированные кабели и проверил бы, изменяется ли статистика ошибок.

5

Эта ошибка описана в статье Linux: сброс высокоскоростного USB-устройства с помощью ehci_hcd Ошибка и решение :

Эта ошибка означает, что USB 2.0 может не работать в вашей системе или работать только на скорости USB 1.1. Чтобы решить эту проблему:

  1. Замена оборудования: в большинстве случаев вам необходимо заменить материнскую плату.
  2. Удалить драйвер ehci_hcd
  3. Отключите интерфейс USB 2.0 накопителя ehci_hcd и используйте его как USB 1.1. Короче отключите ehci_hcd.

Если вы не хотите заменять материнскую плату, удалите драйвер ehci_hcd, отредактируйте файл /etc/modprobe.d/blacklist.conf и добавьте строку:

blacklist ehci_hcd

Наконец, используйте скрипт mkinitrd для создания структуры каталогов, которая может служить корневой файловой системой initrd без ehci_hcd:

# mkinitrd -o /boot/initrd.$(uname -r).img $(uname -r)

Перезагрузитесь как тест.

Статья с похожими инструкциями: Почему ошибка «kernel: usb 1-2.2: сбросить высокоскоростное USB-устройство с использованием ehci_hcd и адреса 6» записана в файле /var /log /messages?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .