MC7710 with PID 9205, doesn't receive AT commands

Hi everyone,
I bought a used MC7710 WWAN module and it shows up in Linux (kernel 5.12.13) as PID 9205:

# lsusb
Bus 002 Device 002: ID 1199:9205 Sierra Wireless, Inc. MC7710
...

Consequently, no linux driver will connect to it. However, I was able to force qcserial and qmi_wwan to recognize the module, using the following commands:

# modprobe qmi_wwan
# echo "1199 9205" | sudo tee /sys/bus/usb/drivers/qmi_wwan/new_id
1199 9205
# modprobe qcserial
# echo "1199 9205" | sudo tee /sys/bus/usb-serial/drivers/qcserial/new_id
1199 9205

After that, some devices are exposed, but strangely enough, only a single serial interface:

# lsusb -tv
...
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
    ID 1d6b:0002 Linux Foundation 2.0 root hub
    |__ Port 4: Dev 2, If 0, Class=Vendor Specific Class, Driver=, 480M
        ID 1199:9205 Sierra Wireless, Inc. 
    |__ Port 4: Dev 2, If 2, Class=Vendor Specific Class, Driver=qcserial, 480M
        ID 1199:9205 Sierra Wireless, Inc. 
    |__ Port 4: Dev 2, If 3, Class=Vendor Specific Class, Driver=qmi_wwan, 480M
        ID 1199:9205 Sierra Wireless, Inc. 
    |__ Port 4: Dev 2, If 8, Class=Vendor Specific Class, Driver=qmi_wwan, 480M
        ID 1199:9205 Sierra Wireless, Inc. 
...

Using screen /dev/ttyUSB0 and minicom -D /dev/ttyUSB0, I tried to send AT commands to the module, but there is no reaction whatsoever. However, I was able to send QMI commands using qmicli and decided to install the latest QMI firmware version using qmi-firmware-update --update -d 1199:9205 9999999_9999999_9200_03.05.29.03_00_generic_000.000_001_SPKG_MC.cwe. Indeed, this shows up nicely with qmicli, but doesn’t change the behavior at all:

# qmicli -d /dev/cdc-wdm1 --dms-swi-get-current-firmware
[/dev/cdc-wdm1] Successfully retrieved current firmware:
	Model: MC7710
	Boot version: SWI9200X_03.05.29.03bt r6485 CNSHZ-ED-XP0031 2014/12/02 17:33:08
	AMSS version: SWI9200X_03.05.29.03ap r6485 CNSHZ-ED-XP0031 2014/12/02 17:53:15
	SKU ID: unknown
	Package ID: unknown
	Carrier ID: 0
	Config version: unknown

Furthermore, I can change the USB composition using --dms-swi-set-usb-composition=[#], but none of the available compositions enables me to send AT commands:

# qmicli -d /dev/cdc-wdm1 --dms-swi-get-usb-composition
[/dev/cdc-wdm1] Successfully retrieved USB compositions:
	[*] USB composition 6: DM, NMEA, AT, QMI
	    USB composition 7: DM, NMEA, AT, RMNET1, RMNET2, RMNET3
	    USB composition 8: DM, NMEA, AT, MBIM
	    USB composition 9: MBIM
	    USB composition 10: NMEA, MBIM
	    USB composition 11: DM, MBIM
	    USB composition 12: DM, NMEA, MBIM
	    USB composition 13: Dual configuration: USB composition 6 and USB composition 8
	    USB composition 14: Dual configuration: USB composition 6 and USB composition 9
	    USB composition 15: Dual configuration: USB composition 6 and USB composition 10
	    USB composition 16: Dual configuration: USB composition 6 and USB composition 11
	    USB composition 17: Dual configuration: USB composition 6 and USB composition 12
	    USB composition 18: Dual configuration: USB composition 7 and USB composition 8
	    USB composition 19: Dual configuration: USB composition 7 and USB composition 9
	    USB composition 20: Dual configuration: USB composition 7 and USB composition 10
	    USB composition 21: Dual configuration: USB composition 7 and USB composition 11
	    USB composition 22: Dual configuration: USB composition 7 and USB composition 12

Is there anything I can do to get the module working?

Try reversing that. Your problem is that qmi_wwan binds to every interface which could possibly be RMNET/QMI. It doesn’t know which one is the correct one when you .use new_id. So it blocks qcserial from binding to interface #3, which is the AT command interface.

Once you have AT command access you should probably change to a supported PID, unless there is a specific reason this module is using 9205.

1 Like

Thanks for the quick reply! In fact, reversing the two commands exposed three ttyUSB devices, one of which received AT commands. Using that, I was able to change the PID (to 68a2, i.e. QMI mode), following the instructions from here: Sierra Wireless switch QMI DPI modes · GitHub

Now, with the correct PID, ModemManager automatically recognizes the module and is actually able to establish a mobile connection. However, I found out that the SIM card I wanted to use first has actually been deactivated by the carrier months ago. Good to know… The second SIM card I tried worked fine.