Добрый вечер! Не вполне понятно, после чего, но сегодня фактически перестала работать отправка SMS. В сетевых соединениях модем виден, регистрация в сети есть, тип сети и силу сигнала показывает. Из консоли отправка по примеру ниже работает
mmcli -m wbc --messaging-create-sms="text='Test',number='+79999999999'"
Successfully created new SMS: /org/freedesktop/ModemManager1/SMS/10
# mmcli -m wbc -s 10 --send
При запуске
systemctl status smsd
получаем
Unit smsd.service could not be found.
Куда и почему он потерялся - не ясно. Еще утром из правил SMS уходили
Да, это, похоже, снова история, когда документация расходится с реальностью, увы.
Начну с того, что поиск по wiki по простому контексту на первом экране не предлагает прямой статьи. А статей я нашел минимум две: 1, 2, причем не вполне очевидно, какая их них относится к актуальному модулю WBC. Причем в статье 2, на которую идет ссылка со страницы модуля, по факту нет информации для диагностики установщиком.
Ну, а рекомендацию с проверкой systemctl дал Ваш бот…
Реально нужно где-то собрать актуальную информацию, чтобы по шагам можно было самостоятельно диагностику провести, причем - с объяснением того, что и зачем делаем.
Также несколько удивляет наличие warning’ов (couldn’t parse, couldn’t load) ModemManager по “родному” модему:
Да, словосочетание используется в нескольких статьях. Тут вряд ли что-то можно исправить, поиск так и работает.
Да, в самом начале статьи описывается для какого релиза она применима.
То есть модем, например WBC-4G v.2 может стоять в контроллерах 6.x, для которых есть релизы (и могут использоваться) еще на Stretch.
Сходу не могу придумать как сделать лучше.
Разве что в документации модуля несколько ссылок.
Вот “NW ACT” и “NW DEACT” пожалуй интересно, проверю.
Навскидку - это в mm-modem-helpers.c
Но если для обработки нужно патчить MM - скорее не будет реализовано, разве что mainline пакет/
Ну и в SIM не указаны номера, которые хочет вытащить MM.
В том-то и дело, что “на выходе” получается, что наиболее очевидным путем через поисковый запрос на wiki ничего путного - не найти. А это уже саму wiki обесценивает, увы.
Есть предложение выделять эту информацию как-то. Признаюсь честно, я ее пропустил.
Увы, приходится вернуться к проблеме. Из консоли отправка работает, а вот из правила такой фрагмент кода
var myMessage='Отправлено совсем очень затянутое и катастрофически довольно таки длинное тестовое сообщение SMS в длинным текстом и номером на номер ' + smsNumber;
Notify.sendSMS(smsNumber, myMessage);
log(myMessage);
не сопровождается получением тем же абонентом SMS, при этом в логе только приложенное. Вчера то же самое было, решилось через reboot контроллера, что, мягко говоря - не айс. В сетевых соединениях у модема SIM1 имя сети видно, Megafon, LTE, 51%. От состояния передачи данных модемом (подключено/отключено) не зависит
Файл с состоянием модема приложен. Перезапуск его по питанию через systemctl stop wb-gsm тоже не влияет, как и пересохранение правила. А вот service wb-rules restart помогает…
Разобраться с обновлением кое-как удалось. Но есть 2 вопроса:
В пункте 4 инструкции не вполне понятно, что хотели показать. Почему нет явного указания на то, куда нужно скопировать прошивку?
В пункте 6 речь идет о файле BinFile.bin, хотя ранее везде указывалось полное имя файла с прошивкой, включающее версию. И на скриншоте, кстати, тоже длинное имя. Зачем людей путать?
Печаль в том, что обновление не помогло. FW теперь - A50C4B11A7600M7. Только SMS через какое-то время все равно перестают уходить. При этом из консоли все отправляется. Лечится - как и ранее, через service wb-rules restart. Что, собственно, заставляет усомниться, что проблема - в модеме, а не в сервисе wb-rules.
Пришлите диагностический архив пожалуйста. Ну и - после того как “перестают уходить” - в каком состоянии модем? То есть вывод mmcli -m any - а именно состояние регистрации, state.
Собрано два архива. Один - после неудачной отправки SMS из правила. Второй - сразу после успешной отправки из консоли. Между ними получено состояние модема - connected
приложен диагностический архив, доступен только сотрудникам поддержки
(440,3 КБ)
приложен диагностический архив, доступен только сотрудникам поддержки
Что-то у меня подозрение вызвал порт enx020c29a39b6d
Но это USB0
[ 37.005195] rndis_host 1-1:1.0 enx020c29a39b6d: renamed from usb0
Предположу что имеется в виду
Mar 31 14:44:15 wirenboard-AXCFBMYW wb-rules[2120]: INFO: [rule info] Отправлено SMS на номер +792xxxxxxxx
Ну, что я вижу. Судя по отсутствию ошибок в журналах - отработала функция отправки
Ну и перед ней _checkUse4gModem() - по записям в логе
Mar 31 14:44:15 wirenboard-AXCFBMYW wb-gsm[635417]: main: Called from pid 635326 (sh)
Mar 31 14:44:15 wirenboard-AXCFBMYW wb-gsm[635428]: guess_of_node: Got of_gsm_node: /soc/usb@5310000/wbc-modem@1
Mar 31 14:44:15 wirenboard-AXCFBMYW wb-gsm[635451]: gsm_check_present: Modem is enabled in DT (/soc/usb@5310000/wbc-modem@1)
Mar 31 14:44:15 wirenboard-AXCFBMYW wb-gsm[635480]: should_enable: Should enable GSM modem
При этом каллбэк нулевой. Были б записи с содержимым capturedOutput, capturedErrorOutput.
У меня подобное не воспроизводится, хоть и пробовал - нужно:
Включить debug для wb-rules (по крайней мере будет видно что тут
вызывается)
Еще, дополнительно - включить debug для ModemManager. Это уж точно позволит увидеть что ему приходит и как обрабатывается.
Ну и - диагностический архив после неудачной отправки.