Модем USB - Megafon M-100-4
NM при создании соединения предлагает устройство cdc-wdm0.
Правильно, этот модем является переходной моделью и может работать и как модем (/dev/ttyUSB0) и как сетевая карта (по умолчанию включен режим модем). Подавать AT-команды можно как и на ttyUSB*, так и на cdc-wdm*. Переключение в режим сетевой карты производится командой "AT^NDISCONN=1,1 > /dev/cdc-wdm0", после чего появляется /sys/class/net/wwan0, с которым работаем как с обычной сетевой картой (dhcpcd wwan0). NM, как я понял, "не догоняет двух зайцев". У меня для такого модема задействованы правила udev 99-modem.rules:
ACTION!="add|change", GOTO="remove_modem"
SUBSYSTEM=="usbmisc", SUBSYSTEMS=="usb", KERNEL=="cdc-wdm?", RUN+="/bin/sleep 10", RUN+="/usr/sbin/modem-stats -c AT^NDISCONN=1,1 /dev/%k", GOTO="end_modem"
SUBSYSTEM=="tty", SUBSYSTEMS=="usb", KERNEL=="ttyUSB?|ttyACM?", RUN+="check3Gmodem %k", GOTO="end_modem"
LABEL="remove_modem"
ACTION=="remove", SUBSYSTEM=="tty", SUBSYSTEMS=="usb", KERNEL=="ttyUSB?|ttyACM?", RUN+="/bin/rm /dev/modem", RUN+="/bin/rm /dev/ttyUSB_utps_pcui"
LABEL="end_modem"
и 99-net_up.rules
ACTION=="add|change", SUBSYSTEM=="net", ATTR{operstate}=="down", RUN+="net_up.sh %k"
и NM тут близко нафиг не нужен.