Fritz!Box 7390 - WLAN ein/ausschalten

1,324 views
Skip to first unread message

UliM

unread,
Jun 11, 2011, 2:08:49 PM6/11/11
to FHEM users
Hallo,
gibt es eine Moeglichkeit, das WLAN der FB7390 aus fhem heraus ein-
bzw auszuschalten?
Wie sieht der fhem- bzw Perl-Code?

Vielen Dank fuer euer feedback,
Gruss aus Muenchen,
Uli

Rudolf Koenig

unread,
Jun 11, 2011, 2:45:13 PM6/11/11
to fhem-...@googlegroups.com
> gibt es eine Moeglichkeit, das WLAN der FB7390 aus fhem heraus ein-
> bzw auszuschalten? Wie sieht der fhem- bzw Perl-Code?

Eher nicht, da fhem in einem chroot Umgebung laeuft.

Sonst steht irgendwo was von
/etc/init.d/rc.net wlanstop
/etc/init.d/rc.net wlanstart

oder via fhem:

define n_wlan notify FS20button {\
my $wstate = ("%" eq "on" ? "start" : "stop");;\
system("/etc/init.d/rc.net wlan$wstate &");;\
}

UliM

unread,
Jun 13, 2011, 8:27:30 AM6/13/11
to FHEM users
Hallo Rudi,
vielen Dank fuer Deine Antwort - nun bin ich endlich zum Testen
gekommen.

Wenn ich mittels telnet (21) die Zeile
/etc/init.d/rc.net wlanstart
bzw wlanstop absetze, funktioniert's.

Wenn ich im fhem webfrontend das Kommando
{system("/etc/init.d/rc.net wlanstart")}
absetze, ist das Ergebnis "-1" auf der fhem-Oberflaeche, also 'failed
to execute'. Entsprechend wird das FB-WLAN weder aus- noch
eingeschaltet.

Dasselbe, wenn ich die von Dir gezeigte Routine nutze - ebenfalls
Ergebnis -1.

Woran kann das liegen? Weil fhem auf der FB7390 mit "chroot /var/
InternerSpeicher/fhem" laeuft? Wie kann man den "system"-Befehl so
gestalten, dass rc.net ausgefuehrt werden kann? Vll durch die Folge
{system("chroot /");;\
system("/etc/init.d/rc.net wlan$wstate &");;\
system("chroot /var/InternerSpeicher/fhem");;\
}

Oder koennen dann der zweite und der letzte Befehl schon nicht mehr
ausgefuehrt werden?

Mal wieder vielen Dank!
Gruss und schoenen Feiertag,
Uli

Rudolf Koenig

unread,
Jun 13, 2011, 8:45:54 AM6/13/11
to FHEM users
> Woran kann das liegen?

chroot, siehe am besten die Erklaerung in der Wikipedia

chroot bedeutet, dass fuer das damit gestartete Prozess _NICHTS_
ausserhalb des
chroot Verzeichnisses sichtbar ist.
Das ist einerseits praktisch, weil der so gestartete Prozess das
System nicht
durch ausfuehren oder schreiben irgendwelcher Dateien kompromittieren
kann.
Andererseits doof, da solche Prozesse auf (aus fhem-Sicht) sinnvolle
Sachen wie
/etc/init.d/... einfach nicht zugreifen koennen.

Eigentlich sollte fhem nicht in chroot laufen, und ich hab das bei AVM
bemaengelt. Das simple Entfernen des chroot Kommandos aus dem Start-
Skript
wird allerdings nicht reichen, da Startskript, fhem.cfg und perl mit
diesem
chroot im Sinn gebaut wurden.
Reply all
Reply to author
Forward
0 new messages