I’m trying to use a EG06-E (firmware EG06ELAR04A03M4G) to send SMS messages with the TELMORE operator in Denmark (23801) in its own home network. I’m using ModemManager on a Linux based system, and I’ve attempted to send SMS messages using both plain AT commands and also with QMI commands.
The SMSC is configured correctly according to CSCA?
# mmcli -m 1 --command=“AT+CSCA?”
response: ‘+CSCA: “+4540390999”,145’
Testing with AT commands (PDU edited with XXXX on purpose), I get CMS error 350 reported after several minutes:
Mon May 11 17:17:33 2020 (ttyUSB2): --> 'AT+CMGS=23<CR>'
Mon May 11 17:17:33 2020 (ttyUSB2): <-- '<CR><LF>> '
Mon May 11 17:17:33 2020 (ttyUSB2): --> '0001000A91549208XXXX00000CE8329BFD7EBFDFEFF7FB0D\26'
Mon May 11 17:19:48 2020 (ttyUSB2): <-- '<CR><LF>+CMS ERROR: 350<CR><LF>'
If I try CMGW to store first and CMSS to send from storage, the same error is reported.
When using the QMI protocol (Raw Send command, WMS 0x0020), the error received is a “MessageDeliveryFailure” of type “Temporary” (again, PDU edited with XXXX on purpose).
[11 May 2020, 17:08:07] [Debug] [/dev/cdc-wdm0] sent message...
<<<<<< RAW:
<<<<<< length = 43
<<<<<< data = 01:2A:00:00:05:02:00:0D:00:20:00:1E:00:01:1B:00:06:18:00:00:01:00:0A:91:54:92:08:XX:XX:00:00:0C:E8:32:9B:FD:7E:BF:DF:EF:F7:FB:0D
[11 May 2020, 17:08:07] [Debug] [/dev/cdc-wdm0] sent generic request (translated)...
<<<<<< QMUX:
<<<<<< length = 42
<<<<<< flags = 0x00
<<<<<< service = "wms"
<<<<<< client = 2
<<<<<< QMI:
<<<<<< flags = "none"
<<<<<< transaction = 13
<<<<<< tlv_length = 30
<<<<<< message = "Raw Send" (0x0020)
<<<<<< TLV:
<<<<<< type = "Raw Message Data" (0x01)
<<<<<< length = 27
<<<<<< value = 06:18:00:00:01:00:0A:91:54:92:08:XX:XX:00:00:0C:E8:32:9B:FD:7E:BF:DF:EF:F7:FB:0D
<<<<<< translated = [ format = 'gsm-wcdma-point-to-point' raw_data = '{ [0] = '0 ' [1] = '1 ' [2] = '0 ' [3] = '10 ' [4] = '145 ' [5] = '84 ' [6] = '146 ' [7] = '8 ' [8] = 'XX ' [9] = 'XX ' [10] = '0 ' [11] = '0 ' [12] = '12 ' [13] = '232 ' [14] = '50 ' [15] = '155 ' [16] = '253 ' [17] = '126 ' [18] = '191 ' [19] = '223 ' [20] = '239 ' [21] = '247 ' [22] = '251 ' [23] = '13 '}' ]
[11 May 2020, 17:10:22] [Debug] [/dev/cdc-wdm0] received message...
<<<<<< RAW:
<<<<<< length = 29
<<<<<< data = 01:1C:00:80:05:02:02:0D:00:20:00:10:00:02:04:00:01:00:38:00:01:02:00:8D:00:13:01:00:00
[11 May 2020, 17:10:22] [Debug] [/dev/cdc-wdm0] received generic response (translated)...
<<<<<< QMUX:
<<<<<< length = 28
<<<<<< flags = 0x80
<<<<<< service = "wms"
<<<<<< client = 2
<<<<<< QMI:
<<<<<< flags = "response"
<<<<<< transaction = 13
<<<<<< tlv_length = 16
<<<<<< message = "Raw Send" (0x0020)
<<<<<< TLV:
<<<<<< type = "Result" (0x02)
<<<<<< length = 4
<<<<<< value = 01:00:38:00
<<<<<< translated = FAILURE: Wms.MessageDeliveryFailure
<<<<<< TLV:
<<<<<< type = "Message ID" (0x01)
<<<<<< length = 2
<<<<<< value = 8D:00
<<<<<< translated = 141
<<<<<< TLV:
<<<<<< type = "Message Delivery Failure Type" (0x13)
<<<<<< length = 1
<<<<<< value = 00
<<<<<< translated = temporary
If instead of using “WMS Raw Send” I use “WMS Raw Write” (0x0021) first and then “WMS Send From Memory Storage” (0x0042), the result is the same.
Googling about the problem I found similar errors reported in Sierra modules as well, so I wonder if it’s something coming from the generic Qualcomm base layer software.
I’ve tried to reconfigure the SMSC address using AT+CSCA to e.g. remove the “+” or remove the full country prefix “+45”, or replace it with “0045”… but none of those attempts worked properly, they’re all timing out in the same way.
The same SIM card is able to send SMS messages correctly when tested on a phone.
Any idea what could be happening here?