Sierra EM7455 Not Registering

I am facing several issues with the Sierra EM7455 Modem.
Many parts I already documented here: https://github.com/danielewood/sierra-wireless-modems/issues/156

The TLDR is that:

  • Using Firmware Version 02.38.00.00 I CANNOT even enable the adapter. It's stuck in low-power mode. And no matter what AT commands I send, or FCC Unlock using NetworkManager I do, it just won't work
  • Using Firmware Version 02.33.03.00 I CAN successfully enable the adapter, but I cannot register to the network. I either get "Registration Failed" or simply non-specific error messages ("Connection attempt failed.").

So for now I stick with Firmware Version 02.33.03.00. I can see something is happening, the Signal Strength % is around 20%-50% (better than 0% !), but apart from that not much is going on. The "POWER" and "WAN" LEDs in the USB adapter I am using stay permanently ON now, whereas with the newer firmware the WAN LED would always stay OFF !

I tried changing Authentication from None to CHAP to PAP/CHAP (both) but either way it won't work.

I am located in Denmark and my provider is TDC.dk and according to the instructions, the APN should simply be "internet". Not a lot of information available concerning PAP or CHAP or authentication overall.

Some information

AT!GSTATUS?
!GSTATUS: 
Current Time:  772              Temperature: 22
Reset Counter: 1                Mode:        ONLINE         
System mode:   LTE              PS state:    Not attached 
LTE band:      B8               LTE bw:      10 MHz  
LTE Rx chan:   3700             LTE Tx chan: 4294967295
LTE CA state:  NOT ASSIGNED
EMM state:     Deregistered     Attach Needed  
RRC state:     RRC Idle       
IMS reg state: No Srv  

PCC RxM RSSI:  -88              RSRP (dBm):  -123
PCC RxD RSSI:  -81              RSRP (dBm):  -111
Tx Power:      --               TAC:         C4E2 (50402)
RSRQ (dB):     -12.8            Cell ID:     032DC578 (53331320)
SINR (dB):      1.6

Debugmode is enabled.

System Logs using None authentication at the end

Tue Jan  2 10:24:16 2024 daemon.info dnsmasq[1]: read /etc/hosts - 12 names
Tue Jan  2 10:24:16 2024 daemon.info dnsmasq[1]: read /tmp/hosts/dhcp.cfg01411c - 4 names
Tue Jan  2 10:24:16 2024 daemon.info dnsmasq[1]: read /tmp/hosts/odhcpd - 2 names
Tue Jan  2 10:24:16 2024 daemon.info dnsmasq-dhcp[1]: read /etc/ethers - 0 addresses
Tue Jan  2 10:24:17 2024 daemon.warn odhcpd[2705]: No default route present, overriding ra_lifetime!
Tue Jan  2 10:24:25 2024 daemon.notice netifd: Interface 'broadband' is setting up now
Tue Jan  2 10:24:25 2024 daemon.notice netifd: broadband (6058): modem available at /org/freedesktop/ModemManager1/Modem/0
Tue Jan  2 10:24:25 2024 daemon.notice netifd: broadband (6058): starting connection with apn 'internet'...
Tue Jan  2 10:24:25 2024 daemon.info [3266]: <info>  [modem0] simple connect started...
Tue Jan  2 10:24:25 2024 daemon.info [3266]: <info>  [modem0] simple connect state (6/10): register
Tue Jan  2 10:25:12 2024 daemon.warn [3266]: <warn>  [modem0] network reject indication received
Tue Jan  2 10:25:12 2024 daemon.warn [3266]: <warn>  [modem0]   service domain: cs-ps
Tue Jan  2 10:25:12 2024 daemon.warn [3266]: <warn>  [modem0]   radio interface: lte
Tue Jan  2 10:25:12 2024 daemon.warn [3266]: <warn>  [modem0]   reject cause: esm-failure
Tue Jan  2 10:25:25 2024 daemon.info [3266]: <info>  [modem0] 3GPP registration state changed (unknown -> idle)
Tue Jan  2 10:25:25 2024 daemon.notice netifd: broadband (6058): error: couldn't connect the modem: 'GDBus.Error:org.freedesktop.ModemManager1.Error.MobileEquipment.NetworkTimeout: Network timeout'
Tue Jan  2 10:25:25 2024 daemon.notice netifd: broadband (6161): stopping network
Tue Jan  2 10:25:25 2024 daemon.notice netifd: broadband (6161): couldn't load bearer path: disconnecting anyway
Tue Jan  2 10:25:25 2024 daemon.notice netifd: Interface 'broadband' is now down
Tue Jan  2 10:25:26 2024 daemon.warn odhcpd[2705]: No default route present, overriding ra_lifetime!

System Logs using PAP/CHAP authentication at the end (username & password empty):

Tue Jan  2 10:32:29 2024 daemon.info dnsmasq[1]: read /etc/hosts - 12 names
Tue Jan  2 10:32:29 2024 daemon.info dnsmasq[1]: read /tmp/hosts/dhcp.cfg01411c - 4 names
Tue Jan  2 10:32:29 2024 daemon.info dnsmasq[1]: read /tmp/hosts/odhcpd - 2 names
Tue Jan  2 10:32:29 2024 daemon.info dnsmasq-dhcp[1]: read /etc/ethers - 0 addresses
Tue Jan  2 10:32:30 2024 daemon.warn odhcpd[2705]: No default route present, overriding ra_lifetime!
Tue Jan  2 10:32:38 2024 daemon.notice netifd: Interface 'broadband' is setting up now
Tue Jan  2 10:32:38 2024 daemon.notice netifd: broadband (8045): modem available at /org/freedesktop/ModemManager1/Modem/0
Tue Jan  2 10:32:38 2024 daemon.notice netifd: broadband (8045): starting connection with apn 'internet'...
Tue Jan  2 10:32:38 2024 daemon.info [3266]: <info>  [modem0] simple connect started...
Tue Jan  2 10:32:38 2024 daemon.info [3266]: <info>  [modem0] simple connect state (4/10): wait to get fully enabled
Tue Jan  2 10:32:38 2024 daemon.info [3266]: <info>  [modem0] simple connect state (5/10): wait after enabled
Tue Jan  2 10:32:38 2024 daemon.info [3266]: <info>  [modem0] simple connect state (6/10): register
Tue Jan  2 10:32:54 2024 daemon.info [3266]: <info>  [modem0] 3GPP registration state changed (searching -> unknown)
Tue Jan  2 10:32:54 2024 daemon.info [3266]: <info>  [modem0] state changed (searching -> enabled)
Tue Jan  2 10:33:39 2024 daemon.info [3266]: <info>  [modem0] 3GPP registration state changed (unknown -> idle)
Tue Jan  2 10:33:39 2024 daemon.notice netifd: broadband (8045): error: couldn't connect the modem: 'GDBus.Error:org.freedesktop.ModemManager1.Error.MobileEquipment.NetworkTimeout: Network timeout'
Tue Jan  2 10:33:39 2024 daemon.notice netifd: broadband (8088): stopping network
Tue Jan  2 10:33:39 2024 daemon.notice netifd: broadband (8088): couldn't load bearer path: disconnecting anyway
Tue Jan  2 10:33:39 2024 daemon.notice netifd: Interface 'broadband' is now down
Tue Jan  2 10:33:40 2024 daemon.warn odhcpd[2705]: No default route present, overriding ra_lifetime!

System Logs using PAP authentication at the end (username & password empty):

Tue Jan  2 10:26:57 2024 daemon.notice netifd: Interface 'broadband' is setting up now
Tue Jan  2 10:26:57 2024 daemon.notice netifd: broadband (6571): modem available at /org/freedesktop/ModemManager1/Modem/0
Tue Jan  2 10:26:57 2024 daemon.notice netifd: broadband (6571): starting connection with apn 'internet'...
Tue Jan  2 10:26:57 2024 daemon.info [3266]: <info>  [modem0] simple connect started...
Tue Jan  2 10:26:57 2024 daemon.info [3266]: <info>  [modem0] simple connect state (6/10): register
Tue Jan  2 10:27:41 2024 daemon.notice netifd: broadband (6715): stopping network
Tue Jan  2 10:27:42 2024 daemon.notice netifd: broadband (6715): couldn't load bearer path: disconnecting anyway
Tue Jan  2 10:27:42 2024 daemon.notice netifd: Interface 'broadband' is now down
Tue Jan  2 10:27:42 2024 daemon.notice netifd: Interface 'broadband' is setting up now
Tue Jan  2 10:27:42 2024 daemon.notice netifd: broadband (6735): modem available at /org/freedesktop/ModemManager1/Modem/0
Tue Jan  2 10:27:42 2024 daemon.notice netifd: broadband (6735): starting connection with apn 'internet'...
Tue Jan  2 10:27:42 2024 daemon.info [3266]: <info>  [modem0] simple connect started...
Tue Jan  2 10:27:42 2024 daemon.info [3266]: <info>  [modem0] simple connect state (6/10): register
Tue Jan  2 10:27:43 2024 daemon.warn odhcpd[2705]: No default route present, overriding ra_lifetime!
Tue Jan  2 10:27:43 2024 daemon.info dnsmasq[1]: read /etc/hosts - 12 names
Tue Jan  2 10:27:43 2024 daemon.info dnsmasq[1]: read /tmp/hosts/dhcp.cfg01411c - 4 names
Tue Jan  2 10:27:43 2024 daemon.info dnsmasq[1]: read /tmp/hosts/odhcpd - 2 names
Tue Jan  2 10:27:43 2024 daemon.info dnsmasq-dhcp[1]: read /etc/ethers - 0 addresses
Tue Jan  2 10:27:44 2024 daemon.warn odhcpd[2705]: No default route present, overriding ra_lifetime!
Tue Jan  2 10:27:56 2024 daemon.notice netifd: broadband (7114): stopping network
Tue Jan  2 10:27:56 2024 daemon.notice netifd: broadband (7114): couldn't load bearer path: disconnecting anyway
Tue Jan  2 10:27:56 2024 daemon.notice netifd: Interface 'broadband' is now down
Tue Jan  2 10:27:56 2024 daemon.notice netifd: Interface 'broadband' is setting up now
Tue Jan  2 10:27:56 2024 daemon.notice netifd: broadband (7134): modem available at /org/freedesktop/ModemManager1/Modem/0
Tue Jan  2 10:27:57 2024 daemon.notice netifd: broadband (7134): starting connection with apn 'internet'...
Tue Jan  2 10:27:57 2024 daemon.info [3266]: <info>  [modem0] simple connect started...
Tue Jan  2 10:27:57 2024 daemon.info [3266]: <info>  [modem0] simple connect state (6/10): register
Tue Jan  2 10:27:57 2024 daemon.warn odhcpd[2705]: No default route present, overriding ra_lifetime!
Tue Jan  2 10:27:58 2024 daemon.info dnsmasq[1]: read /etc/hosts - 12 names
Tue Jan  2 10:27:58 2024 daemon.info dnsmasq[1]: read /tmp/hosts/dhcp.cfg01411c - 4 names
Tue Jan  2 10:27:58 2024 daemon.info dnsmasq[1]: read /tmp/hosts/odhcpd - 2 names
Tue Jan  2 10:27:58 2024 daemon.info dnsmasq-dhcp[1]: read /etc/ethers - 0 addresses
Tue Jan  2 10:27:58 2024 daemon.info [3266]: <info>  [modem0] 3GPP registration state changed (unknown -> idle)
Tue Jan  2 10:27:59 2024 daemon.warn odhcpd[2705]: No default route present, overriding ra_lifetime!
Tue Jan  2 10:28:00 2024 daemon.info [3266]: <info>  [modem0] 3GPP registration state changed (idle -> unknown)
Tue Jan  2 10:28:06 2024 daemon.notice netifd: broadband (7437): stopping network
Tue Jan  2 10:28:06 2024 daemon.notice netifd: broadband (7437): couldn't load bearer path: disconnecting anyway
Tue Jan  2 10:28:06 2024 daemon.notice netifd: Interface 'broadband' is now down
Tue Jan  2 10:28:06 2024 daemon.notice netifd: Interface 'broadband' is setting up now
Tue Jan  2 10:28:07 2024 daemon.notice netifd: broadband (7452): modem available at /org/freedesktop/ModemManager1/Modem/0
Tue Jan  2 10:28:07 2024 daemon.notice netifd: broadband (7452): starting connection with apn 'internet'...
Tue Jan  2 10:28:07 2024 daemon.info [3266]: <info>  [modem0] simple connect started...
Tue Jan  2 10:28:07 2024 daemon.info [3266]: <info>  [modem0] simple connect state (6/10): register
Tue Jan  2 10:28:07 2024 daemon.warn odhcpd[2705]: No default route present, overriding ra_lifetime!
Tue Jan  2 10:28:21 2024 daemon.warn [3266]: <warn>  [modem0] network reject indication received
Tue Jan  2 10:28:21 2024 daemon.warn [3266]: <warn>  [modem0]   service domain: cs-ps
Tue Jan  2 10:28:21 2024 daemon.warn [3266]: <warn>  [modem0]   radio interface: lte
Tue Jan  2 10:28:21 2024 daemon.warn [3266]: <warn>  [modem0]   reject cause: esm-failure
Tue Jan  2 10:28:44 2024 daemon.info [3266]: <info>  [modem0] 3GPP registration state changed (unknown -> idle)
Tue Jan  2 10:28:45 2024 daemon.info [3266]: <info>  [modem0] 3GPP registration state changed (idle -> unknown)
Tue Jan  2 10:28:57 2024 daemon.info [3266]: <info>  [modem0] 3GPP registration state changed (unknown -> idle)
Tue Jan  2 10:28:58 2024 daemon.info [3266]: <info>  [modem0] 3GPP registration state changed (idle -> unknown)
Tue Jan  2 10:29:07 2024 daemon.info [3266]: <info>  [modem0] 3GPP registration state changed (unknown -> idle)
Tue Jan  2 10:29:07 2024 daemon.notice netifd: broadband (7452): error: couldn't connect the modem: 'GDBus.Error:org.freedesktop.ModemManager1.Error.MobileEquipment.NetworkTimeout: Network timeout'
Tue Jan  2 10:29:07 2024 daemon.notice netifd: broadband (7590): stopping network
Tue Jan  2 10:29:07 2024 daemon.notice netifd: broadband (7590): couldn't load bearer path: disconnecting anyway
Tue Jan  2 10:29:07 2024 daemon.notice netifd: Interface 'broadband' is now down
Tue Jan  2 10:29:08 2024 daemon.warn odhcpd[2705]: No default route present, overriding ra_lifetime!
Tue Jan  2 10:29:09 2024 daemon.info [3266]: <info>  [modem0] 3GPP registration state changed (idle -> searching)
Tue Jan  2 10:29:09 2024 daemon.info [3266]: <info>  [modem0] state changed (enabled -> searching)

System Logs using CHAP authentication at the end (username & password empty):

Tue Jan  2 10:21:29 2024 daemon.warn [3266]: <warn>  [modem0/sim0] couldn't load list of emergency numbers: Failed to parse CRSM query result '+CRSM: 105,129,""'
Tue Jan  2 10:21:29 2024 daemon.warn [3266]: <warn>  [modem0/sim0] couldn't load GID1: Couldn't read data from UIM: QMI protocol error (16): 'NotProvisioned'
Tue Jan  2 10:21:29 2024 daemon.warn [3266]: <warn>  [modem0/sim0] couldn't load GID2: Couldn't read data from UIM: QMI protocol error (16): 'NotProvisioned'
Tue Jan  2 10:21:29 2024 daemon.warn [3266]: <warn>  [modem0] couldn't load list of own numbers: Couldn't get MSISDN: QMI protocol error (16): 'NotProvisioned'
Tue Jan  2 10:21:30 2024 daemon.info [3266]: <info>  [modem0] state changed (unknown -> disabled)
Tue Jan  2 10:21:31 2024 daemon.info ModemManager[4445]: hotplug: modem exported successfully at /sys/devices/platform/soc/1c14000.usb/usb1/1-1
Tue Jan  2 10:21:31 2024 daemon.info ModemManager[4445]: hotplug: setting interface 'broadband' as available
Tue Jan  2 10:21:31 2024 daemon.notice netifd: Interface 'broadband' is setting up now
Tue Jan  2 10:21:31 2024 daemon.notice netifd: broadband (5504): modem available at /org/freedesktop/ModemManager1/Modem/0
Tue Jan  2 10:21:31 2024 daemon.notice netifd: broadband (5504): starting connection with apn 'internet'...
Tue Jan  2 10:21:31 2024 daemon.info [3266]: <info>  [modem0] simple connect started...
Tue Jan  2 10:21:31 2024 daemon.info [3266]: <info>  [modem0] simple connect state (3/10): enable
Tue Jan  2 10:21:31 2024 daemon.info [3266]: <info>  [modem0] state changed (disabled -> enabling)
Tue Jan  2 10:21:31 2024 daemon.info [3266]: <info>  [modem0] power state updated: on
Tue Jan  2 10:21:32 2024 daemon.info [3266]: <info>  [modem0] 3GPP registration state changed (unknown -> searching)
Tue Jan  2 10:21:33 2024 daemon.info [3266]: <info>  [modem0] simple connect state (4/10): wait to get fully enabled
Tue Jan  2 10:21:33 2024 daemon.info [3266]: <info>  [modem0] state changed (enabling -> searching)
Tue Jan  2 10:21:33 2024 daemon.info [3266]: <info>  [modem0] simple connect state (5/10): wait after enabled
Tue Jan  2 10:21:33 2024 daemon.info [3266]: <info>  [modem0] simple connect state (6/10): register
Tue Jan  2 10:21:38 2024 daemon.warn odhcpd[2705]: No default route present, overriding ra_lifetime!
Tue Jan  2 10:21:41 2024 daemon.err uhttpd[2885]: [info] luci: accepted login on / for root from 192.168.203.176
Tue Jan  2 10:21:49 2024 daemon.info [3266]: <info>  [modem0] 3GPP registration state changed (searching -> unknown)
Tue Jan  2 10:21:49 2024 daemon.info [3266]: <info>  [modem0] state changed (searching -> enabled)
Tue Jan  2 10:21:54 2024 daemon.warn odhcpd[2705]: No default route present, overriding ra_lifetime!
Tue Jan  2 10:22:34 2024 daemon.info [3266]: <info>  [modem0] 3GPP registration state changed (unknown -> idle)
Tue Jan  2 10:22:34 2024 daemon.notice netifd: broadband (5504): error: couldn't connect the modem: 'GDBus.Error:org.freedesktop.ModemManager1.Error.MobileEquipment.NetworkTimeout: Network timeout'
Tue Jan  2 10:22:34 2024 daemon.notice netifd: broadband (5624): stopping network
Tue Jan  2 10:22:34 2024 daemon.notice netifd: broadband (5624): couldn't load bearer path: disconnecting anyway
Tue Jan  2 10:22:34 2024 daemon.notice netifd: Interface 'broadband' is now down
Tue Jan  2 10:22:35 2024 daemon.warn odhcpd[2705]: No default route present, overriding ra_lifetime!
Tue Jan  2 10:23:08 2024 daemon.info [3266]: <info>  [modem0] 3GPP registration state changed (idle -> searching)
Tue Jan  2 10:23:08 2024 daemon.info [3266]: <info>  [modem0] state changed (enabled -> searching)
Tue Jan  2 10:23:29 2024 daemon.info [3266]: <info>  [modem0] 3GPP registration state changed (searching -> unknown)
Tue Jan  2 10:23:29 2024 daemon.info [3266]: <info>  [modem0] state changed (searching -> enabled)

Any idea what is going on and where the problem could be ?
I also tried the FCC unlock "trick" on OpenWRT as reccomended by the NetworkManager website, not sure if that is necessary and/or if it helps.

I cannot set MMC/MNC manually, not sure if needed.

I also tried the adapter under:

  • Ubuntu 20.04 LTS
  • Ubuntu 23.10

And mmcli would allow enabling the adapter, but the connection using --simple-connect="apn=internet" would just timeout.

I do not see any OpenWrt related issue here. I suggest you connect the modem to your computer directly and make it work there. Once the modem is fully operational, you can connect it to your router.

As I said, when I try to connect from a Desktop, whether by using mmcli or network-manager-gui, it fails to register / connect. So how am I supposed to go forward ?

Forget about MM, etc. for a while, use a terminal only.
Ask a question at Sierra's forum if necessary.

By terminal you mean to send the AT commands using e.g. minicom -b 115200 -D /dev/ttyUSB2 ? Or do you mean "terminal" as in "shell" for mmcli ?

Any terminal app, like picocom, minicom, etc.
Don't forget to uninstall or disable MM to avoid any interference.

1 Like

I'm fearing this is starting to become a rabbithole. Downgrading the firmware somewhat helped, but still - even under Windows - I couldn't manage to connect (not sure if I tested after the firmware downgrade though).

That has nothing to do with OpenWrt.
There is no need to downgrade the modem firmware, the latest 02.38.00.00/002.082 works just fine in both QMI and MBIM modes.

Not in my case. Neither on OpenWRT nor on Ubuntu.

Firmware Version 02.38.00.00 doesn't work AT ALL (in my case at least). Tried FCC Unlock using ModemManager scripts as well as entering engineering mode & disabling FCC lock using https://forum.sierrawireless.com/t/em7455-deactivate-low-power-mode/8620/22. Nothing works. The adapter won't even enable & the WAN LED stays permanently OFF.

Firmware Version 02.33.03.00 works in part at least.

So I'm NOT supposed to setup the Modem in Openwrt using ModemManager :no_mouth: ? I thought QMI / MBIM were not optimal (from some posts / wiki I saw on OpenWRT).

Side note: at one point I managed to kinda connect to a IPv6 over IPv4 tunnel & data was kinda working, BUT with another SIM card (kinda weird because the subscription was supposed to be paused).

And, for some reason the Bearer is stuck on that other SIM's APN (that's what I could gather from mmcli), even when I set the APN correctly in LUCI / OpenWRT.

So the Bearer was set to bredband.oister.dk which is the other SIM card's provider. I specify "internet" but it won't connect with TDC.dk card (timeout).

Forget about MM, MBIM, QMI etc. for a while. You only need a terminal app to check the registration, etc.
Once your modem is fully operational, then you can proceed with OpenWrt, with MM or a classic connection method as shown in the wiki https://openwrt.org/docs/guide-user/network/wan/wwan/ltedongle

For those interested I got it to work. Not very well (bad weather, small antenna, indoor) but approx. 10 Mbps download / 1 Mbps upload.

Solution from my inquiry at SIERRA Wireless Forums https://forum.sierrawireless.com/t/em7455-not-connecting-registering-to-network/31348/16

The Solution was to "flash" the APN. Not sure it was stuck on an APN of a different operator (maybe OpenWRT "flashed" the APN into the modem during one of the previous attemps with the other SIM card in QMI/MBIM modem), but it would definitively ignore the correctly specified operator in the "APN" Field.

AT+CGDCONT=1,"IP","internet"

The reboot the modem network stack

AT+CFUN=0
AT+Cfun=1
AT+CGDCONT?

And finally check the status ... Now it's registered

AT!GSTATUS?

This is not a part of QMI/MBIM connection procedure in OpenWrt.
Since most of these modems are sold used, I'm guessing what you found is a leftover from a previous owner.
Glad you sorted this out.

No that's not possible. I bought it 2nd hand on eBay from East Europe. It doesn't make sense that it was setup for a Danish Operator. One of whom, coincidentally, I own and tried the SIM card.

But maybe ~2 years ago when I was also playing with it, I issued some commands to try to make it work. Cannot exclude that, too much time went by.

Well, then it could be the result of a setting from the operator.
It is always good to check all the contexts and clear what is not needed.

1 Like

Do you know how to check ALL the contexts btw ?

You did this already:

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