MC7455 running with OpenWRT on Raspebbry Pi

Hey Jon,

I just connected it again and now I can see both qcqmi0 and 1. I installed minicom and after setting it up for qcqmi0 or 1 it shows that the connection is offline.

The other question I had was about the Rogers firmware. I downloaded the firmwarte but how do I flash it onto MC7455. I was getting an IP from the Rogers Tower when I had it configured with my openWRT Raspberry Pi but it was only connected through 3G. I wonder after flashing the right firmware it will get a 4G connection?

Good and you have the USB comp set for multi-PDN that exposes both QMI interfaces. The Linux SDK can not connect to the module using QMI. You cannot minicom in to the qcqmix ports as this is used by the SDK. Please review the application developer’s guide on how this works.

You can use the SDK SampleApps Firwmare Download application to download the .CWE (firwmare) and .NVU (PRI) files that are found on the Source site. Both of these binary files need to be placed in the same folder and called when upgrading the firmware.

Ex:

i686: sudo ./bin/fwdldhosti686 -s …/…/build/bin/hosti686/slqssdk -d

[9x00/9x15/g3k/9x30/9x07/9x50/9x06] -p [pathname] -i 1

Where the EM/MC74xx series is built on the Qualcomm 9x30 chipset.
You can also upgrade to Roger, you can use the binary files for Linux, or the Windows .exe “one-click” as well to upgrade. If you don’t have the correct firmware in the module, the carrier might kick you off.

Also, make sure your APN is set correctly using AT+CGDCONT command.

Jon

Hi, can I do firmware update using AT commands instead of using the SDK sample app? If so, what is the sequence of AT commands to do so?

Thanks
Dennis

Hi Dennis,

Unfortunately, the AT!BOOTHOLD AT command only sets the module in a boot and hold mode, but you still need to use a firmware download tool to reflash the module’s firmware. You can use the Lite SDK or the regular SampleApps firmware download methods. If you have a Windows PC you can attach the module to, you can also use the .exe oneclick firmware download method.

Jon

The 7355 modem is attached to our custom board running Linux 3.6.5, so we cannot connect the modem to a Windows PC. All configuration and setup of the modem will be done by our Linux app running on our board. And we like to use AT commands to control the modem, and this includes doing firmware update.

Given the above situation, what is the best way to configuration the modem on cold boot, and also what is the best way to do firmware update? I am hoping not to have to cross compile the sample apps to do firmware update.

Do you have the sequence of AT commands to setup and configure the modem to do cell data transfers?

Thanks again

OK and the best will be to use the Sierra Wireless Linux QMI SDK and drivers for functions like firmware download, but AT commands for the data connection. If you sign a simple software license agreement, we can share with you the SDK source code that you can then cross-compile.

Here is a typical sequence of AT commands to connect and start the LTE data session:

  1. AT!GSTATUS? to check the registration.
  2. AT+CGATT? 1 indicates PS attach
  3. AT+CGDCONT? to check the APN
  4. AT+CGACT=1,1 to start the data session/connection
  5. AT+CGPADDR to check the IP address

You can also find examples online as well and on the source site.

Jon

Hi Jon,

Thanks for your help. I had everything working on my Ubuntu computer and since I have moved over to working on my raspberry pi again. I have a lot of things figured out including how to use AT commands (Lol you have to type A first for anything to show up on the screen).

However I can still not get an active data connection on my OpenWrt including having a 4G connection. I am registered with the Rogers tower here aswell as have a valid IP addr but nothing after it. See below for error when I try to start the sata connection:

!GSTATUS:
Current Time: 232 Temperature: 34
Reset Counter: 1 Mode: ONLINE
System mode: WCDMA PS state: Attached
WCDMA band: WCDMA 1900
WCDMA channel: 437
MM (CS) state: IDLE NORMAL SERVICE

WCDMA L1 state:L1M_PCH_SLEEP LAC: Exxx (5xxxx)
RRC state: URA_PCH UTRAN Cell ID: 0036xxxx (35xxxxx)
RxM RSSI C0: -76 RxD RSSI C0: —
RxM RSSI C1: — RxD RSSI C1: —

OK
AT+CGATT?
+CGATT: 1

OK
AT+CGDCONT?
+CGDCONT: 1,“IPV4V6”,“m2mstatic.apn”,“0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0”,0,0,0,0

OK
AT+CGACT=1,1
ERROR
AT+CGPADDR
+CGPADDR: 1,74.xxx.xxx.xxx

OK

Also this is what my dmesg shows me now if that can be of any help:

[ 7.504842] hidraw: raw HID events driver © Jiri Kosina
[ 7.547605] usbcore: registered new interface driver cdc_acm
[ 7.555572] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[ 7.569413] usbcore: registered new interface driver cdc_ncm
[ 7.578360] usbcore: registered new interface driver cdc_wdm
[ 7.587102] Loading modules backported from Linux version wt-2017-11-01-0-gfe248fc2c180
[ 7.599386] Backport generated by backports.git v4.14-rc2-1-31-g86cf0e5d
[ 7.609921] usbcore: registered new interface driver huawei_cdc_ncm
[ 7.620229] ip_tables: © 2000-2006 Netfilter Core Team
[ 7.634928] nf_conntrack version 0.5.0 (7680 buckets, 30720 max)
[ 7.662938] usbcore: registered new interface driver qmi_wwan
[ 7.672335] usbcore: registered new interface driver sierra_net
[ 7.684552] usbcore: registered new interface driver usbhid
[ 7.692662] usbhid: USB HID core driver
[ 7.699460] usbcore: registered new interface driver usbserial
[ 7.706815] usbcore: registered new interface driver usbserial_generic
[ 7.714787] usbserial: USB Serial support registered for generic
[ 7.729165] xt_time: kernel timezone is -0000
[ 7.735654] usbcore: registered new interface driver cdc_mbim
[ 7.755136] PPP generic driver version 2.4.2
[ 7.761591] NET: Registered protocol family 24
[ 7.768060] usbcore: registered new interface driver sierra
[ 7.775104] usbserial: USB Serial support registered for Sierra USB modem
[ 7.783882] usbcore: registered new interface driver usb_serial_simple
[ 7.791910] usbserial: USB Serial support registered for carelink
[ 7.799427] usbserial: USB Serial support registered for zio
[ 7.806503] usbserial: USB Serial support registered for funsoft
[ 7.813834] usbserial: USB Serial support registered for flashloader
[ 7.821452] usbserial: USB Serial support registered for google
[ 7.828571] usbserial: USB Serial support registered for libtransistor
[ 7.836284] usbserial: USB Serial support registered for vivopay
[ 7.843446] usbserial: USB Serial support registered for moto_modem
[ 7.850838] usbserial: USB Serial support registered for motorola_tetra
[ 7.858625] usbserial: USB Serial support registered for novatel_gps
[ 7.866107] usbserial: USB Serial support registered for hp4x
[ 7.872918] usbserial: USB Serial support registered for suunto
[ 7.879888] usbserial: USB Serial support registered for siemens_mpi
[ 7.895371] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1
[ 8.011625] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1
[ 8.022332] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430-sdio.clm_blob failed with error -2
[ 8.034599] brcmfmac mmc1:0001:1: Falling back to user helper
[ 8.716516] firmware brcm!brcmfmac43430-sdio.clm_blob: firmware_loading_store: map pages failed
[ 8.729459] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-11), device may have limited channels available
[ 8.749981] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43430/1 wl0: Aug 29 2016 20:48:16 version 7.45.41.26 (r640327) FWID 01-4527cfab
[ 8.789816] usbcore: registered new interface driver brcmfmac
[ 8.797919] usbcore: registered new interface driver option
[ 8.805007] usbserial: USB Serial support registered for GSM modem (1-port)
[ 8.815558] usbcore: registered new interface driver qcserial
[ 8.822977] usbserial: USB Serial support registered for Qualcomm USB modem
[ 8.831743] kmodloader: done loading kernel modules from /etc/modules.d/*
[ 10.342663] smsc95xx 1-1.1:1.0 eth0: hardware isn’t capable of remote wakeup
[ 10.353489] br-NEW: port 1(eth0) entered blocking state
[ 10.360395] br-NEW: port 1(eth0) entered disabled state
[ 10.367512] device eth0 entered promiscuous mode
[ 10.374759] br-NEW: port 1(eth0) entered blocking state
[ 10.381613] br-NEW: port 1(eth0) entered forwarding state
[ 10.388733] IPv6: ADDRCONF(NETDEV_UP): br-NEW: link is not ready
[ 11.141227] usb 1-1.4: new high-speed USB device number 4 using dwc_otg
[ 11.271955] usb 1-1.4: config 1 has an invalid interface number: 8 but max is 4
[ 11.282144] usb 1-1.4: config 1 has an invalid interface number: 10 but max is 4
[ 11.294695] usb 1-1.4: config 1 has no interface number 1
[ 11.302681] usb 1-1.4: config 1 has no interface number 4
[ 11.311090] usb 1-1.4: New USB device found, idVendor=1199, idProduct=9071
[ 11.320442] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 11.330212] usb 1-1.4: Product: Sierra Wireless MC7455 Qualcomm® Snapdragon™ X7 LTE-A
[ 11.343128] usb 1-1.4: Manufacturer: Sierra Wireless, Incorporated
[ 11.351832] usb 1-1.4: SerialNumber: LQ83260271021025
[ 11.368692] qcserial 1-1.4:1.0: Qualcomm USB modem converter detected
[ 11.378175] usb 1-1.4: Qualcomm USB modem converter now attached to ttyUSB0
[ 11.388710] qcserial 1-1.4:1.2: Qualcomm USB modem converter detected
[ 11.398291] usb 1-1.4: Qualcomm USB modem converter now attached to ttyUSB1
[ 11.408961] qcserial 1-1.4:1.3: Qualcomm USB modem converter detected
[ 11.418640] usb 1-1.4: Qualcomm USB modem converter now attached to ttyUSB2
[ 11.429598] qmi_wwan 1-1.4:1.8: cdc-wdm0: USB WDM device
[ 11.438945] qmi_wwan 1-1.4:1.8 wwan0: register ‘qmi_wwan’ at usb-3f980000.usb-1.4, WWAN/QMI device, e6:f4:01:5f:bc:c6
[ 11.441264] IPv6: ADDRCONF(NETDEV_CHANGE): br-NEW: link becomes ready
[ 11.465335] br-NEW: port 1(eth0) entered disabled state
[ 11.465822] qmi_wwan 1-1.4:1.10: cdc-wdm1: USB WDM device
[ 11.483190] qmi_wwan 1-1.4:1.10 wwan1: register ‘qmi_wwan’ at usb-3f980000.usb-1.4, WWAN/QMI device, e6:f4:01:5f:bc:c6
[ 11.677236] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 11.821857] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
[ 11.877354] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 11.890918] br-NEW: port 1(eth0) entered blocking state
[ 11.897765] br-NEW: port 1(eth0) entered forwarding state

Thanks

Run AT+CGCONTRDP and ensure that modem has IP assigned to it. Then AT!SCACT=1 (instead of AT+CGACT) should bring up the host network interfaces and pings etc will start working.

Hi Joseph,

Thanks for your response. I tried it and yes it does give my modem an IP address and I am able to ping aswell but it is still not connected to 4G. It’s only working through 3G. Please see below:

at!lteinfo?
!LTEINFO: Not Available

OK
at!gstatus?
!GSTATUS:
Current Time: 171 Temperature: 32
Reset Counter: 1 Mode: ONLINE
System mode: WCDMA PS state: Attached
WCDMA band: WCDMA 1900
WCDMA channel: 412
MM (CS) state: IDLE NORMAL SERVICE

WCDMA L1 state:L1M_PCH_SLEEP LAC: Exxx (xxxxx)
RRC state: URA_PCH UTRAN Cell ID: 003xxxxx (xxxxxxx)
RxM RSSI C0: -70 RxD RSSI C0: —
RxM RSSI C1: — RxD RSSI C1: —

I have contacted my service provider and they have confirmed that there is no problem on their side. Which makes sense because I am able to get 4G on the other modem that I have. I am a bit stuck here right now.

If you give AT!BAND=9, does the modem register to LTE? What is
AT!GSTATUS?
ATI
AT!PRIID?
AT+CIMI

Band 9 is not supported by Rogers in Canada. 4 is the most common one for LTE. The others are 7, 12, 13 and 17.

at!gstatus?
!GSTATUS:
Current Time: 1661 Temperature: 32
Reset Counter: 1 Mode: ONLINE
System mode: WCDMA PS state: Attached
WCDMA band: WCDMA 1900
WCDMA channel: 437
MM (CS) state: IDLE NORMAL SERVICE

WCDMA L1 state:L1M_PCH_SLEEP LAC: Exxx (xxxxx)
RRC state: DISCONNECTED UTRAN Cell ID: 003xxxxx (xxxxxxx)
RxM RSSI C0: -76 RxD RSSI C0: —
RxM RSSI C1: — RxD RSSI C1: —

ati
Manufacturer: Sierra Wireless, Incorporated
Model: MC7455
Revision: SWI9X30C_02.30.01.01 r7792 CARMD-EV-FRMWR2 2018/07/13 02:24:52
MEID: 35907xxxxxxxxx
IMEI: 359072xxxxxxxxx
IMEI SV: 16
FSN: LQ832xxxxxxxxx
+GCAP: +CGSM,+DS,+ES

at!piid?
PRI Part Number: 9907763
Revision: 001.000
Customer: Generic-M2M

Carrier PRI: 9999999_9905151_SWI9X30C_02.30.01.01_00_ROGERS_001.023_000

at+cimi
302720xxxxxxxxx

AT!BAND=9 or AT!SELRAT=6 will lock the modem to LTE ( all bands, not just B9). It’s just see what AT!GSTATUS? returns when only LTE is enabled. RSRP, RSRQ etc
at!band=9
OK
at!gstatus?
!GSTATUS:
Current Time: 2479 Temperature: 27
Reset Counter: 5 Mode: ONLINE
System mode: LTE PS state: Attached
LTE band: B12 LTE bw: 10 MHz
LTE Rx chan: 5110 LTE Tx chan: 23110
LTE CA state: INACTIVE LTE Scell band:B2
LTE Scell bw:20 MHz LTE Scell chan:700
EMM state: Registered Normal Service
RRC state: RRC Connected
IMS reg state: No Srv

PCC RxM RSSI: -74 RSRP (dBm): -104
PCC RxD RSSI: -68 RSRP (dBm): -101
SCC RxM RSSI: -86 RSRP (dBm): -107
SCC RxD RSSI: -80 RSRP (dBm): -109
Tx Power: – TAC: 8315 (33557)
RSRQ (dB): -13.6 Cell ID: 04BC9C0F (79469583)
SINR (dB): 1.6

OK

Jon and Joseph,

The problem was on the carrier’s side. It took me a few days but looks like I’m able to connect to 4G now. Thank you so much.

I will get back here with any questions I have!