Odd cellular behavior on Balena

@Hesch Quectel told me that T-Mobile is finicky with VoLTE enabled connections - something to do with E911 and voice compliance.

When you run mmcli -m 0
Do you see something similar to this for your modem?

  Hardware |            manufacturer: QUALCOMM INCORPORATED
           |                   model: QUECTEL Mobile Broadband Module
           |       firmware revision: EC25AFFAR07A08M4G
           |          carrier config: Commercial-TMO_VoLTE

@barryjump: Thanks for the hint. Here it currently looks like that:


If I understand that corectly that’s good cause it doesn’t explicitly enable VoLTE which might cause problems?

I also checked the Queltec T-Mobile Guide and all settings are set correctly in my modem by default except for the disable voice part (AT+QNVW=5280,0,“0102000000000000”). For now I’m trying to replicate the issue since here the problem appears only randomly after some time.

@Hesch nice, looks like you don’t have the VoLTE config.

Fwiw, I had to:

  1. Order a mpcie to USB adapter (https://www.amazon.com/gp/product/B07CYHKX3W/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1),
  2. Pop my EG25 on there and plug into a Windows machine
  3. Run AT Command Tester (https://m2msupport.net/m2msupport/download-at-command-tester)
  4. Try following this guide from Quectel.

Quectel_EC2x&EG9x&EG2x-G&EM05_Series_T-Mobile_Certification_Software_Configuration_Guide_V1.0_20200821 (2).pdf (266.0 KB)

It seems to have worked on the usb adater but I haven’t moved the modem back to the Fin to test yet.

I’ll let you know how that goes…

Also @Hesch it looks like you have outdated firmware. Quectel told me the latest is EG25GGBR07A08M2G_01.003.01.003

@barryjump:
Couldn’t you just set the AT commands via mmcli? I checked the settings from the guide like that:

mmcli -m 0 --command=‘AT+QNVR=5280,0’
response: ‘+QNVR: “0102000000000000”’

Thanks for the info about the FW. I wanted to contact the Quectel support about that since that seems to be the only official way to get the files.

I was getting an error from mmcli -m 0 --command="AT+QNVW=5280,0,"0102000000000000""
when trying this command from the guide:

“Execute AT+QNVW=5280,0,“0102000000000000” to disable voice as below.”

I think it was because mmcli didn’t like the double quotes inside the command flag.

Am I reading the instruction wrong perhaps?

@barryjump: Try replacing the outer double quotes by single quotes. This way it worked for me:
mmcli -m 0 --command='AT+QNVW=5280,0,"0102000000000000"'

Good tip! Wish I had thought of that before buying the usb adapter.

Unfortunately, I don’t think those commands worked for me though :frowning:

  Hardware |            manufacturer: QUALCOMM INCORPORATED
           |                   model: QUECTEL Mobile Broadband Module
           |       firmware revision: EC25AFFAR07A08M4G
           |          carrier config: Commercial-TMO_VoLTE
           | carrier config revision: 05010505
           |            h/w revision: 10000
           |               supported: gsm-umts, lte
           |                 current: gsm-umts, lte

So basically what the test confirms again is that the problem is with ModemManager and NetworkManager…

I just moved that exact same modem with the exact same sim from the USB tester on Windows where I had a flawless connection to the Fin where I’m back in the same exact spot - no data connection to a cdc-wdm0 or wwan0 interface.

Its the same modem and sim that I tested on a non-balenified Raspbian OS which worked like a charm as well.

Which means that the VoLTE “issue” was a red herring - turns out T-Mobile didn’t seem to mind that profile on every other non-balena test.

I noticed that out of the box behavior mmcli doesn’t want to assign a bearer - if you notice, there are no bearers define here, which I believe means networkmanager wont recognize the assigned IP address, which means that no data can flow…

root@7f09eff:~# mmcli -m 0
  -----------------------------------
  General  |               dbus path: /org/freedesktop/ModemManager1/Modem/0
           |               device id: 17ff1[REDACTED]a3f
  -----------------------------------
  Hardware |            manufacturer: QUALCOMM INCORPORATED
           |                   model: QUECTEL Mobile Broadband Module
           |       firmware revision: EG25GGBR07A08M2G
           |          carrier config: Commercial-TMO_VoLTE
           | carrier config revision: 05010505
           |            h/w revision: 10000
           |               supported: gsm-umts, lte
           |                 current: gsm-umts, lte
           |            equipment id: 86[REDACTED]95
  -----------------------------------
  System   |                  device: /sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2
           |                 drivers: option1, qmi_wwan
           |                  plugin: quectel
           |            primary port: cdc-wdm0
           |                   ports: cdc-wdm0 (qmi), ttyUSB0 (qcdm), ttyUSB2 (at), wwan0 (net), 
           |                          ttyUSB1 (gps), ttyUSB3 (at)
  -----------------------------------
  Numbers  |                     own: 15[REDACTED]8
  -----------------------------------
  Status   |                    lock: sim-pin2
           |          unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (10), sim-puk2 (10)
           |                   state: registered
           |             power state: on
           |             access tech: lte
           |          signal quality: 100% (recent)
  -----------------------------------
  Modes    |               supported: allowed: 2g; preferred: none
           |                          allowed: 3g; preferred: none
           |                          allowed: 4g; preferred: none
           |                          allowed: 2g, 3g; preferred: 3g
           |                          allowed: 2g, 3g; preferred: 2g
           |                          allowed: 2g, 4g; preferred: 4g
           |                          allowed: 2g, 4g; preferred: 2g
           |                          allowed: 3g, 4g; preferred: 4g
           |                          allowed: 3g, 4g; preferred: 3g
           |                          allowed: 2g, 3g, 4g; preferred: 4g
           |                          allowed: 2g, 3g, 4g; preferred: 3g
           |                          allowed: 2g, 3g, 4g; preferred: 2g
           |                 current: allowed: 2g, 3g, 4g; preferred: 4g
  -----------------------------------
  Bands    |               supported: egsm, dcs, pcs, g850, utran-1, utran-4, utran-6, utran-5, 
           |                          utran-8, utran-2, eutran-1, eutran-2, eutran-3, eutran-4, eutran-5, 
           |                          eutran-7, eutran-8, eutran-12, eutran-13, eutran-18, eutran-19, 
           |                          eutran-20, eutran-25, eutran-26, eutran-28, eutran-38, eutran-39, 
           |                          eutran-40, eutran-41, utran-19
           |                 current: egsm, dcs, pcs, g850, utran-1, utran-4, utran-6, utran-5, 
           |                          utran-8, utran-2, eutran-1, eutran-2, eutran-3, eutran-4, eutran-5, 
           |                          eutran-7, eutran-8, eutran-12, eutran-13, eutran-18, eutran-19, 
           |                          eutran-20, eutran-25, eutran-26, eutran-28, eutran-38, eutran-39, 
           |                          eutran-40, eutran-41, utran-19
  -----------------------------------
  IP       |               supported: ipv4, ipv6, ipv4v6
  -----------------------------------
  3GPP     |                    imei: 8[REDACTED]5
           |             operator id: 310260
           |           operator name: T-Mobile
           |            registration: home
  -----------------------------------
  3GPP EPS |    ue mode of operation: csps-1
  -----------------------------------
  SIM      |               dbus path: /org/freedesktop/ModemManager1/SIM/0

What I usually do when working on similar issues is first running the same setup with latest ModemManager from my laptop (using a USB adapter). If it is still not running properly, then I would try a different modem model with the same SIM. If that still does not work, I would try a different SIM - this often solves it. Running ModemManager with debug logs may reveal some useful information. Depending on what is seen there, this could be brought to the attention of the ModemManager developers on their mailing list or in the issue tracker. They are quite friendly and knowledgeable.

Is it possible that this is due to T-Mobile (in the US) only issuing out IPv6 addresses?

root@e7d5af5:~# mmcli -m 0
  -----------------------------------
  General  |                    path: /org/freedesktop/ModemManager1/Modem/0
           |               device id: <redacted>
  -----------------------------------
  Hardware |            manufacturer: QUALCOMM INCORPORATED
           |                   model: QUECTEL Mobile Broadband Module
           |       firmware revision: EG25GGBR07A08M2G
           |          carrier config: Commercial-TMO_VoLTE
           | carrier config revision: 05010505
           |            h/w revision: 10000
           |               supported: gsm-umts, lte
           |                 current: gsm-umts, lte
           |            equipment id: <redacted>
  -----------------------------------
  System   |                  device: /sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3
           |                 drivers: option, qmi_wwan
           |                  plugin: quectel
           |            primary port: cdc-wdm0
           |                   ports: cdc-wdm0 (qmi), ttyUSB0 (qcdm), ttyUSB1 (gps), 
           |                          ttyUSB2 (at), ttyUSB3 (at), wwp1s0u1u3i4 (net)
  -----------------------------------
  Numbers  |                     own: <redacted>
  -----------------------------------
  Status   |                    lock: sim-pin2
           |          unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (10), sim-puk2 (10)
           |                   state: connected
           |             power state: on
           |             access tech: lte
           |          signal quality: 50% (cached)
  -----------------------------------
root@e7d5af5:~# nmcli device show

GENERAL.DEVICE:                         cdc-wdm0
GENERAL.TYPE:                           gsm
GENERAL.HWADDR:                         (unknown)
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     T-Mobile
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/3
IP6.ADDRESS[1]:                         2607:fb90:7e22:b02c:daf:484b:13ac:782a/64
IP6.GATEWAY:                            2607:fb90:7e22:b02c:51dc:7e6a:e1d:c66f
IP6.ROUTE[1]:                           dst = 2607:fb90:7e22:b02c::/64, nh = ::, mt = 700
IP6.ROUTE[2]:                           dst = ::/0, nh = 2607:fb90:7e22:b02c:51dc:7e6a:e1d:c66f, mt = 700
IP6.DNS[1]:                             fd00:976a::9
IP6.DNS[2]:                             fd00:976a::10

This issue is driving me nuts. :slight_smile:

@jmcombs Fortunately I’ve discovered it’s not actually an issue with T-Mobile. I’m not certain that they only issue ipv6 addresses, but my original suspicion that it was a tmobile specific issue turns out not to be true.

I’ve managed to get it working pretty reliably, but to be perfectly honest I don’t recall exactly how I got it working.

I spent hours wrangling with mmcli and nmcli rather haphazardly and poof it suddenly worked. Never quite understanding the difference between qmi, wdm0, wwan0, etc. Nor do I still fully understand how modemmanager plays with networkmanager.

But, it does mean that if I do a fresh balena install on a new device the flakiness of establishing a connection returns. So yes, I got it running on t-mobile, but I don’t know how. :face_with_spiral_eyes:

My main issue in reliable set up on new devices is the “bearer”.

Hopefully the good news for you is that it’s possible. Also I’m using the same EG25-G modem as you.

But, everything I see in your mmcli output appears to indicate you are connected. If you run nmcli does the output show an IP address like 10.x.x.x under wwan0?

1 Like