Что такое сброс USB-устройства?

У меня есть этот совершенно новый программный 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-концентратор. В любом случае, мой вопрос в основном в том, что означает это сообщение на простом английском языке?

6
задан bwDraco
04.03.2023 8:34 Количество просмотров материала 2658
Распечатать страницу

2 ответа

Давайте я попробую.

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

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

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

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

16
отвечен Ale..chenski 2023-03-05 16:22

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

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

  1. заменить оборудование: в большинстве случаев вам нужно заменить материнскую плату.
  2. удалить драйвер ehci_hcd
  3. отключить интерфейс ehci_hcd USB 2.0 и использовать его как 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)

Reboot как тест.

статья с аналогичными инструкциями : почему ошибка "ядро: usb 1-2.2: сброс высокоскоростного USB-устройства с помощью ehci_hcd и адреса 6", записанного в файл/var/log / messages?

5
отвечен harrymc 2023-03-05 18:39

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх