QMICLI(1)

๐ŸŽ€ QMICLI(1) ๐ŸŽ€ โ€” control QMI devices, bestie ๐Ÿ’–

okay so. hi. welcome to qmicli โœจ this is the man page for qmicli, and it is long, but we're doing it together, one service at a time. grab a snack ๐Ÿ“, hydrate ๐Ÿ’ง, and let's go. no skimming, we're reading every single option like it's a group chat we actually care about.


๐Ÿ’ซ NAME ๐Ÿ’ซ

qmicli โ€” control QMI devices. that's it, that's the whole name section, short and iconic ๐Ÿ‘‘


๐ŸŒˆ DESCRIPTION ๐ŸŒˆ

โœจ Usage โœจ

qmicli [OPTION???] - Control QMI devices

like, that's the shape of it. you call qmicli, you hand it options, it controls QMI devices. main character energy fr fr ๐Ÿ’…


๐Ÿซถ Help Options ๐Ÿซถ

bestie these are your lifelines. when you forget literally everything (it happens ๐Ÿ˜ญ), you come here.

  • -h, --help โ€” shows you the help options. the classic. the go-to. ๐Ÿฉต
  • --help-all โ€” shows you all the help options, not just the shy ones. all of them. every last one. ๐Ÿ‘‘
  • --help-dms โ€” shows the Device Management Service options ๐ŸŒธ
  • --help-nas โ€” shows the Network Access Service options ๐Ÿ“ก
  • --help-wds โ€” shows the Wireless Data Service options ๐ŸŒ
  • --help-pbm โ€” shows the Phonebook Management options ๐Ÿ“–
  • --help-pdc โ€” shows the platform device configurations options ๐Ÿ› ๏ธ
  • --help-uim โ€” shows the User Identity Module options ๐Ÿ’ณ
  • --help-sar โ€” shows the Specific Absorption Rate options ๐Ÿ“ถ
  • --help-wms โ€” shows the Wireless Messaging Service options ๐Ÿ’ฌ
  • --help-wda โ€” shows the Wireless Data Administrative options ๐Ÿ—‚๏ธ
  • --help-voice โ€” shows the Voice Service options ๐Ÿ—ฃ๏ธ
  • --help-loc โ€” shows the location options ๐Ÿ“
  • --help-qos โ€” shows the Quality of Service options โš–๏ธ
  • --help-gas โ€” shows the General Application Service options ๐Ÿงฉ
  • --help-gms โ€” shows the General Modem Service options ๐Ÿงš
  • --help-dsd โ€” shows the Data System Determination options ๐Ÿงญ
  • --help-dpm โ€” shows the Data Port Mapper Service options ๐Ÿ”Œ
  • --help-fox โ€” shows the Foxconn Modem Service options ๐ŸฆŠ
  • --help-atr โ€” shows the AT Relay Service options ๐Ÿ“จ
  • --help-imsp โ€” shows the IP Multimedia Subsystem Presence Service options ๐Ÿซง
  • --help-imsa โ€” shows the IP Multimedia Subsystem Application Service options ๐Ÿ“ฑ
  • --help-ims โ€” shows the IP Multimedia Subsystem Settings Service options โš™๏ธ
  • --help-link-management โ€” shows the link management specific options ๐Ÿ”—
  • --help-qmiwwan โ€” shows the qmi_wwan driver specific options ๐Ÿš—

๐Ÿ’– DMS options ๐Ÿ’–

DMS = Device Management Service. this is the big one, the main event, the girl who shows up with 58 bags. we're going through all of them. periodt.

  • --dms-get-ids โ€” get IDs ๐Ÿ†”
  • --dms-get-capabilities โ€” get capabilities โœจ
  • --dms-get-manufacturer โ€” get the manufacturer ๐Ÿญ
  • --dms-get-model โ€” get the model ๐Ÿ“ฆ
  • --dms-get-revision โ€” get the revision ๐Ÿ”
  • --dms-get-msisdn โ€” get the MSISDN โ˜Ž๏ธ
  • --dms-get-power-state โ€” get the power state ๐Ÿ”‹
  • --dms-uim-set-pin-protection=[(PIN|PIN2),(disable|enable),(current PIN)] โ€” set PIN protection in the UIM ๐Ÿ”
  • --dms-uim-verify-pin=[(PIN|PIN2),(current PIN)] โ€” verify the PIN โœ…
  • --dms-uim-unblock-pin=[(PIN|PIN2),(PUK),(new PIN)] โ€” unblock the PIN, with the PUK and a new PIN ๐Ÿ”“
  • --dms-uim-change-pin=[(PIN|PIN2),(old PIN),(new PIN)] โ€” change the PIN, old to new ๐Ÿ”„
  • --dms-uim-get-pin-status โ€” get the PIN status ๐Ÿ“‹
  • --dms-uim-get-iccid โ€” get the ICCID ๐Ÿชช
  • --dms-uim-get-imsi โ€” get the IMSI ๐Ÿท๏ธ
  • --dms-uim-get-state โ€” get the UIM state ๐Ÿง
  • --dms-uim-get-ck-status=[(pn|pu|pp|pc|pf)] โ€” get the CK status ๐Ÿ”Ž
  • --dms-uim-set-ck-protection=[(pn|pu|pp|pc|pf),(disable),(key)] โ€” disable CK protection ๐Ÿšซ
  • --dms-uim-unblock-ck=[(pn|pu|pp|pc|pf),(key)] โ€” unblock CK ๐Ÿ—๏ธ
  • --dms-get-hardware-revision โ€” get the HW revision ๐Ÿงฑ
  • --dms-get-operating-mode โ€” get the device operating mode ๐ŸŽ›๏ธ
  • --dms-set-operating-mode=[(Operating mode)] โ€” set the device operating mode ๐Ÿ•น๏ธ
  • --dms-get-time โ€” get the device time โฐ
  • --dms-get-prl-version โ€” get the PRL version ๐Ÿ—’๏ธ
  • --dms-get-activation-state โ€” get the state of the service activation ๐ŸŸข
  • --dms-activate-automatic=[Activation Code] โ€” request automatic service activation ๐Ÿค–
  • --dms-activate-manual=[SPC,SID,MDN,MIN] โ€” request manual service activation โœ๏ธ
  • --dms-get-user-lock-state โ€” get the state of the user lock ๐Ÿ”’
  • --dms-set-user-lock-state=[(disable|enable),(current lock code)] โ€” set the state of the user lock ๐Ÿ”
  • --dms-set-user-lock-code=[(old lock code),(new lock code)] โ€” change the user lock code ๐Ÿ”
  • --dms-read-user-data โ€” read user data ๐Ÿ“–
  • --dms-write-user-data=[(User data)] โ€” write user data โœ๏ธ
  • --dms-read-eri-file โ€” read the ERI file ๐Ÿ“„
  • --dms-restore-factory-defaults=[(Service Programming Code)] โ€” restore factory defaults ๐Ÿญ
  • --dms-validate-service-programming-code=[(Service Programming Code)] โ€” validate the Service Programming Code โœ”๏ธ
  • --dms-set-firmware-id โ€” set firmware id ๐Ÿ†”
  • --dms-get-band-capabilities โ€” get band capabilities ๐Ÿ“ป
  • --dms-get-factory-sku โ€” get factory stock keeping unit ๐Ÿท๏ธ
  • --dms-list-stored-images โ€” list stored images ๐Ÿ–ผ๏ธ
  • --dms-select-stored-image=[modem#,pri#] where # is the index โ€” select a stored image, where # is the index ๐Ÿ‘†
  • --dms-delete-stored-image=[modem#|pri#] where # is the index โ€” delete a stored image, where # is the index ๐Ÿ—‘๏ธ
  • --dms-get-firmware-preference โ€” get firmware preference ๐Ÿ’—
  • --dms-set-firmware-preference=["key=value,..."] โ€” set firmware preference. required keys: firmware-version, config-version, carrier; optional keys: modem-storage-index, override-download=yes ๐Ÿ“
  • --dms-get-boot-image-download-mode โ€” get boot image download mode ๐Ÿฅพ
  • --dms-set-boot-image-download-mode=[normal|boot-and-recovery] โ€” set boot image download mode ๐Ÿฅพ
  • --dms-get-software-version โ€” get software version ๐Ÿงพ
  • --dms-set-fcc-authentication โ€” set FCC authentication ๐Ÿ›๏ธ
  • --dms-get-supported-messages โ€” get supported messages ๐Ÿ’Œ
  • --dms-hp-change-device-mode=[fastboot] โ€” change device mode (HP specific) ๐Ÿ–ฅ๏ธ
  • --dms-swi-get-current-firmware โ€” get Current Firmware (Sierra Wireless specific) ๐Ÿ”๏ธ
  • --dms-swi-get-usb-composition โ€” get current and supported USB compositions (Sierra Wireless specific) ๐Ÿ”Œ
  • --dms-swi-set-usb-composition=[#] โ€” set USB composition (Sierra Wireless specific) ๐Ÿ”Œ
  • --dms-foxconn-change-device-mode=[fastboot-ota|fastboot-online] โ€” change device mode (Foxconn specific) ๐ŸฆŠ
  • --dms-foxconn-get-firmware-version=[firmware-mcfg-apps|firmware-mcfg|apps] โ€” get firmware version (Foxconn specific) ๐ŸฆŠ
  • --dms-foxconn-set-fcc-authentication=[magic] โ€” set FCC authentication (Foxconn specific) ๐Ÿช„
  • --dms-foxconn-set-fcc-authentication-v2=[magic-string,magic-number] โ€” set FCC authentication (Foxconn specific, v2) ๐Ÿช„โœจ
  • --dms-get-mac-address=[wlan|bt] โ€” get default MAC address ๐Ÿ“ฎ
  • --dms-reset โ€” reset the service state ๐Ÿ”„
  • --dms-noop โ€” just allocate or release a DMS client. use with --client-no-release-cid and/or --client-cid ๐Ÿซฅ

๐Ÿ“ก NAS options ๐Ÿ“ก

NAS = Network Access Service. this is where you talk to the network, bestie. towers. signals. bars. the whole situation. ๐Ÿ“ถ

  • --nas-get-signal-strength โ€” get signal strength ๐Ÿ“ถ
  • --nas-get-signal-info โ€” get signal info ๐Ÿ“Š
  • --nas-get-tx-rx-info=[(Radio Interface)] โ€” get TX/RX info ๐Ÿ“ก
  • --nas-get-home-network โ€” get home network ๐Ÿ 
  • --nas-get-serving-system โ€” get serving system ๐Ÿ›ฐ๏ธ
  • --nas-get-system-info โ€” get system info ๐Ÿง 
  • --nas-get-technology-preference โ€” get technology preference ๐ŸŽš๏ธ
  • --nas-get-preferred-networks โ€” get preferred networks ๐Ÿ’–
  • --nas-set-preferred-networks=[[MCCMNC,access_tech],...] โ€” set the preferred networks list ๐Ÿ“
  • --nas-get-system-selection-preference โ€” get system selection preference ๐ŸŽฏ
  • --nas-set-system-selection-preference=[cdma-1x|cdma-1xevdo|gsm|umts|lte|td-scdma][,[automatic|manual=MCCMNC]] โ€” set system selection preference ๐ŸŽฏ
  • --nas-network-scan=[gsm|umts|lte|td-scdma|5gnr] โ€” scan all networks (no argument) or scan one specific network type ๐Ÿ”
  • --nas-incremental-network-scan=[gsm|umts|lte|td-scdma|5gnr] โ€” incrementally scan all networks (no argument) or scan one specific network type ๐Ÿ”
  • --nas-get-cell-location-info โ€” get Cell Location Info ๐Ÿ“
  • --nas-force-network-search โ€” force a network search ๐Ÿ’ช
  • --nas-get-operator-name โ€” get operator name data ๐Ÿข
  • --nas-get-plmn-name=[mccmnc] โ€” get plmn name data ๐Ÿท๏ธ
  • --nas-get-lte-cphy-ca-info โ€” get LTE Cphy CA Info ๐Ÿ“ถ
  • --nas-get-rf-band-info โ€” get RF Band Info ๐Ÿ“ป
  • --nas-get-network-time โ€” get Network Time โฐ
  • --nas-get-drx โ€” get DRX ๐Ÿ˜ด
  • --nas-get-endc-config โ€” get EN-DC Config โš™๏ธ
  • --nas-get-supported-messages โ€” get supported messages ๐Ÿ’Œ
  • --nas-swi-get-status โ€” get status ((Sierra Wireless specific) ๐Ÿ”๏ธ
  • --nas-reset โ€” reset the service state ๐Ÿ”„
  • --nas-noop โ€” just allocate or release a NAS client. use with --client-no-release-cid and/or --client-cid ๐Ÿซฅ

๐ŸŒ WDS options ๐ŸŒ

WDS = Wireless Data Service. this is the data connection girlie โ€” profiles, APNs, dormancy, the works. buckle up ๐Ÿซฆ

  • --wds-start-network=["key=value,..."] โ€” start network. allowed keys: apn, 3gpp-profile, 3gpp2-profile, auth (PAP|CHAP|BOTH), username, password, autoconnect=yes, ip-type (4|6) ๐Ÿš€
  • --wds-follow-network โ€” follow the network status until disconnected. use with --wds-start-network ๐Ÿ‘€
  • --wds-stop-network=[Packet data handle] OR [disable-autoconnect] โ€” stop network ๐Ÿ›‘
  • --wds-get-current-settings โ€” get current settings โš™๏ธ
  • --wds-get-packet-service-status โ€” get packet service status ๐Ÿ“ฆ
  • --wds-get-packet-statistics โ€” get packet statistics ๐Ÿ“ˆ
  • --wds-get-data-bearer-technology โ€” get data bearer technology ๐Ÿงฌ
  • --wds-get-current-data-bearer-technology โ€” get current data bearer technology ๐Ÿงฌ
  • --wds-go-dormant โ€” make the active data connection go dormant ๐Ÿ˜ด
  • --wds-go-active โ€” make the active data connection go active โšก
  • --wds-get-dormancy-status โ€” get the dormancy status of the active data connection ๐Ÿ˜ด
  • --wds-create-profile=["(3gpp|3gpp2)[,key=value,...]"] โ€” create a new profile using the first available profile index. optional keys: name, apn, pdp-type (IP|PPP|IPV6|IPV4V6), auth (NONE|PAP|CHAP|BOTH), username, password, context-num, no-roaming=yes, disabled=yes ๐Ÿ†•
  • --wds-swi-create-profile-indexed=["(3gpp|3gpp2),#[,key=value,...]"] โ€” create a new profile at a specified profile index [Sierra Wireless specific]. optional keys: name, apn, pdp-type (IP|PPP|IPV6|IPV4V6), auth (NONE|PAP|CHAP|BOTH), username, password, context-num, no-roaming=yes, disabled=yes ๐Ÿ”๏ธ
  • --wds-modify-profile=["(3gpp|3gpp2),#,key=value,..."] โ€” modify an existing profile. optional keys: name, apn, pdp-type (IP|PPP|IPV6|IPV4V6), auth (NONE|PAP|CHAP|BOTH), username, password, context-num, no-roaming=yes, disabled=yes โœ๏ธ
  • --wds-delete-profile=[(3gpp|3gpp2),#] โ€” delete an existing profile ๐Ÿ—‘๏ธ
  • --wds-get-profile-list=[3gpp|3gpp2] โ€” get the profile list ๐Ÿ“‹
  • --wds-get-default-profile-number=[3gpp|3gpp2] โ€” get the default profile number ๐Ÿ”ข
  • --wds-set-default-profile-number=[(3gpp|3gpp2),#] โ€” set the default profile number ๐Ÿ”ข
  • --wds-get-default-settings=[3gpp|3gpp2] โ€” get default settings โš™๏ธ
  • --wds-get-autoconnect-settings โ€” get autoconnect settings ๐Ÿ”Œ
  • --wds-set-autoconnect-settings=[(enabled|disabled|paused)[,(roaming-allowed|home-only)]] โ€” set autoconnect settings (the roaming settings are optional) ๐Ÿ”Œ

okay bestie, that's the DMS, NAS and WDS of it โ€” and we are not done, there is so much more coming. stay with me ๐Ÿ’œ

  • --wds-get-supported-messages โ€” get supported messages, like a lil menu of what this service can even do ๐Ÿ’…
  • --wds-reset โ€” reset the service state, fresh start energy
  • --wds-bind-data-port=[a2-mux-rmnet0-7|#] โ€” bind the data port to the controller device, and you'd do this so it can be used with --client-no-release-cid
  • --wds-bind-mux-data-port=["key=value,..."] โ€” bind a qmux data port to the controller device (allowed keys: mux-id, ep-type (undefined|hsusb|pcie|embedded|bam-dmux), ep-iface-number) and again, this is for use with --client-no-release-cid
  • --wds-set-ip-family=[4|6] โ€” set the IP family, pick your fighter ๐ŸฅŠ
  • --wds-get-channel-rates โ€” get channel data rates
  • --wds-get-lte-attach-parameters โ€” get LTE attach parameters
  • --wds-get-max-lte-attach-pdn-num โ€” get the maximum number of LTE attach PDN
  • --wds-get-lte-attach-pdn-list โ€” get the list of LTE attach PDN
  • --wds-set-lte-attach-pdn-list=[#,#,...] โ€” set the list of LTE attach PDN
  • --wds-noop โ€” literally just allocate or release a WDS client. Use it with --client-no-release-cid and/or --client-cid, that's the whole job bestie

โœจ PBM options โœจ

Phonebook szn ๐Ÿ“–

  • --pbm-get-all-capabilities โ€” get all phonebook capabilities
  • --pbm-get-emergency-list โ€” get list of emergency numbers ๐Ÿšจ
  • --pbm-noop โ€” just allocate or release a PBM client. Use with --client-no-release-cid and/or --client-cid

โœจ PDC options โœจ

  • --pdc-list-configs=[(platform|software)] โ€” list all configs
  • --pdc-delete-config=[(platform|software),ConfigId] โ€” delete config
  • --pdc-activate-config=[(platform|software),ConfigId] โ€” activate config
  • --pdc-deactivate-config=[(platform|software),ConfigId] โ€” deactivate config
  • --pdc-load-config=[Path to config] โ€” load config to device
  • --pdc-monitor-refresh โ€” watch for refresh indications ๐Ÿ‘€
  • --pdc-noop โ€” just allocate or release a PDC client. Use with --client-no-release-cid and/or --client-cid

โœจ UIM options โœจ

SIM card central, we love her ๐Ÿ’ณ๐Ÿ’–

  • --uim-set-pin-protection=[(PIN1|PIN2|UPIN),(disable|enable),(current PIN)[,"key=value,..."]] โ€” set PIN protection (allowed keys: session-type ((primary|secondary|tertiary|quarternary|quinary)-gw-provisioning|card-slot-[1-5]))
  • --uim-verify-pin=[(PIN1|PIN2|UPIN),(current PIN)[,"key=value,..."]] โ€” verify PIN (allowed keys: session-type ((primary|secondary|tertiary|quarternary|quinary)-gw-provisioning|card-slot-[1-5]))
  • --uim-unblock-pin=[(PIN1|PIN2|UPIN),(PUK),(new PIN)[,"key=value,..."]] โ€” unblock PIN (allowed keys: session-type ((primary|secondary|tertiary|quarternary|quinary)-gw-provisioning|card-slot-[1-5]))
  • --uim-change-pin=[(PIN1|PIN2|UPIN),(old PIN),(new PIN)[,"key=value,..."]] โ€” change PIN (allowed keys: session-type ((primary|secondary|tertiary|quarternary|quinary)-gw-provisioning|card-slot-[1-5]))
  • --uim-read-transparent=[0xNNNN,0xNNNN,...] โ€” read a transparent file given the file path
  • --uim-get-file-attributes=[0xNNNN,0xNNNN,...] โ€” get the attributes of a given file
  • --uim-read-record=["key=value,..."] โ€” read a record from given file (allowed keys: record-number, record-length, file ([0xNNNN-0xNNNN,...]))
  • --uim-get-card-status โ€” get card status
  • --uim-get-supported-messages โ€” get supported messages
  • --uim-sim-power-on=[(slot number)] โ€” power on SIM card
  • --uim-sim-power-off=[(slot number)] โ€” power off SIM card
  • --uim-change-provisioning-session=["key=value,..."] โ€” change provisioning session (allowed keys: session-type ((primary|secondary|tertiary|quarternary|quinary)-gw-provisioning), activate (yes|no), slot, aid)
  • --uim-get-slot-status โ€” get slot status
  • --uim-switch-slot=[(slot number)] โ€” switch active physical slot
  • --uim-monitor-slot-status โ€” watch for slot status indications
  • --uim-reset โ€” reset the service state
  • --uim-monitor-refresh-file=[0xNNNN,0xNNNN,...] โ€” watch for REFRESH events for given file paths
  • --uim-monitor-refresh-all โ€” watch for REFRESH events for any file
  • --uim-get-configuration โ€” get personalization status of the modem
  • --uim-depersonalization=[(feature),(operation),(control key)[,(slot number)]] โ€” deactivates or unblocks personalization feature
  • --uim-remote-unlock=[XX:XX:...] โ€” updates the SimLock configuration data
  • --uim-open-logical-channel=[(slot number),(aid)] โ€” open logical channel
  • --uim-close-logical-channel=[(slot number),(channel ID)] โ€” close logical channel
  • --uim-send-apdu=[(slot number),(channel ID),(apdu)] โ€” send APDU
  • --uim-noop โ€” just allocate or release a UIM client. Use with --client-no-release-cid and/or --client-cid

โœจ SAR options โœจ

  • --sar-rf-get-state โ€” get RF state
  • --sar-rf-set-state=[(state number)] โ€” set RF state.
  • --sar-noop โ€” just allocate or release a SAR client. Use with --client-no-release-cid and/or --client-cid

โœจ WMS options โœจ

SMS girlies rise up ๐Ÿ“ฑโœจ

  • --wms-get-supported-messages โ€” get supported messages
  • --wms-get-routes โ€” get SMS route information
  • --wms-set-routes=["key=value,..."] โ€” set SMS route information (keys: type, class, storage, receipt-action)
  • --wms-set-cbs-channels=[start-end,start-end] โ€” set CBS channels (e.g. 4371-4372,4370,4373-4380
  • --wms-get-cbs-channels โ€” get CBS channels
  • --wms-reset โ€” reset the service state
  • --wms-noop โ€” just allocate or release a WMS client. Use with --client-no-release-cid and/or --client-cid

โœจ WDA options โœจ

  • --wda-set-data-format=["key=value,..."] โ€” set data format (allowed keys: link-layer-protocol (802-3|raw-ip), ul-protocol (disabled|tlp|qc-ncm|mbim|rndis|qmap|qmapv5), dl-protocol (disabled|tlp|qc-ncm|mbim|rndis|qmap|qmapv5), dl-datagram-max-size, dl-max-datagrams, ep-type (undefined|hsusb|pcie|embedded), ep-iface-number, ul-datagram-max-size, ul-max-datagrams)
  • --wda-get-data-format=["key=value,..."] โ€” get data format (allowed keys: ep-type (undefined|hsusb|pcie|embedded), ep-iface-number); also allows an empty key list, so you can just vibe with nothing in there
  • --wda-get-supported-messages โ€” get supported messages
  • --wda-set-loopback-configuration=["key=value,..."] โ€” set loopback configuration (allowed keys: state (enabled|disabled), replication-factor);
  • --wda-noop โ€” just allocate or release a WDA client. Use with --client-no-release-cid and/or --client-cid

โœจ VOICE options โœจ

  • --voice-get-config โ€” get Voice service configuration
  • --voice-get-supported-messages โ€” get supported messages
  • --voice-noop โ€” just allocate or release a VOICE client. Use with --client-no-release-cid and/or --client-cid

โœจ LOC options โœจ

Location tracking era, we're literally giving GPS main character energy ๐Ÿ›ฐ๏ธ

  • --loc-session-id=[ID] โ€” session ID for the LOC session
  • --loc-start โ€” start location gathering
  • --loc-stop โ€” stop location gathering
  • --loc-get-position-report โ€” get position reported by the location module
  • --loc-get-gnss-sv-info โ€” show GNSS space vehicle info
  • --loc-timeout=[SECS] โ€” maximum time to wait for information in --loc-get-position-report and --loc-get-gnss-sv-info (default 30s)
  • --loc-follow-position-report โ€” follow all position updates reported by the location module, indefinitely
  • --loc-follow-gnss-sv-info โ€” follow all GNSS space vehicle info updates reported by the location module, indefinitely
  • --loc-follow-nmea โ€” follow all NMEA trace updates reported by the location module, indefinitely
  • --loc-delete-assistance-data โ€” delete positioning assistance data
  • --loc-get-nmea-types โ€” get list of enabled NMEA traces
  • --loc-set-nmea-types=[type1|type2|type3...] โ€” set list of enabled NMEA traces
  • --loc-get-operation-mode โ€” get operation mode
  • --loc-set-operation-mode=[default|msb|msa|standalone|cellid|wwan] โ€” set operation mode
  • --loc-get-engine-lock โ€” get engine lock status
  • --loc-set-engine-lock=[none|mi|mt|all] โ€” set engine lock status
  • --loc-inject-position-latitude=-90.0 to 90.0. Positive values indicate northern latitude. โ€” inject latitude into GNSS engine
  • --loc-inject-position-longitude=-180.0 to 180.0. Positive values indicate eastern longitude. โ€” inject longitude into GNSS engine
  • --loc-inject-time โ€” inject UTC time into GNSS engine
  • --loc-get-predicted-orbits-data-source โ€” get predicted orbits data source
  • --loc-get-predicted-orbits-data-validity โ€” get predicted orbits data validity information
  • --loc-noop โ€” just allocate or release a LOC client. Use with --client-no-release-cid and/or --client-cid

โœจ QoS options โœจ

  • --qos-get-flow-status=[QoS ID] โ€” get QoS flow status
  • --qos-get-network-status โ€” gets the network status
  • --qos-swi-read-data-stats=[APN ID] โ€” read data stats (Sierra Wireless specific)
  • --qos-reset โ€” reset the service state
  • --qos-noop โ€” just allocate or release a QOS client. Use with --client-no-release-cid and/or --client-cid

โœจ GAS options โœจ

  • --gas-dms-set-usb-composition=[pid] โ€” sets the USB composition
  • --gas-dms-get-usb-composition โ€” gets the current USB composition
  • --gas-dms-get-firmware-list โ€” gets the list of stored firmware
  • --gas-dms-get-active-firmware โ€” gets the currently active firmware
  • --gas-dms-set-active-firmware=[index] โ€” sets the active firmware index
  • --gas-dms-get-ethernet-mac-address โ€” gets the Ethernet PDU MAC address available in the modem
  • --gas-dms-set-firmware-auto-sim=["key=value,..."] โ€” sets the automatic carrier switching mode according to the sim (allowed keys: mode (disable|enable|enable-one-shot), config-id
  • --gas-dms-get-firmware-auto-sim โ€” gets the automatic carrier switching mode according to the sim
  • --gas-noop โ€” just allocate or release a GAS client. Use with --client-no-release-cid and/or --client-cid

โœจ GMS options โœจ

  • --gms-test-get-value โ€” gets test value
  • --gms-test-set-value=[mandatory-value][,[optional-value]] โ€” sets test value
  • --gms-noop โ€” just allocate or release a GMS client. Use with --client-no-release-cid and/or --client-cid

โœจ DSD options โœจ

  • --dsd-get-apn-info=[(type)] โ€” gets the settings associated to a given APN type
  • --dsd-set-apn-type=[(name), (type1|type2|type3...)] โ€” sets the types associated to a given APN name
  • --dsd-get-system-status โ€” Gets system status โ€” like, it just pulls up the system status, no cap โœจ
  • --dsd-noop โ€” Just allocate or release a DSD client. Use with --client-no-release-cid and/or --client-cid โ€” it's giving โ€œno operationโ€ energy, fr fr ๐Ÿซถ

DPM options: ๐Ÿ’…

  • --dpm-open-port=["key=value,..."] โ€” Open port โ€” allowed-keys are ctrl-ep-type, ctrl-ep-iface-number, ctrl-port-name, hw-data-ep-type, hw-data-ep-iface-number, hw-data-rx-id, hw-data-tx-id, sw-data-ep-type, sw-data-ep-iface-number, sw-data-port-name ๐ŸŽ€
  • --dpm-close-port โ€” Close port โ€” bye bye port ๐Ÿ‘‹
  • --dpm-noop โ€” Just allocate or release a DPM client. Use with --client-no-release-cid and/or --client-cid โ€” lowkey just vibing ๐Ÿซถ

FOX options: ๐ŸฆŠ

  • --fox-get-firmware-version=[firmware-mcfg-apps|firmware-mcfg|apps] โ€” Get firmware version โ€” gotta know whatโ€™s running ๐Ÿ‘€
  • --fox-set-fcc-authentication=[magic-string,magic-number] โ€” Set FCC authentication โ€” magic string and magic number, iconic ๐Ÿ”
  • --fox-noop โ€” Just allocate or release a FOX client. Use with --client-no-release-cid and/or --client-cid โ€” just foxing around ๐ŸฆŠ

ATR options: ๐Ÿ“ก

  • --atr-send=[AT command] โ€” Send an AT command and wait for the reply โ€” like sending a text and waiting for the read receipt ๐Ÿ’ฌ
  • --atr-send-only=[AT command] โ€” Send an AT command without waiting for the reply โ€” leave it on delivered ๐Ÿ“ค
  • --atr-monitor โ€” Watch for unsolicited indications โ€” main character energy, always watching ๐Ÿ‘€
  • --atr-noop โ€” Just allocate or release an ATR client. Use with --client-no-release-cid and/or --client-cid โ€” noop but make it fashion ๐Ÿซถ

IMSP options: ๐Ÿ’–

  • --imsp-get-enabler-state โ€” Get IMSP enabler state โ€” letโ€™s see if itโ€™s enabled or not โœจ
  • --imsp-noop โ€” Just allocate or release a IMSP client. Use with --client-no-release-cid and/or --client-cid โ€” just IMSP things ๐Ÿซถ

IMSA options: ๐ŸŒธ

  • --imsa-bind=[binding] โ€” Bind to IMSA (use with --client-no-release-cid) โ€” tie the knot, bestie ๐ŸŽ€
  • --imsa-get-ims-registration-status โ€” Get IMS registration status โ€” are we registered or not? ๐Ÿ“‹
  • --imsa-get-ims-services-status โ€” Get IMS services status โ€” services check, periodt ๐Ÿ“ถ
  • --imsa-noop โ€” Just allocate or release a IMSA client. Use with --client-no-release-cid and/or --client-cid โ€” noop slay ๐Ÿซถ

IMS options: ๐Ÿฆ‹

  • --ims-bind=[binding] โ€” Bind to IMS Settings (use with --client-no-release-cid) โ€” bind it like a book ๐ŸŽ€
  • --ims-get-ims-services-enabled-setting โ€” Get IMS Services Enabled Setting โ€” is it on? Letโ€™s find out โš™๏ธ
  • --ims-noop โ€” Just allocate or release a IMS client. Use with --client-no-release-cid and/or --client-cid โ€” IMS noop vibe ๐Ÿซถ
  • --link-list=[IFACE] โ€” List links created from a given interface โ€” show me the links ๐Ÿ“‹
  • --link-add=[iface=IFACE,prefix=PREFIX[,mux-id=N[,initial-mux-id=M]][,flags=FLAGS]] โ€” Create new network interface link โ€” new link, who dis? โœจ
  • --link-delete=[link-iface=IFACE][,[mux-id=N]] โ€” Delete a given network interface link โ€” bye, link! ๐Ÿ—‘๏ธ
  • --link-delete-all=[IFACE] โ€” Delete all network interface links from the given interface โ€” clean slate, no cap ๐Ÿ’ฅ

qmi_wwan specific options: ๐Ÿ“ถ

  • -w, --get-wwan-iface โ€” Get the associated WWAN iface name โ€” whatโ€™s the iface, bestie? ๐Ÿ›ฐ๏ธ
  • -e, --get-expected-data-format โ€” Get the expected data format in the WWAN iface โ€” format check ๐Ÿ”
  • -E, --set-expected-data-format=[802-3|raw-ip|qmap-pass-through] โ€” Set the expected data format in the WWAN iface โ€” set it straight ๐Ÿ› ๏ธ

Application Options: ๐ŸŒˆ

  • -d, --device=[PATH|URI] โ€” Specify device path or QRTR URI (e.g. qrtr://0) โ€” whereโ€™s the device at? ๐Ÿ“ฑ
  • --get-service-version-info โ€” Get service version info โ€” version check, slay โ„น๏ธ
  • --device-set-instance-id=[Instance ID] โ€” Set instance ID โ€” give it an ID ๐Ÿ†”
  • --device-open-version-info โ€” Run version info check when opening device โ€” check the version on open โœ…
  • --device-open-sync โ€” Run sync operation when opening device โ€” sync up ๐Ÿ”„
  • -p, --device-open-proxy โ€” Request to use the 'qmi-proxy' proxy โ€” proxy please ๐Ÿ›ก๏ธ
  • --device-open-qmi โ€” Open a cdc-wdm device explicitly in QMI mode โ€” QMI mode, periodt ๐Ÿ“ก
  • --device-open-mbim โ€” Open a cdc-wdm device explicitly in MBIM mode โ€” MBIM mode, periodt ๐Ÿ“ถ
  • --device-open-auto โ€” Open a cdc-wdm device in either QMI or MBIM mode (default) โ€” auto is the default, iconic ๐Ÿค–
  • --device-open-net=[net-802-3|net-raw-ip|net-qos-header|net-no-qos-header] โ€” Open device with specific link protocol and QoS flags โ€” net options, letโ€™s go ๐ŸŒ
  • --client-cid=[CID] โ€” Use the given CID, don't allocate a new one โ€” use this CID, donโ€™t be extra ๐Ÿ†”
  • --client-no-release-cid โ€” Do not release the CID when exiting โ€” hold onto that CID ๐Ÿšซ
  • -v, --verbose โ€” Run action with verbose logs, including the debug ones โ€” spill the tea, logs ๐Ÿ“
  • --verbose-full โ€” Run action with verbose logs, including the debug ones and personal info โ€” full tea, including personal info ๐Ÿ”
  • --silent โ€” Run action with no logs; not even the error/warning ones โ€” silent mode, shhh ๐Ÿคซ
  • -V, --version โ€” Print version โ€” whatโ€™s the version? ๐Ÿท๏ธ

Copyright ยฉ 2012-2023 Aleksander Morgado License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl-2.0.html> ๐Ÿ’–

This is free software: you are free to change and redistribute it. ๐Ÿซถ

There is NO WARRANTY, to the extent permitted by law. ๐Ÿ’€

SEE ALSO ๐ŸŒˆ

The full documentation for qmicli is maintained as a Texinfo manual. If the info and qmicli programs are properly installed at your site, the command

info qmicli

should give you access to the complete manual. ๐ŸŒˆ


Okay bestie, thatโ€™s the whole qmicli vibe! This was qmicli version 1.38.0 from January 2026 โ€” aka QMICLI(1) and weโ€™re obsessed. ๐Ÿ’–โœจ๐Ÿ’…๐Ÿซถ

๐Ÿ“ฆ where this page comes from