Temat: włączanie komputera za pomocą routera

witam
może głupie to jest ale potrzebuje w jakiś sposób uruchomić laptopa bez otwierania pokrywy,
programowo, na bezprzewodowej klawie może nie iść, bo wtedy porty usb są nieaktywne, ale mniejsza o to
wpadłem na pomysł, dałoby rade przycisk od włączenia wifi, przerobić tak aby wysyłał sygnał, który wybudzi mi lapka po lanie? stały adres ip/mac, wszystko podpięte, tylko podchodze do routera (wisi 50cm odemnie więc to jest lepsze jak wyciąganie lapka spod biurka i otwieranie) wciskam guzik od wifi i lapek działa smile

router to tp link wr1043nd z gargoyle 1.5.10.6 na pokładzie

dzięki za wszelaką pomoc smile

2

Odp: włączanie komputera za pomocą routera

Niektóre laptopy (np Apple chyba) mają Wake on Wireless. Jeżeli zaś laptop obsługuje wol to tak, możesz to zrobić.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: włączanie komputera za pomocą routera

w panelu sterowania są opcje od Wake On Lan
więc jest

teraz pytanie, jak to zrobić? Żeby przycisk od wifi działał jako włącznik po WOL do lapka?

4 (edytowany przez sciss 2013-07-13 21:39:23)

Odp: włączanie komputera za pomocą routera

Patrz tu: http://eko.one.pl/forum/viewtopic.php?id=6028 , żeby napisać skrypt budzący.
Patrz tu: http://eko.one.pl/?p=openwrt-button , żeby podpiąć jakoś ten skrypt pod przycisk na ruter.
Tylko tak jak Cezary wspomniał zazwyczaj ta funkcja działa wyłącznie po kablu, a niekiedy tylko po wifi.

5

Odp: włączanie komputera za pomocą routera

czyli, musze napisać skrypt budzący
wyczaić jak sie nazywa przycisk którym chce wybudzać
i pod to:
# uci add system button
    # uci set system.@button[-1].button=wps
    # uci set system.@button[-1].action=pressed
    # uci set system.@button[-1].handler='uci set wireless.@wifi-device[0].disabled=1 && wifi'
    # uci commit system

podpiąc ten skrypt
tak? smile

6

Odp: włączanie komputera za pomocą routera

Na to wygląda. Najprościej chyba będzie jak dasz
uci show system
i patrzeć co wypluje z button. U mnie są tylko dwa: reboot i wifi, z czego reboot jest schowane z tyłu, więc w gre wchodzi raczej tylko wifi:

system.wifi_button=button
system.wifi_button.button=wps
system.wifi_button.action=released
system.wifi_button.handler=/sbin/wifionoff
system.wifi_button.min=0
system.wifi_button.max=2

i teraz trzeba będzie po prostu podmienić to /sbin/wifionoff na skrypt budzący.

7

Odp: włączanie komputera za pomocą routera

mam to samo
a ten skrypt to jak napisać?
wystarczy że po = dam wol -i adres ip:adres mac?

8 (edytowany przez sciss 2013-07-13 22:08:43)

Odp: włączanie komputera za pomocą routera

1. sprawdź czy w ogóle masz wol (napisz w konsoli wol i daj enter)
2. w twoim wypadku to wystarczy jak w tej linijce z uci dasz:
uci set system.@button[-1].handler='/usr/bin/wol PARAMETRY'
3. http://eko.one.pl/forum/viewtopic.php?pid=73378#p73378

9

Odp: włączanie komputera za pomocą routera

heh
dałem rade inaczej
pokombinowałem, i udało się wybudzić lapka z myszy bezprzewodowej

dzięki wink

10

Odp: włączanie komputera za pomocą routera

smile

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

11

Odp: włączanie komputera za pomocą routera

Heh, próbuję zrobić to samo co autor tematu, tj. tak ustawić, żeby naciskając guzik QSS w TP Linku 1043ND v1 można byłoby włączać i wyłączać starszawego lapka, który robi za komp stacjonarny i trafiam na ścianę.

Na laptopie jest zainstalowany Debian, na ruterze Gargoyle PL 1.9.0.3 (5ed8c40) [Chaos Calmer].

Na ruterze skonfigurowane jest bezhasłowe logowanie po SSH do laptopa.

Napisałem skrypt (a właściwie kilka :> ) żeby to zautomatyzować i uruchamiane z palca na ruterze działają, tj. gdy laptop jest załączony, to go wyłącza, a gdy jest wyłączony, to (zazwyczaj - cholerne wol na linuxie) załącza. Niestety, gdy podepnę ten skrypt pod system.wps_button.handler, to nie działa poprawnie.

Wyłączanie wygląda tak, że jeżeli laptop odpinguje, to skrypt łączy się przez ssh i odpala komendę sudo shutdown -h now. Skrypt uruchamiany z palca działa poprawnie, natomiast uruchamiany z przycisku dawał taki output:

Host '192.168.2.214' is not in the trusted hosts file.
(ssh-rsa fingerprint md5 04:be:02:71:fb:0d:7d:51:16:b4:b4:7a:dd:4f:7f:8d)
Do you want to continue connecting? (y/n) 
/usr/bin/ssh: Connection to dummy@192.168.2.214:1988 exited: Didn't validate host key

Zacząłem drążyć ten problem i myślę, że prawdopodobnie gdy skrypt jest odpalany przez przycisk, to inne są wtedy zmienne środowiskowe. Przy odpalaniu z palca:

# env
SSH_CLIENT=192.168.2.214 59753 22
USER=root
SHLVL=1
OLDPWD=/tmp
HOME=/root
SSH_TTY=/dev/pts/2
PS1=\[\033[01;32m\]\u@\h:\w\$\[\033[00m\] 
LOGNAME=root
TERM=xterm
PATH=/usr/sbin:/usr/bin:/sbin:/bin
SHELL=/bin/ash
PWD=/usr/bin
SSH_CONNECTION=192.168.2.214 59753 192.168.2.1 22
HISTFILE=/tmp/.history

natomiast przy odpalaniu przez przycisk:

ACTION=released
SHLVL=5
HOME=/
SEQNUM=751
BUTTON=wps
TERM=linux
SUBSYSTEM=button
board=TL-WR1043ND
PATH=/sbin:/bin:/usr/sbin:/usr/bin
SEEN=0
PWD=/

podejrzewam, że brak zmiennej USER może tu najbardziej bruździć. Co z tym fantem można począć?

12

Odp: włączanie komputera za pomocą routera

Dobrze myślisz. Inny /home masz, więc położenie kluczy z których korzytasz też musi być inne.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

13

Odp: włączanie komputera za pomocą routera

Udało mi się naprawić
Tutaj problemem był plik known_hosts, który faktycznie jest w katalogu domowym /root/.ssh/known_hosts. Okazuje się, że klient ssh posiada opcję, która mnie w tej sytuacji ratuje:

-y -y Don't perform any remote host key checking (caution)