Добавить в корзинуПозвонить
Найти в Дзене
Forlinx Embedded

Настройка Linux Wake-On-LAN на платформе RK3568

Поддерживаемые режимы сна системы можно просмотреть с помощью команды cat /sys/power/state. Чтобы добиться функциональности, аналогичной 6ul, используйте функцию «пробуждения» в «gpio-keys.c». Добавьте узел GPIO, указав вывод GPIO для пробуждения. Во время сна сообщение указывает, что только GPIO0 поддерживает пробуждение; тестирование подтвердило, что пробуждаться может только GPIO0. cat /proc/interrupts указывает, что прерывание для ключа 1 было успешно зарегистрировано. Было проведено тестирование, чтобы убедиться, что режимы заморозки и памяти могут активироваться. Во-первых, требуется поддержка NIC для Wake-on-LAN. Используйте инструмент ethtool для проверки информации о сетевой карте. По умолчанию для пробуждения установлено значение «d», что означает, что пробуждение по сети отключено. Опция «поддерживает Wake-on» — «ug» , где «u» разрешает любые одноадресные данные, а «g» разрешает магические пакеты. Для пробуждения можно установить значение «ug» для eth0 с помощью следующей ко
Оглавление

1. Пробуждение GPIO

Поддерживаемые режимы сна системы можно просмотреть с помощью команды cat /sys/power/state.

Чтобы добиться функциональности, аналогичной 6ul, используйте функцию «пробуждения» в «gpio-keys.c». Добавьте узел GPIO, указав вывод GPIO для пробуждения. Во время сна сообщение указывает, что только GPIO0 поддерживает пробуждение; тестирование подтвердило, что пробуждаться может только GPIO0.

-2
-3

cat /proc/interrupts указывает, что прерывание для ключа 1 было успешно зарегистрировано.

Было проведено тестирование, чтобы убедиться, что режимы заморозки и памяти могут активироваться.

-4

2. Пробуждение сети

Во-первых, требуется поддержка NIC для Wake-on-LAN. Используйте инструмент ethtool для проверки информации о сетевой карте. По умолчанию для пробуждения установлено значение «d», что означает, что пробуждение по сети отключено. Опция «поддерживает Wake-on» — «ug» , где «u» разрешает любые одноадресные данные, а «g» разрешает магические пакеты. Для пробуждения можно установить значение «ug» для eth0 с помощью следующей команды: «ethtool -s eth0 wol ug».

-5
-6

Тест для вас:

-7

echo Free > /sys/power/state//Войти в спящий режим с заморозкой

Пробуждение можно осуществить, пропинговав IP этого сетевого порта в любой локальной сети.

Тест на g:

ethtool -s eth0 wol g//Установить пробуждение на g

На этом этапе пинг не проходит, но маку можно указать через wol, чтобы он проснулся.

-8

Тестирование показало, что Wake-On-LAN возможен только в режиме заморозки. Наблюдения показали, что после входа в режим памяти светодиод сети не загорается; тогда как в режиме заморозки сетевой светодиод продолжает нормально мигать. Это указывает на то, что PHY (физический уровень) не работает в режиме памяти и, следовательно, не может вызвать прерывание для пробуждения.

-9
-10

Также возможно, что этот вывод прерывания подключен к gpio3_A2.

-11

Первоначально опубликовано на www.forlinx.net.

Mastering GPIO and Network Wake-up Mechanisms for Improved Embedded Device Sleep-Wake Performance - Blog - Forlinx Embedded Technology Co., Ltd.