У меня есть два устройства, которые непрерывно подают данные через ttyUSB0 и ttyUSB1. У меня есть PHP-скрипты, которые используют эти данные. Проблема, с которой я сталкиваюсь, заключается в том, что иногда корм просто зависает. Лучший способ исправить это - отключить плату BUB от компьютера и снова подключить ее. Однако я ищу способ автоматизировать это действие. Есть ли способ сказать linux, чтобы он по существу извлек плату BUB, а затем каким-то образом снова поднял ее?
12
Ответы:
У меня та же проблема, что и у вас, но в другом контексте (я открываю последовательную консоль на Linux-коробке). Последовательная связь иногда перестает отвечать, и мне приходится физически отключать USB-последовательный преобразователь.
Ниже, кажется, решить мою проблему, но не всегда.
Найдите драйвер, связанный с вашим устройством ttyUSBx.
Вы можете видеть, что
/dev/ttyUSB
используетusbserial
. Теперь копайте немного дальше:В моем случае мой преобразователь USB-последовательный - это Prolific PL2303. Если у вас есть адаптер FTDI, я думаю, вы должны увидеть
ftdi_sio
вместоpl2303
.Выгрузить драйвер
Перезагрузите драйвер
Перезапустите вашу последовательную связь
источник
С ответом sdive я продолжал получать сообщение «FATAL: модуль usbserial используется».
Я наконец решил проблему с некоторыми рекомендациями из ответа LiLo здесь: /ubuntu//a/661/379851
Но вместо того, чтобы использовать некоторый C-код, я написал Python-эквивалент, который также находит нужную шину и устройство:
Просто сохраните это как reset_usb.py или что-то еще, а затем запустите его так:
Где имя_драйвера - выход
В моем случае это был cp210x, поэтому я запускаю его так:
источник
Вот мой ответ для модуля
ftdi_sio
. Шаги адаптированы из приведенного выше ответа и ссылки из комментария в исходном вопросе.Я не мог получить модуль для удаления:
Поэтому я использую следующий трюк:
Что действительно было подтверждено:
Тогда было легко удалить модуль:
А потом просто:
Непонятно, почему ftdi_sio находится в такой плохой форме, может быть, все еще ошибка, как в:
Но, похоже, ядро 4.9.20 все еще содержит плохой
ftdi_sio
модуль.источник