QMI Modem connecting to wrong serving cell

Hey everyone,

The last time I had to post on a router forum was back in the dd-wrt days!

Anyway, I have a PC Engines APU3 and I built a custom image to take advantage of the ECC, multicore, gpio, and other features of the device. I can post a .config if necessary.

I am using it as an LTE modem/router until fiber is ran out to my home at which point the LTE will act as a failover. I chose a Telit LE910C4-NF mPCIe for this purpose and am using an outdoor mimo panel antenna.

So everything was going good.. until it wasn't. Now the modem is constantly connecting to towers that I don't have an account with (I have T-mobile and it is trying to connect to Verizon, AT&T, EMS network).

I thought maybe my carrier had blocked my SIM or IMEI because running qmicli -d /dev/cdc-wdm0 -p --uim-get-card-status returned:

Provisioning applications:
        Primary GW:   slot '1', application '1'
        Primary 1X:   session doesn't exist
        Secondary GW: session doesn't exist
        Secondary 1X: session doesn't exist
Slot [1]:
        Card state: 'present'
        **UPIN state: 'not-initialized'**
                UPIN retries: '0'
                UPUK retries: '0'
        Application [1]:
                Application type:  'usim (2)'
                Application state: 'ready'
                Application ID:
                        A0:00:00:00:87:10:02:FF:FF:FF:FF:89:06:19:00:00
                Personalization state: 'ready'
                UPIN replaces PIN1: 'no'
                PIN1 state: 'disabled'
                        PIN1 retries: '3'
                        PUK1 retries: '10'
                PIN2 state: 'enabled-not-verified'
                        PIN2 retries: '10'
                        PUK2 retries: '10'

But I called them and said nothing is blocked on their end. So I dug deeper with uqmi -d /dev/cdc-wdm0 --network-scan

{
        "network_info": [
                {
                        "mcc": 310,
                        "mnc": 260,
                        "description": "T-Mobile",
                        "status": [
                                "available",
                                "home",
                                "not_forbidden",
                                "preferred"
                        ]
                },
                {
                        "mcc": 311,
                        "mnc": 480,
                        "description": "Verizon",
                        "status": [
                                "current_serving",
                                "roaming",
                                "not_forbidden",
                                "not_preferred"
                        ]
                },
                {
                        "mcc": 311,
                        "mnc": 490,
                        "description": "311 490",
                        "status": [
                                "available",
                                "roaming",
                                "not_forbidden",
                                "not_preferred"
                        ]
                },
                {
                        "mcc": 310,
                        "mnc": 410,
                        "description": "AT&T",
                        "status": [
                                "available",
                                "roaming",
                                "not_forbidden",
                                "not_preferred"
                        ]
                },
                {
                        "mcc": 313,
                        "mnc": 100,
                        "description": "313 100",
                        "status": [
                                "available",
                                "roaming",
                                "not_forbidden",
                                "not_preferred"
                        ]
                }
        ],
        "radio_access_technology": [
                {
                        "mcc": 310,
                        "mnc": 260,
                        "radio": "lte"
                },
                {
                        "mcc": 311,
                        "mnc": 480,
                        "radio": "lte"
                },
                {
                        "mcc": 311,
                        "mnc": 490,
                        "radio": "lte"
                },
                {
                        "mcc": 310,
                        "mnc": 410,
                        "radio": "lte"
                },
                {
                        "mcc": 313,
                        "mnc": 100,
                        "radio": "lte"
                }
        ]
}

As you can see, it isn't connecting to the correct PLMN. So I ran uqmi -d /dev/cdc-wdm0 --set-plmn 310260 and tried agian. No change. So then I did uqmi -d /dev/cdc-wdm0 --get-plmn and it returned that it is in automatic mode. I don't know how to change this and I suspect forcing the PLMN would fix my problem. Any advice on how to proceed? I'm pretty new to cellular modems. Also, I already tried setting uqmi -d /dev/cdc-wdm0 --set-network-roaming off and it had no discernible effect. I am somewhat concerned that messing with it via uqmi, qmicli, and LuCI may have created some conflicts but I'm not sure how to investigate that. If anyone has an "AT commands for dummies" link that would be much appreciated as well

Thanks to anyone that reads this! And apologies in advance for slow replies, I work long hours and only have a couple hours in the evening to check on this stuff

Hi

Have you tried:
uqmi -d /dev/cdc-wdm0 --set-plmn --mcc 310 --mnc 260

You can check your default APN settings as well:
qmicli -d /dev/cdc-wdm0 --wds-get-default-settings=3gpp

If needed modify with:
qmicli -d /dev/cdc-wdm0 --wds-get-default-profile-num=3gpp
qmicli -d /dev/cdc-wdm0 --wds-modify-profile=["(3gpp|3gpp2),#,key=value,..."]
Modify existing profile (optional keys: name, apn, pdp-type (IP|PPP|IPV6|IPV4V6), auth (NONE|PAP|CHAP|BOTH), username, password, context-num, no-roaming=yes, disabled=yes)

With wrong default APN settings it could cause problems with the LTE registration.

Hi AndrewZ

I believe my issue is the sim card is not detected,, and may be related to a faulty hardware or a malformed dts I'm trying to get the manufacturer to provide me with a wiring diagram of the sim socket to the pcj socket so I can test.
I believe there is missing signals due to gpio needing to be toggled.

Test there would be to take the SIM card out and see if anything changes. The status looks like a SIM has been read.

1 Like

I managed to get schematics from the manufacturer and found the sim switcher/ multiplexer chip was not fitted to the pcb I placed solder blobs on the pcb to bypass the chip to connect the sim slot directly to the pci slot and now it is working.
Poor quality control I guess.