Skip to content

Instantly share code, notes, and snippets.

@ehrmann
Last active February 9, 2021 00:10
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ehrmann/7d1d25e10a1044cff024e099cb37dfd5 to your computer and use it in GitHub Desktop.
Save ehrmann/7d1d25e10a1044cff024e099cb37dfd5 to your computer and use it in GitHub Desktop.
OpenWRT Sprint Hotspot Notes

OpenWRT compatible devices

Sprint-compatible LTE modems

MC vs EM is the form factor. Most devices are USB devices that the USB interface on MiniPCIe. SIM support works by wiring pins from the SIM card to standard pins on the PCIe interface. 74xx models use USB3, but some boards don't support this. As a workaround, you can tape over USB3 pins, forcing the device to USB2.

  • EM7455
  • MC7455
  • MC7354

Sprint-compatible SIM cards

Specific Sprint SIM cards can only activate specific IMEI ranges. Common SIM cards probably won't work with an LTE modem. BestCellular sells specialized Sprint SIM cards and has a Sprint SIM card compatibilty matrix. Searching their site also finds compatible cards. End-of-life cards work fine. Remember to get the right size card or an adapter.

Rooting Mikrotik Router OS

https://github.com/0ki/mikrotik-tools

OpenWRT packages

base-files - 191-r7360+111-e15565a01c
busybox - 1.28.4-2
dnsmasq - 2.80test2-4
dropbear - 2017.75-6
firewall - 2018-07-02-72684e5b-1
fstools - 2018-05-23-dd02dad3-1
fwtool - 1
glib2 - 2.56.1-1
hostapd-common - 2018-05-21-62566bc2-4
ip6tables - 1.6.2-2
iptables - 1.6.2-2
iw - 4.14-1
iwinfo - 2018-05-18-e59f9253-1
jshn - 2018-06-07-3c1b33b7-2
jsonfilter - 2018-02-04-c7e938d6-1
kernel - 4.9.111-1-3ac64a7e0cff1e878d6c40ac7e57d40b
kmod-ath - 4.9.111+2017-11-01-9
kmod-ath9k - 4.9.111+2017-11-01-9
kmod-ath9k-common - 4.9.111+2017-11-01-9
kmod-cfg80211 - 4.9.111+2017-11-01-9
kmod-gpio-button-hotplug - 4.9.111-2
kmod-ip6tables - 4.9.111-1
kmod-ipt-conntrack - 4.9.111-1
kmod-ipt-core - 4.9.111-1
kmod-ipt-nat - 4.9.111-1
kmod-ledtrig-gpio - 4.9.111-1
kmod-lib-crc-ccitt - 4.9.111-1
kmod-mac80211 - 4.9.111+2017-11-01-9
kmod-mii - 4.9.111-1
kmod-nf-conntrack - 4.9.111-1
kmod-nf-conntrack6 - 4.9.111-1
kmod-nf-ipt - 4.9.111-1
kmod-nf-ipt6 - 4.9.111-1
kmod-nf-nat - 4.9.111-1
kmod-nf-reject - 4.9.111-1
kmod-nf-reject6 - 4.9.111-1
kmod-nls-base - 4.9.111-1
kmod-ppp - 4.9.111-1
kmod-pppoe - 4.9.111-1
kmod-pppox - 4.9.111-1
kmod-slhc - 4.9.111-1
kmod-usb-core - 4.9.111-1
kmod-usb-ehci - 4.9.111-1
kmod-usb-net - 4.9.111-1
kmod-usb-net-cdc-mbim - 4.9.111-1
kmod-usb-net-cdc-ncm - 4.9.111-1
kmod-usb-net-qmi-wwan - 4.9.111-1
kmod-usb-net-sierrawireless - 4.9.111-1
kmod-usb-ohci - 4.9.111-1
kmod-usb-serial - 4.9.111-1
kmod-usb-serial-qualcomm - 4.9.111-1
kmod-usb-serial-sierrawireless - 4.9.111-1
kmod-usb-serial-wwan - 4.9.111-1
kmod-usb-wdm - 4.9.111-1
kmod-usb2 - 4.9.111-1
libattr - 20170915-1
libblobmsg-json - 2018-06-07-3c1b33b7-2
libc - 1.1.19-1
libffi - 3.2.1-3
libgcc - 7.3.0-1
libip4tc - 1.6.2-2
libip6tc - 1.6.2-2
libiwinfo - 2018-05-18-e59f9253-1
libjson-c - 0.12.1-1
libjson-script - 2018-06-07-3c1b33b7-2
libmbim - 1.16.0-1
libncurses - 6.1-1
libnl-tiny - 0.1-5
libpthread - 1.1.19-1
libqmi - 1.20.0-1
librt - 1.1.19-1
libubox - 2018-06-07-3c1b33b7-2
libubus - 2018-01-16-5bae22eb-1
libuci - 2018-03-24-5d2bf09e-1
libuclient - 2017-11-02-4b87d831-1
libusb-1.0 - 1.0.22-1
libxtables - 1.6.2-2
logd - 2018-02-14-128bc35f-2
mtd - 21
netifd - 2018-07-11-5cf79759-1
odhcp6c - 2018-06-20-b99c1f63-13
odhcpd-ipv6only - 1.9-1
openwrt-keyring - 2018-05-18-103a32e9-1
opkg - 2017-12-07-3b417b9f-2
ppp - 2.4.7-12
ppp-mod-pppoe - 2.4.7-12
procd - 2018-07-05-a0372ac0-1
rbcfg - 2
rssileds - 0.2-1
screen - 4.6.2-1
swconfig - 11
terminfo - 6.1-1
ubi-utils - 2.0.2-1
uboot-envtools - 2018.03-1
ubox - 2018-02-14-128bc35f-2
ubus - 2018-01-16-5bae22eb-1
ubusd - 2018-01-16-5bae22eb-1
uci - 2018-03-24-5d2bf09e-1
uclient-fetch - 2017-11-02-4b87d831-1
uqmi - 2016-12-19-8ceeab69-3
usb-modeswitch - 2017-12-19-f40f84c2-1
usbutils - 007-8
usign - 2015-07-04-ef641914-1
wireless-regdb - 2017-10-20-4343d359
wpad-mini - 2018-05-21-62566bc2-4
wwan - 2014-07-17-1
zlib - 1.2.11-2

Multiple cdc-wdm devices (cdc-wdm0 and cdc-wdm1)

[Multiple cdc-wdm devices on Sierra Wireless QMI modems enables] concurrent connections to more than one APN before the qmap muxing feature was added.

https://lists.freedesktop.org/archives/libqmi-devel/2017-June/002373.html

Sierra Wireless AT commands

Sierra Wireless MC7455|EM7455 AT Command Guide mirror

Firware update with qmi-firmware-update

You can update your firmware with OpenWRT if you install libqmi. It's buildable from modemmanager-openwrt. It might be smart to just use modemmanager, but it's not required.

https://sigquit.wordpress.com/2016/12/09/qmi-firmware-update-with-libqmi/

# Match these values with the firmware image
qmicli -d /dev/cdc-wdm0 --dms-set-firmware-preference="05.05.63.01,005.037_000,SPRINT"

qmicli -d /dev/cdc-wdm0 --dms-set-operating-mode=offline
qmicli -d /dev/cdc-wdm0 --dms-set-operating-mode=reset

# Wait for a single /dev/ttyUSB device to appear.
# Add --ignore-mm-runtime-check id modem manager isn't installed
qmi-firmware-update -t /dev/ttyUSB0 --update-qdl SWI9X15C_05.05.63.01.cwe SWI9X15C_05.05.63.01_S_005.037_000.nvu

Misc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment