- Modem Performance/Specifications
- Official Sierra Documents/Firmwares (May require free Sierra account)
- Which Modem to Buy
- Adapters and Antennas
- Create Accessible COM Port
- Manual Flashing Procedure (Linux)
- Basic Setup
- Change Modem Identity (Sierra Wireless / Lenovo / Dell)
- Useful Commands/Info
- Connectivity/Router Options
- Additional References
-
The EM7455/MC7455 is a Category 6 LTE modem. It is capable of 300Mbps down and 50Mbps up.
-
Real world, you are unlikely to ever see much more than 230Mbps, even on Sprint Carrier Aggregation of Band 41+41 (40MHz total).
-
These are my peak results so far (B2+B12, 30MHz total):
-
Higher speeds will require a modem capable of 3CA (Three Carrier Aggregation) such as the em7565
- EM7565 allows 3CA of B2+B12+B30 for a total downlink of 40MHz on approximately 60% of AT&T towers (Assuming you are close and have a strong signal).
- LTEFix now offers the em7565 pre-flashed to the latest firmware. If the process of flashing seems daunting, I suggest you purchase through them and pay for the flashing service as you will receive a modem already in a usable state.
- These are my peak results so far (B2+B12+B30, 40MHz total):
- Sierra EM7455 Product Page
- Sierra Wireless AirPrime EM74xx-MC74xx AT Command Reference (PDF)
- AirPrime - EM7455 - Product Technical Specification (PDF)
- All firmwares
-
For every use other than installing in a Lenovo *70 Series.
- ~$60 Dell DW5811e em7455
- This model supports Bands 29 and 30, unlike the Lenovo.
- When purchasing the Dell, I would recommend you get a production model. Engineering Samples will sometimes contain an early (SWI9X30C_00.08.02.00) firmware that can be a royal pain to flash due to
AT!BOOTHOLD
not being implemented.
-
For use in a ThinkPad L470, L570, P51, P51s, P70, P71, T470, T470p, T470s, T570, TP25, X270
- ~$90 EM7455 module (4XC0M95181 / 01AX746)
- This is required due to a Lenovo Firmware lock. If you get the less expensive 4XC0L59128, your T470 will not recognize it when installed in the WWAN slot.
- Specs: https://download.lenovo.com/pccbbs/options_iso/tp_em7455_4g_lte_4xc0m95181.pdf
-
For use in a ThinkPad T460, T460s, T460p, T560, X260, X1 Carbon, L460, P50, P70~$70 EM7455 module (4XC0L59128 / 00JT542):Specs: https://download.lenovo.com/pccbbs/options_iso/tp_em7455_4gltem_4xc0l59128.pdf- Do not waste your money on the Lenovo EM7455 (4XC0L59128 / 00JT542). It lacks Bands 29 and 30. If you get the Dell, you can change its identity according to my instructions and it will work in a Lenovo *60 series. I currently have a DW5811e in my T460s.
- Get USB adapter with SIM slot for modem
- $26, shipped from Texas. Includes small 3dBi antennas.
- If you are at the edge of coverage and need something better, look for 700-2700 MHz antennas with SMA connectors.
- Buy some $0.75 SMA Female To RP-SMA Male Adapters if you buy antennas, just to be sure you can use what you get.
- SMA vs RP-SMA, learn the difference
- Log-Periodic antennas offer excellent gain for a low cost and small footprint.
- Omni-Antennas can boost overall signal if you already have decent service and just want great service.
- While not explicitly tuned to Band 12/13/17, a pair of 2.4GHz 9dBi RP-SMA Antennas will provide a nice signal boost.
- Buy some $0.75 SMA Female To RP-SMA Male Adapters if you buy antennas, just to be sure you can use what you get.
My Automated Flashing of the EM7455/MC7455 with a Ubuntu Linux 18.04 LiveCD script will complete this task.
- Option 1: Use my automatic script to do all configuration. This will change any of the Dell/Lenovo/Generic modems to Generic MBIM with AT ports and update the firmware to the newest version.
- WARNING: Only for use with an external USB enclosure.
- Create a Bootable LiveCD/LiveUSB Ubuntu 18.04
- Run my script, follow on screen instructions.
- Option 2: Sierra Wireless MC7455 | EM7455 -- AT! Command Guide
- Use Putty instead of the Huawei program
- Option 3: Sierra Wireless EM7455: How to enable COM ports
- Use Rufus to write the Ubuntu image, if it asks, use
dd
mode.
- Use Rufus to write the Ubuntu image, if it asks, use
- Install libqmi-utils version 1.20 (It is not yet in the main repositories)
wget http://security.ubuntu.com/ubuntu/pool/universe/libq/libqmi/libqmi-utils_1.20.0-1ubuntu1_amd64.deb
dpkg -i libqmi-utils_1.20.0-1ubuntu1_amd64.deb
wget http://security.ubuntu.com/ubuntu/pool/main/libq/libqmi/libqmi-glib5_1.20.0-1ubuntu1_amd64.deb
dpkg -i libqmi-glib5_1.20.0-1ubuntu1_amd64.deb
wget http://security.ubuntu.com/ubuntu/pool/main/libq/libqmi/libqmi-proxy_1.20.0-1ubuntu1_amd64.deb
dpkg -i libqmi-proxy_1.20.0-1ubuntu1_amd64.deb
wget http://security.ubuntu.com/ubuntu/pool/universe/libq/libqmi/libqmi-utils_1.20.0-1ubuntu1_amd64.deb
dpkg -i libqmi-utils_1.20.0-1ubuntu1_amd64.deb
- Get the latest firmware bundle from Sierra Wireless.
curl -o SWI9X30C_02.30.01.01_Generic_002.045_000.zip -L https://source.sierrawireless.com/~/media/support_downloads/airprime/74xx/fw/02_30_01_01/7455/swi9x30c_02.30.01.01_generic_002.045_000.ashx
- Extract firmware CWE and NVU.
unzip SWI9X30C_02.30.01.01_Generic_002.045_000.zip
- Stop Modem Manager
systemctl stop ModemManager
- Flash firmware
deviceid=`lsusb | grep -i -E '1199:9071|1199:9079|413C:81B6' | awk '{print $6}'` qmi-firmware-update --update -d "$deviceid" SWI9X30C_02.30.01.01.cwe SWI9X30C_02.30.01.01_GENERIC_002.045_000.nvu
- Modem will reset with new firmware and carrier profile.
My Automated Flashing of the EM7455/MC7455 with a Ubuntu Linux 18.04 LiveCD script will complete this task.
- Enable Advanced Commands:
AT!ENTERCND="A710"
- Set preferred image to GENERIC (Will error if Generic does not exist)
AT!IMPREF="GENERIC"
- Set Interface bitmask to 0000100D (diag,nmea,modem,mbim). This is the same as USBCOMP=8.
AT!USBCOMP=1,1,0000100D
- Set LTE Only (Disables UMTS/HSDPA/3G fallback, which you probably dont want)
AT!SELRAT=06
- Set Modem to use all available bands (Dont hide any bands)
AT!BAND=00
- Save settings and reboot modem to apply
AT!RESET
- Enable Advanced Commands:
AT!ENTERCND="A710"
- Set preferred image to GENERIC (Will error if Generic does not exist)
AT!IMPREF="GENERIC"
- Set Interface bitmask to 0000100D (diag,nmea,modem,mbim).
AT!USBCOMP=1,3,0000100D
- Set LTE Only (Disables UMTS/HSDPA/3G fallback, which you probably dont want)
AT!SELRAT=06
- Set Modem to use all available LTE bands (Dont hide any bands)
AT!BAND=00
AT!BAND=09
- Save settings and reboot modem to apply
AT!RESET
- Run the following AT commands to set to LTE only, and set the USB Composition to something that works with ROOter.
AT!ENTERCND="A710"
AT!BAND=00
AT!BAND=09
AT!SELRAT=06
AT!USBCOMP=1,3,100D
AT!RESET
- Run the following from SSH:
# Replace hooks for AirCard 340U (if you use a 340U, use PID 9041 as your sacrificial PID):
sed -i 's/ 9051 / 9091 /g' /usr/lib/rooter/connect/create_connect.sh
# Insert PID for EM7455 on every boot:
sed -i '$s%^exit 0%echo "1199 9091" > /sys/bus/usb-serial/drivers/option1/new_id\nexit 0\n%' /etc/rc.local
# Insert PID for EM7455 on immediately:
echo "1199 9091" > /sys/bus/usb-serial/drivers/option1/new_id
My Automated Flashing of the EM7455/MC7455 with a Ubuntu Linux 18.04 LiveCD script will complete this task.
- Enable Terminal Echo
ATE1
- Enable Advanced Commands:
AT!ENTERCND="A710"
- Record current settings so you can revert if needed.
Note the Carrier PRI, we'll use that below.
AT!USBVID? AT!USBPID? AT!USBPRODUCT? AT!PRIID?
Carrier PRI: 9999999_9904609_SWI9X30C_02.24.05.06_00_GENERIC_002.026_000 PRI Part Number: 9904609 Revision: 002.026 Customer: Generic-Laptop
- Change Modem Identity (Generic, Lenovo, or Dell)
Change Modem into a Generic Sierra Wireless em7455/mc7455
Change Modem into a Lenovo em7455/mc7455 (Use this if installing in a Lenovo)
AT!USBVID=1199 AT!USBPID=9071,9070 AT!USBPRODUCT="EM7455" AT!PRIID="9904609","002.026","Generic-Laptop"
Change Modem into a Dell DW5811e em7455/mc7455AT!USBVID=1199 AT!USBPID=9079,9078 AT!USBPRODUCT="Sierra Wireless EM7455 Qualcomm Snapdragon X7 LTE-A" AT!PRIID="9904609","002.026","Lenovo-Storm"
AT!USBVID=413C AT!USBPID=81B6,81B5 AT!USBPRODUCT="Dell Wireless 5811e Gobi(TM)4G LTE Mobile Broadband Card" AT!PRIID="9904609","002.026","DELL"
- Save settings and reboot modem to apply
AT!RESET
- For qmi-firmware-update does not work with the 75xx series. Use this procedure instead.
deviceid=`lsusb | grep -i -E '1199:9070|1199:9078|413C:81B5' | awk '{print $6}'`
qmi-firmware-update --update-qdl -d "$deviceid" SWI9X30C_02.24.05.06.cwe SWI9X30C_02.24.05.06_GENERIC_002.026_000.nvu
Enable Terminal Echo
ATE1
Enable Advanced Commands:
AT!ENTERCND="A710"
Clear all Carrier Preferences/Firmwares other than current(You will want to flash the modem after this):
AT!IMAGE?
AT!IMAGE=0
AT!RESET
AT!IMAGE=?
AT!IMAGE=<op>[,<type>[,<slot>[,"<build_id>","<unique_id>"]]]
op - 0:delete 1:list 2:get max num images
type - 0:FW 1:CONFIG
slot - FW slot index - none implies all slots
AT!IMAGE?[<op>[,<type>]]
Selectively Clear Firmwares:
- Example: Delete (0), FW (0), Slot (3)
AT!ENTERCND="A710"
AT!IMAGE=0,0,3
AT!RESET
Clear all changes and restore to (Lenovo/Sierra) factory settings:
AT!ENTERCND="A710"
AT!RMARESET=1
AT!RESET
Clear all changes and restore to (Dell) factory settings:
AT!ENTERCND="A710"
AT!NVRESTORE=0
AT!RESET
Lock LTE Bands (Pick one)
AT!BAND=10,"B2 (1900)",0,0000000000000002
AT!BAND=10,"B4 (1700/2100)",0,0000000000000008
AT!BAND=10,"B5 (850)",0,0000000000000010
AT!BAND=10,"B12 (700)",0,0000000000000800
AT!BAND=10,"B2B4",0,000000000000000A
AT!BAND=10,"B2B4B5B12",0,000000000000081A
Set Band Lock:
AT!BAND=10
Clear Band Lock:
AT!BAND=00
AT!LTEINFO?
!LTEINFO:
Serving: EARFCN MCC MNC TAC CID Bd D U SNR PCI RSRQ RSRP RSSI RXLV
800 310 410 35666 0A14666A 2 5 5 22 404 -14.1 -79.6 -45.5 --
IntraFreq: PCI RSRQ RSRP RSSI RXLV
404 -14.1 -79.6 -45.5 --
402 -20.0 -89.3 -57.6 --
InterFreq: EARFCN ThresholdLow ThresholdHi Priority PCI RSRQ RSRP RSSI RXLV
5110 0 0 0 272 -12.1 -80.9 -50.6 0
Show available Carrier Aggregations for your modem:
AT!LTECA?
Hardware:
LTEB1: B8,
LTEB2: B2, B5, B12, B13, B29,
LTEB3: B7, B20,
LTEB4: B4, B5, B12, B13, B29,
LTEB5: B2, B4, B30,
LTEB7: B3, B7, B20,
LTEB8: B1,
LTEB12: B2, B4, B30,
LTEB13: B2, B4,
LTEB20: B3, B7,
LTEB25:
LTEB26:
LTEB29:
LTEB30: B5, B12, B29,
LTEB41: B41,
Permitted Bands:
Empty
Prune_ca_combos:
Empty
AT!LTECA=?
!LTECA=<flag>
<flag>: 0 – disable CA
1 – enable CA
AT!GSTATUS?
!GSTATUS:
Current Time: 22016 Temperature: 40
Reset Counter: 1 Mode: ONLINE
System mode: LTE PS state: Attached
LTE band: B2 LTE bw: 20 MHz
LTE Rx chan: 800 LTE Tx chan: 18800
LTE CA state: ACTIVE LTE Scell band:B12
LTE Scell bw:10 MHz LTE Scell chan:5110
EMM state: Registered Normal Service
RRC state: RRC Connected
IMS reg state: No Srv
PCC RxM RSSI: -45 RSRP (dBm): -81
PCC RxD RSSI: -44 RSRP (dBm): -79
SCC RxM RSSI: -52 RSRP (dBm): -83
SCC RxD RSSI: -51 RSRP (dBm): -81
Tx Power: 15 TAC: 8C65 (35666)
RSRQ (dB): -14.0 Cell ID: 0A14666A (169106666)
SINR (dB): 23.8
AT!HWID?
Revision: 0.5
When you see something like AT!BAND=10,"B2B4B5B12",0,000000000000081A
, you may wonder how that number on the end is derrived. It is a bitmask.
- First, unlock Advanced/Admin mode:
AT!ENTERCND="A710"
- Next, check the bitmask options for your specific modem. There will be variations between modems, so always check what is actually available on your modem and reference that table.
AT!BAND=?
Index, Name, GW Band Mask L Band Mask TDS Band Mask
00, All bands 0002000007C00000 00000100130818DF 0000000000000000
01, Europe 3G 0002000000400000 0000000000000000 0000000000000000
02, North America 3G 0000000004800000 0000000000000000 0000000000000000
06, Europe 0002000000400000 00000000000800C5 0000000000000000
07, North America 0000000004800000 000000000300185A 0000000000000000
08, WCDMA ALL 0002000007C00000 0000000000000000 0000000000000000
09, LTE ALL 0000000000000000 00000100130818DF 0000000000000000
0000010000000000 - B41
0000000010000000 - B29
0000000002000000 - B26
0000000001000000 - B25
0000000000080000 - B20
0000000000001000 - B13
0000000000000800 - B12
0000000000000080 - B8
0000000000000040 - B7
0000000000000010 - B5
0000000000000008 - B4
0000000000000004 - B3
0000000000000002 - B2
0000000000000001 - B1
0002000000000000 - B8 (900)
0000000004000000 - B5 (850)
0000000002000000 - B4 (1700)
0000000001000000 - B3 (1700)
0000000000800000 - B2 (1900)
0000000000400000 - B1 (2100)
OK
- Now, if we want to create a mask that combines 3G B2+B1 and LTE B3+B7+B20, we do the following:
- Look at the GW Band column for 3G band bit codes, note that:
0000000000400000 - B1 (2100)
0000000000800000 - B2 (1900)
- Add together the two masks, since we are dealing with hex, 10 = A, 11 = B, 12 = C, and so on:
0000000000C00000 - B1+B2
- Look at the GW Band column for 3G band bit codes, note that:
- Perform the same task for the LTE column (notice that the mask is different than the 3G mask):
- Look at the LTE Band column for LTE band bit codes, note that:
0000000000000004 - B3
0000000000000040 - B7
0000000000080000 - B20
- Add together the three masks:
0000000000080044 - B3+B7+B20
- Look at the LTE Band column for LTE band bit codes, note that:
- To tie it altogether, we issue our custom band command:
AT!BAND=10,"B2B1-B3B7B20",0000000000C00000,0000000000080044
- Finally, we set out custom band in slot 10:
AT!BAND=09
-
Windows 10 will block Hotspot/ICS mode, you cannot use Windows 10's ICS with this setup.
-
Linux doesn't care, it will happily route packets all day long.
-
If you want a dead-simple setup:
- Get a router from this list
- Install ROOter (AKA LEDE/OpenWRT)
- Punch in the APN "broadband"
- Done
- Sierra AirVantage FOTA
- Use your name as Business Name
- Get Modem FSN + IMEI with
ATI
- Change Modem Settings
AT+WDSC=3,x
(x being the frequency of connection in minutes)AT+WDSS=1,1
(Sends initial heartbeat immediately)
- Must tape over USB3 pins on MC74XX:
- Sierra Wireless MC7455 | EM7455 -- AT! Command Guide
- Routers Supported by ROOter
- BPlus USB 3.0 Enclosure for M2 B Key with SIM
- ROOter development thread
- Zukota on enabling COM ports
- ROOter Sierra FAQ
- Interesting AT Command Utility GUI, have not tried it.
- Mikrotik specific:
- pfSense (QMI, wont work without successful decode of engineer mode)
- Engineer Mode Decoder
- Ubuntu fix apt-get on LiveCD
- ROOTer enable fcc auth with QMI command
- Todo: Lookup sending AT Commands with uqmi
/lib/netifd/proto/mbim.sh: uqmi $DBG -m -d $device --fcc-auth
- Using uqmi commands:
- Git Repo for uqmi
- MC7700 flashing by Mork
- SpeedFusion connection bonding with VPS
- Long Range Custom Yagi Setups
- LTE Modulations, Bandwidths, and Datarates:
- Understanding LTE Signal Strength Values
- OpenWrt-ModemManager