Skip to main content

Requirements

  • A Linux device with a cellular modem and an active Hologram SIM.
  • ModemManager installed, which provides the mmcli command.
  • Access to your Hologram dashboard for the SIM you are testing.
  • Permission to run sudo on the device, which is required to create, send, and delete messages.

Verify the modem is connected

Before testing SMS, confirm the modem is attached and connected on LTE:
mmcli -m any
Check the following fields in the output:
  • Status > state: should be connected or enabled
  • Status > access tech: should be lte (in regions that still support 2G or 3G, gsm-umts or others may also work)
  • 3GPP > operator name: should be Hologram or the actual mobile network operator
  • 3GPP > registration: should be roaming or home
  • 3GPP EPS > ue mode of operation: should be csps-2 (combined CS/PS, which is required for SMS)
  • 3GPP > packet service state: should be attached
mmcli output showing modem status, access technology, and 3GPP registration fields
If ue mode of operation is not csps-2, SMS may not work. Check your modem’s UE mode configuration.

Send an SMS message to the device from your dashboard

1

Send a test message

In your dashboard, navigate to the SIM and use the Manage SIM menu to Send message to SIM and send a test message to the SIM.
2

Confirm the events in Event history

After sending, open the Events tab for the SIM to view event history. You should see two events:
  1. The message sent to the device, “To SIM”. In the example below, the message body is g2-sms-20260623 with an event type of Inbound SMS (_SMS_DT_ event tag).
  2. A delivery confirmation sent back to Hologram, “From SIM”. In the example below, the message body is SMS with an event type of Inbound SMS delivered (_SMS_DT_DELIVERED_ event tag).
Dashboard Event History showing To SIM and From SIM events for the test message

Verify the message was received by the device

List the messages stored on the modem:
mmcli -m any --messaging-list-sms
Inspect a received message by its index:
mmcli -s 12
Messages from Hologram arrive from the number assigned to the Hologram short or long code. The text field contains the message body you entered.
mmcli output showing the contents of a received SMS, including number and text fields

Create and send an SMS message from the device

Important: The destination must be a valid Hologram short or long code, not an arbitrary number. Use the number from the received SMS, visible in the number field of mmcli -s <index>.
1

Create the message in modem memory

sudo mmcli -m any --messaging-create-sms="number=+80112,text=g2-sms-reply-20260623"
2

Verify, send, and confirm

Verify the message was created, send it, then confirm it was sent:
mmcli -s 13
sudo mmcli -s 13 --send
mmcli -s 13
After sending, state changes from submit to sent and a message reference number is present.
mmcli output showing a created SMS transitioning from submit to sent state with a message reference

Verify the message was received by the SIM

In your dashboard, open the Events tab for the SIM to view event history. You should see a new event tagged Outbound SMS (_SMS_DO_ event tag) with the message body matching what you sent.
Dashboard Event History showing an Outbound SMS event with the message body sent from the device

Delete messages to free up modem memory (optional)

List the current messages:
mmcli -m any --messaging-list-sms
Delete a specific message by its index:
sudo mmcli -m any --messaging-delete-sms=7
mmcli output confirming an SMS was deleted from modem memory by index
To delete multiple messages in a loop:
for i in 7 8 9 10 11 12 13; do
  sudo mmcli -m any --messaging-delete-sms=$i
done
Danger: Do not use mmcli -s <index> --delete. This syntax is broken in newer versions of ModemManager and returns error: no actions specified. Always use --messaging-delete-sms=<index> on the modem (-m) instead.