Page 1 of 2

Nosleep

PostPosted: 02 Jan 2012, 22:25
by Demige
Помню в какой-то прошивке был модуль nosleep, предотвращающий засыпание плеера. Кто подскажет как такое можно реализовать самому?

Re: Nosleep

PostPosted: 02 Jan 2012, 22:29
by Virtual
вам для офф прошивки чтоль? для какой?

Re: Nosleep

PostPosted: 02 Jan 2012, 22:34
by Demige
Seagate Theater Plus Mod 2.33

Re: Nosleep

PostPosted: 03 Jan 2012, 10:24
by FarVoice
если у вас в прошивке есть веб-пульт, то проблем сделать nosleep никаких.

Re: Nosleep

PostPosted: 03 Jan 2012, 21:11
by Demige
В том то и дело что вебпульта нет. Стоит голый mos3...

Я так понимаю (судя по скрипту из patchedRootApp S01Power) надо какие-то команды засылать в /dev/tts/1? Где можно найти расшифровку кодов клавиш?

Re: Nosleep

PostPosted: 03 Jan 2012, 21:14
by FarVoice
это не коды клавиш, а команды, причём для каждого конкретного плеера разные.
в этом скрипте написаны варианты для плееров mele и xtreamer . В асусах этой хрени вообще нет (ну, по крайней мере в DvdPlayer не встречается)
Если Виртуал захочет - расскажет ;)

Ну а насчёт отправки команд DvdPlayer можно посоветовать древний трюк с подсовыванием файла на stdin к rootapp - гляньте модуль rc от mos2
Основная идея:
Code: Select all
   touch /tmp/ir
   tail -f /tmp/ir | ./RootApp DvdPlayer&


а в /tmp/ir кладём клавиатурные команды для DvdPlayer

Command		Console
power O
display }
setup /
eject #
pscan '
guide {
up W
down X
left A
right D
select space
return ,
0
1
2
3
4
5
6
7
8
9
play S
stop Q
next N
prev P
ffwd F
frwd f
sfwd L
search -
repeat +
subtitle s
audio a
zoom z
vol+ V
vol- v
mute m
zoom_out j
option E

Re: Nosleep

PostPosted: 03 Jan 2012, 21:43
by Demige
Ага! Идею понял, осталось научиться запускать RootApp... Спасибо.

Re: Nosleep

PostPosted: 04 Jan 2012, 00:09
by Demige
Нашел еще интересное решение.

Ставим свежий busybox из пакета binpack 1.3 http://www.mediafire.com/?yebddsbky4zj8jf
и от туда же скрипт keep-alive.sh

вот листинг скрипта:
Code: Select all
#!/bin/sh
while (`sleep 3300`)
do
echo -e "\x48\x12\x08\x00" | /usr/local/etc/bin/busybox-mipsel nc 192.168.0.51 9999
done


путь естественно меняем как надо и ип адрес на адрес устройства.

Команды пульта Seagate:
Commands are 4 bytes sent to TCP port 9999 of the format

48 12 XX 00

H 022 T 00
(HEXADECIMAL!)



where XX varies for each command thus:



07: left
06: right
40: up

41: down

1B: back

30: end

51: ff

39: home

47: info

1A: menu

59: mute

0E: ok

54: pause

4F: play

38: power
52: rew
31: start
33: voldown

32: volup

35: zoomin

08: zoomou

Re: Nosleep

PostPosted: 04 Jan 2012, 08:04
by FarVoice
Угум, значит ваш DvdPlayer поднимает TCP сокет на порту 9999 и слушает его.
Ну а бизи можно использовать и тот, который в составе moS3 :)
Т.е. веб-пульт можно хоть сейчас ваять - всё для него есть :)

Re: Nosleep

PostPosted: 04 Jan 2012, 12:28
by Demige
В стандартном busybox нету команды nc. Если только отдельно ставить netcat.