Problems: No incoming SMS in WebUI or CLI. Can't change SMS storage to SIM from Modem.
Further investigation shows the modem is receiving the SMS.
Possible cause: gsmctl or gsmd is not properly accessing the modem's storage?
Notes:
################################################################################
Received SMS shows nothing in WebUI
Received SMS shows nothing in CLI (gsmctl)
when receiving sms, this is shown by logread -f
Mon May 15 10:21:03 2023 daemon.err /usr/sbin/sms_utils: Unable to read sms '14'
where '14' should be the index number of the latest SMS in storage.
Listing SMS by CLI produces empty results, and reading by index errors:
root@RUT240:~# gsmctl -S -l "all"
root@RUT240:~# gsmctl -S -r 0
[gsmctl_read_sms:68] error: ERROR: Library misuse
################################################################################
Switching to SIM storage fails
shown by logread -f
Mon May 15 10:19:19 2023 daemon.err mobifd: [gsm.modem0] SMS storage is null. Need to switch.
Mon May 15 10:19:19 2023 daemon.info mobifd: [gsm.modem0] SMS storage: me
################################################################################
Sending SMS working via WebUI
Sending SMS via CLI (gsmctl) works
root@RUT240:~# gsmctl -S -s "REDACTED Testing via command line"
SMS sent: 1
################################################################################
Listing all SMS via AT commands (default options) shows nothing:
root@RUT240:~# gsmctl -A 'AT+CMGL=?'
+CMGL: (0-4)
root@RUT240:~# gsmctl -A 'AT+CMGF?'
+CMGF: 0
root@RUT240:~# gsmctl -A 'AT+CMGL=0'
OK
root@RUT240:~# gsmctl -A 'AT+CMGL=1'
OK
root@RUT240:~# gsmctl -A 'AT+CMGL=2'
OK
root@RUT240:~# gsmctl -A 'AT+CMGL=3'
OK
root@RUT240:~# gsmctl -A 'AT+CMGL=4'
OK
Reading all SMS via AT commands (default options) shows nothing:
root@RUT240:~# gsmctl -A 'AT+CMGR=0'
OK
root@RUT240:~# gsmctl -A 'AT+CMGR=1'
OK
root@RUT240:~# gsmctl -A 'AT+CMGR=2'
OK
root@RUT240:~# gsmctl -A 'AT+CMGR=3'
OK
root@RUT240:~# gsmctl -A 'AT+CMGR=4'
OK
Listing all SMS via AT commands (CMGF=1) shows nothing:
root@RUT240:~# gsmctl -A 'AT+CMGF=1'
OK
root@RUT240:~# gsmctl -A 'AT+CMGL=?'
+CMGL: ("REC UNREAD","REC READ","STO UNSENT","STO SENT","ALL")
root@RUT240:~# gsmctl -A 'AT+CMGL="ALL"'
OK
root@RUT240:~# gsmctl -A 'AT+CMGL="STO SENT"'
OK
root@RUT240:~# gsmctl -A 'AT+CMGL="STO UNSENT"'
OK
root@RUT240:~# gsmctl -A 'AT+CMGL="REC READ"'
OK
root@RUT240:~# gsmctl -A 'AT+CMGL="REC UNREAD"'
OK
Reading all SMS via AT commands (CMGF=1) shows nothing:
root@RUT240:~# gsmctl -A 'AT+CMGR=0'
OK
root@RUT240:~# gsmctl -A 'AT+CMGR=1'
OK
root@RUT240:~# gsmctl -A 'AT+CMGR=2'
OK
root@RUT240:~# gsmctl -A 'AT+CMGR=3'
OK
root@RUT240:~# gsmctl -A 'AT+CMGR=4'
OK
################################################################################
Receving SMS via gsmd debug (edit /etc/init.d/gsmd to include -D for command line options)
Receiving SMS with default AT commands shows activity:
root@RUT240:~# gsmctl -A 'AT+CNMI?'
+CNMI: 2,1,0,0,0
Mon May 15 10:28:51 2023 daemon.info gsmd[21835]: Mon May 15 10:28:51 2023 \r\n+CMTI: "ME",15\r\n
(but shown above,
/usr/sbin/sms_utils: Unable to read sms '14'
shows that sms_utils isn't parsing it correctly?)
Receiving SMS with CNMI=,2
root@RUT240:~# gsmctl -A 'AT+CNMI=,2'
OK
root@RUT240:~# gsmctl -A 'AT+CNMI?'
+CNMI: 2,2,0,0,0
Mon May 15 10:31:07 2023 daemon.info gsmd[21835]: Mon May 15 10:31:07 2023 \r\n+CMT: ,76\r\n (REDACTED, CODED MESSAGE EXPECTED BY CMGF=0 INCLUDES TELEPHONE #) \r\n
(this shows that the message is definitely being received by the modem!)
Receiving SMS with CNMI=,2 and CMGF=1
Mon May 15 10:32:15 2023 daemon.info gsmd[21835]: Mon May 15 10:32:15 2023 \r\n+CMT: "REDACTED",,"23/05/15,09:32:14-24"\r\nPain in the butt! I KNOW the SMS is being received by the modem! \r\n
(and this proves that the message is UNDOUBTEDLY being recieved by the modem)
################################################################################
Device Information:
################################################################################
Device name
RUT240
Product code
RUT2400AXXXX
Bootloader version
4.0.7
Serial number
REDACTED
Hardware revision
0011
Batch number
0110
Firmware version
RUT2_R_00.07.04.2
Kernel version
5.4.229
Local device time
2023-05-15 15:14:59
Uptime
00h 11m 21s
Load average
0.63, 1.30, 1.05
Model
EC25-AFF
IMEI
REDACTED
FW version
EC25AFFDR07A09M4G_01.005.01.005
Operator
Visible
Operator state
Registered, home
Cell ID
REDACTED
Data connection state
Connected
Network type
4G (LTE)
################################################################################
gsmctl -E
showing sms_index increasing with each incoming sms
{
"name": "Quectel EC25-AFF",
"model": "EC25-AFF",
"manuf": "Quectel",
"driver": "Quectel EC25-AFF AT",
"usb_id": "1-1",
"vid_pid": "2c7c:0125",
"tty_port": "/dev/ttyUSB2",
"gps_port": "/dev/ttyUSB1",
"baudrate": 115200,
"aux_port": "/dev/modem0",
"builtin": true,
"primary": true,
"simcount": 1,
"modem_func_id": 2,
"is_busy": 0,
"pending": 0,
"state_id": 1,
"state": "Idle",
"last_active": "2023-05-15 10:37:19",
"band_list": [
"WCDMA_850",
"WCDMA_1700",
"WCDMA_1900",
"LTE_B2",
"LTE_B4",
"LTE_B5",
"LTE_B12",
"LTE_B13",
"LTE_B14",
"LTE_B66",
"LTE_B71"
],
"cache": {
"firmware": "EC25AFFDR07A09M4G_01.005.01.005",
"imei": "REDACTED",
"serial_num": "REDACTED",
"pin_state": 1,
"pin_state_str": "OK",
"gsm_bands": 0,
"wcdma_bands": REDACTED,
"lte_low_bands": REDACTED,
"lte_high_bands": 2,
"rssi_value": -79,
"rsrp_value": -110,
"sinr_value": 0.200000,
"rsrq_value": -16,
"service_mode": 21,
"service_mode_str": "LTE",
"net_mode": 1,
"imsi": "REDACTED",
"sms_mode": 1,
"sms_mode_str": "PDU Mode",
"network_state": 1,
"sms_index": 16
},
"cache_stats": {
"heap_usage": "950 B",
"item_count": 21
},
"comm_stats": {
"tty_tx": 4997,
"tty_rx": 19840,
"tx_highest": 55,
"rx_highest": 507,
"aux_fd_num": 0,
"recv_pipe_fd": 7,
"send_pipe_fd": 8
},
"parser_stats": {
"c_grow_cnt": 1,
"c_len": 0,
"c_cap": 1024,
"u_grow_cnt": 1,
"u_len": 0,
"u_cap": 1024
},
"evtmgr_stats": {
"recv_pipe_fd": 14,
"send_pipe_fd": 15
}
}
Enabled band: WCDMA_850
Enabled band: WCDMA_1700
Enabled band: WCDMA_1900
Enabled band: LTE_B2
Enabled band: LTE_B4
Enabled band: LTE_B5
Enabled band: LTE_B12
Enabled band: LTE_B13
Enabled band: LTE_B14
Enabled band: LTE_B66
Enabled band: LTE_B71
################################################################################