EM9291 Registration Issues

We are having issues getting our Sierra Wireless EM9291 modem connected to the network.
It seems to be stuck in “Registration state: ‘not-registered-searching’”, and we have not found any way to get it to actually register to a network. Some output:

response: '!GSTATUS: 
Current Time:  4210		Temperature: 40
Thermal Mitigation Level: 0

Reset Counter: 1		Mode:        ONLINE         
System mode:   NR5G       	PS state:    Not attached 
MM5G state:    Deregistered     Limited Service
RRC state:     RRC Idle        
IMS reg state: NOT REGISTERED  	IMS mode:    Normal       
IMS Srv State: UNKNOWN SMS,UNKNOWN VoIP

NR5G TAC:        004e21        		NR5G Cell ID:    433EB0087 (18050908295)
NR5G band:       n78       		NR5G Carrier ID: 0
NR5G dl bw:      80 MHz    		NR5G ul bw:      80 MHz    
NR5G Tx Power:   ---        		NR5G Tx chan:    0
NR5G Rx chan:    629262
NR5G dl MIMO:    4         		NR5G ul MIMO:    1
NR5G(sub6) Rx0 RSSI (dBm):   -64.1	NR5G(sub6) Rx1 RSSI (dBm):   -63.6
NR5G(sub6) Rx2 RSSI (dBm):   ---  	NR5G(sub6) Rx3 RSSI (dBm):   ---	

NR5G RSRP (dBm): -92			NR5G RSRQ (dB):  -11
NR5G SINR (dB):  11.5'
qmicli --device-open-mbim -d /dev/wwan0mbim0        --nas-get-serving-system
[/dev/wwan0mbim0] Successfully got serving system:
	Registration state: 'not-registered-searching'
	CS: 'detached'
	PS: 'detached'
	Selected network: 'unknown'
	Radio interfaces: '1'
		[0]: '5gnr'
	Roaming status: 'on'
	Data service capabilities: '0'
	Current PLMN:
		MCC: '242'
		MNC: '14'
		Description: ''
	Roaming indicators: '1'
		[0]: 'on' (5gnr)
	Detailed status:
		Status: 'limited'
		Capability: 'cs-ps'
		HDR Status: 'none'
		HDR Hybrid: 'no'
		Forbidden: 'no'
	Full operator code info:
		MCC: '242'
		MNC: '14'
		MNC with PCS digit: 'no'

What do we need to do to get the device to actually register to the network?

Did you enter correct APN?
How about setting to LTE only mode by at!selrat?

My APN is correct:
response: ‘+CGDCONT: 1,“IP”,“MY-APN”,“0.0.0.0”,0,0,0,0,“”,0
+CGDCONT: 2,“IPV4V6”,“ims”,“0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0”,0,0,0,0,“”,0’

However, SELRAT is behaving strangely, when I set SELRAT to 06 (which I believe is LTE only) and I try to follow the steps to register it reads back as 00 (response: ‘!SELRAT: 00, Automatic’) after I have tried to go through the registration process. Before registration I can read it back correctly as 06.

Any other advice?

how about using AT!BAND to set to LTE only?

Do you see any problem in Windows platform?

How do I change AT!BAND and start a new registration process?

I’m getting errors when trying to change AT!BAND now, so if you could share a specific sequence of commands I could try that would be very much appreciated, and minimize the odds of me doing something wrong on my side.

what do you see for the followings?


AT!ENTERCND="A710"
ati3
at!impref?
at!BAND=?

ati3
NO CARRIER

ATI3

response: 'Manufacturer: Sierra Wireless, Incorporated
Model: EM9291
Revision: SWIX65C_02.15.01.00 5268b2 jenkins 2023/11/17 22:12:47
IMEI: 358186652429296
IMEI SV:  2
FSN: 835113217104B1
+GCAP: +CGSM'

AT!impref?

response: '!IMPREF: 
 preferred fw version:    02.15.01.00
 preferred carrier name:  GENERIC
 preferred config name:   GENERIC_030.054_001
 preferred subpri index:  000
 current fw version:      02.15.01.00
 current carrier name:    GENERIC
 current config name:     GENERIC_030.054_001
 current subpri index:    000'

AT!BAND?

response: 'Index, Name
00, All bands
     0 - GW:    100200000EC00000
     1 - LTE:   0000A7E2BB0F38DF 0000000000000042
     3 - NRNSA: 000081A03B0A38D7 0000000000007C62
     4 - NRSA:  000081A03B0A38D7 0000000000007C62
01, Europe 3G
     0 - GW:    0002000000400000
     1 - LTE:   0000000000000000 0000000000000000
     3 - NRNSA: 0000000000000000 0000000000000000
     4 - NRSA:  0000000000000000 0000000000000000
02, North America 3G
     0 - GW:    0000000004800000
     1 - LTE:   0000000000000000 0000000000000000
     3 - NRNSA: 0000000000000000 0000000000000000
     4 - NRSA:  0000000000000000 0000000000000000
06, Europe
     0 - GW:    0002000000400000
     1 - LTE:   00000000000800C5 0000000000000000
     3 - NRNSA: 0000000000000000 0000000000000000
     4 - NRSA:  0000000000000000 0000000000000000
07, North America
     0 - GW:    0000000004800000
     1 - LTE:   000001000301385A 0000000000000042
     3 - NRNSA: 0000000000000000 0000000000000000
     4 - NRSA:  0000000000000000 0000000000000000
08, WCDMA ALL
     0 - GW:    100200000EC00000
     1 - LTE:   0000000000000000 0000000000000000
     3 - NRNSA: 0000000000000000 0000000000000000
     4 - NRSA:  0000000000000000 0000000000000000
09, LTE ALL
     0 - GW:    0000000000000000
     1 - LTE:   0000A7E2BB0F38DF 0000000000000042
     3 - NRNSA: 0000000000000000 0000000000000000
     4 - NRSA:  0000000000000000 0000000000000000
0C, NR5G ALL
     0 - GW:    0000000000000000
     1 - LTE:   0000000000000000 0000000000000000
     3 - NRNSA: 000081A03B0A38D7 0000000000007C62
     4 - NRSA:  000081A03B0A38D7 0000000000007C62

Available:
0 - GW:    
     1000000000000000 - B19 (850)
     0002000000000000 - B8  (900)
     0000000008000000 - B6  (800)
     0000000004000000 - B5  (850)
     0000000002000000 - B4 (1700)
     0000000000800000 - B2 (1900)
     0000000000400000 - B1 (2100)
1 - LTE:   
     1/0000800000000000 - B48    
     1/0000200000000000 - B46    
     1/0000040000000000 - B43    
     1/0000020000000000 - B42    
     1/0000010000000000 - B41    
     1/0000008000000000 - B40    
     1/0000004000000000 - B39    
     1/0000002000000000 - B38    
     1/0000000200000000 - B34    
     1/0000000080000000 - B32    
     1/0000000020000000 - B30    
     1/0000000010000000 - B29    
     1/0000000008000000 - B28    
     1/0000000002000000 - B26    
     1/0000000001000000 - B25    
     1/0000000000080000 - B20    
     1/0000000000040000 - B19    
     1/0000000000020000 - B18    
     1/0000000000010000 - B17    
     1/0000000000002000 - B14    
     1/0000000000001000 - B13    
     1/0000000000000800 - B12    
     1/0000000000000080 - B8     
     1/0000000000000040 - B7     
     1/0000000000000010 - B5     
     1/0000000000000008 - B4     
     1/0000000000000004 - B3     
     1/0000000000000002 - B2     
     1/0000000000000001 - B1     
     2/0000000000000040 - B71    
     2/0000000000000002 - B66    
3 - NRNSA: 
     1/0000800000000000 - n48    
     1/0000010000000000 - n41    
     1/0000008000000000 - n40    
     1/0000002000000000 - n38    
     1/0000000020000000 - n30    
     1/0000000010000000 - n29    
     1/0000000008000000 - n28    
     1/0000000002000000 - n26    
     1/0000000001000000 - n25    
     1/0000000000080000 - n20    
     1/0000000000020000 - n18    
     1/0000000000002000 - n14    
     1/0000000000001000 - n13    
     1/0000000000000800 - n12    
     1/0000000000000080 - n8     
     1/0000000000000040 - n7     
     1/0000000000000010 - n5     
     1/0000000000000004 - n3     
     1/0000000000000002 - n2     
     1/0000000000000001 - n1     
     2/0000000000004000 - n79    
     2/0000000000002000 - n78    
     2/0000000000001000 - n77    
     2/0000000000000800 - n76    
     2/0000000000000400 - n75    
     2/0000000000000040 - n71    
     2/0000000000000020 - n70    
     2/0000000000000002 - n66    
4 - NRSA:  
     1/0000800000000000 - n48    
     1/0000010000000000 - n41    
     1/0000008000000000 - n40    
     1/0000002000000000 - n38    
     1/0000000020000000 - n30    
     1/0000000010000000 - n29    
     1/0000000008000000 - n28    
     1/0000000002000000 - n26    
     1/0000000001000000 - n25    
     1/0000000000080000 - n20    
     1/0000000000020000 - n18    
     1/0000000000002000 - n14    
     1/0000000000001000 - n13    
     1/0000000000000800 - n12    
     1/0000000000000080 - n8     
     1/0000000000000040 - n7     
     1/0000000000000010 - n5     
     1/0000000000000004 - n3     
     1/0000000000000002 - n2     
     1/0000000000000001 - n1     
     2/0000000000004000 - n79    
     2/0000000000002000 - n78    
     2/0000000000001000 - n77    
     2/0000000000000800 - n76    
     2/0000000000000400 - n75    
     2/0000000000000040 - n71    
     2/0000000000000020 - n70    
     2/0000000000000002 - n66    '

it seems your firmware version is a bit old, see if you can upgrade it.

BTW, how about using AT!BAND=09 for using LTE band?

We are trying to update the firmware on the device, but this fails like this:


fw-download-tool -f /data/5g-fw -w SWIX65C_02.17.08.00.cwe -n SWIX65C_02.17.08.00_GENERIC_030.081_001.nvu -t 1 -m 4
Application version: 1.0.2412.2
INFO: QDL Port: 
INFO: Device Path: /dev/wwan0mbim0
INFO: Device Port: 0-0
INFO: FW Path: /data/5g-fw
Target image Info:
Carrier    :GENERIC
FW Version :02.17.08.00
Model ID   :SWIX65C
Package ID :001
PRI Version:030.081
SKU        :9999999
Switching device into download mode for image switch ...
Modem Needs FW
Modem Needs PRI
Waiting for modem to disconnect from the host ...
Waiting for modem to come up in BOOT and HOLD mode ...
Modem not coming up in BOOT and HOLD mode in 60 seconds. Please check parameters.  Application terminates.

What is needed to make this work?

See if this helps

BTW, how about using AT!BAND=09 for using LTE band?

The forum post you linked for FW update seem to say that the solution is to have both tty and wwan devices available, however we do not see any USB device in our system at all, so this does not help us.

It also does not seem to help to use AT!BAND=09

the download tool will put the module to download mode, and one serial port will be enumerated.

Probably you have not installed the MBPL USB driver

BTW, after changing to AT!BAND=09, do you see the system mode locked to LTE in AT!GSTATUS?

These drivers did not help, I still can not see a USB device come up during the flashing process.

Also, since attempting the flashing process, I’m no longer able to get my board out of “low-power” mode:

[/dev/wwan0mbim0] Operating mode retrieved:
	Mode: 'low-power'
	HW restricted: 'no'

Previosuly I could get out of this with:

qmicli -d /dev/wwan0mbim0 --dms-set-operating-mode=reset
Wait
qmicli -d /dev/wwan0mbim0 --dms-set-operating-mode=online

Any more ideas?

Did you check dmesg and see if a new pid is shown when going to download mode?

Did you try in windows platform?

I ordered a M2 to USB adapter, and was with that able to flash the device.

With the new firmware it works well in our device.

However, we need to be able to flash the device from our custom board.
On our custom board we run the device in PCIe mode, i.e. PCIE_DIS set low.
With that setup we do not seem to ever get any USB ports available, and thus we can not flash the device.

Is this correct, the firmware on the device can only be updated if the device is in USB mode?

you need to see here on pin 20 and pin 22 for USB usage

Yes, it works well now with my M2 to USB adapter, as I said with that I could flash it.

What I need to know is how can I flash it from a device where we run it in PCIe mode.

this is from customer release note:

Are these the fw-download tools that can be downloaded from here:

There is a tool there called fw-download-toolhostx86_64, which is what i used when flashing over the M2 to USB board, but I have not been able to find a tool named “fwdwl-litehostx86_64”.
Are these the same tool?

older MBPL SDK is using fwdwl-lite