Неустойчивое определение модема WBC-4G

Да. Модем запущен и ррр соединение поднято. Когда и в результате чего это произошло не понятно…

Ориентировочно модем поднялся сам в час ночи, более точную картину можно будет получить через два часа. Отправил в ребут: контроллер стартанул, модем нет - наблюдаю, воспроизвожу… Запустил путти на дебаг консоли с записью в лог, будем посмотреть.
После трех самостоятельных перезагрузок (по вотчдогу наверное) модем запустился и соединение поднялось. Итого на старт 2 часа…Многовато…Логи выслать?

здравствуйте!
думаю, стоит немного обрисовать, как всё работает внутри:

  1. Для того, чтобы модем включился - нужно дёрнуть определёнными gpio в определённой последовательности.
  2. Конкретно 4g-модем подключается по USB и определяется линуксом довольно неупорядоченно => неплохо бы проверять, что-за порты появились при включении модема (например, посылая туда какие-то AT-команды)
  3. Логику из 1 и 2 реализует наша утилитка wb-gsm. Вывод вида /dev/ttyGSM0 → /dev/ttyUSB1 - как раз её работа. (кстати, можно вручную позапускать DEBUG=true wb-gsm restart_if_broken и посмотреть, что происходит).

Посмотрев Ваши ранние логи, возникла гипотеза: “модем не стартанул” - это wb-gsm не запустился.
Отсюда - расскажите, пожалуйста, как именно Вы настраивали модем? (максимально подробно, если можно)
И хочется посмотреть на файлы: /etc/network/interfaces; /etc/ppp/peers/какой_provider_у_Вас_там_прописан

Если вдруг антенна не прикручена - лучше накрутить.

Как решение с потолка - попробуйте в /etc/network/interfaces там, где pre-up sleep 10 - сделать 30, например (если так настраивали модем).

Ну и мы всегда рады свежей порции логов:)

1 лайк

Да, у меня такие же симптомы. Иногда модем запускается при старте системы, иногда - нет. Раньше работал через ppp0, сейчас я попробовал настроить его как сетевую карту. Но поведение модема похоже.
После процедуры, описанной здесь, модем сразу не заработал. Заработал после отправки из миникома команды AT+NETOPEN Если модем на запустился сразу, то эта команда иногда помогает. А иногда модем отвечает на неё ERROR.
У меня модем A7600, и команды AT+DIALMODE я вообще не нашёл в документации - должна ли она автоматически поднимать коннект на модеме этого типа?

У меня система управляет дачей, и при такой нестабильности модема эксплуатировать её проблематично.

У меня версия Wirenboard release wb-2204 (as stable), target wb6/stretch. Провайдер ТЕЛЕ2. Вот выход wb-gsm:

root@wirenboard-AZJJRSP2:~# DEBUG=true wb-gsm restart_if_broken
DEBUG: guess_of_node: Got of_gsm_node: /soc/bus@2100000/usb@2184200/usb-hub@1/wbc-modem@2
DEBUG: gsm_init: USB modem is turned on already; probing (/dev/ttyGSM, /dev/ttyGSM*) ports
DEBUG: test_connection: (port:/dev/ttyGSM; timeout:2) => 0
DEBUG: test_connection: (port:/dev/ttyGSM; timeout:5) => 0

Что выводится на

at+dialmode?

Если 0 - то модем автоматически поднимает соединение RNDIS.
Если 1 - то нет.

Попросил у производителя более свежую, благодарю.

Не занят ли в момент запуска wb-gsm порт /dev/ttyGSM?
Ну и - что происходиит дальше, по окончанию попыток связаться (вывод не полный)?

Спасибо за поддержку, без поддержки было бы совсем грустно :slight_smile:

В моём сообщении был полный вывод wb-gsm, дальше просто возникла командная строка. При разных запусках wb-gsm выдаются разные логи. Вот, например:

root@wirenboard-AZJJRSP2:/mnt/data/root/zigbee2mqtt# DEBUG=true wb-gsm restart_if_broken
DEBUG: guess_of_node: Got of_gsm_node: /soc/bus@2100000/usb@2184200/usb-hub@1/wbc-modem@2
DEBUG: restart_if_broken: Modem switched off, switch it on instead of testing the connection
DEBUG: ensure_on: switching on GSM modem using POWER FET
DEBUG: toggle: toggle GSM modem state using PWRKEY
DEBUG: ensure_on: Waiting for modem to start
DEBUG: init_usb_connection: Will wait up to 30s untill usb port becomes available
DEBUG: probe_usb_ports: Probing all modem's usb ports
DEBUG: test_connection: (port:/dev/ttyUSB0; timeout:2) => 3
DEBUG: test_connection: (port:/dev/ttyUSB1; timeout:2) => 0
DEBUG: test_connection: (port:/dev/ttyUSB2; timeout:2) => 0
DEBUG: probe_usb_ports: Answered to 'AT': /dev/ttyUSB1 /dev/ttyUSB2
DEBUG: link_ports: /dev/ttyUSB1 /dev/ttyUSB2 => /dev/ttyGSM0 /dev/ttyGSM1
DEBUG: link_ports: /dev/ttyGSM0 => /dev/ttyGSM
Error in /usr/lib/wb-utils/wb-gsm-common.sh:76. '/usr/sbin/chat -v TIMEOUT $2 ABORT "ERROR" ABORT "BUSY" "" AT OK "" > $1 < $1' exited with status 0
Call tree:
 1: /usr/lib/wb-utils/wb-gsm-common.sh:537 test_connection(...)
 2: /usr/bin/wb-gsm:25 restart_if_broken(...)
Exiting with status 1
DEBUG: test_connection: (port:/dev/ttyGSM; timeout:5) => 4
4
DEBUG: restart_if_broken: WARNING: modem restarted, still no answer (1/10)
DEBUG: test_connection: (port:/dev/ttyGSM; timeout:5) => 0
root@wirenboard-AZJJRSP2:/mnt/data/root/zigbee2mqtt#

или вот так:

root@wirenboard-AZJJRSP2:/# DEBUG=true wb-gsm on
DEBUG: guess_of_node: Got of_gsm_node: /soc/bus@2100000/usb@2184200/usb-hub@1/wbc-modem@2
DEBUG: gsm_init: USB modem is turned on already; probing (/dev/ttyGSM, /dev/ttyGSM*) ports
DEBUG: gsm_init: Modem is connected via USB, but no valid ports are present. Reinitializing USB connection
DEBUG: init_usb_connection: Will wait up to 30s untill usb port becomes available
Turning OFF modem's POWER FET
DEBUG: of_get_prop_gpio: /soc/bus@2100000/usb@2184200/usb-hub@1/wbc-modem@2 power-gpios
DEBUG: of_get_prop_gpio: gpio 33 4 0
DEBUG: of_gpio_to_num: Unpacked gpio 128:4:0 -> 128+4
Force exit: no usb device after 30s
 1: /usr/lib/wb-utils/wb-gsm-common.sh:292 init_usb_connection(...)
 2: /usr/bin/wb-gsm:9 gsm_init(...)
DEBUG: unlink_ports: Unlinked: /dev/ttyGSM /dev/ttyGSM0 /dev/ttyGSM1

Иногда получаю ошибку выполнения wb-gsm, но не успел её записать

Бывают случаи, когда вроде бы всё хорошо (да?), но интернет в результате не подключается:

root@wirenboard-AZJJRSP2:/mnt/data/root/zigbee2mqtt# DEBUG=true wb-gsm off
DEBUG: guess_of_node: Got of_gsm_node: /soc/bus@2100000/usb@2184200/usb-hub@1/wbc-modem@2
DEBUG: gsm_init: USB modem is turned on already; probing (/dev/ttyGSM, /dev/ttyGSM*) ports
DEBUG: test_connection: (port:/dev/ttyGSM; timeout:2) => 0
DEBUG: switch_off: Modem is ON. Will try to switch off GSM modem
DEBUG: switch_off: Send power down command > /dev/ttyGSM
DEBUG: switch_off: Waiting for modem to stop
DEBUG: unlink_ports: Unlinked: /dev/ttyGSM /dev/ttyGSM0 /dev/ttyGSM1
DEBUG: switch_off: physically switching off GSM modem using POWER FET
root@wirenboard-AZJJRSP2:/mnt/data/root/zigbee2mqtt# DEBUG=true wb-gsm on
DEBUG: guess_of_node: Got of_gsm_node: /soc/bus@2100000/usb@2184200/usb-hub@1/wbc-modem@2
DEBUG: ensure_on: switching on GSM modem using POWER FET
DEBUG: toggle: toggle GSM modem state using PWRKEY
DEBUG: ensure_on: Waiting for modem to start
DEBUG: init_usb_connection: Will wait up to 30s untill usb port becomes available
DEBUG: probe_usb_ports: Probing all modem's usb ports
DEBUG: test_connection: (port:/dev/ttyUSB0; timeout:2) => 3
DEBUG: test_connection: (port:/dev/ttyUSB1; timeout:2) => 0
DEBUG: test_connection: (port:/dev/ttyUSB2; timeout:2) => 0
DEBUG: probe_usb_ports: Answered to 'AT': /dev/ttyUSB1 /dev/ttyUSB2
DEBUG: link_ports: /dev/ttyUSB1 /dev/ttyUSB2 => /dev/ttyGSM0 /dev/ttyGSM1
DEBUG: link_ports: /dev/ttyGSM0 => /dev/ttyGSM
root@wirenboard-AZJJRSP2:/mnt/data/root/zigbee2mqtt# ifup usb0
Internet Systems Consortium DHCP Client 4.3.5
Copyright 2004-2016 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/usb0/6a:7b:2f:59:31:55
Sending on   LPF/usb0/6a:7b:2f:59:31:55
Sending on   Socket/fallback
DHCPDISCOVER on usb0 to 255.255.255.255 port 67 interval 3
DHCPREQUEST of 192.168.0.100 on usb0 to 255.255.255.255 port 67
DHCPOFFER of 192.168.0.100 from 192.168.0.1
DHCPACK of 192.168.0.100 from 192.168.0.1
bound to 192.168.0.100 -- renewal in 41827 seconds.
sudo: unable to resolve host wirenboard-AZJJRSP2: No such file or directory
root@wirenboard-AZJJRSP2:/mnt/data/root/zigbee2mqtt#

Модем отвечает на простые команды, а на сложные уже выдаёт ошибку:

AT
OK
AT+NETOPEN?
ERROR
AT+NETOPEN
ERROR
AT+CPING=8.8.8.8,1
ERROR
AT+DIALMODE=0
OK
AT+CGDCONT=1,"IP","INTERNET.TELE2.RU"
ERROR
AT+CGDCONT=?
ERROR
AT+CGDCONT?
ERROR

Подключение к интернету я проверяю пингом с самого модема (AT+CPING=8.8.8.8,1), то есть проблемы с настройкой модема как сетевой карты (если они есть) не должны влиять.

Я паразагружал контроллер, на время отключал питание, проверял, хорошо ли модем сидит в гнезде (в моём заказе модем вставляли в корпус у вас в компании), пытался делать модему AT+CRESET и занового его подключать.

Модем работоспособный, я его настроил как сетевую карту и он отлично работал полдня, на все команды отвечал OK, но в какой-то момент начинаются описанные симптомы.

Естественно, ведь поведение зависит от текущего состояния модема, его ответа на AT запросы, наличия и нумерации портов.
Первый из приведенных листингов - это включение выключенного, второй - работа с уже включенным.
Вы ведь включаете с DEBUG, вот и выводится вся информация. Ориентироваться надо (если в скриптах использовать) на код возврата.

“Интернет” уже обеспечивает сам модем. На контроллере адрес получен.

верно - как написано в документации:
Проверить получение IP адреса: AT+CGCONTRDP.

вывод:

AT+CGCONTRDP
+CGCONTRDP: 1,5,"xxxxx","11.10.82.244","","10.10.30.202","10.10.30.206","","",0,0

OK

если адреса нет - то проверить регистрацию, например at+creg?

Приветствую!

Если модем, действительно, успешно ходил в интернет, а проблемы начинаются после перезагрузки wb c прописанным ppp в /etc/network/interfaces - хочется Вас попросить:

  1. максимально сбросить всё вокруг модема. AT+DIALMODE=1; AT+CRESET, дать модему полежать минут 10 отдохнуть. Ребутнуть wb.
  2. поставить вот эту дебку из вложения (apt install ./дебка.deb --reinstall).wb-utils_3.5.1-wb103_exp_tmp+vdromanov+ppp+experiments_3_gcea55cc_all.deb (29.2 КБ)
    Мы туда каких-то костылей добавили; некоторым пользователям, кажется, помогло
  3. в /etc/network/interfaces прописать в pre-up вместо wb-gsm restart_if_broken - wb-gsm on
  4. поперезагружать wb и отписаться нам о результатах (поднимается ppp или нет)

У некоторых пользователей странное поведение вокруг ppp действительно наблюдаем; у себя - пока воспроизвести не получается => очень бы помогло!

Позвольте подключиться к дискуссии. Wiren Board 6.8.2 (s/n A4MU4RPX), release wb-2204. Модем (4G) используется только для SMS. Делаю wb-gsm restart_if_broken, и дальше с помощью gammu networkinfo наблюдаю:

  1. Происходит подключение к сети, всё ок.
  2. После этого No response in specified timeout. Probably phone not connected.
  3. После этого not logged into network
  4. После этого registration to network denied.
  5. После этого Error opening device, it doesn’t exist.
  6. Через некоторое время опять registration to network denied.

Оператор МТС. Антенна прикручена. Ощущение, что стало залипать после перехода на wb-2204. Но всё руки не доходили разобраться. Что проверять решительно непонятно, такой слой технологий… То ли оператор, то ли контроллер, то ли модем, то ли софт.

Спасибо за совет проверить регистрацию. Да, похоже у меня какие-то периодические проблемы с SIM-картой. На другой карте модем подключается к сети. Текущую карту (TELE2) поменял, но ещё не опробовал.

Господа разработчики! Сделайте, пожалуйста, нормальный интерфейс, который показывает (а) статус модема, (б) статус sim-карты, (в) регистрацию модема как сетевого интерфейса, (г) доступность внешней сети для модема, (д) доступность внешней сети через модем для системы.

Действительно, когда покупаешь ваш контроллер с установленным(!) модемом, ожидаешь, что доступ конфигурируется и настраивается автоматически или в пару кликов. Но в реальности - нет, не настраивается.

При этом порты, через один из которых идет работа с модемом остаются? В выводе dmesg нет ничего подозрительного?

Скоро будет Network manager.
Но вот пункты г и д - я не понял…

Посмотрел вывод dmesg. Вот это подозрительно, что модем каждые две минуты присоединяется-отсоединяется? И зачем ему сразу 3 USB порта? Может ему питания не хватает? Хотя там честные 24В. Или температура в +15С не радует?

[Tue Aug 30 16:37:44 2022] option 2-1.3:1.5: device disconnected
[Tue Aug 30 16:37:50 2022] usb 2-1.3: new high-speed USB device number 111 using ci_hdrc
[Tue Aug 30 16:37:50 2022] usb 2-1.3: New USB device found, idVendor=1286, idProduct=812a, bcdDevice= 0.00
[Tue Aug 30 16:37:50 2022] usb 2-1.3: New USB device strings: Mfr=3, Product=2, SerialNumber=0
[Tue Aug 30 16:37:50 2022] usb 2-1.3: Product: WUKONG
[Tue Aug 30 16:37:50 2022] usb 2-1.3: Manufacturer: MARVELL
[Tue Aug 30 16:37:51 2022] usb 2-1.3: USB disconnect, device number 111
[Tue Aug 30 16:37:57 2022] usb 2-1.3: new high-speed USB device number 112 using ci_hdrc
[Tue Aug 30 16:37:57 2022] usb 2-1.3: config 1 has an invalid interface number: 5 but max is 4
[Tue Aug 30 16:37:57 2022] usb 2-1.3: config 1 has no interface number 3
[Tue Aug 30 16:37:57 2022] usb 2-1.3: New USB device found, idVendor=1e0e, idProduct=9011, bcdDevice= 1.00
[Tue Aug 30 16:37:57 2022] usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[Tue Aug 30 16:37:57 2022] usb 2-1.3: Product: Mobile Composite Device Bus
[Tue Aug 30 16:37:57 2022] usb 2-1.3: Manufacturer: Marvell
[Tue Aug 30 16:37:57 2022] usb 2-1.3: SerialNumber: 200806006809080000
[Tue Aug 30 16:37:57 2022] rndis_host 2-1.3:1.0 usb0: register ‘rndis_host’ at usb-ci_hdrc.1-1.3, RNDIS device, be:47:fc:aa:fe:6e
[Tue Aug 30 16:37:57 2022] option 2-1.3:1.2: GSM modem (1-port) converter detected
[Tue Aug 30 16:37:57 2022] usb 2-1.3: GSM modem (1-port) converter now attached to ttyUSB0
[Tue Aug 30 16:37:57 2022] option 2-1.3:1.4: GSM modem (1-port) converter detected
[Tue Aug 30 16:37:57 2022] usb 2-1.3: GSM modem (1-port) converter now attached to ttyUSB2
[Tue Aug 30 16:37:57 2022] option 2-1.3:1.5: GSM modem (1-port) converter detected
[Tue Aug 30 16:37:57 2022] usb 2-1.3: GSM modem (1-port) converter now attached to ttyUSB3
[Tue Aug 30 16:38:54 2022] usb 2-1.3: USB disconnect, device number 112
[Tue Aug 30 16:38:54 2022] rndis_host 2-1.3:1.0 usb0: unregister ‘rndis_host’ usb-ci_hdrc.1-1.3, RNDIS device
[Tue Aug 30 16:38:54 2022] option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0
[Tue Aug 30 16:38:54 2022] option 2-1.3:1.2: device disconnected
[Tue Aug 30 16:38:54 2022] option1 ttyUSB2: GSM modem (1-port) converter now disconnected from ttyUSB2
[Tue Aug 30 16:38:54 2022] option 2-1.3:1.4: device disconnected
[Tue Aug 30 16:38:54 2022] option1 ttyUSB3: GSM modem (1-port) converter now disconnected from ttyUSB3
[Tue Aug 30 16:38:54 2022] option 2-1.3:1.5: device disconnected
[Tue Aug 30 16:39:00 2022] usb 2-1.3: new high-speed USB device number 113 using ci_hdrc
[Tue Aug 30 16:39:01 2022] usb 2-1.3: New USB device found, idVendor=1286, idProduct=812a, bcdDevice= 0.00
[Tue Aug 30 16:39:01 2022] usb 2-1.3: New USB device strings: Mfr=3, Product=2, SerialNumber=0
[Tue Aug 30 16:39:01 2022] usb 2-1.3: Product: WUKONG
[Tue Aug 30 16:39:01 2022] usb 2-1.3: Manufacturer: MARVELL
[Tue Aug 30 16:39:01 2022] usb 2-1.3: USB disconnect, device number 113
[Tue Aug 30 16:39:08 2022] usb 2-1.3: new high-speed USB device number 114 using ci_hdrc
[Tue Aug 30 16:39:08 2022] usb 2-1.3: config 1 has an invalid interface number: 5 but max is 4
[Tue Aug 30 16:39:08 2022] usb 2-1.3: config 1 has no interface number 3
[Tue Aug 30 16:39:08 2022] usb 2-1.3: New USB device found, idVendor=1e0e, idProduct=9011, bcdDevice= 1.00
[Tue Aug 30 16:39:08 2022] usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[Tue Aug 30 16:39:08 2022] usb 2-1.3: Product: Mobile Composite Device Bus
[Tue Aug 30 16:39:08 2022] usb 2-1.3: Manufacturer: Marvell
[Tue Aug 30 16:39:08 2022] usb 2-1.3: SerialNumber: 200806006809080000
[Tue Aug 30 16:39:08 2022] rndis_host 2-1.3:1.0 usb0: register ‘rndis_host’ at usb-ci_hdrc.1-1.3, RNDIS device, 4a:59:a4:62:3f:c3
[Tue Aug 30 16:39:08 2022] option 2-1.3:1.2: GSM modem (1-port) converter detected
[Tue Aug 30 16:39:08 2022] usb 2-1.3: GSM modem (1-port) converter now attached to ttyUSB0
[Tue Aug 30 16:39:08 2022] option 2-1.3:1.4: GSM modem (1-port) converter detected
[Tue Aug 30 16:39:08 2022] usb 2-1.3: GSM modem (1-port) converter now attached to ttyUSB2
[Tue Aug 30 16:39:08 2022] option 2-1.3:1.5: GSM modem (1-port) converter detected
[Tue Aug 30 16:39:08 2022] usb 2-1.3: GSM modem (1-port) converter now attached to ttyUSB3
[Tue Aug 30 16:40:03 2022] usb 2-1.3: USB disconnect, device number 114
[Tue Aug 30 16:40:03 2022] rndis_host 2-1.3:1.0 usb0: unregister ‘rndis_host’ usb-ci_hdrc.1-1.3, RNDIS device
[Tue Aug 30 16:40:03 2022] option1 ttyUSB0: GSM modem (1-port) converter now disconnected from ttyUSB0
[Tue Aug 30 16:40:03 2022] option 2-1.3:1.2: device disconnected
[Tue Aug 30 16:40:03 2022] option1 ttyUSB2: GSM modem (1-port) converter now disconnected from ttyUSB2
[Tue Aug 30 16:40:03 2022] option 2-1.3:1.4: device disconnected
[Tue Aug 30 16:40:03 2022] option1 ttyUSB3: GSM modem (1-port) converter now disconnected from ttyUSB3
[Tue Aug 30 16:40:03 2022] option 2-1.3:1.5: device disconnected
[Tue Aug 30 16:40:10 2022] usb 2-1.3: new high-speed USB device number 115 using ci_hdrc
[Tue Aug 30 16:40:10 2022] usb 2-1.3: New USB device found, idVendor=1286, idProduct=812a, bcdDevice= 0.00
[Tue Aug 30 16:40:10 2022] usb 2-1.3: New USB device strings: Mfr=3, Product=2, SerialNumber=0
[Tue Aug 30 16:40:10 2022] usb 2-1.3: Product: WUKONG
[Tue Aug 30 16:40:10 2022] usb 2-1.3: Manufacturer: MARVELL
[Tue Aug 30 16:40:10 2022] usb 2-1.3: USB disconnect, device number 115
[Tue Aug 30 16:40:17 2022] usb 2-1.3: new high-speed USB device number 116 using ci_hdrc
[Tue Aug 30 16:40:17 2022] usb 2-1.3: config 1 has an invalid interface number: 5 but max is 4
[Tue Aug 30 16:40:17 2022] usb 2-1.3: config 1 has no interface number 3
[Tue Aug 30 16:40:17 2022] usb 2-1.3: New USB device found, idVendor=1e0e, idProduct=9011, bcdDevice= 1.00
[Tue Aug 30 16:40:17 2022] usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[Tue Aug 30 16:40:17 2022] usb 2-1.3: Product: Mobile Composite Device Bus
[Tue Aug 30 16:40:17 2022] usb 2-1.3: Manufacturer: Marvell
[Tue Aug 30 16:40:17 2022] usb 2-1.3: SerialNumber: 200806006809080000
[Tue Aug 30 16:40:17 2022] rndis_host 2-1.3:1.0 usb0: register ‘rndis_host’ at usb-ci_hdrc.1-1.3, RNDIS device, fe:39:06:ca:cb:5a
[Tue Aug 30 16:40:17 2022] option 2-1.3:1.2: GSM modem (1-port) converter detected
[Tue Aug 30 16:40:17 2022] usb 2-1.3: GSM modem (1-port) converter now attached to ttyUSB0
[Tue Aug 30 16:40:17 2022] option 2-1.3:1.4: GSM modem (1-port) converter detected
[Tue Aug 30 16:40:17 2022] usb 2-1.3: GSM modem (1-port) converter now attached to ttyUSB2
[Tue Aug 30 16:40:17 2022] option 2-1.3:1.5: GSM modem (1-port) converter detected
[Tue Aug 30 16:40:17 2022] usb 2-1.3: GSM modem (1-port) converter now attached to ttyUSB3

А откуда и сколько раз вызывается wb-gsm? Не выключает ли очереной выхов модем?

Ну как же, через один сам модем управляется, ttyGSM.
Остальные - для прикладных задач. Кстати, если занять чем-то порт ttyGSM и запустить wb-gsm restart_if_broken - то не получив ответа от модема утилита его перезапустит, что логично.

А откуда и сколько раз вызывается wb-gsm? Не выключает ли очереной выхов модем?

Сам никаких скриптов не пилил. Были настроены Alarms. В устройствах всё нормально. А полез в настройки через web-консоль (/etc/wb-rules/alarms.conf). А там ужас-ужас.

 Ошибка загрузки файла: Invalid config file EditorError

И ничего настроить уже нельзя. Может здесь что не так? Как восстановить конфиг? Как ни странно, если связь таки успевает появиться, то SMS по настроенным событиям уходят.

Модем при запуске (загрузке) контроллера выключен, всегда.
То есть чтобы он включился - надо явно выполнить wb-gsm.
И да, включается он в sendSMS /usr/share/wb-rules-system/scripts/lib.js
То есть - менялись ли настройки gammu?

Содержимое чистого файла /etc/wb-rules/alarms.conf:

{
  "deviceName": "alarms",
  "deviceTitle": "Alarms",
  "recipients": [],
  "alarms": []
}

Он же, дефолтный лежит тут: /etc/wb-rules.default/alarms.conf
А что в вашем? Выложите пожалуйста.

И да, включается он в sendSMS /usr/share/wb-rules-system/scripts/lib.js
То есть - менялись ли настройки gammu?

Ничего не трогал, контекстом нашёл только одну строку, где встречается wb-gsm и gammu в lib.js

command = command || "wb-gsm restart_if_broken && gammu sendsms TEXT '{}' -unicode";

Он же, дефолтный лежит тут: /etc/wb-rules.default/alarms.conf
А что в вашем? Выложите пожалуйста.

В /etc/wb-rules.default/alarms.conf пусто, нет ничего. А сам конфиг такой.

{
    "alarms": [
        {
            "name": "All City Phases Down",
            "cell": "wb-map3e_91/Total P",
            "alarmMessage": "City Electricity Down ({} W)",
            "noAlarmMessage": "City Electricity Up ({} W)",
            "alarmDelayMs": 0,
            "minValue": 1
        },
        {
            "name": "Generator Not Running",
            "cell": "wb-map3ev_123/Urms L1",
            "alarmMessage": "Generator Not Running ({} V)",
            "noAlarmMessage": "Generator Or City Started ({} V)",
            "alarmDelayMs": 0,
            "minValue": 1
        },
        {
            "name": "IBP Down",
            "cell": "wb-map3ev_110/Urms L1",
            "alarmMessage": "Achtung! IBP IS DOWN ({} V)",
            "noAlarmMessage": "IBP is up ({} V)",
            "alarmDelayMs": 0,
            "minValue": 1
        },
        {
            "name": "Door Opened",
            "cell": "wb-gpio/EXT1_IN1",
            "alarmMessage": "Achtung! Door is opening",
            "noAlarmMessage": "No movement",
            "alarmDelayMs": 0,
            "expectedValue": false
        }
    ],
    "deviceName": "alarms",
    "deviceTitle": "Alarms",
    "recipients": [
        {
            "to": "+7замазано",
            "type": "sms"
        }
    ]
}

Судя по всему конфиг оформлен по какой-то старой схеме старым релизом web-консоли. Хотя от перемены мест слагаемых в ассоциативном массиве не должно что-то сильно меняться.

Но вот пункты г и д - я не понял…

Простому клиенту ведь нужно, чтобы “интернет работал”. Под этими пунктами я имел в виду, что от модема пингуются внешние ресурсы (например, AT+CPING=8.8.8.8,1) и что в системе установлено сетевое соединение через модем, через которое пингуются внешние ресурсы.

Я тоже, увы, возвращаюсь в тему.

На прошлой симке у меня начались проблемы (как я описывал выше). Поскольку на другой симке интренет от контроллера у меня заработал, я поменял симку.
На новой симке интернет работал 2-3 часа, а потом перестал. Вроде бы всё нормально, но пинга нет:

AT                                       
OK                                       
AT+CICCID                                
+ICCID: 897012062653628XXXXX             
OK                                       
AT+CPING=8.8.8.8,1                       
OK                                       
+CPING: 2                                
+CPING: 2                                
+CPING: 2                                
+CPING: 2                                
+CPING: 3,4,0,4,0,0,0                    
AT+CSQ                                   
+CSQ: 11,99                              
OK                                       
AT+NETOPEN                               
OK                                       
+NETOPEN: 0                              
AT+CREG=1
OK
AT+CGCONTRDP
+CGCONTRDP: 1,5,"INTERNET.TELE2.RU","10.40.65.59","","10.221.64.1","10.220.64.1","","",0,0
+CREG: 1
+CREG: 1
+CREG: 1
+CREG: 1
AT+CREG?
+CREG: 1,1
OK

В конце всех этих процедур пинга нет.
Приём для теле2 у меня хороший, рядом у меня вторая симка в ноутбуке и с неё интернет постоянный на хорошей скорости.

wb-gsm запускается так:


root@wirenboard-AZJJRSP2:~# DEBUG=true wb-gsm restart_if_broken
DEBUG: wb_of_parse: Parsing hardware-specific environment from OF
DEBUG: of_get_prop_gpio: /wirenboard/gpios/A1_OUT io-gpios
DEBUG: of_get_prop_gpio: gpio 34 15 0
DEBUG: of_gpio_to_num: Unpacked gpio 64:15:0 -> 64+15
DEBUG: of_get_prop_gpio: /wirenboard/gpios/A4_IN io-gpios
DEBUG: of_get_prop_gpio: gpio 34 27 1
DEBUG: of_gpio_to_num: Unpacked gpio 64:27:1 -> 64+27
DEBUG: of_get_prop_gpio: /wirenboard/gpios/A1_IN io-gpios
DEBUG: of_get_prop_gpio: gpio 34 14 1
DEBUG: of_gpio_to_num: Unpacked gpio 64:14:1 -> 64+14
DEBUG: of_get_prop_gpio: /wirenboard/gpios/5V_OUT io-gpios
DEBUG: of_get_prop_gpio: gpio 42 27 0
DEBUG: of_gpio_to_num: Unpacked gpio 0:27:0 -> 0+27
DEBUG: of_get_prop_gpio: /wirenboard/gpios/A2_OUT io-gpios
DEBUG: of_get_prop_gpio: gpio 34 16 0
DEBUG: of_gpio_to_num: Unpacked gpio 64:16:0 -> 64+16
DEBUG: of_get_prop_gpio: /wirenboard/gpios/A3_IN io-gpios
DEBUG: of_get_prop_gpio: gpio 34 28 1
DEBUG: of_gpio_to_num: Unpacked gpio 64:28:1 -> 64+28
DEBUG: of_get_prop_gpio: /wirenboard/gpios/A3_OUT io-gpios
DEBUG: of_get_prop_gpio: gpio 34 17 0
DEBUG: of_gpio_to_num: Unpacked gpio 64:17:0 -> 64+17
DEBUG: of_get_prop_gpio: /wirenboard/gpios/V_OUT io-gpios
DEBUG: of_get_prop_gpio: gpio 34 9 0
DEBUG: of_gpio_to_num: Unpacked gpio 64:9:0 -> 64+9
DEBUG: of_get_prop_gpio: /wirenboard/gpios/V_OUT_OK io-gpios
DEBUG: of_get_prop_gpio: gpio 34 8 0
DEBUG: of_gpio_to_num: Unpacked gpio 64:8:0 -> 64+8
DEBUG: of_get_prop_gpio: /wirenboard/gpios/A2_IN io-gpios
DEBUG: of_get_prop_gpio: gpio 34 13 1
DEBUG: of_gpio_to_num: Unpacked gpio 64:13:1 -> 64+13
DEBUG: of_get_prop_gpio: /wirenboard/gpios/A4_OUT io-gpios
DEBUG: of_get_prop_gpio: gpio 34 18 0
DEBUG: of_gpio_to_num: Unpacked gpio 64:18:0 -> 64+18
DEBUG: of_get_prop_gpio: //soc/bus@2100000/usb@2184200/usb-hub@1/wbc-modem@2 power-gpios
DEBUG: of_get_prop_gpio: gpio 33 4 0
DEBUG: of_gpio_to_num: Unpacked gpio 128:4:0 -> 128+4
DEBUG: of_get_prop_gpio: //soc/bus@2100000/usb@2184200/usb-hub@1/wbc-modem@2 pwrkey-gpios
DEBUG: of_get_prop_gpio: gpio 34 20 0
DEBUG: of_gpio_to_num: Unpacked gpio 64:20:0 -> 64+20
DEBUG: of_get_prop_gpio: //soc/bus@2100000/usb@2184200/usb-hub@1/wbc-modem@2 status-gpios
DEBUG: of_get_prop_gpio: gpio 34 19 1
DEBUG: of_gpio_to_num: Unpacked gpio 64:19:1 -> 64+19
DEBUG: of_get_prop_gpio: //soc/bus@2100000/usb@2184200/usb-hub@1/wbc-modem@2 simselect-gpios
DEBUG: of_get_prop_gpio: gpio 34 24 0
DEBUG: of_gpio_to_num: Unpacked gpio 64:24:0 -> 64+24
DEBUG: guess_of_node: Got of_gsm_node: /soc/bus@2100000/usb@2184200/usb-hub@1/wbc-modem@2
DEBUG: gsm_init: USB modem is turned on already; probing (/dev/ttyGSM, /dev/ttyGSM*) ports
DEBUG: test_connection: (port:/dev/ttyGSM; timeout:2) => 4
DEBUG: test_connection: (port:/dev/ttyGSM0; timeout:2) => 0
DEBUG: test_connection: (port:/dev/ttyGSM; timeout:5) => 0

После перезагрузки контроллера интернет поднимается на 1 час и опять перестаёт работать. wb-gsm запускается так:

root@wirenboard-AZJJRSP2:~# DEBUG=true wb-gsm restart_if_broken
DEBUG: guess_of_node: Got of_gsm_node: /soc/bus@2100000/usb@2184200/usb-hub@1/wbc-modem@2
DEBUG: gsm_init: USB modem is turned on already; probing (/dev/ttyGSM, /dev/ttyGSM*) ports
DEBUG: test_connection: (port:/dev/ttyGSM; timeout:2) => 0
DEBUG: test_connection: (port:/dev/ttyGSM; timeout:5) => 0
root@wirenboard-AZJJRSP2:~#
  • это полный вывод, там видно, что возникает командная строка

Попытка отключить и включить модем:

root@wirenboard-AZJJRSP2:~# DEBUG=true wb-gsm off
DEBUG: guess_of_node: Got of_gsm_node: /soc/bus@2100000/usb@2184200/usb-hub@1/wbc-modem@2
DEBUG: gsm_init: USB modem is turned on already; probing (/dev/ttyGSM, /dev/ttyGSM*) ports
DEBUG: test_connection: (port:/dev/ttyGSM; timeout:2) => 0
DEBUG: switch_off: Modem is ON. Will try to switch off GSM modem
DEBUG: switch_off: Send power down command > /dev/ttyGSM
DEBUG: switch_off: Waiting for modem to stop
DEBUG: unlink_ports: Unlinked: /dev/ttyGSM /dev/ttyGSM0 /dev/ttyGSM1
DEBUG: switch_off: physically switching off GSM modem using POWER FET
root@wirenboard-AZJJRSP2:~# DEBUG=true wb-gsm on
DEBUG: guess_of_node: Got of_gsm_node: /soc/bus@2100000/usb@2184200/usb-hub@1/wbc-modem@2
DEBUG: ensure_on: switching on GSM modem using POWER FET
DEBUG: toggle: toggle GSM modem state using PWRKEY
DEBUG: ensure_on: Waiting for modem to start
DEBUG: init_usb_connection: Will wait up to 30s untill usb port becomes available
DEBUG: probe_usb_ports: Probing all modem's usb ports
DEBUG: test_connection: (port:/dev/ttyUSB0; timeout:2) => 3
DEBUG: test_connection: (port:/dev/ttyUSB1; timeout:2) => 0
^[[A^[[A^[[B^[[B 

– wb-gsm виснет. но после второй попытки включить модем, интернет восстанавливается:


root@wirenboard-AZJJRSP2:~# DEBUG=true wb-gsm on
DEBUG: guess_of_node: Got of_gsm_node: /soc/bus@2100000/usb@2184200/usb-hub@1/wbc-modem@2
DEBUG: gsm_init: USB modem is turned on already; probing (/dev/ttyGSM, /dev/ttyGSM*) ports
DEBUG: test_connection: (port:/dev/ttyGSM; timeout:2) => 0
DEBUG: ensure_on: Modem is already switched on
root@wirenboard-AZJJRSP2:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=105 time=1795 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=105 time=43.3 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=105 time=59.5 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=105 time=60.0 ms
64 bytes from 8.8.8.8: icmp_seq=6 ttl=105 time=60.5 ms

Что делать? Где и как искать проблемы? Видно, что модем\связь с интернетом работают очень нестабильно.

Да, именно на проверке связи с модемом.

Кстати, для полноты картины, покажите ответ модема:
Прошивка:

AT+CGMR

Номер:

AT+CGSN

Когда пинга нет с самого модема, то есть на at+cping нет ответа - хочется подозревать оператора, конечно.

То есть менее -100дБ? Не очень хорошо, антенна маленькая (штатная)?