Bullseye: ModemManager - странности отправки СМС (ошибка, пока не отправить через Gammu)

@EvgenyBoger помогите нам с проблемой пожалуйста. Я, например, использую модем только для отправки SMS в случае проблем (wb-rules Alarms), а теперь получается, что нет никакой гарантии, что такая смс будет отправлена…

1 лайк

Дополнительно выявил: как минимум при переходе на другую сим-карту снова перестает работать отправка через mm и опять надо «инициализироваться» через gammu. Т.е. пока всё совсем грустно.

А научите такое поведение воспроизводить? вот у меня модем с поднятым gprs, я ради проверки несколько раз отправляю СМС - оно просто уходит.

А в первом посте всё описано…Оно просто вот так. AT&F не помогает. Что смотреть - непонятно.
Если надо - могу дать ssh на контроллер, только скажите, откуда.

Что смотреть - выполните первую отправку SMS с помощью gammu вот так:
gammu --debug text --debug-file /root/gammu.log sendsms TEXT +79876543210 -unicode -text ‘Тестовый test’
Ну и выложите сам файл.
А еще - версию прошивки модема.

Версия прошивки:

model: A7600E-H-LNSE
firmware revision: A39C4B07A7600M7

Перезагрузился. Выполнил команду. Ошибка. Приложен gammu1.log
gammu1.log (4.4 КБ)
Второй запуск закончился успехом, СМС отправлена. Приложен gammu2.log
gammu2.log (14.9 КБ)

При доступе в интернет через модем - gammu не работает, при доступе через другие сетевые карты при первом после ребута запуске работает сразу, выдает
gammu.log (15.6 КБ)

Модем:
A7600E-H-LNSE
A39C4B07A7600M7

Оформляю как баг разработчикам. Да, воспроизводится хорошо.
И причина понятна.
gammu читает с модема smsc (номер центра сообщений) и включает его в SMS
А mmcli нет. Но так как в предыдущей sms он был задан - то используется.

Супер, спасибо, похоже на правильный диагноз. Очень ждем исправления!

Не совсем, там еще параметры, котрые в pdu-кодированном сообщении. Методика проста:
Берем из дебага gammu строчку:

Leaving GSM_SendSMS
1 "AT+CMGS=40"
2 "> "
3 "07919761989901F011000B919761769187F60008FF1A0422043504410442043E0432044B043900200074006500730074"
4 "+CMGS: 67"
5 "OK"

засовываем в онлайн декодер например Online SMS PDU Decoder/Converter | Diafaan SMS Server
и смотрим в чем отличия с такой же из mm.

То есть я вчера еще посидел и попробовал добавить номер smsc так:

mmcli -m 0 --messaging-create-sms="text=test15,number=+7******,smsc=+79037011111,delivery-report-request='yes'"

Но не прошло.

Feb 21 16:54:14 wirenboard-AQASN7R6 ModemManager[32350]: <debug> [1676998454.936753] [modem0/ttyUSB1/at] <-- '07919730071111F121000B919782434371F8000006F4F29C1EAB01'
Feb 21 16:54:14 wirenboard-AQASN7R6 ModemManager[32350]: <debug> [1676998454.937234] [modem0/ttyUSB1/at] <-- '<CR><LF>+CMS ERROR: 305<CR><LF>'
Feb 21 16:54:14 wirenboard-AQASN7R6 ModemManager[32350]: <debug> [1676998454.937485] [modem0/ttyUSB1/at] operation failure: 305 (Invalid text mode parameter)

Еще подебажу, но думаю путь верен, так как все прочее что отправляет gammu, например

mmcli -vvvv -m 0 --command=AT+CMEE=1
mmcli -vvvv -m 0 --command=AT+CFUN=1
mmcli -vvvv -m 0 --command=AT+CMGF=0
mmcli -vvvv -m 0 --command=AT+CGMM

влияния не оказывает.

Та же самая проблема, то у меня уже идет загвоздка на п.2

Я так понимаю gammu вы отдельно настраивали? или же перед этим нужно както останавливать сервис mmcli?

на п.2 gammu выдает у меня такую ошибку. будто модем занят (в конфиге указан порт dev/ttyUSB1
image

Не подскажите что нужно сделать?

В настройках gammu укажите /dev/ttyUSB2

Кроме настройки на ttyUSB2 еще убедитесь, что доступ в интернет через модем в текущий момент не включен - а то у меня при активном модемном интернете через ModemManager гамму не работает нигде и никак.

Спасибо! Указание usb2 решило проблему.
Остается ждать решение проблемы с mmcli.
А вообще , есть ли разница для бытовых задач (уведомление о сработке опс) что использовать? Чем gammu хуже или лучше mmcli?

Технически для отправки gammu вроде ничем не хуже, если не лучше, и как минимум удобнее: в mm надо еще текущий номер модема узнавать перед отправкой, он далеко не всегда 0. Проблемы начнутся, только если использовать модем для сетевого соединения - тогда гамму перестает работать (по крайней мере, у меня именно так) - но если что, можно и отказаться от mm и устанавливать модемное интернет-соединение старым способом.
Но вот чисто идеологически как-то неправильно использовать стороннее средство при наличии встроенного:)

Если записать в модем echo 'AT+CSCS="GSM"' >/dev/ttyUSB1
отправка начинает работать. Ждем ответа от производителя, скорей всего ошибка в прошивке модема.
То есть эти же модемы с более старой прошивкой - работают как и ожидается.

1 лайк

Мы исправили ошибку с отправкой СМС в modemmanager 1.20.0-1~bpo11+1-wb102. Пакет доступен для обновления

Работает, спасибо!

На всякий случай высылаю странные строчки из лога после перезагрузки:

10-03-2023 14:17:12.842 [ModemManager]	<warn>  [modem0/sim0] couldn't load GID2: Memory failure
10-03-2023 14:17:12.769 [ModemManager]	<warn>  [modem0/sim0] couldn't load GID1: Memory failure
10-03-2023 14:17:12.698 [ModemManager]	<warn>  [modem0/sim0] couldn't load list of emergency numbers: Failed to parse CRSM query result '+CRSM: 105,129'
10-03-2023 14:17:12.468 [ModemManager]	<warn>  [modem0/sim0] couldn't load GID2: Memory failure
10-03-2023 14:17:12.402 [ModemManager]	<warn>  [modem0/sim0] couldn't load GID1: Memory failure
10-03-2023 14:17:12.402 [ModemManager]	<warn>  [modem0/sim0] couldn't load GID1: Memory failure
10-03-2023 14:17:11.791 [ModemManager]	<warn>  [modem0/sim0] couldn't load list of emergency numbers: Failed to parse CRSM query result '+CRSM: 105,129'
10-03-2023 14:17:08.419 [ModemManager]	<warn>  [modem0] couldn't load supported modes: Couldn't retrieve supported modes
10-03-2023 14:17:04.850	usb 3-1: config 1 has no interface number 3
10-03-2023 14:17:04.850	usb 3-1: config 1 has no interface number 3
10-03-2023 14:17:04.850	usb 3-1: config 1 has an invalid interface number: 5 but max is 4

Да, заработало, спасибо!

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.