mmcli(1) User Commands mmcli(1) (NAME) mmcli - ModemManager (SYNOPSIS) mmcli [...] (DESCRIPTION) ModemManager DBus (API) ( ) . (RIL) NetworkManager . ModemManager . AT QCDM QMI . (HELP OPTIONS) -h, --help . --help-all . --help-manager (Manager). --help-common . (Bearers) . --help-modem . --help-3gpp 3GPP. --help-cdma CDMA. --help-simple . . --help-location . --help-messaging . --help-sms . --help-cell-broadcast (Cell Broadcast). --help-time . --help-firmware (Firmware). --help-oma OMA. --help-sim . --help-bearer (Bearer). --help-sms (SMS). --help-messaging . (MANAGER OPTIONS) -B, --get-daemon-version ModemManager. -G, --set-logging=[ERR|WARN|INFO|DEBUG] (Logging) ModemManager. DEBUG . DEBUG . ERR ( ) . ERR . -L, --list-modems . -M, --monitor-modems . -S, --scan-modems . RS232 . -I, --inhibit-device=[UID] ModemManager. UID Device ( ID_MM_PHYSDEV_UID sysfs). . Ctrl+C mmcli . ModemManager ( ) . --report-kernel-event=['KEY1=VALUE1,KEY2=VALUE2,...'] udev ( --no-auto-scan udev ). (KEY) : 'action' 'add' 'remove'. () 'subsystem' 'tty' ( ) 'net' ( ) 'usbmisc' ( cdc-wdm). 'name' 'ttyACM0' 'wwan0' 'cdc-wdm0'. 'uid' (UID) udev ID_MM_PHYSDEV_UID. UID TTY . --report-kernel-event-auto-scan udev --no-auto-scan udev . . Ctrl+C mmcli . (COMMON OPTIONS) PATH INDEX . . PATH INDEX . mmcli -L . ( ) : Found 1 modems: /org/freedesktop/ModemManager1/Modem/4 INDEX 4 PATH . PATH . Modem Bearer . : /org/freedesktop/ModemManager1/Bearer/4 -m, --modem=[PATH|INDEX] . -b, --bearer=[PATH|INDEX] (Bearer). -i, --sim=[PATH|INDEX] . -s, --sms=[PATH|INDEX] . (MODEM OPTIONS) --modem -m . (MODE) . MODE . : '2G' - EDGE CDMA1x '3G' - HSPA EV-DO '4G' - LTE 'ANY' - . -w, --monitor-state . -e, --enable . . -d, --disable . . -r, --reset . --factory-reset=CODE . CODE . . . --command=COMMAND AT COMMAND . COMMAND 'AT+GMM' . ModemManager (Debug) . --create-bearer=['KEY1=VALUE1,KEY2=VALUE2,...'] (Bearer) . (KEY) (VALUE) : 'apn' (Access Point Name). 3GPP . 'ip-type' . MMBearerIpFamily ( 'ipv4' 'ipv6' 'ipv4v6'). 3GPP CDMA . 'allowed-auth' . MMBearerAllowedAuth ( 'none|pap|chap|mschap|mschapv2|eap'). 3GPP . 'user' ( ) . 3GPP . 'password' ( ) . 3GPP . 'allow-roaming' ('yes' 'no'). 3GPP . 'rm-protocol' Rm MMModemCdmaRmProtocol ( 'async' 'packet-relay' 'packet-network-ppp' 'packet- network-slip' 'stu-iii'). CDMA . 'number' . POTS . --delete-bearer=[PATH|INDEX] . --set-allowed-modes=[MODE1|MODE2|...] . . --set-preferred-mode=MODE (MODE) . MODE --set-allowed-modes . MODE . --set-current-bands=[BAND1|BAND2|...] . . . MMModemBand . 'egsm|dcs|pcs|g850' GSM . --set-primary-sim-slot=[SLOT] () . SLOT [1,N] N . --inhibit ModemManager. --inhibit-device . . Ctrl+C mmcli . ModemManager ( ) . 3GPP (3GPP OPTIONS) (3GPP) . 3GPP . USSD ( ) . 3GPP --modem -m . --3gpp-scan 3GPP . --3gpp-register-home . () . --3gpp-register-in-operator=MCCMNC MCCMNC. ( ) GSM/LTE CDMA iDEN TETRA UMTS . E.212 (ITU-T) . --3gpp-ussd-status USSD. --3gpp-ussd-initiate=COMMAND USSD COMMAND. COMMAND '*101#' . --3gpp-ussd-respond=RESPONSE USSD (RESPONSE) . . --3gpp-ussd-cancel USSD . --3gpp-disable-facility-lock=FACILITY,CONTROL_KEY (Facility Lock) . 'FACILITY' : 'net-pers' - 'net-sub-pers' - 'provider-pers' - 'corp-pers' - / 'CONTROL_KEY' - . CDMA (CDMA OPTIONS) CDMA ( ) --modem -m . --cdma-activate=CARRIER (OTA). CARRIER . (SIMPLE OPTIONS) --modem -m . --simple-connect=['KEY1=VALUE1,KEY2=VALUE2,...'] KEY / VALUE. --create-bearer : 'pin' SIM-PIN. 'operator-id' ETSI MCC-MNC . --simple-disconnect . (LOCATION OPTIONS) (GPS) (3GPP 3GPP2) . --modem -m . --location-status . --location-get . --location-enable-3gpp 3GPP. --location-disable-3gpp 3GPP. --location-enable-agps-msa A- GPS ( MSA). GPS A-GPS . NMEA --location-enable-gps-raw --location-enable-gps-nmea A-GPS . --location-disable-agps-msa A-GPS ( MSA). --location-enable-agps-msb A- GPS ( MSB). GPS A-GPS . NMEA --location-enable-gps-raw --location-enable-gps-nmea A-GPS . --location-disable-agps-msb A-GPS ( MSB). --location-enable-gps-nmea GPS NMEA. GPS . --location-disable-gps-nmea GPS NMEA. GPS . --location-enable-gps-raw GPS ( ). GPS . --location-disable-gps-raw GPS . NMEA GPS . --location-enable-cdma-bs 3GPP2. --location-disable-cdma-bs 3GPP2. --location-enable-gps-unmanaged GPS NMEA tty. ( gpsd) GPS NMEA tty . --location-disable-gps-unmanaged GPS . --location-set-gps-refresh-rate=SEC DBus SEC . 0 ModemManager DBus . --location-set-supl-server=[IP:PORT] or --location-set-supl-server=[FQDN:PORT] A-GPS SUPL IP (IP:PORT) ([FQDN:PORT]). --location-inject-assistance-data=[PATH] GNSS PATH. 'AssistanceDataServers'. --location-set-enable-signal DBus. 'GetLocation' 'Location' . DBus . --location-set-disable-signal DBus. (MESSAGING OPTIONS) --modem -m . --messaging-status . --messaging-list-sms . --messaging-create-sms=['KEY1=VALUE1,...'] . KEY : 'number' . 'text' UTF-8. . . 'smsc' (SMSC). 'validity' SMSC. 'class' 3GPP ( 0 3). 'delivery-report-request' ('yes' 'no'). 'storage' . 'sm' 'me' 'mt' 'sr' 'bm' 'ta' . --messaging-create-sms-with-data=PATH PATH . --messaging-create-sms-with-text=PATH PATH . --messaging-delete-sms=[PATH|INDEX] . (TIME OPTIONS) --modem -m . --time . . (VOICE OPTIONS) --modem -m . --voice-list-calls ( ) . --voice-create-call=['KEY1=VALUE1,...'] . KEY : 'number' . --voice-delete-call=[PATH|INDEX] . (FIRMWARE OPTIONS) --modem -m . --firmware-status (Firmware). --firmware-list . --firmware-select=ID . --firmware-list . ID . (SIGNAL OPTIONS) --modem -m . --signal-setup=[Rate] ( ). ( 0 ). --signal-get . OMA (OMA OPTIONS) OMA --modem -m . --oma-status OMA. --oma-start-client-initiated-session=[SESSION TYPE] . : 'client-initiated-device-configure' 'client-initiated-prl-update' 'client-initiated-hands-free-activation' --oma-accept-network-initiated-session=[SESSION ID] . --oma-reject-network-initiated-session=[SESSION ID] . --oma-cancel-session OMA ( ). (SIM OPTIONS) --pin=PIN PIN . --puk=PUK PUK . --pin . --enable-pin PIN . --pin . --disable-pin PIN . --pin . --change-pin=PIN PIN . PIN . --pin PIN . (BEARER OPTIONS) --bearer -b . -c, --connect . -x, --disconnect . (SMS OPTIONS) --sms -s . --send . --store . --messaging-status . --store-in-storage=STORAGE (STORAGE) . STORAGE : 'sm' . 'me' (Mobile equipment). 'mt' . 'sr' . 'bm' (Broadcast). 'ta' . --create-file-with-data=PATH ( ) PATH . (CALL OPTIONS) --start . --accept . --hangup . --send-dtmf=[0-9A-D*#] DTMF . (APPLICATION OPTIONS) -J, --output-json JSON mmcli . -K, --output-keyvalue - mmcli . -v, --verbose . -V, --version . -a, --async (Asynchronous). . --timeout=SECONDS SECONDS (Timeout ) . --3gpp-scan . (CELL BROADCAST OPTIONS) --modem -m . --cell-broadcast-status . --cell-broadcast-list-cbm . --cell-broadcast-delete-cbm=[PATH|INDEX] . --cell-broadcast-set-channels=[CHANNELS] ( 5370,5371-5372). (EXAMPLES) PIN (Send the PIN to the SIM card) : $ mmcli -m 0 -K | grep "modem.generic.sim" | awk -F ": " '{ print $2 }' /org/freedesktop/ModemManager1/SIM/0 : $ sudo mmcli -i 0 --pin=1234 successfully sent PIN code to the SIM (Simple connect and disconnect) : $ sudo mmcli -m 0 --simple-connect="pin=1234,apn=internet" successfully connected the modem : $ sudo mmcli -m 0 --simple-disconnect successfully disconnected all bearers in the modem 3GPP (3GPP network scan) 3GPP : $ sudo mmcli -m 0 --3gpp-scan --timeout=300 --------------------- 3GPP scan | networks: 21403 - Orange SP (gprs, unknown) | 21407 - Movistar (gprs, unknown) | 21404 - YOIGO (gprs, unknown) | 21401 - vodafone ES (gprs, unknown) (Creating a new SMS message & storing it) "sm" () : $ sudo mmcli -m 0 --messaging-create-sms="text='Hello world',number='+1234567890'" Successfully created new SMS: /org/freedesktop/ModemManager1/SMS/21 (unknown) $ sudo mmcli -s 21 --store-in-storage="sm" successfully stored the SMS $ sudo mmcli -s 21 ------------------------------- General | dbus path: /org/freedesktop/ModemManager1/SMS/21 ------------------------------- Content | number: +1234567890 | text: Hello world ------------------------------- Properties | PDU type: submit | state: stored | smsc: unknown | validity: 0 | class: 0 | storage: sm | delivery report: not requested | message reference: 0 $ sudo mmcli -m 0 --messaging-status ---------------------------- Messaging | supported storages: sm, me | default storage: me (Sending binary SMS messages from files) --messaging-create-sms-with-data PATH . $ sudo mmcli -m 0 \ --messaging-create-sms="number='+1234567890'" \ --messaging-create-sms-with-data=/path/to/your/file Successfully created new SMS: /org/freedesktop/ModemManager1/SMS/22 (unknown) $ sudo mmcli -s 22 --send successfully sent the SMS (Listing SMS messages) mmcli ModemManager : $> sudo mmcli -m 0 --messaging-list-sms /org/freedesktop/ModemManager1/SMS/0 (received) $> sudo mmcli -s 0 --create-file-with-data=/path/to/the/output/file GPS (GPS location status) GPS . 0 --list-modems : $ mmcli -m 0 --location-status ---------------------------- Location | capabilities: 3gpp-lac-ci, gps-raw, gps-nmea | enabled: none | signals: no / 3GPP GPS GPS-NMEA . : $ sudo mmcli -m 0 --enable successfully enabled the modem $ mmcli -m 0 --location-status ---------------------------- Location | capabilities: 3gpp-lac-ci, gps-raw, gps-nmea | enabled: 3gpp-lac-ci | signals: no GPS (GPS location technology enabling) GPS (RAW) NMEA : $ sudo mmcli -m 0 \ --location-enable-gps-raw \ --location-enable-gps-nmea successfully setup location gathering GPS : $ mmcli -m 0 --location-status -------------------------------- Location | capabilities: 3gpp-lac-ci, gps-raw, gps-nmea | enabled: 3gpp-lac-ci, gps-raw, gps-nmea | signals: no GPS (GPS location retrieval) . . $ sudo mmcli -m 0 --location-get ------------------------- 3GPP location | Mobile country code: 214 | Mobile network code: 3 | Location area code: 21071 | Cell ID: 7033737 ------------------------- GPS NMEA traces | $GPGGA,,,,,,0,,,,,,,,*66 | $GPRMC,,V,,,,,,,,,,N*53 | $GPGSA,A,1,,,,,,,,,,,,,,,*1E | $GPGSV,4,1,16,24,,,,29,,,,05,,,,18,,,*7A | $GPGSV,4,2,16,22,,,,14,,,,11,,,,17,,,*7B | $GPGSV,4,3,16,03,,,,12,,,,30,,,,13,,,*78 | $GPGSV,4,4,16,23,,,,15,,,,27,,,,07,,,*79 | $GPVTG,,T,,M,,N,,K,N*2C A-GPS (A-GPS support) GPS A-GPS SUPL . GPS A-GPS . GPS (RAW NMEA) . $ mmcli -m 0 --location-status -------------------------------- Location | capabilities: 3gpp-lac-ci, gps-raw, gps-nmea, agps-msa, agps-msb | enabled: 3gpp-lac-ci | signals: no ----------------------------- GPS | refresh rate: 30 seconds | a-gps supl server: supl.google.com:7276 $ sudo mmcli -m 0 --location-enable-agps-msa successfully setup location gathering $ sudo mmcli -m 0 --location-enable-gps-nmea successfully setup location gathering $ sudo mmcli -m 0 --location-enable-gps-raw successfully setup location gathering (Injecting assistance data) ( ) ( WiFi) . XTRA ModemManager . XTRA . $ mmcli -m 0 --location-status -------------------------------- Location | capabilities: 3gpp-lac-ci, gps-raw, gps-nmea, agps-msa, agps-msb | enabled: 3gpp-lac-ci | signals: no -------------------------------- GPS | refresh rate: 30 seconds | a-gps supl server: supl.google.com:7276 | supported assistance: xtra | assistance servers: https://xtrapath3.izatcloud.net/xtra3grcej.bin | https://xtrapath1.izatcloud.net/xtra3grcej.bin | https://xtrapath2.izatcloud.net/xtra3grcej.bin $ wget -q https://xtrapath3.izatcloud.net/xtra3grcej.bin $ sudo mmcli -m 0 --location-inject-assistance-data=./xtra3grcej.bin successfully injected assistance data $ sudo mmcli -m 0 --location-enable-gps-nmea successfully setup location gathering $ sudo mmcli -m 0 --location-enable-gps-raw successfully setup location gathering (Setting the Cell Broadcast channel list) : $ sudo mmcli -m 0 \ --cell-broadcast-set-channels=5370,5371,5373-5000 successfully set channels in the modem - (Key-Value output) mmcli --output-keyvalue . : $ STATUS=$(mmcli -m 0 --output-keyvalue) $ echo "${STATUS}" | grep "modem.generic.state " | awk -F ": " '{ print $2 }' failed $ echo "${STATUS}" | grep "modem.generic.state-failed-reason " | awk -F ": " '{ print $2 }' sim-missing (AUTHORS) Martyn Russell Aleksander Morgado (SEE ALSO) ModemManager(8), NetworkManager(8) AT (http://en.wikipedia.org/wiki/AT_commands). 3GPP (http://en.wikipedia.org/wiki/3GPP). MCCMNC (http://en.wikipedia.org/wiki/Mobile_Network_Code). USSD (http://en.wikipedia.org/wiki/Unstructured_Supplementary_Service_Data). CDMA (http://en.wikipedia.org/wiki/Code_division_multiple_access). OTA (http://en.wikipedia.org/wiki/Over-the-air_programming). GPS (http://en.wikipedia.org/wiki/Global_Positioning_System) NMEA (http://en.wikipedia.org/wiki/NMEA_0183) GNU October 2012 mmcli(1)