| die letzten Änderungen * Seitenstruktur * Stichwortsuche :


logo_puschin.jpg

Startseite

Knowledge base



Kontakt

Impressum

Knowledge base - Siemens m740av

Knowledge base

10 Benutzer online Druckversion




zurück



Siemens m740av
m740av - Remote einschalten - Teil 1 (Fritz!Box & USB-Steckdose)

Das Remote einschalten der m740AV gestaltet sich recht kompliziert, da so einfache Mechanismen wie WakeOnLan von Siemens wohl vergessen worden sind.

Daher hier mein Weg :

  • SIS-PM Steckdosenleiste via USB an Fritz!Box anschliessen.

Zu beziehen z.B. von http://www.judine.yatego.com/

  • via telnet in Fritz!Box einloggen

Telnet aktivieren ggf. mit Hilfe von http://www.wehavemorefun.de/fritzbox/Firmware_Modifikationen_/_Recompiling bzw. http://www.ip-phone-forum.de/

  • Binaries auf die Fritz!Box in das Verzeichnis /var/tmp laden :

Download mit wget :
# cd /var/tmp
# wget http://www.puschin.de/showfile.php?bilddb=1046
# wget http://www.puschin.de/showfile.php?bilddb=1047
# wget http://www.puschin.de/showfile.php?bilddb=1048
# chmod +x sispm_ctl
# chmod +x tiffeltoff
# chmod +x busybox

Hier die Programme für den Download :
sispm_ctl -> sispm_ctl (USB-Steckdosenleiste ein/ausschalten)
tiffeltoff -> tiffeltoff (auf --------------- A warten)
busybox -> busybox mit netcat

  • tiffeltoff.sh gemäß dem folgenden Code-Beispiel anlegen, IP-Adresse der Box ggf. anpassen, chmod +x tiffeltoff.sh und dann ausführen.


tiffeltoff.sh :

#!/bin/sh
BIN=/var/tmp
BOXIP=192.168.178.24
i=0

$BIN/sispm_ctl -f 1
sleep 5
$BIN/sispm_ctl -o 1
sleep 45
$BIN/tiffeltoff $BOXIP
while [ "$i" -lt "2" ]; do
        echo "sim 0 0$i POWER anyname" | $BIN/busybox nc $BOXIP 8765
        i=$((i+1))
done

echo "m740av is on my dear."



Das o.g. Skript führt die folgenden Dinge durch :
  • Steckdosenleiste via USB abschalten (Strom weg)
  • 5 Sekunden warten
  • Steckdosenleiste via USB einschalten (Strom an)
  • 45 Sekunden warten
  • über das Programm tiffeltoff mit Port 12001 der Box verbinden und auf die magische Zeile "------------------------ A" warten
  • sim POWER an die Box über Port 8765 (lircd) senden


Dauerhafte Veränderung der Datei /var/flash/debug.cfg mit
# nvi /var/flash/debug.cfg


# == cd dir ==
cd /var/tmp

# == sleep for a while ==
sleep 60

# == Neue Busybox holen ==
wget http://[URL]/busybox
chmod +x busybox

# == sispm_ctl holen ==
wget http://[URL]/sispm_ctl
chmod +x sispm_ctl

# == tiffeltoff holen ==
wget http://[URL]/tiffeltoff
chmod +x tiffeltoff

# == tiffeltoff.sh holen ==
wget http://[URL]/tiffeltoff.sh
chmod +x tiffeltoff.sh



Source-Code von tiffeltoff, tiffeltoff.c für die Fritz!Box :
Kompilierung mit dem Mipsel-Crosscompiler :
# mipsel-unknown-linux-gnu-gcc tiffeltoff.c -o tiffeltoff
Link zur Toolchain : http://www.ip-phone-forum.de/forumdisplay.php?f=525


/*

Dieses Programm verbindet sich mit der m740AV auf Port 12001 und wartet auf
die Zeile "---------------------------------- A", danach beendet sich das
Programm.

*/
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdio.h>
#include <syslog.h>
#define PORT 12001
#define BUF_SIZE 1024

main(argc,argv)
int argc;
char *argv[];
{
        int sock, run;
        char buf[BUF_SIZE];
        struct sockaddr_in server;
        struct hostent *hp;
        if(argc != 2)
        {
                fprintf(stderr,"usage: %s <ip of m740av>\n", argv[0]);
                exit(2);
        }

        /* open syslog */
        //openlog (argv[0], LOG_CONS | LOG_PID | LOG_NDELAY, LOG_LOCAL1);

        /* create socket */
        sock = socket(AF_INET,SOCK_STREAM,0);
        if(sock < 0)
        {
                perror("open stream socket");
                exit(1);
        }

        server.sin_family = AF_INET;

        /* get internet address of host specified by command line */
        hp = gethostbyname(argv[1]);
        if(hp == NULL)
        {
                fprintf(stderr,"%s unknown host.\n",argv[1]);
                exit(2);
        }

        /* copies the internet address to server address */
        bcopy(hp->h_addr, &server.sin_addr, hp->h_length);

        /* set port */
        server.sin_port = htons(PORT);

        /* open connection */
        if(connect(sock,&server,sizeof(struct sockaddr_in)) < 0)
        {
                perror("connecting stream socket");
                exit(1);
        }

        /* read input from stdin */
        while(1) {
                run=recv(sock,buf,sizeof(buf) - 1,0);

                if(run<0)
                {
                        perror("error reading from stdin");
                        exit(1);
                }
                else
                {
                        buf[run] = '\0';
                        //syslog (LOG_INFO, "debug %s", buf);
                        printf("debug : %s", buf);
                        if (strncasecmp(buf, "---------------------------------- A", 36) == 0) {
                                exit(0);
                        }
                }
        }
        close(sock);
}


zurück



Knowledge base wurde zuletzt bearbeitet am 12.07.13 durch Frank

www.puschin.de
login

<body bgcolor='#FFFFFF' link='#000000' vlink='#000000' alink='#000000' text='#000000'><font face='Verdana' size='2'><strong>www.puschin.de</strong><br>Die Webseite http://www.puschin.de bietet eine interessante Webseite zu vielen Themen aus dem Bereich Linux und Windows. Man findet hier Tipps und Tricks zu cms php apache postfix openxchange tomcat windows linux firewall <br><br><font face='Verdana' size='2'><li><a href='cms.php?print=&aktion=thema_anzeigen&menue_id=191'>Startseite</a><font face='Verdana' size='2'><li><a href='cms.php?print=&aktion=thema_anzeigen&menue_id=63'>Knowledge base</a><font face='Verdana' size='2'><li><a href='cms.php?print=&aktion=thema_anzeigen&menue_id=57'>Kontakt</a><font face='Verdana' size='2'><li><a href='cms.php?print=&aktion=thema_anzeigen&menue_id=9'>Impressum</a></body>