How to reset MC7750 into QMI and AT-command mode on Linux?

I have two MC7750 modems and one I have configured as, which is exactly what I want:

AT!UDUSBCOMP=?
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        SUPPORTED
8 - Win8 Std Net                                 SUPPORTED


OK
AT!UDUSBCOMP?
!UDUSBCOMP: 6

OK

However I have this other modem which is in a different mode, but I don’t know in which mode and I don’t know how to change it from Linux.

On the machine with NOT desired modem setup I have:

# lsusb -d 1199:68a2
Bus 002 Device 003: ID 1199:68a2 Sierra Wireless, Inc. MC7750

# usb_modeswitch -W -v 1199 -p 68a2 -R
...

# dmesg
...
[Wed Apr 12 19:14:12 2023] qcserial ttyUSB0: Qualcomm USB modem converter now disconnected from ttyUSB0
[Wed Apr 12 19:14:12 2023] qcserial 2-1.3:1.0: device disconnected
[Wed Apr 12 19:14:12 2023] usb 2-1.3: reset high-speed USB device number 3 using ehci-pci
[Wed Apr 12 19:14:12 2023] qcserial 2-1.3:1.0: Qualcomm USB modem converter detected
[Wed Apr 12 19:14:12 2023] usb 2-1.3: Qualcomm USB modem converter now attached to ttyUSB0
[Wed Apr 12 19:14:12 2023] gpio-keys-polled gpio-keys-polled: unable to claim gpio 0, err=-517
[Wed Apr 12 19:14:12 2023] gpio-keys-polled gpio-keys-polled: unable to claim gpio 0, err=-517

As you can see it only attaches ttyUSB0 but no other serial devices, nor QMI device. If I connect to /dev/ttyUSB0 with minicom(1) I cannot type in any AT commands, like ATI:

# minicom -b 115200 -D /dev/ttyUSB0
...
Welcome to minicom 2.8

OPTIONS: I18n
Compiled on Jan  9 2021, 12:42:45.
Port /dev/ttyUSB0, 07:29:20

Press CTRL-A Z for help on special keys

and no input in minicom(1) is accepted nor no output shows up after ATI\n characters typed in.

On the other machine with modem on UDUSBCOMP: 6 setup, I can type ATI\n and I have an output information about the modem.

How to set MC7750 modem into UDUSBCOMP: 6 mode on a Linux machine?

What is important for me I DON’T want to upgrade the firmware to bring the modem back into UDUSBCOMP: 6. I want to keep current firmware on the modem.

not sure if this helps:

You might also try windows driver and see if it can change the UDUSBCOMP value:

I don’t have /dev/cdc-wdm0 device available, but only /dev/ttyUSB0 so I cannot use solutions from that thread. I don’t have Windows available and system with that modem doesn’t have any graphics card, so even if I would have Windows, I would not know how to install it there.

# ls -l /dev/cdc-wdm0
ls: cannot access '/dev/cdc-wdm0': No such file or directory

not sure if this module is dead or not, i don’t see one UDUSBCOMP setting is having one serial port /dev/ttyUSB0 only

I will wait few days and will try to upgrade the firmware, but I don’t want to upgrade the firmware because of this other problem, with this other modem, which I am not sure is related to firmware version or not:

I am not sure is Verizon approved firmware - the latest firmware which I found at https://source.sierrawireless.com/, going to work for any provider on the planet?

Also, I am not sure will firmware upgrade actually is going to work.

I used one of those, don’t remember exactly did I use SPKG or SPKGZ version and I am getting CME ERROR: SIM wrong error.

  • 1584083_999999_MC7750_03.05.10.13_00_vzw_033.012_000_SPKG.cwe
  • 1584083_999999_MC7750_03.05.10.13_00_vzw_033.012_000_SPKGZ.cwe

I’m not sure could firmware be the source of the problem, as I didn’t had a chance to use the modem before firmware upgrade to below version. On the modem from this thread I would like to avoid upgrading the firmware to understand, can problem from SIM wrong thread could be related to firmware version. Firmware files downloaded from:

https://source.sierrawireless.com/resources/airprime/software/mc7750-firmware-package-history/

not sure if you can upgrade FW if the module is dead

This is a bootloader mode. It’s not booting its application image for some reason. You might try to do a firmware upgrade to see if that fixes the problem.

Yes, this is what I was suspecting :frowning: I wanted to avoid firmware upgrade. I guess that will be my next step.

Do you guys know by any chance MC7750, which family is it?

# ./fwdwl-litehostx86_64 --help
...
  -m  --modelfamily
          - 0: Auto Detect (default value)
          - 1: 9x15 Family
          - 2: WP9x15 Family
          - 3: 9x30 Family
          - 4: 9x07 or 9x50 Family
          - 5: 9x06 Family
...

I don’t think the MBPL is supporting this old module MC7750.
you need to use the old SDK and old driver:

https://source.sierrawireless.com/resources/airprime/software/usb-drivers-linux-qmi-software-s2,-d-,42n2,-d-,64/#sthash.Tnx38Q6c.dpbs

I did use old SDK:

SLQS04.00.23-lite.bin.tar.gz
SLQS04.00.23.bin.tar.gz

but driver is from Arch Linux kernel available at present:

# uname -rv
6.1.20-1-lts #1 SMP PREEMPT_DYNAMIC Fri, 17 Mar 2023 13:31:00 +0000

Not sure if it works with your current driver…

Anyway, you can try \SLQS04.00.27.src\SampleApps\Firmware_Download
I can see it supports MDM9x00 based devices. For ex: MC7700/10/50.

I believe it’s a MDM9600.

Probably easiest to use qmi-firmware-update from the libqmi project. You’ll get a few command line examples if you run it with -H, including one for updating a MDM9200 (same generation) modem already in QDL mode.