Powody
Cóż, myślę, że powodem jest to, że coś resetuje magistralę modem / USB (nie wiem na pewno: czy jest to reset magistrali USB, reset modemu spowodowany przez jego oprogramowanie układowe, reset modemu spowodowany przez demona wysyłającego SMS lub coś innego) zupełnie zupełnie), a zatem sprawia, że modem pojawia się jako inne urządzenie: ponieważ nazywanie urządzeń podłączanych podczas pracy nie jest celowo naprawiane - przynajmniej od czasu, gdy jądro systemu Linux przełączyło się na używanie udev
do zarządzania /dev
hierarchią.
Lekarstwo
To, co powinieneś zrobić, to skorzystać z udev
możliwości dostarczenia trwałego nazewnictwa urządzeń, gdy tego potrzebujesz.
Jest na to wiele sposobów, ale najprościej jest poprosić jądro o utworzenie dowiązania symbolicznego z własną nazwą wskazującą na prawdziwy plik węzła urządzenia.
Na przykład w systemie Debian obsługującym ten sam cel, co twój, mamy:
$ 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"
Ta reguła sprawi, że modem będzie również dostępny jako /dev/ttyGSM1
węzeł.
Zauważ, że te idVendor
i idProduct
atrybuty używane do dopasowania urządzenia są różne dla różnych urządzeń; wyślij zapytanie do magistrali USB, aby dowiedzieć się, co ma twoje urządzenie. W naszym systemie mamy:
$ lsusb|grep 12d1
Bus 002 Device 008: ID 12d1:1001 Huawei Technologies Co., Ltd. E169/E620/E800 HSDPA Modem
Więc myślę, że masz pomysł.
Pamiętaj, że musisz ponownie uruchomić komputer, udev
aby przeładować reguły, a następnie ponownie podłączyć modem, aby ponownie pojawił się z udev
PoV.