Feel free to contact me on bjorn@mork.no for more details. I have prepared a special .nvu file which sets the USB_COMP NVRAM variable to 0x0000050d (i.e. diag,nmea,modem,rmnet0,rmnet1). This is experimental and mostly based guesswork. The structure of this file is something like this: $ parsecwe.pl /tmp/setMC7455usbcompto0000050d.nvu FLEHDR: FULL: val=1, code=3, hdrsz=400, imgsz=1247 CWEHDR: SPKG: crc=0x62f31580, rev=3, val=NOPE, prod=9X30, imgsz=1247, imgcrc=0xeb7d1192, date=04/08/16, compat=0x00000000, xxx=0x00000001 imgcrc OK, version string: '9999999_9904609_SWI9X30C_02.08.02.00_00_Bjorn_001.002_000' CWEHDR: FILE: crc=0xf2697aa7, rev=3, val=NOPE, prod=9X30, imgsz=847, imgcrc=0xa69febee, date=04/08/16, compat=0x00000000, xxx=0x00000001 imgcrc OK, version string: '9999999_9904609_SWI9X30C_02.08.02.00_00_Bjorn_001.002_000' CWEHDR: FILE: crc=0xf2697aa7, rev=3, val=NOPE, prod=9X30, imgsz=447, imgcrc=0xeb4b2b81, date=04/08/16, compat=0x01000000, xxx=0x00000001 imgcrc OK, version string: '/nvup/NVUP_bjorn.020' CWEHDR: NVUP: crc=0xf2697aa7, rev=3, val=GOOD, prod=9X30, imgsz=47, imgcrc=0x1170114f, date=04/08/16, compat=0x00000001, xxx=0x50617273 imgcrc OK, version string: '9999999_9904609_SWI9X30C_02.08.02.00_00_Bjorn_001.002_000' NVUP: 47 bytes, ver=1, count=1, foo=0001, bar=00000001 #1 37 bytes: b=0001, c=0001, <08> USB_COMP => 01:00:00:00:0d:05:00:00 This can be applied by writing the file in QDL mode, like you do when you upgrade the firmware. Note that the modem will continue to boot into the old mode after this. You need to reset it again to boot into the new mode after flashing. So the procedure is: 1) boot into QDL mode. This can be done with e.g. QMI_DMS request 0x003e 2) as soon as (there is a timeout running here) the QDL /dev/ttyUSBx device appears, flash the flash the file using your favourite tool. I am including my own hackish one - swi-update.c, but I believe the Sierra provided tools will support this too 3) let the modem boot, and then reset it again with e.g. QMI_DMS request 0x002e I have just dont this procedure myself to verify it. But my modem did not object to the QMI over MBIM requests either, so there might still be unexpected problems for you... Please consider alternatives. This is completely unsupported by Sierra ;) Here are the exact commands I ran to switch from MBIM mode to QMI using this method: 1) boot to QDL bjorn@nemi:~$ ~/privat/prog/git/wwan/scripts/swi_setusbcomp.pl --qdl Running in MBIM mode (driver=cdc_mbim) MBIM OPEN succeeded QMI msg '0x0021' returned status = 1 MBIM QMI support verified supports 32 QMI subsystems: . QMI msg '0x0022' returned status = 1 Got QMI DMS client ID '3' QMI msg '0x003e' returned status = 1 eof ...propagated at /home/bjorn/privat/prog/git/wwan/scripts/swi_setusbcomp.pl line 251. 2) flash .nvu file bjorn@nemi:~$ ~/privat/prog/git/qdm/swi-update --image /tmp/setMC7455usbcompto0000050d.nvu --serial /dev/ttyUSB0 swi-update (0.01) opened /dev/ttyUSB0 write: 7e 70 00 00 14 46 7e read: 7e 0d 16 00 00 00 00 88 4d 7e SDP error 22 (0): Command not supported write: 7e 01 51 43 4f 4d 20 68 69 67 68 20 73 70 65 65 64 20 70 72 6f 74 6f 63 6f 6c 20 68 73 74 00 00 00 00 06 06 30 0b 8d 7e read: 7e 02 51 43 4f 4d 20 68 69 67 68 20 73 70 65 65 64 20 70 72 6f 74 6f 63 6f 6c 20 74 67 74 30 00 00 00 06 06 00 00 00 00 00 00 00 00 00 00 00 00 00 30 d9 bc 7e magic: 'QCOM high speed protocol tgt0' maxver: 6 minver: 6 features: 0x30 CWE revision: 3 type: SPKG product: 9X30 image size: 1247 version: 9999999_9904609_SWI9X30C_02.08.02.00_00_Bjorn_001.002_000 date: 04/08/16 write: 7e 25 80 6f 06 00 00 01 df 04 00 00 00 00 01 03 00 00 00 00 01 90 00 00 04 df 46 55 4c 4c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 62 f3 15 80 00 00 00 03 ff ff ff ff 53 50 4b 47 39 58 33 30 00 00 04 df eb 7d 5d 11 92 39 39 39 39 39 39 39 5f 39 39 30 34 36 30 39 5f 53 57 49 39 58 33 30 43 5f 30 32 2e 30 38 2e 30 32 2e 30 30 5f 30 30 5f 42 6a 6f 72 6e 5f 30 30 31 2e 30 30 32 5f 30 30 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30 34 2f 30 38 2f 31 36 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 18 74 7e read: 7e 26 00 00 01 df 04 00 00 96 0a 7e status=0, windowsize=1, chunksize=1247 write #0 (1247)...read: 7e 28 00 00 00 00 00 00 00 00 14 39 7e ack: 0 finished writing write: 7e 29 bb 4c 7e read: 7e 2a 00 00 00 00 4e e3 7e UF close: status=0, type=0, errortxt=0 Success! write: 7e 2d 9f 0a 7e 3) reset modem (after it finished booted into MBIM mode) bjorn@nemi:~$ ~/privat/prog/git/wwan/scripts/swi_setusbcomp.pl --reset Running in MBIM mode (driver=cdc_mbim) MBIM OPEN succeeded QMI msg '0x0021' returned status = 1 MBIM QMI support verified supports 32 QMI subsystems: . QMI msg '0x0022' returned status = 1 Got QMI DMS client ID '3' QMI msg '0x555b' returned status = 1 Current USB composition: 8 USB compositions: 0 - HIP DM NMEA AT MDM1 MDM2 MDM3 MS NOT SUPPORTED 1 - HIP DM NMEA AT MDM1 MS NOT SUPPORTED 2 - HIP DM NMEA AT NIC1 MS NOT SUPPORTED 3 - HIP DM NMEA AT MDM1 NIC1 MS NOT SUPPORTED 4 - HIP DM NMEA AT NIC1 NIC2 NIC3 MS NOT SUPPORTED 5 - HIP DM NMEA AT ECM1 MS NOT SUPPORTED 6 - DM NMEA AT QMI SUPPORTED 7 - DM NMEA AT RMNET1 RMNET2 RMNET3 NOT SUPPORTED * 8 - DM NMEA AT MBIM SUPPORTED 9 - MBIM SUPPORTED 10 - NMEA MBIM NOT SUPPORTED 11 - DM MBIM NOT SUPPORTED 12 - DM NMEA MBIM NOT SUPPORTED 13 - Config1: comp6 Config2: comp8 NOT SUPPORTED 14 - Config1: comp6 Config2: comp9 NOT SUPPORTED 15 - Config1: comp6 Config2: comp10 NOT SUPPORTED 16 - Config1: comp6 Config2: comp11 NOT SUPPORTED 17 - Config1: comp6 Config2: comp12 NOT SUPPORTED 18 - Config1: comp7 Config2: comp8 NOT SUPPORTED 19 - Config1: comp7 Config2: comp9 NOT SUPPORTED 20 - Config1: comp7 Config2: comp10 NOT SUPPORTED 21 - Config1: comp7 Config2: comp11 NOT SUPPORTED 22 - Config1: comp7 Config2: comp12 NOT SUPPORTED QMI msg '0x002e' returned status = 1 eof ...propagated at /home/bjorn/privat/prog/git/wwan/scripts/swi_setusbcomp.pl line 251. Note that the last command still showed the modem as being in MBIM mode. I assume that is because the NVRAM update hasn't yet been applied. It is applied on reset. This is my kernel log during these events, showing the reset into QDL mode, boot into MBIM mode, and final reset into QMI mode Apr 8 12:55:28 nemi kernel: [217290.480444] usb 4-4: USB disconnect, device number 26 Apr 8 12:55:28 nemi kernel: [217290.483019] qcserial ttyUSB0: Qualcomm USB modem converter now disconnected from ttyUSB0 Apr 8 12:55:28 nemi kernel: [217290.483162] qcserial 4-4:1.0: device disconnected Apr 8 12:55:28 nemi kernel: [217290.488204] qcserial ttyUSB1: Qualcomm USB modem converter now disconnected from ttyUSB1 Apr 8 12:55:28 nemi kernel: [217290.488347] qcserial 4-4:1.2: device disconnected Apr 8 12:55:28 nemi kernel: [217290.494404] qcserial ttyUSB2: Qualcomm USB modem converter now disconnected from ttyUSB2 Apr 8 12:55:28 nemi kernel: [217290.494545] qcserial 4-4:1.3: device disconnected Apr 8 12:55:28 nemi kernel: [217290.497611] cdc_mbim 4-4:1.12 wwan0: unregister 'cdc_mbim' usb-0000:00:1d.7-4, CDC MBIM Apr 8 12:55:28 nemi kernel: [217291.152206] usb 4-4: new high-speed USB device number 27 using ehci-pci Apr 8 12:55:29 nemi kernel: [217291.286289] usb 4-4: New USB device found, idVendor=1199, idProduct=9070 Apr 8 12:55:29 nemi kernel: [217291.286304] usb 4-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Apr 8 12:55:29 nemi kernel: [217291.286313] usb 4-4: Product: MC7455 Apr 8 12:55:29 nemi kernel: [217291.286321] usb 4-4: Manufacturer: Sierra Wireless, Incorporated Apr 8 12:55:29 nemi kernel: [217291.286328] usb 4-4: SerialNumber: LQ53740015020204 Apr 8 12:55:29 nemi kernel: [217291.289755] qcserial 4-4:1.0: Qualcomm USB modem converter detected Apr 8 12:55:29 nemi kernel: [217291.291409] usb 4-4: Qualcomm USB modem converter now attached to ttyUSB0 Apr 8 12:55:32 nemi kernel: [217294.525099] usb 4-4: USB disconnect, device number 27 Apr 8 12:55:32 nemi kernel: [217294.528338] qcserial ttyUSB0: Qualcomm USB modem converter now disconnected from ttyUSB0 Apr 8 12:55:32 nemi kernel: [217294.528479] qcserial 4-4:1.0: device disconnected Apr 8 12:55:42 nemi kernel: [217304.216224] usb 4-4: new high-speed USB device number 28 using ehci-pci Apr 8 12:55:42 nemi kernel: [217304.350473] usb 4-4: config 1 has an invalid interface number: 12 but max is 4 Apr 8 12:55:42 nemi kernel: [217304.350488] usb 4-4: config 1 has an invalid interface number: 13 but max is 4 Apr 8 12:55:42 nemi kernel: [217304.350497] usb 4-4: config 1 has an invalid interface number: 13 but max is 4 Apr 8 12:55:42 nemi kernel: [217304.350505] usb 4-4: config 1 has no interface number 1 Apr 8 12:55:42 nemi kernel: [217304.350513] usb 4-4: config 1 has no interface number 4 Apr 8 12:55:42 nemi kernel: [217304.351566] usb 4-4: New USB device found, idVendor=1199, idProduct=9071 Apr 8 12:55:42 nemi kernel: [217304.351577] usb 4-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Apr 8 12:55:42 nemi kernel: [217304.351585] usb 4-4: Product: MC7455 Apr 8 12:55:42 nemi kernel: [217304.351593] usb 4-4: Manufacturer: Sierra Wireless, Incorporated Apr 8 12:55:42 nemi kernel: [217304.351601] usb 4-4: SerialNumber: LQ53740015020204 Apr 8 12:55:42 nemi kernel: [217304.357695] qcserial 4-4:1.0: Qualcomm USB modem converter detected Apr 8 12:55:42 nemi kernel: [217304.361553] usb 4-4: Qualcomm USB modem converter now attached to ttyUSB0 Apr 8 12:55:42 nemi kernel: [217304.363658] qcserial 4-4:1.2: Qualcomm USB modem converter detected Apr 8 12:55:42 nemi kernel: [217304.365627] usb 4-4: Qualcomm USB modem converter now attached to ttyUSB1 Apr 8 12:55:42 nemi kernel: [217304.367839] qcserial 4-4:1.3: Qualcomm USB modem converter detected Apr 8 12:55:42 nemi kernel: [217304.369435] usb 4-4: Qualcomm USB modem converter now attached to ttyUSB2 Apr 8 12:55:42 nemi kernel: [217304.373105] cdc_mbim 4-4:1.12: cdc-wdm0: USB WDM device Apr 8 12:55:42 nemi kernel: [217304.375353] cdc_mbim 4-4:1.12 wwan0: register 'cdc_mbim' at usb-0000:00:1d.7-4, CDC MBIM, 06:e2:84:a2:30:4c Apr 8 12:56:15 nemi kernel: [217337.988291] suspend_common(): ehci_suspend+0x0/0xb9 [ehci_hcd] returns -16 Apr 8 12:56:35 nemi kernel: [217357.920423] usb 4-4: USB disconnect, device number 28 Apr 8 12:56:35 nemi kernel: [217357.923023] qcserial ttyUSB0: Qualcomm USB modem converter now disconnected from ttyUSB0 Apr 8 12:56:35 nemi kernel: [217357.923160] qcserial 4-4:1.0: device disconnected Apr 8 12:56:35 nemi kernel: [217357.931142] qcserial ttyUSB1: Qualcomm USB modem converter now disconnected from ttyUSB1 Apr 8 12:56:35 nemi kernel: [217357.931287] qcserial 4-4:1.2: device disconnected Apr 8 12:56:35 nemi kernel: [217357.939111] qcserial ttyUSB2: Qualcomm USB modem converter now disconnected from ttyUSB2 Apr 8 12:56:35 nemi kernel: [217357.939197] qcserial 4-4:1.3: device disconnected Apr 8 12:56:35 nemi kernel: [217357.939788] cdc_mbim 4-4:1.12 wwan0: unregister 'cdc_mbim' usb-0000:00:1d.7-4, CDC MBIM Apr 8 12:56:45 nemi kernel: [217367.432252] usb 4-4: new high-speed USB device number 29 using ehci-pci Apr 8 12:56:45 nemi kernel: [217367.566140] usb 4-4: config 1 has an invalid interface number: 8 but max is 4 Apr 8 12:56:45 nemi kernel: [217367.566155] usb 4-4: config 1 has an invalid interface number: 10 but max is 4 Apr 8 12:56:45 nemi kernel: [217367.566164] usb 4-4: config 1 has no interface number 1 Apr 8 12:56:45 nemi kernel: [217367.566172] usb 4-4: config 1 has no interface number 4 Apr 8 12:56:45 nemi kernel: [217367.567255] usb 4-4: New USB device found, idVendor=1199, idProduct=9071 Apr 8 12:56:45 nemi kernel: [217367.567267] usb 4-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Apr 8 12:56:45 nemi kernel: [217367.567275] usb 4-4: Product: MC7455 Apr 8 12:56:45 nemi kernel: [217367.567283] usb 4-4: Manufacturer: Sierra Wireless, Incorporated Apr 8 12:56:45 nemi kernel: [217367.567291] usb 4-4: SerialNumber: LQ53740015020204 Apr 8 12:56:45 nemi kernel: [217367.577236] qcserial 4-4:1.0: Qualcomm USB modem converter detected Apr 8 12:56:45 nemi kernel: [217367.578141] usb 4-4: Qualcomm USB modem converter now attached to ttyUSB0 Apr 8 12:56:45 nemi kernel: [217367.580699] qcserial 4-4:1.2: Qualcomm USB modem converter detected Apr 8 12:56:45 nemi kernel: [217367.581690] usb 4-4: Qualcomm USB modem converter now attached to ttyUSB1 Apr 8 12:56:45 nemi kernel: [217367.583621] qcserial 4-4:1.3: Qualcomm USB modem converter detected Apr 8 12:56:45 nemi kernel: [217367.584938] usb 4-4: Qualcomm USB modem converter now attached to ttyUSB2 Apr 8 12:56:45 nemi kernel: [217367.587364] qmi_wwan 4-4:1.8: cdc-wdm0: USB WDM device Apr 8 12:56:45 nemi kernel: [217367.589798] qmi_wwan 4-4:1.8 wwan0: register 'qmi_wwan' at usb-0000:00:1d.7-4, WWAN/QMI device, 06:e2:84:a2:30:4c Apr 8 12:56:45 nemi kernel: [217367.591932] qmi_wwan 4-4:1.10: cdc-wdm1: USB WDM device Apr 8 12:56:45 nemi kernel: [217367.594808] qmi_wwan 4-4:1.10 wwan1: register 'qmi_wwan' at usb-0000:00:1d.7-4, WWAN/QMI device, 06:e2:84:a2:30:4c I have put the files I used up for download on http://www.mork.no/~bjorn/MC7455-fix.tgz The contents is: bjorn@nemi:/tmp$ tar ztvf MC7455-fix.tgz -rw-r--r-- bjorn/bjorn 1647 2016-04-08 11:42 setMC7455usbcompto0000050d.nvu -rwxr-xr-x bjorn/bjorn 31472 2016-04-08 13:18 swi-update -rw-r--r-- bjorn/bjorn 26032 2016-04-08 13:18 swi-update.c -rwxr-xr-x bjorn/bjorn 22365 2016-04-08 13:17 swi_setusbcomp.pl swi-update is a prebuilt version of swi-update.c for x86_64 for convenience. But for safety you may want to look at the source and built it yourself instead. It has few dependencies, so it is pretty much doing gcc -o swi-update swi-update.c Let me know how this goes. (in case you wonder: I originally made this to enable modes the current AT command interface won't allow. Like ADB...)