Настройка QMI в openWrt

Современные USB-модемы помимо стандартного способа подключения к сети через
последовательные порты (ttyUSBx) поддерживают QMI интерфейс.

Если вкратце, то стандартный способ подключения usb-модема имеет следующий вид:
Модем подключается в usb порт и создаётся набор последовательных портов, через которые можно настраивать модем с помощью AT-команд и подключаться к сети. Как правило, за создание набора последовательных портов (ttyUSBx) отвечает тот или иной драйвер из меню ядра:
USB Serial Converter support.

Для модемов, поддерживающих QMI интерфейс, такого драйвера не требуется. А нужен драйвер в ядре:
USB_NET_QMI_WWAN
или опция:
kmod-usb-net-qmi-wwan в openwrt.
Кроме этого нужно установить пакет:
uqmi.

Ну и теперь секция в конфигурационном файле /etc/config/network должна выглядеть как-то так:

config interface 'wwan0'
        option proto 'qmi'
        option device '/dev/cdc-wdm0'
        option modes 'umts'
        option username 'gdata'
        option password 'gdata'
        option apn 'internet'
        option ifname 'wwan0'

Вывод ifconfig после рестарта сети или перезагрузки устройства будет примерно такой:

# ifconfig
wwan0     Link encap:Ethernet  HWaddr 7E:0E:3B:46:6F:0D  
          inet addr:10.209.197.186  Bcast:10.209.197.187  Mask:255.255.255.252
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:252 errors:0 dropped:0 overruns:0 frame:0
          TX packets:252 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:21143 (20.6 KiB)  TX bytes:24439 (23.8 KiB)

При этом не требуется прописывать dhcp настройки для этого типа интерфейса, поскольку движок openwrt подразумевает это по умолчанию. Вывод ps:

# ps
1798 root      1220 S    udhcpc -p /var/run/udhcpc-wwan0.pid -s /lib/netifd/

Для получения дополнительной информации о соединении можно использовать утилиту uqmi

Уровень сигнала и тип соединения:

#uqmi -d /dev/cdc-wdm0 --get-signal-inf
{
        "type": "wcdma",
        "rssi": -83,
        "ecio": 20
}

Название оператора:

# uqmi -d /dev/cdc-wdm0 --get-serving-system
{
        "registration": "registered",
        "plmn_mcc": 250,
        "plmn_mnc": 2,
        "plmn_description": "MegaFon",
        "roaming": false
}