Gobi 2000 doesn't provide the QMI_WMS_RESULT_MESSAGE_ID field. As a
result, delivery is resolved as failed and it tries to retransmit it
again and again. From user point of view, a message is sent but the
message is received 4 times.
ofonod[6370]: drivers/qmimodem/qmibridge.c:ask_qmi() READ: QMI QMUX:
QMI length = 19
QMI flags = 0x80
QMI service = "wms"
QMI client = 1
QMI QMI:
QMI flags = "response"
QMI transaction = 293
QMI tlv_length = 7
QMI message = "Raw Send" (0x0020)
QMI TLV:
QMI type = "Result" (0x02)
QMI length = 4
QMI value = 00:00:00:00
QMI translated = SUCCESS
The Quectel EC21 does not provide the SMS PDU on the message event
notification.
This patch adds a call to 'raw read' on the message ID from the event
notification if the event notification does not already contain the
message data.
The message data begins with the SMSC length, type, and address so
the TPDU length is adjusted accordingly in the raw_read callback. This
differs from the way the raw message data is handled in the case
that it is included in the event notification itself. As I don't have
access to any other QMI modem at this time, I'm can not confirm that
this difference is reasonable.
If the ME storage is full, the modem will reject new messages
with a SMPP RP-Error 'Protocol error, unspecific'.
It seems the qmimodem is first checking the ME storage for
free space, then deliver the SMS via QMI and not saving it
to the ME anyway.
Using QMI_WMS_STORAGE_TYPE_NONE it doesn't check for free space.
Tested-on: Quectel EC20