PDA

Bekijk de volledige versie : LED mod - утилита для управления светодиодом PoWeR



Mam(O)n
28-11-2007, 14:18
Тут от нечего делать, основываясь на асусовский watchdog, собрал утилитку с помощью которой можно управлять светодиодом pwr. Я думаю она может найти свое применение там, где необходимо уведомление пользователя о каком-либо событии, которое можно осуществить с помощью этого светодиода. Работать должна на WL-500gDeluxe/WL-550gE/WL-500gPremium/WL-500w и возможно на других моделях. Проверял я её на своем WL-500g Premium. Это мой первый опыт клепания программы на языке C да и к тому же под линукс да и к томуже под роутер. Так что используйте её на свой страх и риск(!).



Установка:
На подключенный диск/флешку, смонтированную в /opt:


cd /opt/bin
/usr/bin/wget 'http://wl500g.info/attachment.php?attachmentid=2152' -O- | /bin/tar xzv

Во флеш(flashfs) роутера:


cd /usr/local/bin
/usr/bin/wget 'http://wl500g.info/attachment.php?attachmentid=2152' -O- | /bin/tar xzv
flashfs save

Т.к. на разных моделях роутеров размер раздела flashfs разный и во избежание потери информации убедитесь, что размер полученного flashfs не превышает 64К. Для этого после команды flashfs save (и до commit) обратите внимание на строку вида:


-rw-r--r-- 1 root root 10710 Nov 16 15:24 /tmp/flash.tar.gz
Check saved image and type "/sbin/flashfs commit" to commit changes

где значение, выделенное красным не должно превышать 65535. Если значение превышает максимальный размер, то откажитесь от данной затеи, НЕ делайте flashfs commit и удалите файл с помощью команды rm /usr/local/bin/pwrled

Далее сохраните flashfs во флеш:


flashfs commit
flashfs enable


Использование:





Usage: pwrled [-fghl] [-b [-p pidile]] [-c count] [-e on_dur]
[-d off_dur] [-n n_cycles] [-s sleep] [preset]

-n n_cycles Количество подмигиваний.
-e on_dur Длительность паузы в состоянии
"включено" при подмигивании.
-d off_dur Длительность паузы в состоянии
"выключено" при подмигивании.
-s sleep Пауза после подмигивания.
-g "Негативный режим". Пауза (-s)
выдерживается при погасшем светодиоде.
-c count Количество полных циклов светомузыки
0 для бесконечной светомузыки.
-1 без входа в цикл.
-f Отключить светодиод по завершении
работы программы.
-b Фоновый режим.
-p file Записать PID процесса в файл file
Используйте "-" для вывода в stdout.
Опция имеет силу только при использовании
совместно с опцией -b.
-l Вывести в stdout результат совмещения
предустановок (preset) и указанных вручную
опций и затем выйти из программы.
-h Вывести справку.

Доступные предустановки (preset): on off alarm0 alarm1 alarm2
alarm3 alarm4 alarm5 alarm6 alarm7 alarm8 alarm9


В новой версии можно комбинировать опции согласно стандарту POSIX (например: -fbp /tmp/pid -c20 -s 10). Также сохранена обратная совместимость. Тоесть для включения или отключения светодиода можно также как и раньше использовать комманды pwrled on и pwrled off соответственно.

Из за того, что не все консоли одинаково русифицированы мне в программе пришлось использовать ломаный английский, так что звиняйте, если что не будет понятно. В связи с этим с удовольствием приму помощь в исправлении ошибок.

В (ba)sh скриптах теперь можно использовать как совместно с PID файлом:


PID="/var/run/pwrled.pid"
# Для запуска светомузыки в режиме alarm5
[ -r "$PID ] && kill $(cat $PID); pwrled -bp$PID alarm5
# Для отключения светомузыки
[ -r "$PID ] && kill $(cat $PID);


так и по старинке:

# Для запуска светомузыки в режиме alarm5
(killall pwrled 2>/dev/null; pwrled alarm5 &)
# Для отключения светомузыки
(killall pwrled 2>/dev/null)

Исходник утилиты на языке C также прилагается.

tchr
28-11-2007, 17:33
500g Deluxe:

[admin@(none) tmp]$ ./pwrled off
ERROR: No suitable hardware found

А жаль...

Mam(O)n
28-11-2007, 21:14
Добавил поддержку wl500gx. Первый пост обновил, можно тестить ;)

n0isy
28-11-2007, 22:49
))) работает на premium

tchr
29-11-2007, 06:59
Работает на Deluxe :)
А другими лампочками нельзя управлять? А то хороший бы интерфейс для подключения исполнительных устройств получился

Mam(O)n
29-11-2007, 07:28
Здесь (http://www.wl500g.info/showthread.php?t=21499) Oleg говорил, что управлять другими не получится.

n0isy
29-11-2007, 20:11
а то охота юзать как предупреждалку какую-нить и в дефолтовом статусе хотелось бы в выключенном состоянии

Mam(O)n
30-11-2007, 07:52
pwrled off погасит светодиод. А для оповещения можно воспользоватся режимами alarm(5-9), они подмигивают из состояния "выключено".

vladimirku3n
20-12-2007, 10:47
Как выключить/включить LED?
Скрипт или call (soft напишу сам).
Надоело что лампочки горят :)

angel_il
20-12-2007, 11:06
pwrled off/on
http://wl500g.info/showthread.php?t=11765&highlight=pwrled

angel_il
22-12-2007, 15:22
Просьба небольшая добавить флаг
-f (продолжать мерцать)
если запускается без флага то после моргания pwrled сразу завершается.
если с флагом -f то моргает до посинения.

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

Mam(O)n
24-12-2007, 13:04
По просьбам трудящися я убил ночку и в результате чего свет увидела новая версия этой утилиты :)


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


Просьба небольшая добавить флаг
-f (продолжать мерцать)
если запускается без флага то после моргания pwrled сразу завершается.
если с флагом -f то моргает до посинения.

В новой версии я добавил опцию -c, с помощью которой можно задать количество циклов подмигивания. Допустим если использовать -c1 тогда один раз промигает в заданном режиме и программа завершится. А если заюзать -c0, то моргать будет до посинения ;)

angel_il
24-12-2007, 13:55
вау! это просто праздник какой то! (с)

Mam(O)n
24-12-2007, 14:33
Пока не поздно - повторный релиз. Сделал небольшие косметические исправления и главное поменял местами опции -e и -d, а то слегка попутал и в суматохе сделал не как было задумано:o

angel_il
24-12-2007, 22:38
эта... английский не знаю, но вместо

Type ...

более корректно

Try `pwrled --help or -h' for more information.

а вот так вот:

./pwrled --help
./pwrled: illegal option -- -

как то несколько неожиданно для меня :), непомню гнутого софта который бы не выдавал хелп по --help :).

dmig
10-01-2008, 21:13
интересная тема....
знаю, что в ядре 2.6 светодиоды вынесены в отдельный класс девайсов с отдельными драйверами.
но, думаю, здесь всё тупо - они завязаны на железо. если же всё таки нет -- хорошо бы иметь модули ядра дли управления ими. это был бы идеальный вариант.

djet
09-02-2008, 22:07
Отличная вещь! Повесил индикацию загрузки и выключения в pre-boot, post-boot, pre-shutdown и по паре на ppp0-ip-up/down.

Vofik
10-02-2008, 14:12
Аффтару респект и лажуха!:D;)

Сделайте плиз флаг -k, чтоб коммандой pwrled -k убивать эту прогу, если она работает! ПЛИИИЗЗ!:(:p

al37919
10-02-2008, 14:31
kill `pidof pwrled`

anterior
27-08-2008, 13:04
Здравствуйте. Ночью мешают спать мигающие лампочки на роутере. Вот было бы здорово если бы можно было по крону их отключать в ночное время. А всё-таки возможно ли ими управлять ?

anterior
27-08-2008, 13:17
Вот нашёл, но только на один индикатор - power :(

echo 0 > /proc/diag/led/power

AndreyPopov
27-08-2008, 13:31
Здравствуйте. Ночью мешают спать мигающие лампочки на роутере. Вот было бы здорово если бы можно было по крону их отключать в ночное время. А всё-таки возможно ли ими управлять ?

можно. тут была тема,как к примеру на кнопку EZSetup повесить включение/выключение WiFi

и вот тут много интересного:
http://www.dd-wrt.com/wiki/index.php/Useful_Scripts

anterior
27-08-2008, 13:56
и вот тут много интересного:
http://www.dd-wrt.com/wiki/index.php/Useful_Scripts

Интересно, а где можно найти информацию о GPIO кодах для WL-500gP ? Я тут попробовал перебором по-выполнять, ну чего-то не одна лампочка у меня не изменила состояния:

# ./gpio disable 0
# ./gpio disable 1
# ./gpio disable 2
# ./gpio disable 3
# ./gpio disable 4
# ./gpio disable 5
# ./gpio disable 6
# ./gpio disable 7
# ./gpio disable 8
# ./gpio disable 9
# ./gpio disable 10

anterior
27-08-2008, 14:09
echo 0 > /proc/diag/led/power

Ха... вот аналог нашёл:
включить power led - # ./gpio disable 1
выключить power led - # ./gpio enable 1

Visionary
06-01-2009, 14:14
[admin@WL bin]$ (killall pwrled 2>/dev/null; pwrled alarm5 &)
[admin@WL bin]$ ERROR: No suitable hardware found
:( очень жаль
WL500gPv2 прошивка последняя

angel_il
06-01-2009, 15:43
[admin@WL bin]$ (killall pwrled 2>/dev/null; pwrled alarm5 &)
[admin@WL bin]$ ERROR: No suitable hardware found
:( очень жаль
WL500gPv2 прошивка последняя

ну если не ошибаюсь в шапке есть сырцы.

cipipi
06-01-2009, 16:26
Ай, празднично :D ... Жаль раньше не заметил темы, а тоб роутер вместо гирлянды на елку повесил.
Автору респект. Нужная вещь. Можно использовать как индикацию хода загрузки чего либо в зависимости от частоты моргания. :D

callCC
06-06-2009, 01:36
а дёргается ли AIR программно на WL500gpV2? (за исключением wl radio {off|on} :) )

Mr.Z
13-06-2009, 19:02
$ ERROR: No suitable hardware found


У меня есть желание поковырять исходник. Тока ткните носом, как откомпилить его под роутер. За плечами ассемблер, опыт с++ мизерный.

P.S.: Установил optware-devel & buildroot -> ./configure .. + make => 'Hello World!' откомпилился и работает. Что делать с Mam(O)n'овским исходником (там нет configure)? Где взять указанный в исходнике <bcmnvram.h>?

angel_il
13-06-2009, 21:47
У меня есть желание поковырять исходник. Тока ткните носом, как откомпилить его под роутер. За плечами ассемблер, опыт с++ мизерный.

P.S.: Установил optware-devel & buildroot -> ./configure .. + make => 'Hello World!' откомпилился и работает. Что делать с Mam(O)n'овским исходником (там нет configure)? Где взять указанный в исходнике <bcmnvram.h>?

как то так
сс file.c -o file

akm2008
13-06-2009, 22:33
+1 Автору респект все прекрасно работает :)

Mr.Z
13-06-2009, 23:24
как то так
сс file.c -o file

# cc pwrled-0.2.20071224-1.c -o 12345
pwrled-0.2.20071224-1.c:30:22: error: bcmnvram.h: No such file or directory

al37919
14-06-2009, 06:45
# cc pwrled-0.2.20071224-1.c -o 12345
pwrled-0.2.20071224-1.c:30:22: error: bcmnvram.h: No such file or directory
полагаю, проблема сложнее, чем вам кажется. Функция nvram_match находится в /usr/lib/libnvram.so Она скомпилена тулчейном для компиляции прошивки. Нативная компиляция на роутере осуществляется тулчейном optware. Они, вероятно, несовместимы. Так что ИМХО, эту штуку скомпилить можно только путем разворачивания тулчейна для компиляции прошивки на ПК под линуксом и последующей кросс-компиляции.

Mr.Z
14-06-2009, 09:30
... эту штуку скомпилить можно только путем разворачивания тулчейна для компиляции прошивки на ПК под линуксом и последующей кросс-компиляции.

Какова последовательность действий (примерная)? Накидайте ссылок что-ли. Поиск по сайту работает, тока я не знаю что именно мне нужно искать (в каждом топике своя правда, с чего начать - хз)?

P.S.: http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware мне сюда?

md5sum
22-06-2009, 14:54
P.S.: http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware мне сюда?

Именно!
А применив 4971
(cd /your_src_path/broadcom/src/gateway/; zcat ./ready_led.patch.gz | patch -p0)

Вы получите (после компиляции) две утилиты: /sbin/led_series и /sbin/ledon

ledon - тупо включает светодиод
а led_series можно использовать для "сложных" сигналов
(/sbin/led_series 0 600,600,400,200,200,200,200,200 - непрерывный сигнал SOS)

Mr.Z
22-06-2009, 15:56
Именно!
А применив 4971
(cd /your_src_path/broadcom/src/gateway/; zcat ./ready_led.patch.gz | patch -p0)
Вы получите (после компиляции) две утилиты: /sbin/led_series и /sbin/ledon


Спасибо. Завтра поковыряю дома.

theMIROn
22-06-2009, 20:38
Добавил поддержку новых и старых роутеров и так, по мелочи чуть чуть


[admin@router /home]$ ./pwrled -h
pwrled v0.3.20090622, an utility for manipulate state of the power led
Written by Mam(O)n; http://wl500g.info; theMIROn; http://wl500g.googlecode.com

Usage: ./pwrled [-fghlv] [-b [-p pidile]] [-c count] [-e on_dur] [-d off_dur] [-n cycles] [-s sleep] [preset]

-n cycle Count of flash's before pause.
-e on_dur Sleep time in the flash cycle when led is on.
-d off_dur Sleep time in the flash cycle when led is off.
-s sleep Pause after full flash cycle is reached.
-g "Negative flash" mode. E.g. pause(-s) used when led is off.
-c count Count of full flash cycles with pauses(-s).
Use 0 for infinity, -1 for none.
-f Turn off the led after done or kill.
-b Fork to background (demonize).
-p file Write PID to file. Use '-' to stdout output.
This option must be used with conjunction of -b.
-l Print conjunction of preset & user options and exit.
-v Print detected router model.
-h Print this help and exit.

Supported routers: ASUS WL-320gE/WL-320gP, ASUS WL-330gE, ASUS WL-500g, ASUS WL-500g Deluxe, ASUS WL-500g Premium, ASUS WL-500g PremiumV2, ASUS WL-500W, ASUS WL-520GC, ASUS WL-520gU, ASUS WL-550gE, ASUS WL-700g, D-Link DIR-320, Microsoft MN-700

Avaliable presets: on, off, alarm0, alarm1, alarm2, alarm3, alarm4, alarm5, alarm6, alarm7, alarm8, alarm9

dINIs
24-06-2009, 14:05
Добавил поддержку новых и старых роутеров и так, по мелочи чуть чуть



[admin@asus bin]$ pwrled
Segmentation fault
[admin@asus bin]$ pwrled -h
Segmentation fault


Что-то делаю не так? asus wl-500w.

theMIROn
24-06-2009, 14:22
[admin@asus bin]$ pwrled
Segmentation fault
[admin@asus bin]$ pwrled -h
Segmentation fault

Что-то делаю не так? asus wl-500w.

какая прошивка?

UPD: Убрал зависимости от libnvram.so

sEr...
24-06-2009, 16:19
Эту програмку можно пробовать на ASUS WL-500G Premium V2 ???
Очень бы пригодилась :)) Жаль что только Power можно мычать :)
Её добавили или добавят в репозитарий?

theMIROn
24-06-2009, 20:56
Эту програмку можно пробовать на ASUS WL-500G Premium V2 ???
Очень бы пригодилась :)) Жаль что только Power можно мычать :)
Её добавили или добавят в репозитарий?
так я же писал


Supported routers: ASUS WL-320gE/WL-320gP, ASUS WL-330gE, ASUS WL-500g, ASUS WL-500g Deluxe, ASUS WL-500g Premium, ASUS WL-500g PremiumV2, ASUS WL-500W, ASUS WL-520GC, ASUS WL-520gU, ASUS WL-550gE, ASUS WL-700g, D-Link DIR-320, Microsoft MN-700

в репозитарий - врядли.

sEr...
24-06-2009, 21:51
Спасибо,я просто прочитал первый пост и пару постов ниже, а этого не видел... Ща буду пробовать :)

sEr...
24-06-2009, 22:38
какая прошивка?

UPD: Убрал зависимости от libnvram.so

Нифига. скачал последнюю версию и выдаёт

[ser@WL root]$ pwrled -h
Segmentation fault

ASUS WL-500G Premium V2
Прошивка от Олега последняя 1.9.2.7-10.7

md5sum
24-06-2009, 22:47
wl500g-1.9.2.7-d
работает....

[alexs@MD5SUM root]$ \cat /proc/221/maps
00400000-00403000 r-xp 00000000 00:08 9256 /tmp/local/sbin/pwrled
00442000-00443000 rw-p 00002000 00:08 9256 /tmp/local/sbin/pwrled
2aaa8000-2aaad000 r-xp 00000000 1f:02 507911 /lib/ld-uClibc.so.0
2aaad000-2aaae000 rw-p 00000000 00:00 0
2aaae000-2aab6000 r--s 00000000 00:07 311 /dev/nvram
2aaec000-2aaed000 r--p 00004000 1f:02 507911 /lib/ld-uClibc.so.0
2aaed000-2aaee000 rw-p 00005000 1f:02 507911 /lib/ld-uClibc.so.0
2aaee000-2aafd000 r-xp 00000000 1f:02 507517 /lib/libgcc_s.so.1
2aafd000-2ab3c000 ---p 0000f000 00:00 0
2ab3c000-2ab3d000 rw-p 0000e000 1f:02 507517 /lib/libgcc_s.so.1
2ab3d000-2ab9b000 r-xp 00000000 1f:02 507537 /lib/libc.so.0
2ab9b000-2abda000 ---p 0005e000 00:00 0
2abda000-2abdb000 r--p 0005d000 1f:02 507537 /lib/libc.so.0
2abdb000-2abdc000 rw-p 0005e000 1f:02 507537 /lib/libc.so.0

Break Action
24-06-2009, 23:14
У меня тоже работает только не выдает данные по -l и -v

dINIs
26-06-2009, 10:43
какая прошивка?

UPD: Убрал зависимости от libnvram.so

1.9.2.7-10.7

Попробовал эту версию:


[admin@asus bin]$ tar xzv -f /tmp/mnt/disc1_1/data/pwrled-0.3.20090624-bin.tgz
pwrled
[admin@asus bin]$ ./pwrled
Segmentation fault
[admin@asus bin]$ ls -l ./
-rwxr-xr-x 1 admin root 14152 Jun 24 17:22 pwrled

al37919
26-06-2009, 15:20
1.9.2.7-10.7

Попробовал эту версию:


[admin@asus bin]$ tar xzv -f /tmp/mnt/disc1_1/data/pwrled-0.3.20090624-bin.tgz
pwrled
[admin@asus bin]$ ./pwrled
Segmentation fault
[admin@asus bin]$ ls -l ./
-rwxr-xr-x 1 admin root 14152 Jun 24 17:22 pwrled

от theMIROn с очевидностью под 1.9.2.7-d (хотя он мог бы это и специально подчеркнуть). Так что 1.9.2.7-10 не катит. Для нее надо брать версию из первого топика, либо компилить исходники.

theMIROn
26-06-2009, 15:58
вообщем возвращаю зависимости для уменьшения размера, статически компилировать смысла не вижу, размер бинарника будет больше 50 кб.
исходник уже был выложен.


хотя он мог бы это и специально подчеркнутьу меня в подписи специально подчеркнуто :)

SancheSZ
14-10-2009, 21:46
А почему в RT-N16 может отсутствовать /dev/gpio/in и /dev/gpio/out ?

/dev/gpio есть, но вроде как "not a directoty"

в прошивке работа с gpio идет через ioctl().

а на 500gp прокатывало просто к примеру

echo 1 >> /dev/gpio/out

lly
15-10-2009, 08:40
А почему в RT-N16 может отсутствовать /dev/gpio/in и /dev/gpio/out ?

/dev/gpio есть, но вроде как "not a directoty"

в прошивке работа с gpio идет через ioctl().

В 2.6 devfs заменена на udev, и броадком сделал новый драйвер gpio. Почему? никто не ответит.

WayF1nder
15-10-2009, 10:01
А можно добавить поддержку D-Link DIR-320? На данный момент выдает
ERROR: No suitable hardware found

На данном роутере присутствуют такие индикаторы:
1. питание,
2. (в разных прошивках показывает по-разному, в прошивке Олега - загорается после полной загрузки роутера после включения),
3. Wan,
4. Wi-Fi,
5. 4xLan,
6. индикатор принтера,

а также

7. на боковой панели имеется 2-х цветный светодиод (красный и синий) с кнопкой.

Интересует возможность задействовать [6] и [7], которые постоянно молчат. А также неплохо было бы каким-либо образом задействовать кнопку.
Раньше сидел на DD-WRT, там это дело управлялось скриптом. Вот линк: http://www.dd-wrt.com/phpBB2/viewtopic.php?t=45201

teddy_bear
15-10-2009, 10:15
Почему? никто не ответит.
Ну почему никто :)? Сами авторы udev и отвечают в своем FAQ:

Q: Why was devfs removed if udev can't do everthing devfs did?
A: To quote Al Viro (Linux VFS kernel maintainer):
[ .....тут всякая вода поскипана......
а потом следует и основная причина: ]
- the devfs maintainer/author disappeared and stopped maintaining
the code.

ceramic
15-10-2009, 10:40
Интересует возможность задействовать [6] и [7], которые постоянно молчат. А также неплохо было бы каким-либо образом задействовать кнопку.
Все это уже реализовано и описано в теме про dir-320.

SancheSZ
15-10-2009, 11:09
Ну в общем я уже написал себе утилитки управления светодиодами
PWR и WLAN.

Причем в этом девайсе светик WLAN можно независимо от работы самого Wi-Fi гасить, зажигать на постоянно, и делать нормальный режим, когда он мигает при юзании Wi-Fi.

MrGalaxy
20-11-2009, 17:39
Добавьте, пожалуйста, в help и мануал размерность задаваемых длительностей.:)

Спасибо за программу!:)

akm2008
05-10-2010, 00:03
Подскажите возможно задать такой интервал для свечения светодиода :

15 минут горит затем 45минут нет ???

MrGalaxy
05-10-2010, 06:35
Во, во! Я тоже ломал голову над тем, в чём указывается пауза и время свечения.
Авторы, не поленитесь! Напишите размерность, чтобы не возникало подобных вопросов.

Mam(O)n
05-10-2010, 23:38
Во, во! Я тоже ломал голову над тем, в чём указывается пауза и время свечения.
Пауза указывается в секундах. А вот время свечения, я уже сам не помню почему, но единицей измерения является сантисекунда, т.е. 10^-2с. Скорее всего, вместо привычных глазу мили- или микросекунд, я взял эту единицу, как минимально полезную при визуализации сигнализации.


Подскажите возможно задать такой интервал для свечения светодиода : 15 минут горит затем 45минут нет ???

Вроде бы так:

pwrled -d270000 -s900 -n1 -c0 -f

Mr.Hunt
06-10-2010, 09:27
Добрый день!

Прошу сразу прощения, я не особо спец в таких делах, но мне бы хотелось сделать вот что.

У меня роутер WL500g premium 1 используется как миниатс на базе asterisk 1.4, хотел спросить, возможно ли задействовать как-нибудь этот светодиод, если есть коннект до провайдера айпи телефонии, то он горит, если нет то он не горит?

AleksandrN
07-10-2010, 12:37
Было бы совсем замечательно если бы уважаемый theMIROn добавил поддержку RT-N16 (RT-N1X), а то ставить buildroot - рука не подымается...
P.S. для WIN у меня студия есть)))

Omega
15-10-2010, 22:15
Было бы совсем замечательно если бы уважаемый theMIROn добавил
поддержку RT-N16 (RT-N1X), а то ставить buildroot - рука не подымается...
P.S. для WIN у меня студия есть)))

Уже всё добавлено в прошивку с -rtn -r2208 ... ;)

featZima
17-12-2010, 07:29
Подскажите пожалуйста, можно ли в RT-N16 отключить светодиоды. Прошивка от энтузиастов. Разбирать и заклеивать не вариант -- ибо гарантия и охлаждение...

Sergio20
18-12-2010, 12:35
Черную изоленту на морду, не?

featZima
18-12-2010, 14:51
Черную изоленту на морду, не?
Ну спереди изолетну натянуть можно, а дырочки сверху заклеивать уже не так хочется в виду теплообмена...

http://img-fotki.yandex.ru/get/4402/featzima.2f/0_3f198_3fdd4_M.jpg (http://fotki.yandex.ru/users/featzima/view/258456/)

akm2008
19-12-2010, 05:55
Подскажите пожалуйста, можно ли в RT-N16 отключить светодиоды. Прошивка от энтузиастов. Разбирать и заклеивать не вариант -- ибо гарантия и охлаждение...

Убери его в темный ящик :D Ибо гарантия :D

featZima
19-12-2010, 07:27
Убери его в темный ящик Ибо гарантия

Не эстетично =Р Ну вот почему в допотопном DLinke 2500U можно было программно лампочки вырубать, а в навороченном rt-n16 нельзя (

akm2008
19-12-2010, 14:06
Не эстетично =Р Ну вот почему в допотопном DLinke 2500U можно было программно лампочки вырубать, а в навороченном rt-n16 нельзя (

Программно управляется только индикатор PWR Где-то Олег писал обо всех лампочках и что к чему :)

TReX
19-12-2010, 14:12
Не эстетично =Р Ну вот почему в допотопном DLinke 2500U можно было программно лампочки вырубать, а в навороченном rt-n16 нельзя (

Так купите Длинк и отключайте лампочки )) Немного перефразируя старую поговорку - вам лампочки или ехать? )

Andrey_3
23-05-2011, 21:01
При переходе на WL500gp с d-r2624.trx на rtn-r2972.trx столкнулся с двумя проблемами:

1) утилита pwrled не работает. Как я понял из этой ветки, пока её никто не перенес на rtn-версию? Видимо это мало кому надо, а жаль, - очень полезная вещь для диагностики.

2) в iptables не срабатывает правило для доступа к vsftpd на роутере:


Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
19372 2111K MACS all -- br0 * 0.0.0.0/0 0.0.0.0/0
60 6142 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate INVALID
1724 255K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
16 1966 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 ctstate NEW
18556 2035K ACCEPT all -- br0 * 0.0.0.0/0 0.0.0.0/0 ctstate NEW
196 5488 ACCEPT 2 -- * * 0.0.0.0/0 224.0.0.0/4
0 0 ACCEPT udp -- * * 0.0.0.0/0 224.0.0.0/4 udp dpt:!1900
83324 6620K SECURITY all -- vlan1 * 0.0.0.0/0 0.0.0.0/0 ctstate NEW
7 308 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpts:33434:33534
0 0 ACCEPT tcp -- vlan1 * 0.0.0.0/0 0.0.0.0/0 ctstate NEW tcp dpt:21
44810 3532K DROP all -- * * 0.0.0.0/0 0.0.0.0/0

Пока не нашел способа победить эту проблему.

MrGalaxy
12-10-2011, 19:48
Как теперь пользоваться gpio? Старые скрипты не работают, хотя help выдаёт те же опции, что и pwrled.:confused:

theMIROn
13-10-2011, 06:13
Как теперь пользоваться gpio? Старые скрипты не работают, хотя help выдаёт те же опции, что и pwrled.:confused:

а как gpio использовался в скриптах?

MrGalaxy
13-10-2011, 18:30
а как gpio использовался в скриптах?

Никак... :(
Только pwrled использовался.:eek:

theMIROn
13-10-2011, 20:29
Никак... :(
Только pwrled использовался.:eek:

pwrled как работал, так и тоже работает.
примеры неработы?

MrGalaxy
14-10-2011, 06:08
pwrled как работал, так и тоже работает.
примеры неработы?

Так мой пример. В новых версиях прошивки pwrled нет, заменён на gpio. Сами же пишете в перечне изменений. Может, не Вы лично, но кто-то из разработчиков.:eek:

theMIROn
14-10-2011, 08:54
Так мой пример. В новых версиях прошивки pwrled нет, заменён на gpio. Сами же пишете в перечне изменений. Может, не Вы лично, но кто-то из разработчиков.:eek:

и pwrled и gpio есть, это одно и то же.

MrGalaxy
14-10-2011, 17:50
и pwrled и gpio есть, это одно и то же.

Действительно, в /usr/sbin есть сцылко на pwrled. Тогда непонятно, почему скрипты вдруг резко перестали работать.
Ладно, на досуге перепрошьюсь на более старую прошивку, потом ещё раз на свежую. Результат отпишу.

theMIROn
14-10-2011, 17:58
Действительно, в /usr/sbin есть сцылко на pwrled. Тогда непонятно, почему скрипты вдруг резко перестали работать.
Ладно, на досуге перепрошьюсь на более старую прошивку, потом ещё раз на свежую. Результат отпишу.

может сделаем проще?
с какими параметрами запускается?

MrGalaxy
14-10-2011, 18:39
может сделаем проще?
с какими параметрами запускается?
Например, вот:

[admin@WL-001FC652FD2B root]$/usr/sbin/pwrled -b -n 1 -e 5 -d 40 -c 0
Usage: /usr/sbin/pwrled [-fghlvr] [-b [-p pidile]] [-c count] [-e on_dur] [-d off_dur] [-n cycles] [-s sleep] [led|0~31] [preset|1|0]
Type /usr/sbin/pwrled -h for more information

[admin@WL-001FC652FD2B root]$
А перед сменой прошивки работало.
Простенькие команды, тем не менее, пашут:

[admin@WL-001FC652FD2B root]$ pwrled off
[admin@WL-001FC652FD2B root]$ pwrled on
[admin@WL-001FC652FD2B root]$

ConstAntz
14-10-2011, 18:45
Например, вот:

[admin@WL-001FC652FD2B root]$/usr/sbin/pwrled -b -n 1 -e 5 -d 40 -c 0
Usage: /usr/sbin/pwrled [-fghlvr] [-b [-p pidile]] [-c count] [-e on_dur] [-d off_dur] [-n cycles] [-s sleep] [led|0~31] [preset|1|0]
Type /usr/sbin/pwrled -h for more information

[admin@WL-001FC652FD2B root]$
А перед сменой прошивки работало.
Простенькие команды, тем не менее, пашут:

[admin@WL-001FC652FD2B root]$ pwrled off
[admin@WL-001FC652FD2B root]$ pwrled on
[admin@WL-001FC652FD2B root]$

а так?

/usr/sbin/pwrled -b -n1 -e5 -d40 -c0

MrGalaxy
14-10-2011, 19:02
а так?

/usr/sbin/pwrled -b -n1 -e5 -d40 -c0Не надо шаманить на пустом месте. Что-то с прошивкой не в порядке.
Может, залилась криво.

theMIROn
15-10-2011, 11:38
Не надо шаманить на пустом месте. Что-то с прошивкой не в порядке.
Может, залилась криво.

r3459 (http://code.google.com/p/wl500g/source/detail?r=3459)

MrGalaxy
16-10-2011, 07:29
r3459 (http://code.google.com/p/wl500g/source/detail?r=3459)

Большое спасибо. Светодиод замигал.:)
Только я залил 3463 из ночных сборок. Вашу попытался собрать сам, но не получилось.:(

voidshah
17-10-2011, 18:20
на RT-N16 - wlan-индикатором не управляет у меня, только pwr
У всех так? wlan, это же индикатор wifi? Так?

TReX
13-02-2012, 09:49
Начиная с r3804 RT-N15U можно собирать.
Лампочки LAN/WAN/USB пока не горят, но остальное функционирует вроде неплохо

А нельзя ли для остальных моделей роутеров добавить возможность отключения через WEB светодиодов, во многих случаях если например роутер стоит в спальне спать про такой иллюминации нельзя :(

theMIROn
13-02-2012, 09:54
А нельзя ли для остальных моделей роутеров добавить возможность отключения через WEB светодиодов, во многих случаях если например роутер стоит в спальне спать про такой иллюминации нельзя :(

например каких конкретно светодиодов?

guslik
13-02-2012, 09:57
например каких конкретно светодиодов?

оставить только 1 (питание)

TReX
13-02-2012, 10:02
например каких конкретно светодиодов?

Всех, которые возможно выключить програмно...

theMIROn
13-02-2012, 10:04
оставить только 1 (питание)

ок, поставим вопрос по другому.
на какой модели, какие лампочки и с какой прошивкой нужно погасить?

TReX
13-02-2012, 10:19
ок, поставим вопрос по другому.
на какой модели, какие лампочки и с какой прошивкой нужно погасить?

Интересует в частности модель N16 естественно с прошивкой rtn )

guslik
13-02-2012, 10:20
ок, поставим вопрос по другому.
на какой модели, какие лампочки и с какой прошивкой нужно погасить?

RT N-16, на прошивке (rtn которая будет финальной)

theMIROn
13-02-2012, 10:51
RT N-16, на прошивке (rtn которая будет финальной)
ну.. например можно попробовать вот так:


nvram set et_swleds=0
nvram set wl0gpio7=11
nvram commit
reboot

Annihilator666
15-02-2012, 15:47
А чтобы это можно было из менюшки выбрать и запомнить? А если надо включить, так же включить. :) Просто я например не шарю в командах и потом наверняка всё забуду к чёртовой бабушке...
Ночью эта синяя перемигивающая лабуда так мешает. Идея считаю нужная и полезная для здоровья и психики держателя роутера, а так же для его крепкого сна. :D Я уже все эти диоды по бокам проклеил чтобы только из них свет выходил а не весь корпус озарялся...

dimez
15-02-2012, 21:57
А чтобы это можно было из менюшки выбрать и запомнить? А если надо включить, так же включить. :) Просто я например не шарю в командах и потом наверняка всё забуду к чёртовой бабушке...
Ночью эта синяя перемигивающая лабуда так мешает. Идея считаю нужная и полезная для здоровья и психики держателя роутера, а так же для его крепкого сна. :D Я уже все эти диоды по бокам проклеил чтобы только из них свет выходил а не весь корпус озарялся...

Напишите простейший скрипт и повесьте на ez-setup.

gest
17-02-2012, 06:19
dimez
А можете написать подробный мануал, о том как это сделать?

Не подскажете

nvram set et_swleds=0
nvram set wl0gpio7=11
nvram commit
reboot
это необходимо вводить в System Command.
И как потом включить всю иллюминацию.

Да спать n-16 своим миганием очень мешает, приходится его закрывать на ночь, дети думают что это лампа и не хотят не в какую засыпать )

Omega
17-09-2012, 03:17
ну.. например можно попробовать вот так:


nvram set et_swleds=0
nvram set wl0gpio7=11
nvram commit
reboot

Ну да, можно поставить и 11, а можно и просто 0 :rolleyes:


/* max # of leds supported by GPIO (gpio pin# == led index#) */
#define WL_LED_NUMGPIO 16 /* gpio 0-15 */

/* led per-pin behaviors */
#define WL_LED_OFF 0 /* always off */
#define WL_LED_ON 1 /* always on */
#define WL_LED_ACTIVITY 2 /* activity */
#define WL_LED_RADIO 3 /* radio enabled */
#define WL_LED_ARADIO 4 /* 5 Ghz radio enabled */
#define WL_LED_BRADIO 5 /* 2.4Ghz radio enabled */
#define WL_LED_BGMODE 6 /* on if gmode, off if bmode */
#define WL_LED_WI1 7
#define WL_LED_WI2 8
#define WL_LED_WI3 9
#define WL_LED_ASSOC 10 /* associated state indicator */
#define WL_LED_INACTIVE 11 /* null behavior (clears default behavior) */
#define WL_LED_NUMBEHAVIOR 12

/* led behavior numeric value format */
#define WL_LED_BEH_MASK 0x7f /* behavior mask */
#define WL_LED_AL_MASK 0x80 /* activelow (polarity) bit */

# ledbhX sets the LED behaviour of LEDs connected to the GPIO[3:0] pins of the 4321
# See app note "80211-AN503-R.pdf" for more details.
#
# GPIO 0 is wireless activity - 2 = WL_LED_ACTIVITY
pci/1/1/ledbh0=2
# GPIO 1 is 2.4GHz radio status - 5 = WL_LED_BRADIO
pci/1/1/ledbh1=5
# GPIO 2 is 5GHz radio status - 4 = WL_LED_ARADIO
pci/1/1/ledbh2=4
# GPIO 3 is not used - 11 = WL_LED_INACTIVE
pci/1/1/ledbh3=11
# Driver can actually control more LEDs.
pci/1/1/ledbh12=7
#
# leddc is the duty cycle for PWM control of the LEDs.
# 0xFFFF sets 100% duty cycle
pci/1/1/leddc=0xFFFF
Вот интересная информация от George Kashperko: ;)


Comment(by gkashperko):

Street magic to get wireless led working with broadcom-wl:

nvram unset sb/1/leddc
nvram set wl0gpio7=2
nvram commit
>> Doesn't make any difference on my router...
>> In my, is the same the wifi led don't work.

wl0gpio7 nvram value controls led behaviour. Defined behaviours are there
in wlioctl.h, see WL_LED_XXXX defines (look through broadcom-wl sources).

I suggested value 2 (WL_LED_ACTIVITY) which make wlan led off, but
blinking on activity. Default value of 8 (WL_LED_WI2) keep wlan led on,
flashing on activity. Not in mood to play around with others.

leddc nvram value controls led powersave. Calculated (http://numcalc.com/) as following:

leddc=(n << 16 | (100 - n))
0 < n < 100
The higher you set n the brighter led will be.
Doing nvram unset sb/1/leddc resets this to default value of 10%.

I guess those who report wifi led still not working just don't have the box
uncovered as I do and can't see the led directly - beleive me, it's blinking :)

Here is recipe to get it much much much brighter:

nvram set wl0gpio7=8
nvram set sb/1/leddc=0x5A000A
nvram commit
This will make wlan led 90% of max brightness, turned on when enabled,
off when down, blinking on activity.

When done with nvram changes reboot or reload wl.ko

>> I've set mine to 90% brightness, always on, blinking on activity
(the other setting worked too, but wasn't really visible). Thanks!

If you have wifi led constantly off try following to get it working (reboot when done):

nvram set sb/1/leddc=0x5A000A
nvram set wl0gpio7=8
nvram commit
Have fun,
George Kashperko <george@znau.edu.ua>
http://answerpot.com/showthread.php?118667-%236580%3A+ASUS+RT-N16+Support/Page14 :cool:

http://www.znau.edu.ua/temp/asus-rt-n16/openwrt-bcm4716-README.txt


А можете написать подробный мануал, о том как это сделать?
Не подскажете это необходимо вводить в System Command.
И как потом включить всю иллюминацию.
Читаем bcmrobo.c: :rolleyes:

/* Enable switch leds */
if (sih->chip == BCM5356_CHIP_ID) {
si_pmu_chipcontrol(sih, 2, (1 << 25), (1 << 25));
} else if (sih->chip == BCM5357_CHIP_ID) {
uint32 led_gpios = 0;
char *var;

if (sih->chippkg != BCM47186_PKG_ID)
led_gpios = 0x1f;
var = getvar(vars, "et_swleds");
if (var)
led_gpios = bcm_strtoul(var, NULL, 0);
if (led_gpios)
si_pmu_chipcontrol(sih, 2, (0x3ff << 8), (led_gpios << 8));
Смотрим в nvram GPIO default:

#nvram show | grep gpio

wl0gpio7=0x08
reset_gpio=8
gpio5=ses_button
gpio11=robo_reset

#nvram show | grep led

sb/1/leddc=0xffff
sb/1/ledbh0=0
sb/1/ledbh1=0
sb/1/ledbh2=0
sb/1/ledbh3=0
pci/1/1/leddc=0xffff
pci/1/1/ledbh0=0
pci/1/1/ledbh1=0
pci/1/1/ledbh2=0
pci/1/1/ledbh3=0
Получается, что для включения светодиодов нужно сделать в консоли: ;)

nvram unset et_swleds
nvram set wl0gpio7=0x08
nvram commit
reboot
будет работать как было - гореть при включении WLAN и мигать при его активности,
или вот так - не будет гореть при включении, но будет мигать при его активности:

nvram unset et_swleds
nvram set wl0gpio7=0x02
nvram commit
reboot
можно при желании менять яркость светодиода WLAN от 10% до 90%:

10% - по умолчанию:

nvram unset sb/1/leddc <или>
nvram set sb/1/leddc=0xa005a
nvram commit
25% яркости

nvram set sb/1/leddc=0x19004b
nvram commit
50% яркости

nvram set sb/1/leddc=0x320032
nvram commit
75% яркости

nvram set sb/1/leddc=0x4b0019
nvram commit
90% - от максимума:

nvram set sb/1/leddc=0x5a000a
nvram commit
100% - при сбросе в дефолт:

sb/1/leddc=0xffff
nvram commit
З.Ы. Можно потом наваять скрипт и повесить его выполнение на кнопку EZ-Setup :D

Omega
17-11-2012, 15:38
З.Ы. Можно потом наваять скрипт и повесить его выполнение на кнопку EZ-Setup :D
Ну вот, Merlin уже сделал это в новой прошивке ;)

New in 246.20: LED control - put your Dark Knight in Stealth Mode by turning off all LEDs

http://www.lostrealm.ca/tower/node/79


Asuswrt-Merlin - Changelog
==========================

3.0.0.4.246.20:
- NEW: Wifi status icon will be half colored if only one radio is enabled.
- NEW: Wifi status icon popup will report the state of each radios.
- NEW: upnp custom config file for miniupnpd
- NEW: unmount user script
- NEW: led_ctrl and makemime (for use in conjunction with sendmail) applets.
- NEW: Implemented control for network switch LEDs (all four at once)
- NEW: Stealth Mode: option to disable all LEDs
- NEW: Added CONFIG_IP_NF_RAW and CONFIG_NETFILTER_XT_TARGET_NOTRACK modules.
- FIXED: Radio toggle through WPS button would be overriden by a scheduled
radio. Reverted "switch" to "toggle" code to prevent this.
- FIXED: You couldn't disable DMZ by clearing the IP field.
- FIXED: You couldn't edit entered text in DHCP/MAC/etc name field
- FIXED: clientid passing for some ISPs requiring it (like Sky UK)
was broken with the DHCP client change of build 220.
- FIXED: No longer reboot the router three times during boot time if one
of the radios is disabled by the user. (RT-N66U)
- FIXED: Changing the router login name to anything other than "admin"
would prevent radvd, ecmh and the cru script from working
properly - they all assumed "admin". Made then use
http_username instead (which is tied to the superuser)
- CHANGED: Improved SMB and vsftpd read performance by up to 30%
http://www.lostrealm.ca/asuswrt-merlin/changelog.txt :rolleyes:

Omega
02-03-2013, 23:56
Asus RT-N16

turn off all leds:

gpio enable 1
wl -i eth1 leddc 1
et robowr 0x00 0x18 0x1e0
et robowr 0x00 0x1a 0x1e0

turn on all leds:

gpio disable 1
wl -i eth1 leddc 0
et robowr 0x00 0x18 0x1ff
et robowr 0x00 0x1a 0x1ff
Power LED GPIO on the RT-N66U is 4106

https://github.com/RMerl/asuswrt-merlin/issues/138 ;)


This works for Asus RT-N66U under Shibby's version of Tomato, I have tested this and have it in scheduler
to turn the led lights off during night time and turned on in the morning to have the lights on during daytime.


DISABLE LED:
*****************
et robowr 0x00 0x18 0x1e0
et robowr 0x00 0x1a 0x1e0
wl -i eth1 leddc 1
wl -i eth2 leddc 1
gpio enable 12
gpio enable 15

ENABLE LED:
*****************
et robowr 0x00 0x18 0x1ff
et robowr 0x00 0x1a 0x1ff
wl -i eth1 leddc 0
wl -i eth2 leddc 0
gpio disable 12
gpio disable 15

Explanation of the settings:
******************************
WAN ON/OFF: et robowr 0x00 0x18 0x1ff(ON)/et robowr 0x00 0x18 0x1e0(OFF)
LAN ON/OFF: et robowr 0x00 0x1a 0x1ff(ON)/et robowr 0x00 0x1a 0x1e0(OFF)
WIRELESS 2.4GHZ(ON/OFF): wl -i eth1 leddc 0(ON)/wl -i eth1 leddc 1(OFF)
WIRELESS 5GHZ(ON/OFF):wl -i eth2 leddc 0(ON)/wl -i eth2 leddc 1(OFF)
POWERLED(ON/OFF): gpio disable 12(ON)/gpio enable 12(OFF)
USB LED(ON/OFF): gpio disable 15(ON)/gpio enable 15(OFF)
http://www.linksysinfo.org/index.php?threads/stealth-mode-timer-function-rt-n66.54449/ :rolleyes:

gest
20-03-2013, 07:36
Скорее всего, это я разгромил корректность линковки wl, nas, eapd в коммитах r4939 и/или r4942. Надо проверять, сходу не скажу.

gest
Если уж ставите тестовые сборки, надо всегда писать (и проверять) две версии - последнюю которая работала и первую нерабочую.
Понятно, учту на будущее.
lly, не подскажешь в планах нет выноса в веб-интерфейс интерфейсов управления led лампочками роутера?

lly
20-03-2013, 07:42
lly, не подскажешь в планах нет выноса в веб-интерфейс интерфейсов управления led лампочками роутера?
Нет, игрушки это. Особенно учитывая тот факт, что лампочки LAN управляются хоть как-то только на N66U.

alex4343
10-10-2015, 00:02
Подскажите, можно ли отключить светодиоды? Asus rt-n16 1.9.2.7-rtn. Может команда есть какая нибудь?

ff0255
19-06-2016, 12:33
Раздобыл себе rt-n16. Сбросил в дефолт, прошил через веб-инт. на RT-N16-1.9.2.7-rtn-r7470M, сбросил еще раз через веб-инт.
После прошивки сразу погасли Lan/Wan диоды (до этого на оригинальной горели), никак не реагировали на подключение.
Светились только Power/Wifi. Пробовал перешить на RT-N16-1.9.2.7-rtn-r5450 - то же самое.
После прочтения в данной теме о "Stealth LED Mode" сделал:

gpio disable 1
ERROR: led/gpio/preset 'disable' not valid
et robowr 0x00 0x18 0x1ff
- Lan/Wan загорелись постоянно,
а после

et robowr 0x00 0x1a 0x1ff
- Lan/Wan замигали как и положено.
Проблему решил, остался вопрос: этот "Stealth LED Mode" получается включен по умолчанию в прошивке от энтузиастов?
Если да, то какое-то странное решение. Если нет - то где и что я сделал не так?