Sierra MC7455 on APU3C2 No /dev/sdc-wdm0

I've got a PCEngines APU3C2 running OpenWrt 21.02.2.

I have a Generic MC7455 wireless modem with the latest Verizon firmware installed

Manufacturer: Sierra Wireless, Incorporated
Model: MC7455
Revision: SWI9X30C_02.33.03.00 r8209 CARMD-EV-FRMWR2 2019/08/28 20:59:30
MEID: A000004DC2FC79
ESN: 12814324261, 80DA9225
IMEI: 359072062755802
IMEI SV: 20
FSN: LQ831502490110
+GCAP: +CGSM

I have all the QMI software installed along with the kmod-usb-net-sierrawireless and kmod-usb-serial-sierrawireless software.

lsusb detects the modem and I can connect with socat and issue AT commands. The issue is that there is no /dev/sdc-wdm0 for me to associate as an interface and I'm having trouble figuring out why.

I tried changing from MBIM to RMNET0 and that didn't fix anything but honestly I was shooting in the dark at that point.

AT!USBCOMP?

Config Index: 1
Config Type:  1 (Generic)
Interface bitmask: 0000100D (diag,nmea,modem,mbim)

OK
AT!USBCOMP=1,1,0000010D

OK
AT!USBCOMP?

Config Index: 1
Config Type:  1 (Generic)
Interface bitmask: 0000010D (diag,nmea,modem,rmnet0)

usbmode -l returns nothing

lsusb and lsusb -t

root@OpenWrt:/# lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux 5.4.179 xhci-hcd xHCI Host Controller
Bus 002 Device 003: ID 1199:9071 Sierra Wireless, Incorporated Sierra Wireless MC7455 Qualcomm® Snapdragon™ X7 LTE-A
Bus 001 Device 002: ID 0438:7900
Bus 001 Device 001: ID 1d6b:0002 Linux 5.4.179 ehci_hcd EHCI Host Controller
Bus 002 Device 002: ID 0438:7900
Bus 002 Device 001: ID 1d6b:0002 Linux 5.4.179 ehci_hcd EHCI Host Controller
Bus 003 Device 001: ID 1d6b:0002 Linux 5.4.179 xhci-hcd xHCI Host Controller
root@OpenWrt:/# lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=, Driver=hub/4p, 480M
        |__ Port 3: Dev 3, If 0, Class=, Driver=qcserial, 480M
        |__ Port 3: Dev 3, If 2, Class=, Driver=qcserial, 480M
        |__ Port 3: Dev 3, If 3, Class=, Driver=qcserial, 480M
        |__ Port 3: Dev 3, If 12, Class=, Driver=, 480M
        |__ Port 3: Dev 3, If 13, Class=, Driver=, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=, Driver=hub/4p, 480M

Checked out the older mc7455 threads?

https://forum.openwrt.org/search?context=topic&context_id=125706&q=Mc7455&skip_context=true

I'm using exactly the same modem, on Verizon.

USBCOMP of 0x10D is what you want for QMI operation. Note that you must run an AT!RESET to commit this change to the modem's flash. The interface is /dev/cdc-wdm0 not sdc.

USB modeswitch is not required with this card. It should enumerate directly like this:

Sat Apr  2 15:52:00 2022 kern.info kernel: [   48.581722] usb 1-1: new high-speed USB device number 2 using ehci-platform
Sat Apr  2 15:52:00 2022 kern.warn kernel: [   48.782413] usb 1-1: config 1 has an invalid interface number: 8 but max is 3
Sat Apr  2 15:52:00 2022 kern.warn kernel: [   48.789812] usb 1-1: config 1 has no interface number 1
Sat Apr  2 15:52:00 2022 kern.info kernel: [   48.803138] qcserial 1-1:1.0: Qualcomm USB modem converter detected
Sat Apr  2 15:52:00 2022 kern.info kernel: [   48.809997] usb 1-1: Qualcomm USB modem converter now attached to ttyUSB0
Sat Apr  2 15:52:00 2022 kern.info kernel: [   48.851971] qcserial 1-1:1.2: Qualcomm USB modem converter detected
Sat Apr  2 15:52:00 2022 kern.info kernel: [   48.858793] usb 1-1: Qualcomm USB modem converter now attached to ttyUSB1
Sat Apr  2 15:52:00 2022 kern.info kernel: [   48.881982] qcserial 1-1:1.3: Qualcomm USB modem converter detected
Sat Apr  2 15:52:00 2022 kern.info kernel: [   48.888844] usb 1-1: Qualcomm USB modem converter now attached to ttyUSB2
Sat Apr  2 15:52:00 2022 kern.info kernel: [   48.922263] qmi_wwan 1-1:1.8: cdc-wdm0: USB WDM device
Sat Apr  2 15:52:01 2022 kern.info kernel: [   48.931656] qmi_wwan 1-1:1.8 wwan0: register 'qmi_wwan' at usb-1b000000.usb-1, WWAN/QMI device, 16:20:fa:da:a3:c1

Once this is up then you can configure a wireless WAN in /etc/config/network:

config interface 'wan'
	option device '/dev/cdc-wdm0'
	option proto 'qmi'
	option pdptype 'IPV4V6'
	option dhcp '0'
	option dhcpv6 '1'

Note that I did not specify an APN here; it will use the default APN from the SIM card. This is probably more compatible than manually specifying an APN. If you want to you can add the line option apn 'vzwinternet'.
Verizon supports IPv6, sort of. I get a /64 public IPv6.

I think the minimum packages necessary to run this modem are kmod-usb-net-qmi-wwan, kmod-usb-serial-qualcomm, and uqmi (and their dependencies) but can't confirm that since I have many more LTE related packages installed right now.

1 Like

Ah yes, missed the AT!RESET. I'll add that to the list of things I new 2 years ago and forgot hah.

That resolved the issue. I also removed ModemManager and Modeswitch-switch. One of them was apparently interfering with uqmi (any command issued resulted in no response and "Failed to connect to service" on ^C. Spot on support man, I really appreciate it.

So I now have an active data connection. Unfortunately the speeds are not what I was hoping for (I migrated from PFSense because it lacks QMI support). But I'm getting 10Mb down and 20Mb up. My Verizon phone gets 100+ right next to it.

Any quick suggestions that might save me a couple hours stumbling?

AT!GSTATUS?


!GSTATUS:

Current Time:  4441             Temperature: 32

Reset Counter: 2                Mode:        ONLINE

System mode:   LTE              PS state:    Attached

LTE band:      B13              LTE bw:      10 MHz

LTE Rx chan:   5230             LTE Tx chan: 23230

LTE CA state:  NOT ASSIGNED

EMM state:     Registered       Normal Service

RRC state:     RRC Connected

IMS reg state: No Srv           IMS mode:    Normal



PCC RxM RSSI:  -61              RSRP (dBm):  -88

PCC RxD RSSI:  -64              RSRP (dBm):  -95

Tx Power:      --               TAC:         D8FE (55550)

RSRQ (dB):     -9.9             Cell ID:     0FB3E0A7 (263446695)

SINR (dB):      3.8

You don't need those. They are for older "DirectIP" modules. The drivers for the MC7455 are qcserial and qmi_wwan or cdc_mbim.depending on the configured mode.

2 Likes

I was admittedly throwing drivers at the problem in frustration. I'll get them removed.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.