Перейти к содержанию

Навигация

Wiren Board Embedded Controller: различия между версиями

Нет описания правки
(не показано 13 промежуточных версий 2 участников)
Строка 1: Строка 1:
{{DISPLAYTITLE: Wiren Board Embedded Controller}}
{{DISPLAYTITLE: Wiren Board Embedded Controller}}
__TOC__
== Описание ==
== Описание ==
[[Image: Wiren Board EC LED1.jpg|200px|thumb|right|Индикатор Embedded Controller]]
В контроллере Wiren Board 7.4 и новее есть специальная микросхема, которая управляет питанием — Embedded Controller, или EC. Перед стартом он включает в правильной последовательности рейки питания, а также проверяет нормальное ли напряжение на них, если с напряжениями всё хорошо то он даёт команду старта основного процессора.  
В контроллере Wiren Board есть специальная микросхема, которая управляет питанием — Embedded Controller, или EC. Перед стартом он включает в правильной последовательности рейки питания, а также проверяет нормальное ли напряжение на них, если с напряжениями всё хорошо то он даёт команду старта основного процессора.  


Кроме этого на нём реализованы: сторожевой таймер, часы реального времени, будильники, обработка нажатий на кнопку ON/OFF и другие системные функции.
Кроме этого на нём реализованы: сторожевой таймер, часы реального времени, будильники, обработка нажатий на кнопку ON/OFF и другие системные функции.


У EC есть индикатор LED1, установленный на плате контролера:
== Индикация и отключение ==
[[Image: Wiren Board EC LED1.jpg|200px|thumb|right|Индикатор Embedded Controller]]
У EC есть индикатор '''LED1''', установленный на плате контролера:
* Рабочий режим — светодиод мигает 500 мс включен, 1000 мс выключен.
* Рабочий режим — светодиод мигает 500 мс включен, 1000 мс выключен.
* Ожидание выключения Linux после нажатия кнопки — мигает 250 мс включен, 250 мс выключен.
* Проверяет рейки питания и пробует запустить основной процессор — мигает очень часто 50 мс включен, 50 мс выключен.
* Проверяет рейки питания и пробует запустить основной процессор — мигает очень часто 50 мс включен, 50 мс выключен.
* Спящий режим — очень короткие вспышки раз в 2 секунды.
* Спящий режим — очень короткие вспышки раз в 2 секунды.


Есть кнопка '''B1''' и перемычка '''SJ2''', которые объедены в группу ''Watchdog OFF'' — они замыкают ресет EC на землю, чем блокируют его работу. Это может быть полезно, если вам надо временно отключить [[Watchdog|сторожевой таймер]], или по каким-то причинам EC начал сбоить и не давать контроллеру запуститься.
== Функции ==
'''Будильник.''' Вы можете включать контроллер по будильнику — это может быть полезным при работе от автономного источника питания. Будильник настраивается в консоли контроллера утилитой [https://manpages.debian.org/testing/util-linux/rtcwake.8.en.html rtcwake], примеры:
'''Будильник.''' Вы можете включать контроллер по будильнику — это может быть полезным при работе от автономного источника питания. Будильник настраивается в консоли контроллера утилитой [https://manpages.debian.org/testing/util-linux/rtcwake.8.en.html rtcwake], примеры:
* Выключить сейчас и включить через 60 секунд:  
* Выключить сейчас и включить через 60 секунд:  
Строка 28: Строка 32:
</syntaxhighlight>
</syntaxhighlight>


'''Выключение контроллера''' из Linux по команде <code>poweroff</code> возможно только при установленном будильнике, или вставленном модуле [[WBMZ4-BATTERY_Backup_Power_Module|WBMZ4-BATTERY]] / [[WBMZ4-SUPERCAP_Backup_Power_Module|WBMZ4-SUPERCAP]]. Будьте осторожны с выключением контроллера из Linux, если у вас нет физического доступа к контроллеру — включить его можно будет в таком случае дождавшись когда сработает будильник, либо когда появится питающее напряжение.
Установку будильника можно автоматизировать с помощью [[wb-rules]].
 
'''Выключение контроллера''' из Linux по команде <code>poweroff</code> возможно только при установленном будильнике, или при работе от модуля [[WBMZ4-BATTERY_Backup_Power_Module|WBMZ4-BATTERY]] / [[WBMZ4-SUPERCAP_Backup_Power_Module|WBMZ4-SUPERCAP]] и отсутствии внешнего питания. Будьте осторожны с выключением контроллера из Linux, если у вас нет физического доступа к контроллеру — включить его можно будет в таком случае дождавшись когда сработает будильник, либо когда появится питающее напряжение.


'''Обработка нажатия кнопки On/Off.''' При подаче напряжения питания на любой из возможных входов (Vin, PoE, USB-C), контроллер включается автоматически. Для выключения на месте в контроллере есть кнопка '''ON/OFF''', у которой есть два типа нажатий:
'''Обработка нажатия кнопки On/Off.''' При подаче напряжения питания на любой из возможных входов (Vin, PoE, USB-C), контроллер включается автоматически. Для выключения на месте в контроллере есть кнопка '''ON/OFF''', у которой есть два типа нажатий:
Строка 37: Строка 43:
* Часы реального времени RTC. Питаются от собственного отдельного аккумулятора, периодическая замена батарейки не требуется. Ёмкости аккумулятора хватает на 2-3 месяца работы часов при отключенном питании контроллера.
* Часы реального времени RTC. Питаются от собственного отдельного аккумулятора, периодическая замена батарейки не требуется. Ёмкости аккумулятора хватает на 2-3 месяца работы часов при отключенном питании контроллера.
* Измерение температуры внутри корпуса.
* Измерение температуры внутри корпуса.
* Управление выходом Vout с защитой от превышения напряжения. Если напряжение питания контроллера больше 29 В, то EC отключит выход Vout т.к. напряжение с Vin на Vout идёт напрямую и может повредить устройства подключенные к контроллеру. Если напряжение снизится ниже 28 вольт — выход будет включён снова.
* Управление выходом Vout с защитой от превышения напряжения. Если напряжение питания контроллера больше 29 В, то EC отключит выход Vout т.к. напряжение с Vin на Vout идёт напрямую и может повредить устройства подключенные к контроллеру. Если напряжение снизится ниже 28 вольт — выход будет включён снова. Также выход Vout отключается, если контроллер работает от USB.


== Обновление прошивки EC ==
== Обновление прошивки EC ==
{{Anchor|ec-update-fw}}
{{Anchor|ec-update-fw}}
Этот раздел про обновление прошивки EC, если вам надо обновить ПО самого контроллера Wiren Board, вам сюда [[Wiren_Board_Firmware_Update#web-ui|Обновление прошивки контроллера Wiren Board]].
Этот раздел про обновление прошивки EC, если вам надо обновить ПО самого контроллера Wiren Board, вам сюда [[Wiren_Board_Software#update| Программное обеспечение Wiren Board]].
 
Не обновляйте прошивку EC просто так — это опасная процедура, которая при сбое в питании контроллера может его сломать. Поэтому выполняйте процедуру только по рекомендации нашей техподдержки.


Текущую версию прошивки можно узнать командой <code>cat /sys/bus/spi/drivers/wbec/spi0.0/fwrev</code>.
Текущую версию прошивки можно узнать командой <code>cat /sys/bus/spi/drivers/wbec/spi0.0/fwrev</code>.
Строка 50: Строка 54:


Для обновления прошивки:
Для обновления прошивки:
# Подключите контроллер к источнику бесперебойного питания, или установите внутренний модуль резервного питания.
# Подключите к контроллеру внешнее питание — это важно, от батарейки прошить EC не получится.
# Подключитесь к контроллеру по [[SSH]].
# Подключитесь к контроллеру по [[SSH]].
# Обновите пакеты: <code>apt update; apt upgrade</code>
# Выполните команду <code>wb-ec-firmware-update</code>, дождитесь завершения процедуры.
# Выполните команду <code>wb-ec-firmware-update</code>, дождитесь завершения процедуры.
# Перезагрузите контроллер — это важно.
# Перезагрузите контроллер.
 
Если в конце обновления прошивки вы получили ошибку <code>modprobe: FATAL: Module xxxxxxx not found</code> вероятно вы не перезагрузили контроллер в последнем пункте, перезагрузите его.