Связанные процессы

  • ED-IT - Процессы - Сборка прошивок М7
  • ED-IT - Процессы - Публикация прошивок в репозитории

Связанные инструкции

Связанные компоненты

Общие сведения

  • Память:
  • Архитектура: MIPS
  • Производитель: Eltex
    asdasdasdas

Назначение устройства и история

Для проекта Социально Значимых Объектов (СЗО) требовалось более 50 тысяч устройств для мониторинга школ, ЗАГСов и т.п. Устройства требовалось сделать быстро и главное — сделать дёшево. Компания Eltex предложила платформу на базе чего можно было это реализовать. К сожалению, то ли из-за ограничений производственных мощностей, то ли из-за сжатых сроков — на уровне железа случилось разделение на две ревизии плат (см. далее), что вносит некоторую путаницу т.к. поведение софта, ключи флеш-памяти отличаются, равно как и местами поведение железа.

Архитектура софта

Прошивка данного устройства состоит из двух частей.

  1. Ядро в роли которого выступает прошивка Eltex. Неизменяемое, SDK отсутствует (не совсем так), соответственно вносить новый функционал в эту часть мы не можем. Система для нас полностью в режиме RO
  2. Набор нашего софта, который накатывается поверх прошивки Eltex. Это возможно в силу того что у нас всё-таки присутствуют две директории, полностью доступные нам для чтения и записи:
    • /usr/share/kmut
    • /var/cache/kmut

На уровне железа есть две версии зондов: RevC и RevB

Ревизии плат

RevC

Отличительной особенностью RevC является то, что на этих зондах отсутствует возможность настройки VLAN, в то время как на revB имеется поддержка такого функционала
Так-же на RevC отсутствуют заранее запаянные гребёнки на пинах для подключения по UART, соответственно для работы и отладки потребуется найти гребёнку с шагом в 2.5мм

Внешний вид устройства

RevB

Особо ничего и не расскажешь про неё. Шайба как шайба. Поддерживает возможность настройки VLAN, но поддержка зависит от версии прошивки Eltex.

Матрица поведения revB/revC

ОбластьrevBrevC
Хранилище настроек платформыflashmib
Применение измененийобычно через flash set; commit в базовых примерах не выделенmib set + mib commit
VLANподдерживается, но зависит от версии прошивки Eltexне поддерживается
Устройства/М7/ED-IT - Компоненты - check_inetработает через flash; CHECK_INET_PING_INTERVAL используетсяработает через mib; CHECK_INET_PING_INTERVAL в ping не используется
Устройства/М7/netctlможет возвращать настройки из /usr/share/kmut/etc/network/interfacesфайл может создаваться, но восстановление через netctl не работает, потому что компонент использует flash

Общее правило для документации: различия revB/revC описывать в заметке устройства и в заметках конкретных компонентов. Отдельную инструкцию под ревизию заводить только когда весь порядок действий реально расходится, а не когда отличается одна команда flash/mib.

Ограничения

  • kmut-band на М7 ограничен примерно 50мбит

Аппаратная отладка

UART

Если считать контакты от Ethernet-порта:

ПинНазначение
1GND
2TX
3RX
4VCC

Для подключения USB-UART не подавать питание на VCC, если устройство уже запитано штатно.

BaudRate: 115200

Tips&Tricks

Рядом с UART присутствует ещё группа пинов. Из того что точно полезно знать: перезапустить шайбу можно перемкнув между собой первые два пина (если отсчитывать от UART)

Работа с прошивкой

Наша часть прошивки, а так-же автоматизированная её сборка располагается в гитлабе по URL: https://gitlab.ed-it.ru/main/kmut-lua

Есть два способа прошивать такие зонды:

  1. Через скрипт обновления
  2. Через TFTP

см. Связанные инструкции