Can't send SMS - RUTX11 + Verizon network (US)

I have found and read a few other threads here and elsewhere, but nothing definitive. (example)

I have a new RUTX11 that was factory reset and set up on Firmware 7.06.8. All settings were factory reset multiple times. I also tested this on some other RUTX11 devices using SIMs from the same carrier, on varying firmwares some as old as 7.04.5 with similar failure.

Trying to send an SMS from the device results in

# gsmctl --sms --send '+16461234567 This is a test'
[gsmctl_send_sms:20] error: ERROR: Failed to parse response

I also tried

# ubus call gsm.modem0 send_sms '{"number":"+16461234567","text":"ubustest"}'

Here is the /etc/config/simcard

config sim
        option modem '3-1'
        option position '1'
        option primary '1'
        option enable_sms_limit '0'
        option band 'auto'
        option operator 'auto'
        option deny_roaming '0'
        option operlist '0'
        option iccid '8914800000XXXXXXXXXX'
        option mbn 'hVoLTE-Verizon'
        option volte 'off'
        option signal_reset_enabled '0'
        option service 'lte'

I have tried with VoLTE enabled/disabled (makes no difference). Also, in Firmware 7.6 it seems the option to disable VoLTE has been removed from the UI. But I can still run

# gsmctl --volte_state
Inactive

Here’s this also:

# ubus call gsm.modem0 read_sms '{"index":2}'
{
	"request": "AT+CMGL=4\r",
	"response": "\r\n+CMS ERROR: 303\r\n",
	"errno": 5,
	"error": "Invalid response"
}

Any ideas? I called the carrier and they say there is no block for SMS and the SIM should be fully capable of sending + receiving unlimited SMS…

Ah, I just found this thread: RUTX11 and Verizon VZW SMS [send SMS] - #3 by AndzejJ

Which contains this command

gsmctl -A 'AT+QCFG="ltesms/format",1'

Executing this command on my device has allowed me to send SMS again. Great.

My questions are: why is this necessary, and why can’t this be somehow integrated into the firmware, rather than requiring a custom script to be placed and executed on every device? Is there any better way to ensure this setting is applied?

Hello,

The issue with sending SMS messages with Verizon SIM cards is due to a compatibility problem with Verizon’s network. Executing the command gsmctl -A 'AT+QCFG="ltesms/format",1' resolves this by adjusting the SMS format to one that Verizon supports.

This command is not integrated into the firmware directly, because:

  • The default SMS format work well with most carriers, and implementing specific configurations for each carrier could complicate the firmware and increase the risk of issues or conflicts.
  • By not hardcoding carrier-specific configurations, users can customize settings based on their network requirements or preferences.
  • Network configurations change over time, and hardcoded solutions may not be sustainable. Allowing dynamic configuration through scripts provides flexibility to adapt to evolving network environments.

To automate these scripts, you can add them to Crontab file for scheduled execution.

Best Regards,

I put this in my Custom Script area. It should execute only if APN is Verizon. Is this a good solution?

if ! gsmctl -A 'AT+CGDCONT?' | awk -F, '{$0=substr($3,2,length($3)-2)} /vzw/{v=1} END { exit v }'; then
  gsmctl -A 'AT+QCFG="ltesms/format",1'
fi

Hello,

Apologies for the delay in response. Your script looks good. I encourage you to give it a test run, and I’d appreciate hearing how it performs!

Best Regards,