Заставляем 2g/3g/4g модемы работать на debian’е

Небольшая заметка. Все новые донглы, вместо того, чтобы доставлять пользователю незабываемый секс с pppd, имеют встроенные ethernet-по-usb, подцепляющийся модулями типа cdc-ncm, sierra_net и т.п. Потому, после втыкания их в ifconfig -a появляется новый интерфейс, у меня — wwan0.
И как бы нам его поднять?
Делается это отправкой

AT^NDISDUP=1,1,"apn"

в виртуальный последовательный порт (соответственно на момент отправки, симка не должна ожидать ввода пина, который лучше отключить нафиг. Или же придется добавлять отправку AT+CPIN ).
Новый network-manager разруливает все эти проблемы, но мелкий одноплатник это не то место, куда надо тащить эту монструозную штуку. В моем случае у меня дебиан на небольшой платке, куда воткнут модем, потому вооруженный вышеописанным я набросал такое в /etc/network/interfaces:

iface wwan0 inet dhcp
        pre-up echo -ne '\r\nAT^NDISDUP=1,1,"internet"\r\n' > /dev/ttyUSB0 && sleep 15
        dns-nameservers 127.0.0.1 8.8.8.8

Это дает модему 15 секунд прочихаться, добавляет 127.0.0.1 и гугловский днс как неймсервер, так как я пользую dnsmasq для локального днса. Заменить только надо /dev/ttyUSB0 путем к порту, на котором висит управляющий интерфейс модема. Ну а после можно юзать:

ifup wwan0

для поднятия интерфеса или

ifdown wwan0

для того, чтобы его опустить.
Так же неплохо пинговать гугль или еще кого каждые 5 или 10 секунд, так как модем у меня опускает интерфейс после нескольких часов без активности, и понять это кроме как по сообщению cdc_ncm в dmesg нельзя.

Заставляем 2g/3g/4g модемы работать на debian’е: 2 комментария

  1. почти работает 🙂 . на huawei e150(n) после срабатывания usb_modeswitch usb0 получил некорректный мак адрес от модема.
    выяснилось это после полутора часов курения tcpdump
    было выдано 00:11:22:33:44:55 а tcpdump утверждал что пакеты приходят для сетевой карты с мак 00:11:22:33:00:00 точнее не помню. этот эксперимент был почти две недели назад.

    ps поставь матанкапчу 🙂 а то гуглокапча это страшно.

  2. Хочется, чтобы было как в роутерах. Сунул любой свисток и он сразу работает. Даже без перезагрузки.

Добавить комментарий