WB 6.7 GSM модуль

Здравствуйте.

Как программно в новой ревизии понять установлен ли физически gsm модуль?
В предыдущих ревизиях можно было посмотреть в переменную среды WB_OVERLAYS и увидеть wb6-nogsm или wb6-gsm-sim800 или wb6-gsm-sim5300e

в новой же версии там всегда wb6-nogsm

Добрый день.
Программно - только если “включить” модем (добавить штатным способом в /etc/wb-hardware.conf) и отправить модему “AT” например.
Модем теперь модулем. А зачем возникает такая потребность?

необходимость - понять есть ли он физически )
используется 100% свой софт и раньше анализировалась переменная и если gsm нет, то и не пытались ничего делать, а если есть - то долбили с переинициализацией, пока порты не появятся и не будут отвечать
сейчас же сюрприз-сюрприз. стало хорошо, можно модуль доставить, или убрать, но плохо что непонятно есть ли он…

Если модем описан в wb-hardware.conf, то в device-tree запись о нём тоже появится. Если вы заказываете контроллер сразу с модемом, то мы планируем настраивать это у тебя перед отгрузкой.

Смотреть переменную WB_OVERLAYS - это неправильно, это внутренняя деталь реализации, которую мы ещё много раз поменяем.

Правильно - смотреть на ноду wirenboard в device tree. Вот так напрмер:
cat /proc/device-tree/wirenboard/gsm/model

поэтому и вопрос, если изначально было устройство без модема, потом его доставили
при этом всё что wb-* из сервисов отключено
инициализировать модуль wb67-wbc wbc-3g я могу
вопрос в том, физическое присутствие или отсутствие платы модема вносит ли изменения в ветку /proc/device-tree/wirenboard/gsm?

так же покурив последние исходники, пришёл к выводу, что относительно бортовых gpio надо полагаться исключительно на /proc/device-tree/wirenboard/gpios и /proc/device-tree/wirenboard/analog-inputs
т.к. всё что делает hwmanager при конфигурировании файлов - основывается на данных оттуда?

нет. wb-hwcobnf-manager при старте читает wb-hardware.conf, добавляет нужный оверлей в систему. Этот оверлей включает UART к модему и добавляет записи в /wirenboard/gsm.

В контроллерах предыдущих ревизий соответствующий оверлей не мог поменять пользователь, поэтому он применялся загрузчиком до загрузки линукса. Теперь применяется во время загрузки линукса.

нет. Конкретно wb-hwconf-manager смотрит сейчас на общую ревизию платы, это можно увидеть в debian/postinst в репозитории wb-hwconf-manager. Мы планируем перенести описание модулей и слотов в device tree, но пока не придумали как.

На gpios и analog-inupts можно полагаться при работе с дискретными входами и выходами и аналоговыми входами. Наши сервисы wb-mqtt-gpio и wb-mqtt-adc так и делают, готового конфига у них сейчас нет.

Конкретно сервис wb-hwconf-manager является системным и обязательным, потому что его обязанность - говорить ядру про аппаратную конфигурацию. Я очень рекомендую его оставить и не трогать: он выполняется только при старте системы, ресурсов не ест, с другими сервисами не взаимодействует, зависимостей от них не имеет.