Все форумы  Просмотр полученых благодарностей
Ссылка на пост #1 Добавлено: 3 апреля 2013 09:38
-belka-
Посетители
Азъ: потеряшка
Возраст: --
Пол:
С нами: 11 лет 6 месяцев
Сообщений: 2
Поблагодарил: 0
Благодарностей: 1
Предупреждений: 0

Репутация:

Награды:


Короче говоря, было свободное время, разобрался в sh. Написал пару улучшений (скрипты только для 3220 v1, возможно допиливаются до v2), который визуализирует работу mpcs с помощью диода qss:
1) qss - быстро мограет - mpcs загружается
2) qss - светится - mpcs работает
3) qss - не свиться - mpcs выгружена
4) qss - быстро моргнул (светился-быстро погас-засветился снова) - ключь найден
5) qss - моргнул длинно 3 раза (светился-погас-засветился снова) - ошибка mpcs
6) нажатее кнопки QSS до 2 секунд - диод QSS гаснет - перезагружает mpcs
7) нажатее кнопки QSS от 2 секунд и больше ( после того как QSS погаз и снова загорелся
- можно отпускать) - перезагружает роутер командой reboot (без cброса настроек)
Выкладываю, может кому пригодится:
/etc/init.d/mpcs_init
Код:[Выделить]
#!/bin/sh /etc/rc.common # Copyright (C) 2006 OpenWrt.org START=99 QSSled=&a
mp;# 34;/sys/class/leds/tl-mr3x20:
;green&# 58;qss" # путь к диоду QSS в переменную start() { /usr/sbin/mpcs_ext & # запускаем mpcs } stop() { exec > /dev/null 2> /dev/null # скрываем все stdout и stderr killall -9 mpcs # снять задачу mpcs rm /tmp/mcps.mem # удаление временных файлов mpcs rm /tmp/*.fifo # удаление временных файлов mpcs rm /tmp/mpcs.led # удаление файла семофора для моргания QSS killall grep # снять задачу grep поиска в логе mpcs killall tee # снять задачу tee killall cat # снять задачу cat echo 0 > $QSSled/brightness # откл. диод QSS }


usr/sbin/mpcs_ext
Код:[Выделить]
#!/bin/sh # Copyright (C) 2013 anoxiety # в файле /etc/mpcs/mpcs.conf указываем путь к лог файлу LogFile = /tmp/pipe.mpcs.log QSSled="/s
ys/class/leds/tl-mr3x20:green
8;qs s" # путь к диоду QSS в переменную OKfilter=" tuner .*: found " # то, что ищем в логе mpcs, чтоб мигнуть диодом QSS ERRORfilter=": timeout|: rejected|: not found|incimplete request|too many errors|errno=|failed" # ошибки #exec > /dev/null 2> /dev/null # скрываем все stdout и stderr ledBlink() { # описываем функцию моргания qss local times="$1" # сколько раз мограть local OFFpause="$2" # время выключения local ONpause="$3" # време свечения local blinkLED="$4" # выбор диода для мигания for k in `seq 1 $ (8.14₴)times` # цикл кол-во морганий do echo 0 > $blinkLED/brightness # откл. диод QSS for i in `seq 0 $ (0₴)OFFpause` ; do echo > /dev/null; done # цикл для паузы 0.2 сек, проц грузит не более 50% echo 1 > $blinkLED/brightness # вкл. диод QSS for i in `seq 0 $ (0₴)ONpause` ; do echo > /dev/null; done # цикл для паузы 0.2 сек, проц грузит не более 50% done } if [ ! -f /tmp/mpcs ] ; then # если файла mpcs нету - распакуем его echo timer > $QSSled/trigger; echo 200 > $QSSled/delay_off ;echo 200 > $QSSled/delay_on # быстро мограем диодом QSS cp -f /etc/mpcs/mpcs.bz2 /tmp/ # копируем архив mpcs.bz2 из /etc/mpcs/ в /tmp/ sleep 3 # ждем 3 сек. пока скопируется bunzip2 -f /tmp/mpcs.bz2 # распаковываем файл mpcs в папку /tmp/ chmod +x /tmp/mpcs # даем раcпакованному файлу mpcs права 0755 mkfifo /tmp/pipe.mpcs.log # создаем FIFО канал для совместного доступа к файлу лога mpcs mkfifo /tmp/pipe.tee.read.log # создаем FIFО канал для совместного доступа к файлу лога mpcs echo 0 > $QSSled/brightness; echo 1 > $QSSled/brightness # вкл. диод QSS fi if top -bn1 | grep [t]mp/mpcs > /dev/null; then # если процесс mpcs запущен - выгружаем его echo 0 > $QSSled/brightness # откл. диод QSS killall -9 mpcs # снять задачу mpcs rm /tmp/mcps.mem # удаление временных файлов mpcs rm /tmp/*.fifo # удаление временных файлов mpcs rm /tmp/mpcs.led # удаление файла семафора для моргания QSS killall grep # снять задачу grep поиска в логе mpcs killall tee # снять задачу tee killall cat # снять задачу cat sleep 2 # пауза 2 сек. fi /tmp/mpcs -c /etc/mpcs & # запуск mpcs с ключем -с это путь к конф. файлам /etc/mpcs touch /tmp/mpcs.led # создание файла семафора для моргания QSS echo 1 > $QSSled/brightness # вкл. диод QSS touch /tmp/bufer.mpcs.log.txt cat /tmp/pipe.mpcs.log | tee /tmp/pipe.tee.read.log > /tmp/bufer.mpcs.log.txt & while [ -f /tmp/mpcs.led ]; do # цикл работает если файл семафор mpcs.led существует grep -qE "$OKfilter|$ERRORfilter" /tmp/pipe.tee.read.log && ( # ищем в логе текст, если находим - выполняем дальше if grep -qE "$OKfilter" /tmp/bufer.mpcs.log.txt; then ledBlink 1 500 200 "/sys/class/leds/tl-mr3x20:green
:qss" # моргать 1 раз, выкл 500, вкл. 200 если ок else ledBlink 3 3000 2000 "/sys/class/leds/tl-mr3x20:green
:qss" # моргать 3 раз, выкл 3000, вкл. 2000 fi > /tmp/bufer.mpcs.log.txt # чистим лог файл ); done & # конец цикла


для перезагрузки mpcs кнопкой qss нужно выполнить в putty:
Код:[Выделить]
uci add system button uci set system.@button[-1].button=wps
nnuci set system.@button[-1].action=presse
d uci set system.@button[-1].handler='
mpcs_ext &' uci add system button uci set system.@button[-1].button=wps
nnuci set system.@button[-1].action=releas
ed uci set system.@button[-1].handler='
echo 0 >/sys/class/leds/tl-mr3x20:green&
amp; #58;system/brightness; echo 0 >/sys/class/leds/ath9k-phy0/brightnes
s; echo 0 >/sys/class/leds/tl-mr3x20:green&
amp; #58;3G/brightness; echo heartbeat > /sys/class/leds/tl-mr3x20:green:
qss/trigger; reboot' uci set system.@button[-1].min=2 uci set system.@button[-1].max=30 uci
set system.@led[0].interval=500 u
ci commit system


Нувот и все. Еще. Я убрал из прошивки дантеса подключение драйверов при загрузке через insmode. Модули с драйверами к своему шнурку просто нужно скопировать при через wincsp в соответствующие папки в роутере и они будут подключены.

Вы не можете скачивать файлы с нашего форума, необходимовойтиилизарегистрироваться

Вы не можете скачивать файлы с нашего форума, необходимовойтиилизарегистрироваться

Вы не можете скачивать файлы с нашего форума, необходимовойтиилизарегистрироваться

Сообщение отредактировано 3 апреля 2013 09:40. Редактировалось 1 раз(а)

Мой телевизор:

Мой ресивер:

Мои спутники:

    XML error in File: https://www.tricolor.tv/rss/

    XML error: error parsing attribute name at line 236

Футбол

Італія. Серія А, 24 тур
11 лютого 2024
13:30 Фіорентина Фіорентина  3:0  ФрозінонеФрозіноне
Франція. Ліга 1, 21 тур
11 лютого 2024
14:00 Гавр Гавр  -:-  РеннРенн
Товариські матчі, Матчі клубів УПЛ (зима)
11 лютого 2024
14:00 Сігма Сігма  -:-  ВересВерес
14:30 Лонгбю Лонгбю -:- ОлександріяОлександрія
Іспанія. Ла Ліга, 24 тур
11 лютого 2024
15:00 Хетафе Хетафе -:- СельтаСельта
Франція. Ліга 1, 21 тур
11 лютого 2024
16:00 Клермон Клермон -:- БрестБрест
16:00 Лорьян Лорьян -:- РеймсРеймс
16:00 Тулуза Тулуза -:- НантНант
Італія. Серія А, 24 тур
11 лютого 2024
16:00 Болонья Болонья -:- ЛеччеЛечче
16:00 Монца Монца -:- ВеронаВерона
Англія. Прем'єр-ліга, 24-й тур
11 лютого 2024
16:00 Вест Гем Вест Гем -:- АрсеналАрсенал
Товариські матчі, Матчі клубів УПЛ (зима)
11 лютого 2024
16:00 Динамо Батумі Динамо Батумі -:- КолосКолос
Німеччина. Бундесліга, 21 тур
11 лютого 2024
16:30 Штутгарт Штутгарт -:- МайнцМайнц
Іспанія. Ла Ліга, 24 тур
11 лютого 2024
17:15 Мальорка Мальорка -:- Райо ВальєканоРайо Вальєкано
Франція. Ліга 1, 21 тур
11 лютого 2024
18:05 Монпельє Монпельє -:- ЛіонЛіон
Німеччина. Бундесліга, 21 тур
11 лютого 2024
18:30 Гоффенгайм Гоффенгайм -:- КельнКельн
Англія. Прем'єр-ліга, 24-й тур
11 лютого 2024
18:30 Астон Вілла Астон Вілла -:- Манчестер ЮнайтедМанчестер Юнайтед
Італія. Серія А, 24 тур
11 лютого 2024
19:00 Дженоа Дженоа -:- АталантаАталанта
Іспанія. Ла Ліга, 24 тур
11 лютого 2024
19:30 Севілья Севілья -:- АтлетікоАтлетіко
Італія. Серія А, 24 тур
11 лютого 2024
21:45 Мілан Мілан -:- НаполіНаполі
Франція. Ліга 1, 21 тур
11 лютого 2024
21:45 Ніцца Ніцца -:- МонакоМонако
Іспанія. Ла Ліга, 24 тур
11 лютого 2024
22:30 Барселона Барселона -:- ГранадаГранада

Обновлено: 14:20 11.02.2024

Телепрограмма

memcached отключен Вся телепрограмма

Мы в Вконтакте

Мы в Facebook

Голосование

Какая скорость вашего интернет соединения

36 кб/сек - телефонная линия
128 кб/сек
256 кб/сек
512 кб/сек
1 мегабит
2 мегабита
5 мегабит
10 мегабит
30 мегабит
50 мегабит
100 мегабит
1 гигабит
GPRS соединение (плавающая скорость)
я в этом ничего не понимаю

Случайное фото

Sat-integral club

Платная шара

Цитата: SSK5230 от Сегодня в 16:37:35Отклонюсь от темы. По Киевстару- тоже поднимали абонплату за ...

Платная шара

Цитата: SSK5230 от Сегодня в 16:37:35Отклонюсь от темы. По Киевстару- тоже поднимали абонплату за ...

Платная шара

Цитата: Pavel01 от Сегодня в 16:23:24 Именно об таком пакете я и писал. Даже сейчас когда у меня ...

Платная шара

Цитата: Pavel01 от Сегодня в 16:23:24...у Киевстара....     Прошу пардонну, занесло. Но ...

Платная шара

Цитата: SSK5230 от Сегодня в 12:13:21 По поводу киевстара  и его пакетов. 5 лет назад ...

webhook telegram Read timeout expired

Вы выполняете ...