Добрый день!
Есть задача первоначального конфигурирования WirenBoard автоматически → человек не будет заходить на web-интерфейс и выбирать модуль связи, чтобы он корректно прописался в wb-hardware.conf.
Контроллеры перед настройкой модуля связи будут обновляться с помощью latest.fit прошивкой соответствующей “железу” (7.2.1, 6.9.1 и т.д.).
Из имеющихся на руках контроллеров получил следующую картину:
Зависит ли от версии wb-**** прошивки то, как будет прописываться модуль связи в wb-hardware.conf? (По идее ставя последнюю fit прошивку этот вопрос не должен быть актуален, но всё же)
Насколько я понял, главная зависимость - это версия “железа”. Можете ли написать логику (правила) как от версии железа прописать модуль связи?
Все модули связи идут предустановленные с контроллерами.
Не совсем понятно.
Но логика следующая:
Определяется версия контроллера из DTC. Затем по этой верси выбираетсяшаблон для hwconf, например /usr/share/wb-hwconf-manager/wb-hardware.conf.wb72x-73x - и он используется для создания уже рабочего, симлинк на который /etc/wb-hardware.conf
Уже из шаблона, по строке
“id”: “wb72-wbc”,
выбирается
/usr/share/wb-hwconf-manager/slots/wb72-wbc.def
То есть выбор основывается на /sys/firmware/devicetree/base/model
Вот выше описал.
В плане модема разница в том что на 6.7 на разъем модема выведен UART а на 7.x - нет, только USB.
То есть:
Для версий >7 будет приписка usb в compatible и module
“compatible”: [ “wbc-usb”
],
“module”: “wbc-4g-usb”,
а для версия >6.7 && <7 её не будет
“compatible”: [ “wbc”
],
“module”: “wbc-4g”,
Правильно?
А вот насчёт id не подскажете, есть ли способ программно определить, в какой шаблон смотреть, чтобы id оттуда взять? В /proc/device-tree/wirenboard есть board-reversion, но он возвращает 7.2.1.
Или только ручками самому матчить?