У меня есть машина Debian 8.4, которую я использую для отправки / получения смс через smstools. Мой модем: Huawei Technologies Co., Ltd. Модем HSDPA E169 / E620 / E800 Все работает отлично в течение нескольких дней, а затем модем становится недоступным через / dev / ttyUSB0, мне нужно перейти на / dev / ttyUSB1. В течение следующих нескольких дней все работает нормально, и затем происходит то же самое - я должен переключиться обратно на / dev / ttyUSB0. У кого-нибудь есть идея, почему это происходит? Что я могу сделать? Это вина модемов? На моей предыдущей машине у меня была та же модель модема, и она могла прекрасно работать месяцами. К сожалению, я не могу использовать этот модем, так как ESXi его не видит.

2 ответа2

0

Причины

Ну, я думаю, причина в том, что что- то сбрасывает шину модема /USB (я точно не знаю: это сброс шины USB, сброс модема, вызванный его прошивкой, сброс модема, вызванный демоном отправки SMS или что-то еще еще полностью), и, следовательно, делает модем похожим на другое устройство: потому что наименование устройств с возможностью «горячей» замены намеренно не фиксировано - по крайней мере, поскольку ядро Linux переключилось на использование udev для управления иерархией /dev .

Средство

Что вам нужно сделать, так это использовать способность udev предоставлять вам постоянные имена устройств, когда вам это нужно.

Есть несколько способов сделать это, но самый простой - запросить ядро о создании символической ссылки с вашим произвольным именем, указывающим на файл узла реального устройства.

Например, в системе Debian, которая служит той же цели, что и ваша, мы имеем:

$ cat /etc/udev/rules.d/55-USB-modems.rules
# idVendor           0x12d1 Huawei Technologies Co., Ltd.
# idProduct          0x1001 E169/E620/E800 HSDPA Modem
SUBSYSTEMS=="usb", ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1001",SYMLINK+="ttyGSM1"

Это правило сделает модем также доступным как узел /dev/ttyGSM1 .

Обратите внимание, что те idVendor и idProduct которые используются для сопоставления устройства, различны для разных устройств; запросите шину USB, чтобы выяснить, что имеет ваше устройство. По этой нашей системе мы имеем:

$ lsusb|grep 12d1
Bus 002 Device 008: ID 12d1:1001 Huawei Technologies Co., Ltd. E169/E620/E800 HSDPA Modem

Так что я думаю, у тебя есть идея.

Обратите внимание, что вам нужно будет перезапустить udev чтобы он перезагрузил свои правила, а затем снова подключить модем, чтобы он снова появился в PoD для udev .

0

Похоже, это был действительно неисправный модем. Я поменял его на другой и теперь он работает нормально.

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