No signal strength information for Electron 2G on Device OS 1.0.0

1.0.2.-rc.1 is now going to be 1.1.0-rc.1 due to observing SemVer 2.0.0 rules properly.

The easiest way to see if its still an issue is to use the built in diagnostics on the web console, the returned data packet has the signal strength data which is all -1’s.

The issue that most have reported is CellularSignal sig = Cellular.RSSI() returns sig.rssi = 1 which was a different issue for E402, U260, U270, U201 as I mentioned above is resolved in v1.0.1. Here are some results of v1.0.1 and tinker on various devices checked in Console.

E402

18%20PM

U260

01%20PM

G350

I tried a 2G device as well since that's what you reported to the support team, and I can confirm the -100 err values. It would also report sig.rssi = 1 but for a similar but different root cause (see below).

16%20PM

The G350 has this issue because it does not report the RAT (aka AcT) in the CGREG, CREG and COPS URCs as they are not supported on the G350:

   187.907 AT send      10 "AT+COPS?\r\n"
   187.945 AT read  +   25 "\r\n+COPS: 0,0,\"T-Mobile\"\r\n"
...
   200.808 AT read  +   28 "\r\n+CREG: 2,5,\"1234\",\"1234567\"\r\n"
   200.819 AT read OK    6 "\r\nOK\r\n"
   200.819 AT send      11 "AT+CGREG?\r\n"
   200.855 AT read  +   29 "\r\n+CGREG: 2,5,\"1234\",\"1234567\"\r\n"
   200.865 AT read OK    6 "\r\nOK\r\n"

Perhaps we can default to RAT = ACT_GSM for G350 to resolve this issue. I'll test this out and if it looks good I'll pull this fix into v1.1.0-rc.1.

With this change I can now see this result for G350:
37%20PM

Just for completeness, if you are wondering what the "at":x lookup is, here is the enum used in Device OS:

typedef enum {
    NET_ACCESS_TECHNOLOGY_UNKNOWN = 0,
    NET_ACCESS_TECHNOLOGY_NONE = 0,
    NET_ACCESS_TECHNOLOGY_WIFI = 1,
    NET_ACCESS_TECHNOLOGY_GSM = 2,
    NET_ACCESS_TECHNOLOGY_EDGE = 3,
    NET_ACCESS_TECHNOLOGY_UMTS = 4,
    NET_ACCESS_TECHNOLOGY_UTRAN = 4,
    NET_ACCESS_TECHNOLOGY_WCDMA = 4,
    NET_ACCESS_TECHNOLOGY_CDMA = 5,
    NET_ACCESS_TECHNOLOGY_LTE = 6
} hal_net_access_tech_t;

@ArthurGuy if you would like to test this fix for your G350 (or other devices) I would appreciate it: Release v1.1.0-rc.1 (Core/Photon/P1/Electron/Argon/Boron/Xenon/Argon-SoM/Boron-SoM/Xenon-SoM) · particle-iot/device-os · GitHub

Just use the Particle CLI to flash this patched v1.0.1 Device OS firmware as follows:

particle flash --usb system-part1-1.0.1-electron-g350-rssi-fix.bin
particle flash --usb system-part2-1.0.1-electron-g350-rssi-fix.bin
particle flash --usb system-part3-1.0.1-electron-g350-rssi-fix.bin

It should work with any less than or equal to v1.0.1 compiled app.


Since 0.6.1 we have had a default 5 minute timeout for Listening Mode on Electron. This is helpful for cases where the SIM card is loose and not making good contact on power up. Please check your SIM contacts and see if any appear to be lower than the rest (it's very possible to bend these accidentally with these development boards). The E Series modules have an embedded SIM (a chip soldered to the PCB) to make this more robust. Another thing you can do to tighten up the contacts is remove the SIM, and press the metal band down with your thumbnail right in the middle forming a slight V. Re-insert the SIM and it should be tighter now.

2 Likes