Вопрос или проблема
У меня странная проблема: lsusb показывает USB-устройства, которые не подключены. У нас несколько устройств подключены через USB. Чтобы отключить их от системы, мы отключаем питание USB-порта с помощью специального устройства, похожего на хаб.
После этого устройства исчезают (это видно на устройстве), но lsusb все еще показывает старые записи. Что это значит? Остались ли на системе/ОС зависшие и недействительные дескрипторы этих устройств?
Обычно этого не должно быть. Как предложил SHW, вам следует предоставить дополнительную информацию (я пока не могу комментировать, поэтому должен написать ответ).
Однако не забывайте, что большинство внешне питаемых хабов могут фактически функционировать даже без питания. В зависимости от количества USB-устройств и внутреннего устройства хаба, компьютер может не обеспечить достаточно энергии для активации устройств, но ее может быть достаточно для их идентификации.
Если отключение хаба удаляет записи, то причина в этом. Если нет, я удалю свой ответ (так как это должен был быть комментарий).
Ответ или решение
Проблема, предстающая перед вами, когда команда lsusb
продолжает отображать устройства USB, которые фактически отключены, может быть вызвана несколькими факторами, учитывая, что вы выключаете питание на USB-портах с помощью специального концентратора. Определим несколько возможных причин и решений этой ситуации.
Анализ проблемы
1. Состояние концентратора USB:
В вашей конфигурации концентратор играет ключевую роль в отключении устройств. Некоторые концентраторы могут иметь свои собственные механизмы питания и управления, которые позволяют им сохранять информацию об устройствах даже после отключения питания. Это может привести к тому, что устройства остаются видимыми на уровне системы, даже когда физически они не подключены.
2. Кэширование системы:
Операционная система может использовать механизмы кэширования, которые не обновляются должным образом после отключения устройств. Это может создать иллюзию наличия "зависших" или "недействительных" записей в интерфейсе lsusb
.
Решения
Проверка состояния концентратора:
- Попробуйте физически отключить концентратор от компьютера и затем снова проверить вывод
lsusb
. Если записи исчезли, это подтверждает, что причина заключается в способе работы концентратора.
Обновление состояния системы:
- Используйте команду
dmesg
для просмотра системных логов. Это может помочь выявить, как система обрабатывает состояние подключения/отключения устройств. Обратите внимание на любые аномалии или ошибки, связанные с USB.
Обновление драйверов и прошивки:
- Убедитесь, что программное обеспечение и прошивка USB-концентратора обновлены. Некоторые баги могут быть исправлены в новых версиях, и это может решить проблему.
Программная перезагрузка USB-шины:
- Вы можете попытаться перезагрузить USB-шину, чтобы обновить кэш и очистить "зависшие" записи. Это можно сделать с помощью привилегий администратора, используя команду
sudo modprobe -r usb-storage
и затемsudo modprobe usb-storage
.
Заключение
Такая проблема может возникать из-за различных аппаратных и программных аспектов работы USB-концентраторов и взаимодействия системы с ними. Метод проб и ошибок в сочетании с внимательным анализом системных логов может помочь в диагностике. Также всегда стоит рассматривать документацию производителя концентраторов для получения специфичной информации и рекомендаций по устранению таких ситуаций.
Эти шаги должны помочь вам более ясно увидеть корень проблемы и предпринять необходимые действия для ее решения.