Help with MC7455 in OpenWRT router

Hi,

We are using MC7354 in openwrt routers with qmi-wwan and serial option drivers not Gobi driver, we need to update firmware. how to update firmware please tell me.

The simplest way would be to just plug it into the computer and do it from there.

No, actually our devices are in clients locations not in my location so i need to change firmware verizon to ATT or ATT to Verizon like that so i can’t update with that way. we giving to devices customers so whenever they want to convert verizon to ATT we need to provide that firmware

The mc7455 holds up to 4 firmwares I believe. Then to switch firmware all thats needed is at!impref=“whatever firmware you want”

I named mine
at!impref=“sprint”
at!impref=“virizon”
at!impref=“t-mobile”
at!impref=“generic”

I know this doesn’t help you now but I’m not sure how you would do it any other way if you didn’t do it when it was in your possession.

Easy! (at your own risk)

Build libqmi from git master, explicitly using–without-udev during configure.
https://cgit.freedesktop.org/libqmi

See qmi-firmware-update --help and --help-examples.

If running in OpenWRT/LEDE you’ll need several manual steps, as listed in the example below. In standard distributions with udev support, see examples for the more advanced “–update” operation.

Example: Manual process to update a Sierra Wireless MC7354.
  (or other 9x15 or 9x30 devices, like the MC7304, MC7330, MC7455... ).

 The upgrade of devices from the 9x15 and 9x30 families is triggered via a
 'firmware preference' setting. If the device accepts the setting, the user
 can request a device power cycle, which will boot in QDL download mode:

 a) Set firmware preference setting:
    $ sudo qmicli \
          -d /dev/cdc-wdm0 \
          --dms-set-firmware-preference="05.05.58.00,005.025_002,Generic"

 b) Request power cycle:
    $ sudo qmicli \
          -d /dev/cdc-wdm0 \
          --dms-set-operating-mode=offline
    $ sudo qmicli \
          -d /dev/cdc-wdm0 \
          --dms-set-operating-mode=reset

 c) Wait for the /dev/ttyUSB device to appear.

 d) Run updater operation while in QDL download mode:
    $ sudo qmi-firmware-update \
          -t /dev/ttyUSB0 \
          --update-qdl \
          SWI9X15C_05.05.58.00.cwe \
          SWI9X15C_05.05.58.00_Generic_005.025_002.nvu

 d) Now wait for the device to fully reboot, may take up to several minutes.
1 Like

I’m running my setup using all the instructions that were provided to me via this thread. Everything works great when it is working, however, at least every couple days I lose Internet and it is very difficult to get the router and modem working again. I get all kinds of mbim errors, subscription errors, etc. It never reboots with the correct date and time. But then sometimes the watchdog program fixes it right away, or one reboot fixes it. It’s so frustrating. If I’m not at home when it happens, my wife and teenagers are without Internet until I get home and fix it. I still don’t know why it happens. I don’t know if it’s my hardware, a software error, or the Sprint signal.

With the recent return of Verizon’s unlimited data, I’m considering dumping my unlimited Sprint and adding the modem to my existing Verizon account. My question is, how easy/difficult would it be to convert the Linksys router and MC7455 from Sprint to Verizon?

Also, I was told not to install Sprint specific firmware on the MC7455, or I wouldn’t be able to get it connect,so the discussion above confuses me. What is the point of installing all the different firmwares if they don’t help? I was told the generic firmware would mask my actual hardware from Sprint and prevent them from blocking me. Is this the case with Verizon also? Is anyone using this setup with Verizon?

Thank you all for helping me get this far.

I got it to work. I changed the apn but didn’t know how to specify the bands like I did for Sprint, so I just had to put at!band=09 which was for all LTE bands. It automatically grabbed band 2 when it connected. Anyone know how I would specify the Verizon bands like these Sprint bands? I don’t know what all the digits are at the end of each line.

at!entercnd=“A710”
at!band=0d,“Sprint (All)”,0,10003000000
at!band=0a,“B41”,0,10000000000
at!band=0b,“B25”,0,00001000000
at!band=0c,“B26”,0,00002000000

Also, how do I get the MC7455 to take advantage of Verizon’s LTE Advanced?

****Edit - here are the commands I entered for Verizon

at!entercnd=“A710”
at!band=0a,“Verizon B2”,0000000000000000,0000000000000002
at!band=0b,“Verizon B4”,0000000000000000,0000000000000008
at!band=0c,“Verizon B13”,0000000000000000,0000000000001000
at!band=0d,“Verizon All Bands”,0000000000000000,0000000000001010

“LTE_B2”,0000000000000000,000000000000002,0000000000000002,0000000000000000

“LTE_B4”,0000000000000000,000000000000008,0000000000000008,0000000000000000

“LTE_B5”,0000000000000000,0000000000000010,0000000000000010,0000000000000000

“LTE_B7”,0000000000000000,000000000000040,0000000000000040,0000000000000000

“LTE_B12”,0000000000000000,000000000000800,0000000000000800,0000000000000000

“LTE_B13”,0000000000000000,0000000000001000,0000000000001000,0000000000000000

“LTE_B41”,0000000000000000,0000010000000000,0000010000000000,0000000000000000

“LTE_B25”,0000000000000000,0000000001000000,0000000001000000,0000000000000000

“LTE_B26”,0000000000000000,0000000002000000,0000000002000000,0000000000000000

Those are all the bands.

Just do

At!entercnd=“A710”
At!band=0a, then one of the bands above and then do 0b 0c and so on.

If you want to combine bands to lock to for carrier aggregation just take the numbers and add them together and it will combine the 2 bands.

I followed you up until “take the numbers and add them together.” Sorry, I’m an idiot when it comes to this. :cry:

Verizon LTE bands are 2, 4, & 13

Say you have

Band 1 0000003,000000100,00000000
Band 3 0000010,100000200,00000001

Band 1 and 3 would be the 2 added together such as this

Band 1 and 3 0000013,100000300,00000001

I just made these up so don’t use them for anything.

I was able to specify all three Verizon LTE bands, 2, 4, & 13, on the MC7455 via this command:

at!band=0d,“Verizon All Bands”,0000000000000000,0000000000001010

However, it seems I only ever have one band connected at a time. I’m not seeing speeds anywhere near what my LTE Advanced LG V20 can produce, which has been as high as 80 Mbps in my home (on Verizon).

I know Sierra Wireless states that the MC7455 is LTE Advanced compatible, but does the OpenWRT (Lede) software have to be able to take advantage of that, or is it all in the modem? It just seems like I’m missing something here. It’s like the command above just tells the modem which bands it has access to…instead of telling it to actually use multiple bands at one time.

As they are adding support for 4.9 kernel on many devices on LEDE, have anyone got this working in QMI mode?

Yes im using QMI mode on a 4.9 build

Im using modemmanager in qmi on libqmi. Im still working out some bugs though.

So not ready to use as main home internet yet?

Does kernel 4.9 and QMI mode utilize carrier aggregation on multiple bands?

You can test it out if you want. I have firmware built for the ac series linksys if you want one with modemmanager compiled in.

Here is linksys wrt1900acs firmware with modem manager compiled in. Qmi works. Im still having a few issues using it on sprint in generic mode so maybe someone can help me figure it out.

If already using lede or open wrt use sysupgrade. if using linksys firmware use factory.

dropbox.com/s/2ty9kyqmkzbce … e.bin?dl=0

dropbox.com/s/c8cgxuqk8bdyh … y.img?dl=0

in network file add the following lines adding your apn and changing whats in bold to the sysyem device you find when typing mmcli -m 0 in putty. What is in bold is just an example. change it to the system device you find using mmcli -m 0

config interface ‘broadband’
option device '/sys/devices/platform/soc/20980000.usb/usb1/1-1/1-1.2/
option proto ‘modemmanager’
option apn ‘your.apn’

in firewall file add the following thats in bold

config zone
option name ‘wan’
list network ‘wan’
list network ‘wan6’
list network ‘broadband’
option input ‘REJECT’
option output ‘ACCEPT’
option forward ‘REJECT’
option masq ‘1’
option mtu_fix ‘1’

I too am wondering how/when the MC7455 decides to use channel aggregation on Verizon in a MIMO setup; and is it only downlink? And can aggregation occur across two channels on the same band, or must they be on different bands?

I’m no expert, but I don’t think this is giving what you want for band selection for Verizon:

at!band=0d,“Verizon All Bands”,0000000000000000,0000000000001010

I think the above is only giving you Band 13 and Band 5. The command below should configure your MC7455 for all Verizon bands (13, 5, 4, 2).

at!band=0d,“Verizon All Bands”,0000000000000000,000000000000101A

The hex “A” is for band 4 and band 2 (8 + 2 = decimal 10 = hex A).

0000000000001000 - B13
0000000000000010 - B5
0000000000000008 - B4
0000000000000002 - B2

Regards

I wondered why I got band 5 when I used 0000000000000010. Verizon doesn’t even use band 5, yet I connected but had high pings and low speeds. Weird. Thanks for setting me straight.

Do I need to take the modem out of mbim mode and put it back into qmi mode to run the new software? If so, how do I do that?

I’d like to be able to save my existing setup so I can easily change it back if I can’t get the new software to work. The fam can’t go without Internet for too long. :unamused:

Edit

I found this on OpenWRt forum. Seems easy enough.

cat /dev/mtd5 >/tmp/backup.bin
Download that file to your computer.
That’s it. You got the full backup of the firmware (root+rootfs_data).
To restore? Transfer it to /tmp in router.
sysupgrade -v -n backup.bin
(the -n is to not preserve the current config in the router, as you will overwrite it)

Yes you would want to switch to qmi to get the benefits from using qmi. It would work in mbim also but with limited functions.

Mmcli -m 0 will show signals and bands.

Mmcli --help-all will show you everything you can do.

To put the mc7455 into qmi
At!entercnd=“A710”
At!USBCOMP=1,1,10D
At!restart

You shouldn’t need to run any reconnection stuff as qmi auto reconnects