<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wichtel</id>
	<title>FHEMWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wichtel"/>
	<link rel="alternate" type="text/html" href="http://wiki.fhem.de/wiki/Spezial:Beitr%C3%A4ge/Wichtel"/>
	<updated>2026-04-16T14:47:15Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=FHEM_und_FritzBox_7170&amp;diff=4917</id>
		<title>FHEM und FritzBox 7170</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=FHEM_und_FritzBox_7170&amp;diff=4917"/>
		<updated>2014-02-12T18:36:52Z</updated>

		<summary type="html">&lt;p&gt;Wichtel: /* Einrichten von Autostart */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die [http://www.wehavemorefun.de/fritzbox/FRITZ!Box_Fon_WLAN_7170 FritzBox 7170] &lt;br /&gt;
ist ein Allround-Ger&amp;amp;auml;t und vereint die wichtigsten Anschl&amp;amp;uuml;sse und Funktionen f&amp;amp;uuml;r &lt;br /&gt;
den Heimeinsatz. Dazu z&amp;amp;auml;hlen ADSL2+, WLAN 802.11 b/g/g++ bis 125MBit/s, &lt;br /&gt;
LAN 100Mbit/s (4 Anschl&amp;amp;uuml;sse),  ISDN-S0 Bus (1 Anschluss), Analogtelefonie (3 Anschl&amp;amp;uuml;sse).&lt;br /&gt;
Da die FritzBox zur Sicherstellung der Telefonfunktion (wenn genutzt) in der Regel &lt;br /&gt;
rund um die Uhr an ist, eignet sie sich optimal f&amp;amp;uuml;r die Installation von FHEM, denn so&lt;br /&gt;
ist sichergestellt, dass die Heimautomatisierungs-Dienste ebenfalls  rund um die Uhr &lt;br /&gt;
zur Verf&amp;amp;uuml;gung stehen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nachfolgende Installationsanleitung ist angeregt und in Anlehnung an&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[http://forum.fhem.de/index.php/topic,11755.0.html diesen] Post im FHEM Forum entstanden.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=FHEM Community Image (Original AVM Firmware)=&lt;br /&gt;
Die erste Variante beschreibt die die Installation von FHEM auf einer FritzBox 7170&lt;br /&gt;
&amp;amp;uuml;ber das Community Image. Dabei bleibt die Firmware der FritzBox unver&amp;amp;auml;ndert. Es wird&lt;br /&gt;
also lediglich zus&amp;amp;auml;tzliche Software installiert (busybox zur Erstellung einer &lt;br /&gt;
Auslagerungsdatei sowie Perl, FHEM und entsprechende Kernel Module aus dem FHEM &lt;br /&gt;
Community Image). &lt;br /&gt;
&lt;br /&gt;
In einigen Foren Threads ist zu lesen, dass die 7170 wenig internen Arbeitsspeicher &lt;br /&gt;
aufweist und FHEM daher nur bedingt oder nur sehr eingeschr&amp;amp;auml;nkt l&amp;amp;auml;uft. Mit einer kleinen&lt;br /&gt;
Erweiterung jedoch kann auch die 7170 ohne Anpassung der Firmware f&amp;amp;uuml;r FHEM fit gemacht &lt;br /&gt;
werden.&lt;br /&gt;
&lt;br /&gt;
==Voraussetzungen==&lt;br /&gt;
Die Anleitung beschreibt die Installation auf einer 7170 v2. Das Verfahren auf der &lt;br /&gt;
&#039;&#039;&amp;amp;auml;lteren&#039;&#039; Variante sollte aber identisch sein. Voraussetzung ist eine aktuelle Firmware&lt;br /&gt;
von AVM. Die zum Zeitpunkt der Erstellung des Artikels verf&amp;amp;uuml;gbare Firmware hat die &lt;br /&gt;
Version 29.04.87.&lt;br /&gt;
&lt;br /&gt;
Zus&amp;amp;auml;tzlich ben&amp;amp;ouml;tigt werden:&lt;br /&gt;
* Ein USB Stick (Windows/VFAT formatiert) als zus&amp;amp;auml;tzlichen externen Speicher f&amp;amp;uuml;r die 7170 (NAS)&lt;br /&gt;
* [http://www.wehavemorefun.de/fritzbox/BusyBox Multi-call-binary busybox]&lt;br /&gt;
* [http://fhem.de/fhem-5.5-fb7270.zip FHEM Community Image f&amp;amp;uuml;r FB7170/7270]&lt;br /&gt;
* Telnet-Zugang zur FritzBox&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
===Anschluss zus&amp;amp;auml;tzlicher Externer Speicher===&lt;br /&gt;
Der USB Stick wird an den USB Anschluss der Fritzbox angeschlossen. Der USB Stick muss&lt;br /&gt;
FAT/FAT32 (Windows) formatiert sein! Bitte kein anderes Dateisystem wie NTFS, EXT3 etc.&lt;br /&gt;
verwenden. Eine detaillierte Anleitung zur Einrichtung des USB Speichers gibt es in der&lt;br /&gt;
[http://service.avm.de/support/de/SKB/FRITZ-Box-7170/26:USB-Speicher-an-FRITZ-Box-einrichten AVM Wissensdatenbank].&lt;br /&gt;
&lt;br /&gt;
Nach Anschluss des USB Sticks an die FritzBox muss der Speicher &amp;amp;uuml;ber die Benutzeroberfl&amp;amp;auml;che&lt;br /&gt;
der FritzBox eingerichtet werden. Zun&amp;amp;auml;chst bitte pr&amp;amp;uuml;fen, dass der USB Anschluss nicht als&lt;br /&gt;
USB-Fernanschluss verwendet wird:&lt;br /&gt;
&lt;br /&gt;
* Heimnetz &lt;br /&gt;
* USB-Ger&amp;amp;auml;te&lt;br /&gt;
* Fernanschluss&lt;br /&gt;
* USB Fernanschluss aktiv (deaktivieren / &#039;&#039;nicht&#039;&#039; angehakt)&lt;br /&gt;
&lt;br /&gt;
Ist der Fernanschluss deaktiviert, so kann der Speicher als &#039;&#039;Network attached Storage (NAS)&#039;&#039;&lt;br /&gt;
eingerichtet werden. Hierzu bitte folgenderma&amp;amp;szlig;en vorgehen:&lt;br /&gt;
&lt;br /&gt;
* Heimnetz&lt;br /&gt;
* Speicher (NAS)&lt;br /&gt;
* Speicher (NAS) aktiv (aktivieren)&lt;br /&gt;
&lt;br /&gt;
Optional kann der Zugriff aus dem Internet (per FTP) und/oder die Option Musikbox aktiv&lt;br /&gt;
aktiviert werden.&lt;br /&gt;
&lt;br /&gt;
Wurden die Einstellungen entsprechend vorgenommen und der Speicher ordnungsgem&amp;amp;auml;&amp;amp;szlig; &lt;br /&gt;
formatiert, so kann die Freigabe z.B. &amp;amp;uuml;ber den Datei-Explorer (Windows), Finder (OSX), &lt;br /&gt;
Android Systeme mit Hilfe von AndSMB oder jeden anderen Samba Client aufgerufen werden.&lt;br /&gt;
&lt;br /&gt;
===Aktivierung Telnet-Zugang===&lt;br /&gt;
F&amp;amp;uuml;r die sp&amp;amp;auml;teren Arbeiten zur Einrichtung von FHEM wird ein Telnetzugang zur FritzBox &lt;br /&gt;
ben&amp;amp;ouml;tigt. Da Telnet ein relativ altes, nicht abh&amp;amp;ouml;rsicheres Protokoll darstellt ist&lt;br /&gt;
der Telnet Zugang der FritzBox zun&amp;amp;auml;chst inaktiv. Auch auf einigen neueren Betriebsystemen&lt;br /&gt;
(z.B. Windows 7) ist der Telnet Client zun&amp;amp;auml;chst deaktiviert und &lt;br /&gt;
[http://support.microsoft.com/kb/978779/de muss aktiviert werden].&lt;br /&gt;
&lt;br /&gt;
Die Aktivierung von Telnet auf der FritzBox erfolgt &amp;amp;uuml;ber die Kurzwahl &amp;lt;nowiki&amp;gt;#96*7*&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
Ist kein Telefon an die Fritzbox angeschlossen, kann mit Hilfe der Schritte aus dieser&lt;br /&gt;
[http://thomasheinz.net/telnet-bei-der-fritzbox-z-b-7270-ohne-telefon-und-mod-aktivieren-und-verbindung-herstellen/ Anleitung]&lt;br /&gt;
der Telnetzugang aktiviert werden.&lt;br /&gt;
&lt;br /&gt;
Die Anmeldung an der FritzBox &amp;amp;uuml;ber Telnet erfolgt &amp;amp;uuml;ber die Eingabeaufforderung (Windows)&lt;br /&gt;
oder Terminal (OSX) oder &amp;amp;uuml;ber jede beliebige andere Shell folgendem Aufruf:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
macbook:~ $ telnet fritz.box&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Darauf erfolgt die Anmeldung an der FritzBox mit dem gleichen Kennwort, welches auch f&amp;amp;uuml;r&lt;br /&gt;
die Weboberfl&amp;amp;auml;che genutzt wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Trying 192.168.x.x...&lt;br /&gt;
Connected to fritz.box.&lt;br /&gt;
Escape character is &#039;^]&#039;.&lt;br /&gt;
Fritz!Box web password: &lt;br /&gt;
&lt;br /&gt;
BusyBox v1.8.2 (2009-04-22 13:54:57 CEST) built-in shell (ash)&lt;br /&gt;
Enter &#039;help&#039; for a list of built-in commands.&lt;br /&gt;
&lt;br /&gt;
ermittle die aktuelle TTY&lt;br /&gt;
tty is &amp;quot;/dev/pts/0&amp;quot;&lt;br /&gt;
Console Ausgaben auf dieses Terminal umgelenkt&lt;br /&gt;
# _&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wer den vorherigen Abschnitt aufmerksam gelesen hat, der stellt fest, dass die jetzt&lt;br /&gt;
aufgebaute Telnet Verbindung die &#039;&#039;ash&#039;&#039; Shell benutzt die aus dem multi-call-binary&lt;br /&gt;
busybox v1.8.2 stammt. Mehr dazu im folgenden Abschnitt.&lt;br /&gt;
&lt;br /&gt;
===Einrichtung der Auslagerungsdatei (SWAP)===&lt;br /&gt;
Bis Version 5.3 l&amp;amp;auml;uft FHEM noch ohne Auslagerungsdatei auf der FritzBox. Ab Version &lt;br /&gt;
5.4 muss zwingend eine Auslagerungsdatei auf der FritzBox eingerichtet werden. Wird &lt;br /&gt;
FHEM 5.4 oder h&amp;amp;ouml;her ohne Auslagerungsdatei installiert, so kommt es beim ersten &lt;br /&gt;
Zugriff auf die Weboberfl&amp;amp;auml;che von FHEM auf der FritzBox zu einem Absturz und erzwungenen&lt;br /&gt;
Neustart der FritzBox. Damit dies nicht nicht vorkommt, muss der knappe Speicher der&lt;br /&gt;
FritzBox mit einer Auslagerungsdatei &amp;lt;nowiki&amp;gt;&#039;&#039;erweitert&#039;&#039;&amp;lt;/nowiki&amp;gt; werden. Der aktuelle &lt;br /&gt;
Speicherverbrauch der FritzBox ohne Auslagerungsdatei und FHEM kann mit dem Befehl&lt;br /&gt;
&#039;&#039;free&#039;&#039; abgrefragt werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# free&lt;br /&gt;
              total         used         free       shared      buffers&lt;br /&gt;
  Mem:        30316        28652         1664            0         1304&lt;br /&gt;
 Swap:            0            0            0&lt;br /&gt;
Total:        30316        28652         1664&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
F&amp;amp;uuml;r die Einrichtung der Auslagerungsdatei ben&amp;amp;ouml;tigen wir das &lt;br /&gt;
[http://www.busybox.net/ Multi-call-binary busybox] in einer &lt;br /&gt;
h&amp;amp;ouml;heren Version als mit der Firmware ausgeliefert. Welche Version mit der FritzBox &lt;br /&gt;
ausgeliefert wird, kann nach erfolgreicher Telnet-Anmeldung oder &lt;br /&gt;
[http://www.wehavemorefun.de/fritzbox/BusyBox#BusyBox-Versionen hier] nachgelesen werden. &lt;br /&gt;
Wer die Auslieferungsversion erneut abfragen m&amp;amp;ouml;chte kann in der Telnet-Verbindung den &lt;br /&gt;
Befehl &#039;&#039;busybox&#039;&#039; absetzen und erh&amp;amp;auml;lt Infos zu Version un unterst&amp;amp;uuml;tzten Befehlen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# busybox &lt;br /&gt;
BusyBox v1.8.2 (2009-04-22 13:54:57 CEST) multi-call binary&lt;br /&gt;
Copyright (C) 1998-2006 Erik Andersen, Rob Landley, and others.&lt;br /&gt;
Licensed under GPLv2. See source distribution for full notice.&lt;br /&gt;
&lt;br /&gt;
Usage: busybox [function] [arguments]...&lt;br /&gt;
   or: [function] [arguments]...&lt;br /&gt;
&lt;br /&gt;
        BusyBox is a multi-call binary that combines many common Unix&lt;br /&gt;
        utilities into a single executable.  Most people will create a&lt;br /&gt;
        link to busybox for each function they wish to use and BusyBox&lt;br /&gt;
        will act like whatever it was invoked as!&lt;br /&gt;
&lt;br /&gt;
Currently defined functions:&lt;br /&gt;
        [, [[, ash, basename, cat, chmod, clear, cp, date, dd, dmesg, echo, egrep, env, ether-wake, false,&lt;br /&gt;
        fgrep, find, free, grep, halt, head, hostname, ifconfig, ifdown, ifup, inetd, init, insmod, kill,&lt;br /&gt;
        killall, ln, login, ls, lsmod, md5sum, mkdir, mknod, modprobe, more, mount, mv, nc, netstat, nohup,&lt;br /&gt;
        pidof, ping, poweroff, ps, pwd, realpath, reboot, rm, rmdir, rmmod, route, sed, setconsole, sh,&lt;br /&gt;
        sleep, stty, tail, tar, tee, telnetd, test, tftp, time, touch, tr, traceroute, true, tty, umount,&lt;br /&gt;
        uname, uniq, uptime, vconfig, vi, wget&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
F&amp;amp;uuml;r die nachfolgenden Anpassungen ben&amp;amp;ouml;tigen wir die Unix Befehle &amp;quot;mkswap&amp;quot;, &#039;&#039;swapon&#039;&#039; und &#039;&#039;swapoff&#039;&#039;&lt;br /&gt;
welche in einer h&amp;amp;ouml;heren busybox-Variante zu finden sind. Beispielsweise ist auf der &lt;br /&gt;
FritzBox 7170 V2 mit oben angegebener Firmware die &lt;br /&gt;
[http://www.busybox.net/downloads/binaries/1.16.1/busybox-mipsel busybox-mipsel v1.16.1]&lt;br /&gt;
lauff&amp;amp;auml;hig. Dieses Version enth&amp;amp;auml;lt alle ben&amp;amp;ouml;tigten Befehle.&lt;br /&gt;
&lt;br /&gt;
Das fertige Programm bitte herunterladen und auf die FritzBox kopieren oder direkt&lt;br /&gt;
auf der FritzBox ein Verzeichnis auf dem USB-Stick herunterladen. Schritt f&amp;amp;uuml;r Schritt in &lt;br /&gt;
der aktiven Telnet-Verbindung auf der FritzBox:&lt;br /&gt;
&lt;br /&gt;
Wo ist mein USB-Stick? Hier hilft ein einfaches &#039;&#039;mount&#039;&#039; weiter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# mount&lt;br /&gt;
rootfs on / type rootfs (rw)&lt;br /&gt;
/dev/root on / type squashfs (ro)&lt;br /&gt;
proc on /proc type proc (rw,nodiratime)&lt;br /&gt;
ramfs on /var type ramfs (rw)&lt;br /&gt;
usbfs on /proc/bus/usb type usbfs (rw)&lt;br /&gt;
sysfs on /sys type sysfs (rw)&lt;br /&gt;
/dev/sda1 on /var/media/ftp/Intenso-MicroLine-01 type vfat (rw,nodiratime, ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In dieser FritzBox ist der USB-Stick unter &#039;&#039;/var/media/ftp/Intenso-MicroLine-01&#039;&#039;&lt;br /&gt;
eingebunden. Hier erstellen wir ein Verzeichnis und wechseln f&amp;amp;uuml;r den Download&lt;br /&gt;
der Busybox dorthin:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd  /var/media/ftp/Intenso-MicroLine-01&lt;br /&gt;
# mkdir busybox&lt;br /&gt;
# cd busybox&lt;br /&gt;
# wget http://www.busybox.net/downloads/binaries/1.16.1/busybox-mipsel&lt;br /&gt;
Connecting to www.busybox.net (140.211.167.224:80)&lt;br /&gt;
busybox-mipsel       100% |***********************************************************************|  1657k 00:00:00 ETA&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nach dem Download kann der Funktionsumfang von busybox-mipsel v1.16.1 abgefragt werden.&lt;br /&gt;
Hierzu bitte in bestehender Telnet Verbindung &#039;&#039;./busybox-mipsel&#039;&#039; eingeben.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ./busybox-mipsel&lt;br /&gt;
BusyBox v1.16.1 (2010-03-29 11:52:23 CDT) multi-call binary.&lt;br /&gt;
Copyright (C) 1998-2009 Erik Andersen, Rob Landley, Denys Vlasenko&lt;br /&gt;
and others. Licensed under GPLv2.&lt;br /&gt;
See source distribution for full notice.&lt;br /&gt;
&lt;br /&gt;
Usage: busybox [function] [arguments]...&lt;br /&gt;
   or: function [arguments]...&lt;br /&gt;
&lt;br /&gt;
        BusyBox is a multi-call binary that combines many common Unix&lt;br /&gt;
        utilities into a single executable.  Most people will create a&lt;br /&gt;
        link to busybox for each function they wish to use and BusyBox&lt;br /&gt;
        will act like whatever it was invoked as.&lt;br /&gt;
&lt;br /&gt;
Currently defined functions:&lt;br /&gt;
        [, [[, acpid, addgroup, adduser, adjtimex, arp, arping, ash, awk, basename, bbconfig, beep, blkid, brctl,&lt;br /&gt;
        bunzip2, bzcat, bzip2, cal, cat, catv, chat, chattr, chgrp, chmod, chown, chpasswd, chpst, chroot, chrt, chvt,&lt;br /&gt;
        cksum, clear, cmp, comm, cp, cpio, crond, crontab, cryptpw, cttyhack, cut, date, dc, dd, deallocvt, delgroup,&lt;br /&gt;
        deluser, depmod, devmem, df, dhcprelay, diff, dirname, dmesg, dnsd, dnsdomainname, dos2unix, dpkg, dpkg-deb,&lt;br /&gt;
        du, dumpkmap, dumpleases, echo, ed, egrep, eject, env, envdir, envuidgid, ether-wake, expand, expr, fakeidentd,&lt;br /&gt;
        false, fbset, fbsplash, fdflush, fdformat, fdisk, fgrep, find, findfs, flashcp, fold, free, freeramdisk, fsck,&lt;br /&gt;
        fsck.minix, fsync, ftpd, ftpget, ftpput, fuser, getopt, getty, grep, gunzip, gzip, halt, hd, hdparm, head,&lt;br /&gt;
        hexdump, hostid, hostname, httpd, hush, hwclock, id, ifconfig, ifdown, ifenslave, ifplugd, ifup, inetd, init,&lt;br /&gt;
        insmod, install, ionice, ip, ipaddr, ipcalc, ipcrm, ipcs, iplink, iproute, iprule, iptunnel, kbd_mode, kill,&lt;br /&gt;
        killall, killall5, klogd, lash, last, length, less, linux32, linux64, linuxrc, ln, loadfont, loadkmap, logger,&lt;br /&gt;
        login, logname, logread, losetup, lpd, lpq, lpr, ls, lsattr, lsmod, lspci, lsusb, lzmacat, lzop, lzopcat,&lt;br /&gt;
        makedevs, makemime, man, md5sum, mdev, mesg, microcom, mkdir, mkdosfs, mkfifo, mkfs.minix, mkfs.reiser,&lt;br /&gt;
        mkfs.vfat, mknod, mkpasswd, mkswap, mktemp, modprobe, more, mount, mountpoint, msh, mt, mv, nameif, nc,&lt;br /&gt;
        netstat, nice, nmeter, nohup, nslookup, ntpd, od, openvt, passwd, pgrep, pidof, ping, ping6, pipe_progress,&lt;br /&gt;
        pivot_root, pkill, popmaildir, poweroff, printenv, printf, ps, pscan, pwd, raidautorun, rdate, rdev, readahead,&lt;br /&gt;
        readlink, readprofile, realpath, reboot, reformime, renice, reset, resize, rm, rmdir, rmmod, route, rpm,&lt;br /&gt;
        rpm2cpio, rtcwake, run-parts, runlevel, runsv, runsvdir, rx, script, scriptreplay, sed, sendmail, seq, setarch,&lt;br /&gt;
        setconsole, setfont, setkeycodes, setlogcons, setsid, setuidgid, sh, sha1sum, sha256sum, sha512sum, showkey,&lt;br /&gt;
        slattach, sleep, softlimit, sort, split, start-stop-daemon, stat, strings, stty, su, sulogin, sum, sv, svlogd,&lt;br /&gt;
        swapoff, swapon, switch_root, sync, sysctl, syslogd, tac, tail, tar, tcpsvd, tee, telnet, telnetd, test, tftp,&lt;br /&gt;
        tftpd, time, timeout, top, touch, tr, traceroute, traceroute6, true, tty, ttysize, tunctl, udhcpc, udhcpd,&lt;br /&gt;
        udpsvd, umount, uname, uncompress, unexpand, uniq, unix2dos, unlzma, unlzop, unzip, uptime, usleep, uudecode,&lt;br /&gt;
        uuencode, vconfig, vi, vlock, volname, wall, watch, watchdog, wc, wget, which, who, whoami, xargs, yes, zcat,&lt;br /&gt;
        zcip&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die neuere Version enth&amp;amp;auml;lt also eine ganze Reihe mehr an Befehlen als die mit der Firmware&lt;br /&gt;
ausgelieferte Version. Jetzt geht es an die eigentliche Erstellung der Auslagerungsdatei. &lt;br /&gt;
Hierzu ertsellen wir zun&amp;amp;auml;chst eine leere, 32MB gro&amp;amp;szlig;e Datei im Dateisystem auf dem USB-Stick.&lt;br /&gt;
&amp;amp;Uuml;ber die weiterhin aktive Telnet Verbindung auf der FritzBox setzen wir diesen Befehl ab, &lt;br /&gt;
wobei &amp;amp;lt;DEIN-USB-STICK&amp;amp;gt; f&amp;amp;uuml;r den Namen Deines USB-Stick steht (siehe oben Befehl&lt;br /&gt;
&#039;&#039;mount&#039;&#039;) und jeweils zu ersetzen ist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dd if=/dev/zero of=/var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;/swapfile bs=1024 count=32768&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es dauert einen kleinen Moment, dann ist die Datei angelegt.&lt;br /&gt;
Diese völlig leere Datei muss noch zur Verwendung als Auslagerungsspeicher vorbereitet werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# /var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;/busybox/busybox-mipsel mkswap /var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;/swapfile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die soeben erzeugte Auslagerungsdatei machen wir dem System mit dem Befehl &#039;&#039;swapon&#039;&#039; bekannt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# /var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;/busybox/busybox-mipsel swapon /var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;/swapfile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein abschlie&amp;amp;szlig;endes &#039;&#039;free&#039;&#039; zeigt uns, dass die Auslagerungsdatei jetzt angelegt ist &lt;br /&gt;
und benutzt wird. Bitte folgende Ausgabe mit der Ausgabe von oben vergleichen mit &lt;br /&gt;
Augenmerk auf die Zeile &#039;&#039;Swap&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# free&lt;br /&gt;
              total         used         free       shared      buffers&lt;br /&gt;
  Mem:        30316        28844         1472            0         1324&lt;br /&gt;
 Swap:        32760            0        32760&lt;br /&gt;
Total:        63076        28844        34232&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wer die in der Firmware ausgeleiferte Busybox dauerhaft ersetzen m&amp;amp;ouml;chte, kann&lt;br /&gt;
die notwendigen Informationen [http://www.wehavemorefun.de/fritzbox/Busybox_ersetzen hier]&lt;br /&gt;
nachlesen.&lt;br /&gt;
&lt;br /&gt;
===Installation von FHEM===&lt;br /&gt;
Nachdem die Auslagerungsdatei erfolgreich erzeugt wurde, kann es mit der Installation&lt;br /&gt;
von FHEM auf der FritzBox losgehen. Diese ist vergleichsweise unkompliziert und schnell&lt;br /&gt;
durchgef&amp;amp;uuml;hrt.&lt;br /&gt;
&lt;br /&gt;
Zun&amp;amp;auml;chst ben&amp;amp;ouml;tigen wir das aktuelle Community-Image f&amp;amp;uuml;r die FritzBox (siehe Abschnitt&lt;br /&gt;
[[#Voraussetzungen]]. Dieses bitte entpacken und auf den USB-Stick an der FritzBox &lt;br /&gt;
kopieren. Nach dem Kopieren von FHEM muss auf der FritzBox 7170 der FHEM-Heimatpfad im &lt;br /&gt;
Start-Skript &#039;&#039;startfhem&#039;&#039; angepasst werden. Dies wird erneut in der aktiven &lt;br /&gt;
Telnetverbindung durchgef&amp;amp;uuml;hrt. Dazu benutzen wir den Editor &#039;&#039;vi&#039;&#039;. Mit dem Befehl&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# vi /var/media/ftp/&amp;lt;DEIN-USB_STICK&amp;gt;/fhem/startfhem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
das Skript &amp;amp;ouml;ffnen und den fest eingegebenen Heimatpfad (&#039;&#039;home&#039;&#039;) der FHEM Installation&lt;br /&gt;
auf das eigene System anpassen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# On the Fritzbox 7270 V1/V2 with missing df replace home with the hardcoded&lt;br /&gt;
# path.&lt;br /&gt;
#root=`df | sed -n -e &#039;/ftp\//s/.*ftp\///p&#039;`&lt;br /&gt;
#home=/var/InternerSpeicher/$root/fhem&lt;br /&gt;
#home=/var/media/ftp/Generic-FlashDisk-01/fhem&lt;br /&gt;
home=/var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;/fhem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Test der Installation====&lt;br /&gt;
Die Installation kann jetzt mit dem Ausf&amp;amp;uuml;hren des FHEM-Start-Skriptes getestet werden&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# /var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;/fhem/startfhem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beim Start von FHEM erscheinen einige Programmausgaben auf der Konsole. Nach kurzer Zeit&lt;br /&gt;
ist das Webinterface von FHEM auf der FritzBox erreichbar. Dazu im Browser bitte folgende&lt;br /&gt;
URL eingeben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://fritz.box:8083&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Einrichten von Autostart===&lt;br /&gt;
Damit FHEM bei jedem Neustart der FritzBox automatisch startet sind noch zwei Schritte &lt;br /&gt;
notwendig. Zun&amp;amp;auml;chst muss die Aktivierung der Auslagerungsdatei in das FHEM-Startskript &lt;br /&gt;
aufgenommen werden. Eine m&amp;amp;ouml;gliche Anpassung sieht so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
# On the Fritzbox 7270 V1/V2 with missing df replace home with the hardcoded&lt;br /&gt;
# path.&lt;br /&gt;
#root=`df | sed -n -e &#039;/ftp\//s/.*ftp\///p&#039;`&lt;br /&gt;
#home=/var/InternerSpeicher/$root/fhem&lt;br /&gt;
#home=/var/media/ftp/Generic-FlashDisk-01/fhem&lt;br /&gt;
home=/var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;/fhem&lt;br /&gt;
&lt;br /&gt;
cd $home&lt;br /&gt;
&lt;br /&gt;
trap &amp;quot;&amp;quot; SIGHUP&lt;br /&gt;
modprobe kernel/cdc_acm&lt;br /&gt;
modprobe ftdi_sio&lt;br /&gt;
sleep 2&lt;br /&gt;
&lt;br /&gt;
# FritzBox 7170, 7270 V1/V2 needs additional swap&lt;br /&gt;
# busybox from http://www.busybox.net/downloads/binaries/1.16.1/busybox-mipsel&lt;br /&gt;
# should be present on your Box.&lt;br /&gt;
# On FritzBox 7170 swap file size 32M is sufficient -&amp;gt; 1024 * 32768&lt;br /&gt;
# test if swapfile already present in fhem directory&lt;br /&gt;
if [ -f ../swapfile ]; then&lt;br /&gt;
  echo &amp;quot;swapfile already present ...&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;swapfile will be built, please wait ...&amp;quot;&lt;br /&gt;
  dd if=/dev/zero of=../swapfile bs=1024 count=32768&lt;br /&gt;
fi&lt;br /&gt;
../busybox/busybox-mipsel mkswap ../swapfile&lt;br /&gt;
../busybox/busybox-mipsel swapon ../swapfile&lt;br /&gt;
echo &amp;quot;additional swap was activated&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ln -sf $home/FHEM/fhemcmd.sh /var/fhemcmd&lt;br /&gt;
&lt;br /&gt;
PATH=$home:$PATH&lt;br /&gt;
export PATH&lt;br /&gt;
&lt;br /&gt;
export LD_LIBRARY_PATH=$home/lib&lt;br /&gt;
export PERL5LIB=$home/lib/perl:$home/lib/perl/arch&lt;br /&gt;
&lt;br /&gt;
#export PERL5LIB=$home/lib/perl5/5.10&lt;br /&gt;
#stty -echo -echok -echoke -echoe -echonl &amp;lt; /dev/ttyACM0&lt;br /&gt;
&lt;br /&gt;
perl fhem.pl fhem.cfg &amp;amp;&amp;gt;/dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vorstehendes Skript geht davon aus, dass FHEM auf dem USB-Stick im Verzeichnis &#039;&#039;fhem&#039;&#039;&lt;br /&gt;
installiert ist und &#039;&#039;busybox-mipsel&#039;&#039; auf gleicher Ebene im Ordner &#039;&#039;busybox&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dann muss das FHEM-Startskript beim Systemstart der FritzBox automatisch ausgef&amp;amp;uuml;hrt &lt;br /&gt;
werden. Hierzu ist es notwendig die Datei &#039;&#039;/var/flash/debug.cfg&#039;&#039; anzupassen. Dieses &lt;br /&gt;
Skript f&amp;amp;uuml;hrt die FritzBox beim Systemstart aus. &lt;br /&gt;
&lt;br /&gt;
Die Datei kann auf verschiedene&lt;br /&gt;
Weisen angepasst werden. Vier M&amp;amp;ouml;glichkeiten sind &lt;br /&gt;
[http://www.fritzmod.net/de/modification/debug-cfg/ in diesem Artikel] beschrieben.&lt;br /&gt;
Meine bevorzugte Variante ist der Editor &#039;&#039;nvi&#039;&#039;, der in aktuellen AVM-Firmwareversionen enthalten ist. &lt;br /&gt;
&lt;br /&gt;
Der Inhalt des Skriptes sieht so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while !(ping -c 1 www.google.de &amp;gt; /dev/null); do&lt;br /&gt;
        sleep 15&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
max=10&lt;br /&gt;
i=0&lt;br /&gt;
while [ $i -lt $max ]; do&lt;br /&gt;
        if mount | grep &amp;quot; on /var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;&amp;quot; &amp;gt; /dev/null; then&lt;br /&gt;
                break&lt;br /&gt;
        fi&lt;br /&gt;
        let i=$i+1&lt;br /&gt;
        sleep 30&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
/var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;/fhem/startfhem &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hierzu eine kurze Erkl&amp;amp;auml;rung: &lt;br /&gt;
&lt;br /&gt;
# Erst pr&amp;amp;uuml;ft das Skript die Verf&amp;amp;uuml;gbarkeit einer Internetverbindung. Solange diese nicht aktiv ist, werden folgende Schritte nicht ausgef&amp;amp;uuml;hrt.&lt;br /&gt;
# Dann wird in maximal 10 Wiederholungen &amp;amp;uuml;berpr&amp;amp;uuml;ft, ob der USB-Stick bereits eingebunden ist. Hier bitte darauf achten den Pfad entsprechend auf die eigene FritzBox abzupassen.&lt;br /&gt;
# Zuletzt wird das FHEM-Startskript aufgerufen. Hier bitte ebenfalls den Pfad entsprechend der eigenen FritzBox anpassen!&lt;br /&gt;
&lt;br /&gt;
Um der Box das Skript beizubringen, zuerst die entsprechende Datei erstellen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo &amp;gt; /var/flash/debug.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dann den Editor starten: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# nvi /var/flash/debug.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dann mit Taste &amp;quot;i&amp;quot; den Einfügemodus aktivieren, gewünschte Teile des oben erläuterten Skripts per Copy&amp;amp;Paste einfügen, mit &amp;lt;ESC&amp;gt; den Einfügemodus verlassen und mit &amp;quot;:wq&amp;quot;&amp;lt;ENTER&amp;gt; speichern und den Editor verlassen.&lt;br /&gt;
&lt;br /&gt;
===Abschalten Telnet-Zugang===&lt;br /&gt;
Der Telnetzugang wird durch die Kurzwahl &amp;lt;nowiki&amp;gt;#96*8*&amp;lt;/nowiki&amp;gt; abgeschaltet. Auch hier &lt;br /&gt;
gilt: Ist kein Telefon an die Fritzbox angeschlossen, kann mit Hilfe der Schritte aus dieser&lt;br /&gt;
[http://thomasheinz.net/telnet-bei-der-fritzbox-z-b-7270-ohne-telefon-und-mod-aktivieren-und-verbindung-herstellen/ Anleitung]&lt;br /&gt;
der Telnetzugang auch deaktiviert werden.&lt;br /&gt;
&lt;br /&gt;
===Neustart und Funktionspr&amp;amp;uuml;fung===&lt;br /&gt;
Abschlie&amp;amp;szlig;end kann die FritzBox &amp;amp;uuml;ber die Benutzeroberfl&amp;amp;auml;che der FritzBox neu &lt;br /&gt;
gestartet werden. Hierzu den Punkt&lt;br /&gt;
&lt;br /&gt;
* System&lt;br /&gt;
* Zur&amp;amp;uuml;cksetzen&lt;br /&gt;
* Neustart&lt;br /&gt;
* Neu starten&lt;br /&gt;
&lt;br /&gt;
anw&amp;amp;auml;hlen und warten, bis die Netzwerkverbindung wieder aktiv ist. Danach muss neben&lt;br /&gt;
der Benutzeroberfl&amp;amp;auml;che der FritzBox auf Port 80 auch die FHEM Installation auf Port&lt;br /&gt;
8083 verf&amp;amp;uuml;gbar sein.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;Die Beschreibung in den folgenden Abschnitten wurden aus dem Originalartikel &amp;amp;uuml;bernommen. Hier ist eine Anpassung der Firmware notwendig. Wer unerfahren oder unsicher ist, sollte auf jeden Fall die Variante ohne Modifikation der Firmware anwenden!&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=FHEM unter Freetz (modifizierte, open source Firmware)=&lt;br /&gt;
Ziel: die aktuelle Version (zum Zeitpunkt des Artikel ist dies 5.0) von fhem (pgm2) auf der Fritz!Box 7170 mit einem CUL zum Laufen zu bekommen, ohne die Box dabei total zu überlasten oder zu crashen... &lt;br /&gt;
Logfiles der Box sollen dabei nicht auf der Box sondern auf einem angesteckten USB-Stick gespeichert werden.&lt;br /&gt;
&lt;br /&gt;
Orientiert habe ich mich an der [http://fhem.de/fritzbox.html hier] veröffentlichten Anleitung, welche für mich allerdings einige Fallstricke aufweist - und bei der ich zumindest die Rolle des Apaches bei der Art der Installation und Konfiguration nicht verstanden habe...&lt;br /&gt;
&lt;br /&gt;
Voraussetzungen: Ein USB-Hub an der Fritz!Box mit (mindestens) einem USB-Speicherstick sowie einem Funk-Device (ich beschreibe hier den Weg für CUL v3.2, anderes wird ähnlich funktionieren); ein PC mit VMware (Player) bzw. VirtualBox, um die neue Firmware zu basteln&lt;br /&gt;
&lt;br /&gt;
Bemerkung: Ich habe versucht, das Wesentliche aus dem Gedächtnis und meiner (unzureichenden) Doku zu rekonstruieren. Falls es irgendwo hängt, würde ich mich über eine Korrektur des Artikels und/oder &#039;ne kurze Mail freuen!&lt;br /&gt;
== Freetz ==&lt;br /&gt;
&#039;&#039;&#039;Warnung:&#039;&#039;&#039;Mit freetz kann man sich seine Fritz!Box auch schön zu Grunde richten (wenn auch meist nicht endgültig); ich empfehe ganz dringend die Lektüre der [http://freetz.org/wiki/help/howtos/common/newbie ersten Schritte für Anfänger] und die etwas gründlichere Auseinandersetzung mit Freetz!&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitungen ===&lt;br /&gt;
[http://freetz.org/ Freetz] erlaubt die Modifikation der original-AVM Firmware, so dass zusätzliche Features eingebaut und nicht benötigte eingespart werden können (spart Flash und RAM - und erhöht eventuell sogar die Sicherheit...)&lt;br /&gt;
&lt;br /&gt;
Für das Erstellen der Firmware mittels Freetz ist [http://freetz.org/wiki/help/howtos/common/install hier].&lt;br /&gt;
&lt;br /&gt;
Ist die VM gemäß Anleitung gestartet, kann man (nach einloggen und downloaden der Quellen) sich mittels &amp;lt;code&amp;gt;make menuconfig&amp;lt;/code&amp;gt; seine eigene Firmware zusammenbasteln.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration der Firmware ===&lt;br /&gt;
(leider erlaubt das Wiki kein Upload von Textdateien, daher liegt meine Config extern) &lt;br /&gt;
&lt;br /&gt;
Meine komplette (so für mich funktionierende) .config für freetz gibt es [http://martin.tettke.net/fhem/freetz_config-working-20110218_marte hier]; bitte beachten, dass folgende (nicht direkt fhem-relevante) Änderungen eingebastelt sind, um die Box sowohl bezüglich Flash als auch bezüglich RAM zu entlasten:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;FREETZ_REMOVE_TR069=y   # ACHTUNG: Vorher via WebIF deaktivieren!&lt;br /&gt;
FREETZ_REMOVE_USERMAN=y  # brauche keine Kindersicherung&lt;br /&gt;
FREETZ_REMOVE_FTPD=y   # ebenso kein FTP&lt;br /&gt;
FREETZ_REMOVE_MEDIASRV=y # Mediaserver ist eine andere Kiste&lt;br /&gt;
FREETZ_REMOVE_SMBD=y   # Samba brauche ich auch nicht (spart alles Platz!)&lt;br /&gt;
FREETZ_PACKAGE_CALLMONITOR=y # der Callmonitor ist TOLL!&lt;br /&gt;
FREETZ_PACKAGE_DROPBEAR=y # SSH Server. Klasse zur Installation und Wartung von FHEM&lt;br /&gt;
FREETZ_PACKAGE_NANO=y   # kleiner Editor, angenehmer als VI.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Hinweis: Diese Config spiegelt natürlich meine Konfiguration wieder. Wer einen Samba, FTP-Server etc. auf seiner Box haben will, muss natürlich entsprechende Änderungen vornehmen!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG: Das Entfernen von TR069 kann laut einigen Hinweisen zu einer Dauer-reboot-Schleife der Fritz!Box führen, wenn TR069 nicht vorher per Webinterface deaktiviert wurde; siehe auch [http://freetz.org/wiki/patches/remove_tr069 hier] - im Zweifellsfall tr069 nicht deaktivieren!&#039;&#039;&#039;&lt;br /&gt;
fhem-relevante Anpassungen (Kernelmodule):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;FREETZ_MODULE_usbserial=y # fuer CUL&lt;br /&gt;
FREETZ_MODULE_ftdi_sio=y # fuer FHZ? (habe ich nicht...)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
== einloggen und download der fhem-Quellen ==&lt;br /&gt;
Ist die selbst gebastelte Freetz-Firmware geflasht, kann man sich - wenn dropbear einkompiliert wurde - mittels SSH (ein empfehlenswerter SSH-Client für Windows ist z.B. [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTY] auf der Kiste anmelden. Als Serveradresse - na klar - fritz.box verwenden; Login ist &amp;quot;root&amp;quot;, Passwort (ACHTUNG, daran habe ich &#039;ne Runde gesessen) &amp;quot;freetz&amp;quot;. Dieses sollte man möglichst bald ändern.&lt;br /&gt;
&lt;br /&gt;
Jetzt wechseln wir in das Verzeichnis des USB-Sticks und legen uns erst einmal ein Sammelverzeichnis für fhem an:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;cd /var/media/ftp/uStor01&lt;br /&gt;
mkdir fhem&lt;br /&gt;
cd fhem&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Sollte der erste Befehl nicht klappen, ist der USB-Stick wohl an einer anderen Stelle gemountet - ein &amp;lt;code&amp;gt;df&amp;lt;/code&amp;gt; gibt Aufschluss, wo.&lt;br /&gt;
&lt;br /&gt;
Jetzt besorgen wir uns Perl (dankenswerterweise vorkompiliert und mit allen wesentlichen Modulen bereitgestellt) sowie fhem:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;wget [http://fhem.de/fb7170/perl-5.6.2.tgz http://fhem.de/fb7170/perl-5.6.2.tgz]&lt;br /&gt;
wget [http://fhem.de/fhem-5.1.tar.gz http://fhem.de/fhem-5.1.tar.gz]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
entpacken:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;tar -xvzf perl-5.6.2.tgz&lt;br /&gt;
tar -xvzf fhem-5.1.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Praktischerweise ist in der Perl-Installation eine Datei vorhanden, die wir als Swap-Device für die Box nutzen können. Das Ganze ist natürlich erbärmlich langsam (USB 1.1!), leider führt kein Weg daran vorbei:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;swapon /var/media/ftp/uStor01/fhem/perl/swapfile&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Damit wir das nicht jedes mal machen müssen, wenn die Box startet, ist ein automatisches Einbinden beim Starten der Box sinnvoll. Freetz hat ja sein Webinterface auf [http://fritz.box:81 fritz.box:81]; hier gibt es unter Einstellungen / rc.custom die Möglichkeit, Kommandos beim Booten automatisch ausführen zu lassen.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;---------------------------- alt anfang--------------------------------&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei mir steht da&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[ -f /var/media/ftp/uStor01/fhem/perl/swapfile ] &amp;amp;amp;&amp;amp;amp; swapon /var/media/ftp/uStor01/fhem/perl/swapfile&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;amp;lt;---------------------------- alt ende ---------------------------------&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hinweis: kommt die Meldung &amp;quot;Konfiguration in der aktuellen Sicherheitsstufe nicht verfügbar&amp;quot;, hilft folgendes (auf der Shell eingeben!)&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;echo 0 &amp;amp;gt; /tmp/flash/security&lt;br /&gt;
modsave&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
heisst, wenn das Swapfile gefunden wird (Stick steckt), dann aktiviere das auch. fhem selber möchte ich gerne (noch) manuell starten, das Swapfile brauche ich aber auch, wenn fhem nicht läuft (der Callmanager startet bei mir perl-Programme, die viel Speicher brauchen)...&lt;br /&gt;
&lt;br /&gt;
== Basisinstallation von fhem mit pgm2 ==&lt;br /&gt;
Freetz läuft, Perl steht bereit, FHEM liegt vor. Machen wir uns an die Konfiguration. Eigentlich wird fhem mittels &amp;lt;code&amp;gt;make install-pgm2&amp;lt;/code&amp;gt; installiert, das wollen wir hier aber nicht (die Zielverzeichnisse stehen auf der FB so nicht zur Verfügung), aber wir können uns an die Zeilen aus dem Makefile halten:&lt;br /&gt;
&lt;br /&gt;
(angenommen wird hier, dass fhem in /var/media/ftp/uStor01/fhem/fhem-5.1 entpackt wurde):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;cd /var/media/ftp/uStor01/fhem/fhem-5.1    # eventuell anpassen!&lt;br /&gt;
cp -r webfrontend/pgm2/* FHEM&lt;br /&gt;
cp docs/commandref.html docs/faq.html docs/HOWTO.html FHEM&lt;br /&gt;
cp docs/*.png docs/*.jpg FHEM&lt;br /&gt;
cd examples; for i in *; do cp -r $i ../FHEM/example.$i; done&lt;br /&gt;
cd ..&lt;br /&gt;
cp examples/sample_pgm2 fhem.cfg&lt;br /&gt;
mkdir logs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
soweit, so gut. Unsere fhem.cfg passen wir in etwa an wie folgt (&amp;lt;code&amp;gt;nano fhem.cfg&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;attr global logfile /var/media/ftp/uStor01/fhem/fhem-5.1/logs/fhem-%Y-%m.log&lt;br /&gt;
attr global modpath .         # where our FHEM directory is&lt;br /&gt;
attr global port 7072         # our TCP/IP port (localhost only)&lt;br /&gt;
attr global statefile /tmp/fhem.save  # where to save the state of the devices&lt;br /&gt;
attr global verbose 3         # &amp;amp;quot;normal&amp;amp;quot; verbosity (min 1, max 5)&lt;br /&gt;
define CUL CUL /dev/ttyUSB0@38400 1234&lt;br /&gt;
define WEB FHEMWEB 8083 global&lt;br /&gt;
define WEBS FHEMWEB 8084 global&lt;br /&gt;
attr WEBS smallscreen&lt;br /&gt;
# Fake logfile, to access the global log&lt;br /&gt;
define Logfile FileLog /var/media/ftp/uStor01/fhem/fhem-5.1/logs/fhem-%Y-%m.log fakelog&lt;br /&gt;
define autocreate autocreate&lt;br /&gt;
attr autocreate autosave&lt;br /&gt;
attr autocreate device_room&amp;amp;#160;%TYPE&lt;br /&gt;
attr autocreate filelog /var/media/ftp/uStor01/fhem/fhem-5.1/logs/%NAME-%Y.log&lt;br /&gt;
attr autocreate weblink&lt;br /&gt;
attr autocreate weblink_room Plots&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;Ich hatte enorme Probleme - mein CUL empfing eifrig Daten, nur sendete er nichts. Mit der Umstellung auf &amp;quot;define CUL CUL /dev/ttyUSB0@38400 1234&amp;quot; ging es auf einmal, während &amp;quot;define CUL CUL /dev/ttyUSB0 1234&amp;quot; und &amp;quot;define CUL CUL /dev/ttyUSB0@9600 1234&amp;quot; den erwähnten Effekt brachten. Vielleicht hilfts jemandem.&lt;br /&gt;
&lt;br /&gt;
== Startscript ==&lt;br /&gt;
letztendlich basteln wir uns noch ein Startskript, welches das notwendige Kernel-Modul für CUL einbindet und den ganzen Kram startet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;nano fhem.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;export dTSB=1212687845&lt;br /&gt;
export LD_LIBRARY_PATH=&#039;/var/media/ftp/uStor01/fhem/perl/lib&#039;&lt;br /&gt;
export PERL5LIB=&#039;/var/media/ftp/uStor01/fhem/perl/lib:/var/media/ftp/uStor01/fhem/perl/lib/perl5:/var/media/ftp/uStor01/fhem/perl/lib/perl5/5.6.2&#039;&lt;br /&gt;
insmod /lib/modules/2.6.13.1-ohio/kernel/drivers/usb/serial/usbserial.ko vendor=0x03eb product=0x204b&lt;br /&gt;
mkdir /tmp/fhem&lt;br /&gt;
cd /var/media/ftp/uStor01/fhem/fhem-5.1/var/media/ftp/uStor01/fhem/perl/bin/perl fhem.pl fhem.cfg&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Bemerkung für die *nixer unter uns: ein &amp;lt;code&amp;gt;chmod +x&amp;lt;/code&amp;gt; brauchen wir nicht, auf dem Stick ist alles +x&lt;br /&gt;
&lt;br /&gt;
Das Skript jetzt starten (&amp;lt;code&amp;gt;./fhem.sh&amp;lt;/code&amp;gt;) - und das Log beobachten (&amp;lt;code&amp;gt;tail /var/media/ftp/uStor01/fhem/fhem-5.1/logs/NameDesLogfiles&amp;lt;/code&amp;gt;). Kommen Fehlermeldungen, dass es Probleme mit SIGirgendwas gibt, hilft erst einmal ein beherztes Auskommentieren der Zeilen 1757ff in fhem.pl (&amp;lt;code&amp;gt;nano fhem.pl&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;sub&lt;br /&gt;
SignalHandling()&lt;br /&gt;
{&lt;br /&gt;
 if($^O ne &amp;amp;quot;MSWin32&amp;amp;quot;) {&lt;br /&gt;
#  $SIG{&#039;INT&#039;} = sub { $sig_term = 1; };&lt;br /&gt;
#  $SIG{&#039;TERM&#039;} = sub { $sig_term = 1; };&lt;br /&gt;
#  $SIG{&#039;PIPE&#039;} = &#039;IGNORE&#039;;&lt;br /&gt;
#  $SIG{&#039;CHLD&#039;} = &#039;IGNORE&#039;;&lt;br /&gt;
#  $SIG{&#039;HUP&#039;} = sub { CommandRereadCfg(undef, &amp;amp;quot;&amp;amp;quot;) };&lt;br /&gt;
 }&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Hier gibt es sicher elegantere Methoden - ich war nur zu faul mich zu bemühen zu verstehen, woran es hängt! Wenn jemand da eine Idee hat...&#039;&#039;&#039;&lt;br /&gt;
mittels &amp;lt;code&amp;gt;telnet localhost 7072&amp;lt;/code&amp;gt; oder mit dem Webbrowser auf [http://fritz.box:8083/fhem http://fritz.box:8083/fhem] sollte jetzt auf fhem zugegriffen werden können.&lt;br /&gt;
&lt;br /&gt;
== FHZ ==&lt;br /&gt;
(alles ungetestet, habe keine FHZ mit USB) ...&lt;br /&gt;
&lt;br /&gt;
das Modul für die FHZ könnte sich mit&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;insmod /lib/modules/2.6.13.1-ohio/kernel/drivers/usb/serial/ftdi_sio.ko&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
laden lassen, die FHZ sollte dann unter&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/dev/ttyACM0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
bereit stehen...&lt;br /&gt;
&lt;br /&gt;
== Autostart fhem ==&lt;br /&gt;
Beispielscript für rc.custom&lt;br /&gt;
&lt;br /&gt;
Die Warteschleife ist aus einem Beispiel von [http://www.zebradem.com/wiki/index.php http://www.zebradem.com/wiki/index.php] &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# Wait until we have a network connection.&lt;br /&gt;
# Script can be disabled by removing network cable&lt;br /&gt;
# At least one of the web sites must must respond to ping before we continue&lt;br /&gt;
SITE_1=web.de&lt;br /&gt;
SITE_2=www.google.com&lt;br /&gt;
while&amp;amp;#160;!(ping -c 1 $SITE_1&amp;amp;gt;/dev/null) &amp;amp;amp;&amp;amp;amp;&amp;amp;#160;!(ping -c 1 $SITE_2&amp;amp;gt;/dev/null); do&lt;br /&gt;
  sleep 15&lt;br /&gt;
done&lt;br /&gt;
# Warten bis USB-Stick gemountet ist &lt;br /&gt;
max=10&lt;br /&gt;
i=0&lt;br /&gt;
while [ $i -lt $max ]; do&lt;br /&gt;
if mount | grep &amp;amp;quot; on /var/media/ftp/&amp;amp;quot; &amp;amp;gt; /dev/null; then&lt;br /&gt;
break&lt;br /&gt;
fi&lt;br /&gt;
let i=$i+1&lt;br /&gt;
sleep 30&lt;br /&gt;
done&lt;br /&gt;
# ENDE USB-Stick Warteschleife &lt;br /&gt;
swapon /var/media/ftp/uStor01/fhem/perl/swapfile&lt;br /&gt;
/var/media/ftp/uStor01/fhem/fhem-5.1/fhem.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;amp;lt;---------------------------- alt anfang--------------------------------&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
wer möchte, bastelt sich jetzt noch eine Zeile wie&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[-f /var/media/ftp/uStor01/fhem/fhem.sh] &amp;amp;amp;&amp;amp;amp; /var/media/ftp/uStor01/fhem/fhem.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
(ungetestet; bei mir liegt das Skript nicht unter fhem-5.1!) in seine rc.custom (siehe oben), dann startet das ganze automatisch mit der Box.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;---------------------------- alt ende---------------------------------&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:FritzBox]]&lt;/div&gt;</summary>
		<author><name>Wichtel</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=FHEM_und_FritzBox_7170&amp;diff=4914</id>
		<title>FHEM und FritzBox 7170</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=FHEM_und_FritzBox_7170&amp;diff=4914"/>
		<updated>2014-02-12T18:31:02Z</updated>

		<summary type="html">&lt;p&gt;Wichtel: /* Einrichten von Autostart */ Erstellen von debug.cfg hinzugefügt, nvi-Bedienung erläutert.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die [http://www.wehavemorefun.de/fritzbox/FRITZ!Box_Fon_WLAN_7170 FritzBox 7170] &lt;br /&gt;
ist ein Allround-Ger&amp;amp;auml;t und vereint die wichtigsten Anschl&amp;amp;uuml;sse und Funktionen f&amp;amp;uuml;r &lt;br /&gt;
den Heimeinsatz. Dazu z&amp;amp;auml;hlen ADSL2+, WLAN 802.11 b/g/g++ bis 125MBit/s, &lt;br /&gt;
LAN 100Mbit/s (4 Anschl&amp;amp;uuml;sse),  ISDN-S0 Bus (1 Anschluss), Analogtelefonie (3 Anschl&amp;amp;uuml;sse).&lt;br /&gt;
Da die FritzBox zur Sicherstellung der Telefonfunktion (wenn genutzt) in der Regel &lt;br /&gt;
rund um die Uhr an ist, eignet sie sich optimal f&amp;amp;uuml;r die Installation von FHEM, denn so&lt;br /&gt;
ist sichergestellt, dass die Heimautomatisierungs-Dienste ebenfalls  rund um die Uhr &lt;br /&gt;
zur Verf&amp;amp;uuml;gung stehen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nachfolgende Installationsanleitung ist angeregt und in Anlehnung an&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[http://forum.fhem.de/index.php/topic,11755.0.html diesen] Post im FHEM Forum entstanden.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=FHEM Community Image (Original AVM Firmware)=&lt;br /&gt;
Die erste Variante beschreibt die die Installation von FHEM auf einer FritzBox 7170&lt;br /&gt;
&amp;amp;uuml;ber das Community Image. Dabei bleibt die Firmware der FritzBox unver&amp;amp;auml;ndert. Es wird&lt;br /&gt;
also lediglich zus&amp;amp;auml;tzliche Software installiert (busybox zur Erstellung einer &lt;br /&gt;
Auslagerungsdatei sowie Perl, FHEM und entsprechende Kernel Module aus dem FHEM &lt;br /&gt;
Community Image). &lt;br /&gt;
&lt;br /&gt;
In einigen Foren Threads ist zu lesen, dass die 7170 wenig internen Arbeitsspeicher &lt;br /&gt;
aufweist und FHEM daher nur bedingt oder nur sehr eingeschr&amp;amp;auml;nkt l&amp;amp;auml;uft. Mit einer kleinen&lt;br /&gt;
Erweiterung jedoch kann auch die 7170 ohne Anpassung der Firmware f&amp;amp;uuml;r FHEM fit gemacht &lt;br /&gt;
werden.&lt;br /&gt;
&lt;br /&gt;
==Voraussetzungen==&lt;br /&gt;
Die Anleitung beschreibt die Installation auf einer 7170 v2. Das Verfahren auf der &lt;br /&gt;
&#039;&#039;&amp;amp;auml;lteren&#039;&#039; Variante sollte aber identisch sein. Voraussetzung ist eine aktuelle Firmware&lt;br /&gt;
von AVM. Die zum Zeitpunkt der Erstellung des Artikels verf&amp;amp;uuml;gbare Firmware hat die &lt;br /&gt;
Version 29.04.87.&lt;br /&gt;
&lt;br /&gt;
Zus&amp;amp;auml;tzlich ben&amp;amp;ouml;tigt werden:&lt;br /&gt;
* Ein USB Stick (Windows/VFAT formatiert) als zus&amp;amp;auml;tzlichen externen Speicher f&amp;amp;uuml;r die 7170 (NAS)&lt;br /&gt;
* [http://www.wehavemorefun.de/fritzbox/BusyBox Multi-call-binary busybox]&lt;br /&gt;
* [http://fhem.de/fhem-5.5-fb7270.zip FHEM Community Image f&amp;amp;uuml;r FB7170/7270]&lt;br /&gt;
* Telnet-Zugang zur FritzBox&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
===Anschluss zus&amp;amp;auml;tzlicher Externer Speicher===&lt;br /&gt;
Der USB Stick wird an den USB Anschluss der Fritzbox angeschlossen. Der USB Stick muss&lt;br /&gt;
FAT/FAT32 (Windows) formatiert sein! Bitte kein anderes Dateisystem wie NTFS, EXT3 etc.&lt;br /&gt;
verwenden. Eine detaillierte Anleitung zur Einrichtung des USB Speichers gibt es in der&lt;br /&gt;
[http://service.avm.de/support/de/SKB/FRITZ-Box-7170/26:USB-Speicher-an-FRITZ-Box-einrichten AVM Wissensdatenbank].&lt;br /&gt;
&lt;br /&gt;
Nach Anschluss des USB Sticks an die FritzBox muss der Speicher &amp;amp;uuml;ber die Benutzeroberfl&amp;amp;auml;che&lt;br /&gt;
der FritzBox eingerichtet werden. Zun&amp;amp;auml;chst bitte pr&amp;amp;uuml;fen, dass der USB Anschluss nicht als&lt;br /&gt;
USB-Fernanschluss verwendet wird:&lt;br /&gt;
&lt;br /&gt;
* Heimnetz &lt;br /&gt;
* USB-Ger&amp;amp;auml;te&lt;br /&gt;
* Fernanschluss&lt;br /&gt;
* USB Fernanschluss aktiv (deaktivieren / &#039;&#039;nicht&#039;&#039; angehakt)&lt;br /&gt;
&lt;br /&gt;
Ist der Fernanschluss deaktiviert, so kann der Speicher als &#039;&#039;Network attached Storage (NAS)&#039;&#039;&lt;br /&gt;
eingerichtet werden. Hierzu bitte folgenderma&amp;amp;szlig;en vorgehen:&lt;br /&gt;
&lt;br /&gt;
* Heimnetz&lt;br /&gt;
* Speicher (NAS)&lt;br /&gt;
* Speicher (NAS) aktiv (aktivieren)&lt;br /&gt;
&lt;br /&gt;
Optional kann der Zugriff aus dem Internet (per FTP) und/oder die Option Musikbox aktiv&lt;br /&gt;
aktiviert werden.&lt;br /&gt;
&lt;br /&gt;
Wurden die Einstellungen entsprechend vorgenommen und der Speicher ordnungsgem&amp;amp;auml;&amp;amp;szlig; &lt;br /&gt;
formatiert, so kann die Freigabe z.B. &amp;amp;uuml;ber den Datei-Explorer (Windows), Finder (OSX), &lt;br /&gt;
Android Systeme mit Hilfe von AndSMB oder jeden anderen Samba Client aufgerufen werden.&lt;br /&gt;
&lt;br /&gt;
===Aktivierung Telnet-Zugang===&lt;br /&gt;
F&amp;amp;uuml;r die sp&amp;amp;auml;teren Arbeiten zur Einrichtung von FHEM wird ein Telnetzugang zur FritzBox &lt;br /&gt;
ben&amp;amp;ouml;tigt. Da Telnet ein relativ altes, nicht abh&amp;amp;ouml;rsicheres Protokoll darstellt ist&lt;br /&gt;
der Telnet Zugang der FritzBox zun&amp;amp;auml;chst inaktiv. Auch auf einigen neueren Betriebsystemen&lt;br /&gt;
(z.B. Windows 7) ist der Telnet Client zun&amp;amp;auml;chst deaktiviert und &lt;br /&gt;
[http://support.microsoft.com/kb/978779/de muss aktiviert werden].&lt;br /&gt;
&lt;br /&gt;
Die Aktivierung von Telnet auf der FritzBox erfolgt &amp;amp;uuml;ber die Kurzwahl &amp;lt;nowiki&amp;gt;#96*7*&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
Ist kein Telefon an die Fritzbox angeschlossen, kann mit Hilfe der Schritte aus dieser&lt;br /&gt;
[http://thomasheinz.net/telnet-bei-der-fritzbox-z-b-7270-ohne-telefon-und-mod-aktivieren-und-verbindung-herstellen/ Anleitung]&lt;br /&gt;
der Telnetzugang aktiviert werden.&lt;br /&gt;
&lt;br /&gt;
Die Anmeldung an der FritzBox &amp;amp;uuml;ber Telnet erfolgt &amp;amp;uuml;ber die Eingabeaufforderung (Windows)&lt;br /&gt;
oder Terminal (OSX) oder &amp;amp;uuml;ber jede beliebige andere Shell folgendem Aufruf:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
macbook:~ $ telnet fritz.box&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Darauf erfolgt die Anmeldung an der FritzBox mit dem gleichen Kennwort, welches auch f&amp;amp;uuml;r&lt;br /&gt;
die Weboberfl&amp;amp;auml;che genutzt wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Trying 192.168.x.x...&lt;br /&gt;
Connected to fritz.box.&lt;br /&gt;
Escape character is &#039;^]&#039;.&lt;br /&gt;
Fritz!Box web password: &lt;br /&gt;
&lt;br /&gt;
BusyBox v1.8.2 (2009-04-22 13:54:57 CEST) built-in shell (ash)&lt;br /&gt;
Enter &#039;help&#039; for a list of built-in commands.&lt;br /&gt;
&lt;br /&gt;
ermittle die aktuelle TTY&lt;br /&gt;
tty is &amp;quot;/dev/pts/0&amp;quot;&lt;br /&gt;
Console Ausgaben auf dieses Terminal umgelenkt&lt;br /&gt;
# _&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wer den vorherigen Abschnitt aufmerksam gelesen hat, der stellt fest, dass die jetzt&lt;br /&gt;
aufgebaute Telnet Verbindung die &#039;&#039;ash&#039;&#039; Shell benutzt die aus dem multi-call-binary&lt;br /&gt;
busybox v1.8.2 stammt. Mehr dazu im folgenden Abschnitt.&lt;br /&gt;
&lt;br /&gt;
===Einrichtung der Auslagerungsdatei (SWAP)===&lt;br /&gt;
Bis Version 5.3 l&amp;amp;auml;uft FHEM noch ohne Auslagerungsdatei auf der FritzBox. Ab Version &lt;br /&gt;
5.4 muss zwingend eine Auslagerungsdatei auf der FritzBox eingerichtet werden. Wird &lt;br /&gt;
FHEM 5.4 oder h&amp;amp;ouml;her ohne Auslagerungsdatei installiert, so kommt es beim ersten &lt;br /&gt;
Zugriff auf die Weboberfl&amp;amp;auml;che von FHEM auf der FritzBox zu einem Absturz und erzwungenen&lt;br /&gt;
Neustart der FritzBox. Damit dies nicht nicht vorkommt, muss der knappe Speicher der&lt;br /&gt;
FritzBox mit einer Auslagerungsdatei &amp;lt;nowiki&amp;gt;&#039;&#039;erweitert&#039;&#039;&amp;lt;/nowiki&amp;gt; werden. Der aktuelle &lt;br /&gt;
Speicherverbrauch der FritzBox ohne Auslagerungsdatei und FHEM kann mit dem Befehl&lt;br /&gt;
&#039;&#039;free&#039;&#039; abgrefragt werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# free&lt;br /&gt;
              total         used         free       shared      buffers&lt;br /&gt;
  Mem:        30316        28652         1664            0         1304&lt;br /&gt;
 Swap:            0            0            0&lt;br /&gt;
Total:        30316        28652         1664&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
F&amp;amp;uuml;r die Einrichtung der Auslagerungsdatei ben&amp;amp;ouml;tigen wir das &lt;br /&gt;
[http://www.busybox.net/ Multi-call-binary busybox] in einer &lt;br /&gt;
h&amp;amp;ouml;heren Version als mit der Firmware ausgeliefert. Welche Version mit der FritzBox &lt;br /&gt;
ausgeliefert wird, kann nach erfolgreicher Telnet-Anmeldung oder &lt;br /&gt;
[http://www.wehavemorefun.de/fritzbox/BusyBox#BusyBox-Versionen hier] nachgelesen werden. &lt;br /&gt;
Wer die Auslieferungsversion erneut abfragen m&amp;amp;ouml;chte kann in der Telnet-Verbindung den &lt;br /&gt;
Befehl &#039;&#039;busybox&#039;&#039; absetzen und erh&amp;amp;auml;lt Infos zu Version un unterst&amp;amp;uuml;tzten Befehlen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# busybox &lt;br /&gt;
BusyBox v1.8.2 (2009-04-22 13:54:57 CEST) multi-call binary&lt;br /&gt;
Copyright (C) 1998-2006 Erik Andersen, Rob Landley, and others.&lt;br /&gt;
Licensed under GPLv2. See source distribution for full notice.&lt;br /&gt;
&lt;br /&gt;
Usage: busybox [function] [arguments]...&lt;br /&gt;
   or: [function] [arguments]...&lt;br /&gt;
&lt;br /&gt;
        BusyBox is a multi-call binary that combines many common Unix&lt;br /&gt;
        utilities into a single executable.  Most people will create a&lt;br /&gt;
        link to busybox for each function they wish to use and BusyBox&lt;br /&gt;
        will act like whatever it was invoked as!&lt;br /&gt;
&lt;br /&gt;
Currently defined functions:&lt;br /&gt;
        [, [[, ash, basename, cat, chmod, clear, cp, date, dd, dmesg, echo, egrep, env, ether-wake, false,&lt;br /&gt;
        fgrep, find, free, grep, halt, head, hostname, ifconfig, ifdown, ifup, inetd, init, insmod, kill,&lt;br /&gt;
        killall, ln, login, ls, lsmod, md5sum, mkdir, mknod, modprobe, more, mount, mv, nc, netstat, nohup,&lt;br /&gt;
        pidof, ping, poweroff, ps, pwd, realpath, reboot, rm, rmdir, rmmod, route, sed, setconsole, sh,&lt;br /&gt;
        sleep, stty, tail, tar, tee, telnetd, test, tftp, time, touch, tr, traceroute, true, tty, umount,&lt;br /&gt;
        uname, uniq, uptime, vconfig, vi, wget&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
F&amp;amp;uuml;r die nachfolgenden Anpassungen ben&amp;amp;ouml;tigen wir die Unix Befehle &amp;quot;mkswap&amp;quot;, &#039;&#039;swapon&#039;&#039; und &#039;&#039;swapoff&#039;&#039;&lt;br /&gt;
welche in einer h&amp;amp;ouml;heren busybox-Variante zu finden sind. Beispielsweise ist auf der &lt;br /&gt;
FritzBox 7170 V2 mit oben angegebener Firmware die &lt;br /&gt;
[http://www.busybox.net/downloads/binaries/1.16.1/busybox-mipsel busybox-mipsel v1.16.1]&lt;br /&gt;
lauff&amp;amp;auml;hig. Dieses Version enth&amp;amp;auml;lt alle ben&amp;amp;ouml;tigten Befehle.&lt;br /&gt;
&lt;br /&gt;
Das fertige Programm bitte herunterladen und auf die FritzBox kopieren oder direkt&lt;br /&gt;
auf der FritzBox ein Verzeichnis auf dem USB-Stick herunterladen. Schritt f&amp;amp;uuml;r Schritt in &lt;br /&gt;
der aktiven Telnet-Verbindung auf der FritzBox:&lt;br /&gt;
&lt;br /&gt;
Wo ist mein USB-Stick? Hier hilft ein einfaches &#039;&#039;mount&#039;&#039; weiter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# mount&lt;br /&gt;
rootfs on / type rootfs (rw)&lt;br /&gt;
/dev/root on / type squashfs (ro)&lt;br /&gt;
proc on /proc type proc (rw,nodiratime)&lt;br /&gt;
ramfs on /var type ramfs (rw)&lt;br /&gt;
usbfs on /proc/bus/usb type usbfs (rw)&lt;br /&gt;
sysfs on /sys type sysfs (rw)&lt;br /&gt;
/dev/sda1 on /var/media/ftp/Intenso-MicroLine-01 type vfat (rw,nodiratime, ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In dieser FritzBox ist der USB-Stick unter &#039;&#039;/var/media/ftp/Intenso-MicroLine-01&#039;&#039;&lt;br /&gt;
eingebunden. Hier erstellen wir ein Verzeichnis und wechseln f&amp;amp;uuml;r den Download&lt;br /&gt;
der Busybox dorthin:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd  /var/media/ftp/Intenso-MicroLine-01&lt;br /&gt;
# mkdir busybox&lt;br /&gt;
# cd busybox&lt;br /&gt;
# wget http://www.busybox.net/downloads/binaries/1.16.1/busybox-mipsel&lt;br /&gt;
Connecting to www.busybox.net (140.211.167.224:80)&lt;br /&gt;
busybox-mipsel       100% |***********************************************************************|  1657k 00:00:00 ETA&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nach dem Download kann der Funktionsumfang von busybox-mipsel v1.16.1 abgefragt werden.&lt;br /&gt;
Hierzu bitte in bestehender Telnet Verbindung &#039;&#039;./busybox-mipsel&#039;&#039; eingeben.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ./busybox-mipsel&lt;br /&gt;
BusyBox v1.16.1 (2010-03-29 11:52:23 CDT) multi-call binary.&lt;br /&gt;
Copyright (C) 1998-2009 Erik Andersen, Rob Landley, Denys Vlasenko&lt;br /&gt;
and others. Licensed under GPLv2.&lt;br /&gt;
See source distribution for full notice.&lt;br /&gt;
&lt;br /&gt;
Usage: busybox [function] [arguments]...&lt;br /&gt;
   or: function [arguments]...&lt;br /&gt;
&lt;br /&gt;
        BusyBox is a multi-call binary that combines many common Unix&lt;br /&gt;
        utilities into a single executable.  Most people will create a&lt;br /&gt;
        link to busybox for each function they wish to use and BusyBox&lt;br /&gt;
        will act like whatever it was invoked as.&lt;br /&gt;
&lt;br /&gt;
Currently defined functions:&lt;br /&gt;
        [, [[, acpid, addgroup, adduser, adjtimex, arp, arping, ash, awk, basename, bbconfig, beep, blkid, brctl,&lt;br /&gt;
        bunzip2, bzcat, bzip2, cal, cat, catv, chat, chattr, chgrp, chmod, chown, chpasswd, chpst, chroot, chrt, chvt,&lt;br /&gt;
        cksum, clear, cmp, comm, cp, cpio, crond, crontab, cryptpw, cttyhack, cut, date, dc, dd, deallocvt, delgroup,&lt;br /&gt;
        deluser, depmod, devmem, df, dhcprelay, diff, dirname, dmesg, dnsd, dnsdomainname, dos2unix, dpkg, dpkg-deb,&lt;br /&gt;
        du, dumpkmap, dumpleases, echo, ed, egrep, eject, env, envdir, envuidgid, ether-wake, expand, expr, fakeidentd,&lt;br /&gt;
        false, fbset, fbsplash, fdflush, fdformat, fdisk, fgrep, find, findfs, flashcp, fold, free, freeramdisk, fsck,&lt;br /&gt;
        fsck.minix, fsync, ftpd, ftpget, ftpput, fuser, getopt, getty, grep, gunzip, gzip, halt, hd, hdparm, head,&lt;br /&gt;
        hexdump, hostid, hostname, httpd, hush, hwclock, id, ifconfig, ifdown, ifenslave, ifplugd, ifup, inetd, init,&lt;br /&gt;
        insmod, install, ionice, ip, ipaddr, ipcalc, ipcrm, ipcs, iplink, iproute, iprule, iptunnel, kbd_mode, kill,&lt;br /&gt;
        killall, killall5, klogd, lash, last, length, less, linux32, linux64, linuxrc, ln, loadfont, loadkmap, logger,&lt;br /&gt;
        login, logname, logread, losetup, lpd, lpq, lpr, ls, lsattr, lsmod, lspci, lsusb, lzmacat, lzop, lzopcat,&lt;br /&gt;
        makedevs, makemime, man, md5sum, mdev, mesg, microcom, mkdir, mkdosfs, mkfifo, mkfs.minix, mkfs.reiser,&lt;br /&gt;
        mkfs.vfat, mknod, mkpasswd, mkswap, mktemp, modprobe, more, mount, mountpoint, msh, mt, mv, nameif, nc,&lt;br /&gt;
        netstat, nice, nmeter, nohup, nslookup, ntpd, od, openvt, passwd, pgrep, pidof, ping, ping6, pipe_progress,&lt;br /&gt;
        pivot_root, pkill, popmaildir, poweroff, printenv, printf, ps, pscan, pwd, raidautorun, rdate, rdev, readahead,&lt;br /&gt;
        readlink, readprofile, realpath, reboot, reformime, renice, reset, resize, rm, rmdir, rmmod, route, rpm,&lt;br /&gt;
        rpm2cpio, rtcwake, run-parts, runlevel, runsv, runsvdir, rx, script, scriptreplay, sed, sendmail, seq, setarch,&lt;br /&gt;
        setconsole, setfont, setkeycodes, setlogcons, setsid, setuidgid, sh, sha1sum, sha256sum, sha512sum, showkey,&lt;br /&gt;
        slattach, sleep, softlimit, sort, split, start-stop-daemon, stat, strings, stty, su, sulogin, sum, sv, svlogd,&lt;br /&gt;
        swapoff, swapon, switch_root, sync, sysctl, syslogd, tac, tail, tar, tcpsvd, tee, telnet, telnetd, test, tftp,&lt;br /&gt;
        tftpd, time, timeout, top, touch, tr, traceroute, traceroute6, true, tty, ttysize, tunctl, udhcpc, udhcpd,&lt;br /&gt;
        udpsvd, umount, uname, uncompress, unexpand, uniq, unix2dos, unlzma, unlzop, unzip, uptime, usleep, uudecode,&lt;br /&gt;
        uuencode, vconfig, vi, vlock, volname, wall, watch, watchdog, wc, wget, which, who, whoami, xargs, yes, zcat,&lt;br /&gt;
        zcip&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die neuere Version enth&amp;amp;auml;lt also eine ganze Reihe mehr an Befehlen als die mit der Firmware&lt;br /&gt;
ausgelieferte Version. Jetzt geht es an die eigentliche Erstellung der Auslagerungsdatei. &lt;br /&gt;
Hierzu ertsellen wir zun&amp;amp;auml;chst eine leere, 32MB gro&amp;amp;szlig;e Datei im Dateisystem auf dem USB-Stick.&lt;br /&gt;
&amp;amp;Uuml;ber die weiterhin aktive Telnet Verbindung auf der FritzBox setzen wir diesen Befehl ab, &lt;br /&gt;
wobei &amp;amp;lt;DEIN-USB-STICK&amp;amp;gt; f&amp;amp;uuml;r den Namen Deines USB-Stick steht (siehe oben Befehl&lt;br /&gt;
&#039;&#039;mount&#039;&#039;) und jeweils zu ersetzen ist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dd if=/dev/zero of=/var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;/swapfile bs=1024 count=32768&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es dauert einen kleinen Moment, dann ist die Datei angelegt.&lt;br /&gt;
Diese völlig leere Datei muss noch zur Verwendung als Auslagerungsspeicher vorbereitet werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# /var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;/busybox/busybox-mipsel mkswap /var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;/swapfile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die soeben erzeugte Auslagerungsdatei machen wir dem System mit dem Befehl &#039;&#039;swapon&#039;&#039; bekannt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# /var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;/busybox/busybox-mipsel swapon /var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;/swapfile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein abschlie&amp;amp;szlig;endes &#039;&#039;free&#039;&#039; zeigt uns, dass die Auslagerungsdatei jetzt angelegt ist &lt;br /&gt;
und benutzt wird. Bitte folgende Ausgabe mit der Ausgabe von oben vergleichen mit &lt;br /&gt;
Augenmerk auf die Zeile &#039;&#039;Swap&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# free&lt;br /&gt;
              total         used         free       shared      buffers&lt;br /&gt;
  Mem:        30316        28844         1472            0         1324&lt;br /&gt;
 Swap:        32760            0        32760&lt;br /&gt;
Total:        63076        28844        34232&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wer die in der Firmware ausgeleiferte Busybox dauerhaft ersetzen m&amp;amp;ouml;chte, kann&lt;br /&gt;
die notwendigen Informationen [http://www.wehavemorefun.de/fritzbox/Busybox_ersetzen hier]&lt;br /&gt;
nachlesen.&lt;br /&gt;
&lt;br /&gt;
===Installation von FHEM===&lt;br /&gt;
Nachdem die Auslagerungsdatei erfolgreich erzeugt wurde, kann es mit der Installation&lt;br /&gt;
von FHEM auf der FritzBox losgehen. Diese ist vergleichsweise unkompliziert und schnell&lt;br /&gt;
durchgef&amp;amp;uuml;hrt.&lt;br /&gt;
&lt;br /&gt;
Zun&amp;amp;auml;chst ben&amp;amp;ouml;tigen wir das aktuelle Community-Image f&amp;amp;uuml;r die FritzBox (siehe Abschnitt&lt;br /&gt;
[[#Voraussetzungen]]. Dieses bitte entpacken und auf den USB-Stick an der FritzBox &lt;br /&gt;
kopieren. Nach dem Kopieren von FHEM muss auf der FritzBox 7170 der FHEM-Heimatpfad im &lt;br /&gt;
Start-Skript &#039;&#039;startfhem&#039;&#039; angepasst werden. Dies wird erneut in der aktiven &lt;br /&gt;
Telnetverbindung durchgef&amp;amp;uuml;hrt. Dazu benutzen wir den Editor &#039;&#039;vi&#039;&#039;. Mit dem Befehl&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# vi /var/media/ftp/&amp;lt;DEIN-USB_STICK&amp;gt;/fhem/startfhem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
das Skript &amp;amp;ouml;ffnen und den fest eingegebenen Heimatpfad (&#039;&#039;home&#039;&#039;) der FHEM Installation&lt;br /&gt;
auf das eigene System anpassen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# On the Fritzbox 7270 V1/V2 with missing df replace home with the hardcoded&lt;br /&gt;
# path.&lt;br /&gt;
#root=`df | sed -n -e &#039;/ftp\//s/.*ftp\///p&#039;`&lt;br /&gt;
#home=/var/InternerSpeicher/$root/fhem&lt;br /&gt;
#home=/var/media/ftp/Generic-FlashDisk-01/fhem&lt;br /&gt;
home=/var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;/fhem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Test der Installation====&lt;br /&gt;
Die Installation kann jetzt mit dem Ausf&amp;amp;uuml;hren des FHEM-Start-Skriptes getestet werden&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# /var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;/fhem/startfhem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beim Start von FHEM erscheinen einige Programmausgaben auf der Konsole. Nach kurzer Zeit&lt;br /&gt;
ist das Webinterface von FHEM auf der FritzBox erreichbar. Dazu im Browser bitte folgende&lt;br /&gt;
URL eingeben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://fritz.box:8083&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Einrichten von Autostart===&lt;br /&gt;
Damit FHEM bei jedem Neustart der FritzBox automatisch startet sind noch zwei Schritte &lt;br /&gt;
notwendig. Zun&amp;amp;auml;chst muss die Aktivierung der Auslagerungsdatei in das FHEM-Startskript &lt;br /&gt;
aufgenommen werden. Eine m&amp;amp;ouml;gliche Anpassung sieht so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
# On the Fritzbox 7270 V1/V2 with missing df replace home with the hardcoded&lt;br /&gt;
# path.&lt;br /&gt;
#root=`df | sed -n -e &#039;/ftp\//s/.*ftp\///p&#039;`&lt;br /&gt;
#home=/var/InternerSpeicher/$root/fhem&lt;br /&gt;
#home=/var/media/ftp/Generic-FlashDisk-01/fhem&lt;br /&gt;
home=/var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;/fhem&lt;br /&gt;
&lt;br /&gt;
cd $home&lt;br /&gt;
&lt;br /&gt;
trap &amp;quot;&amp;quot; SIGHUP&lt;br /&gt;
modprobe kernel/cdc_acm&lt;br /&gt;
modprobe ftdi_sio&lt;br /&gt;
sleep 2&lt;br /&gt;
&lt;br /&gt;
# FritzBox 7170, 7270 V1/V2 needs additional swap&lt;br /&gt;
# busybox from http://www.busybox.net/downloads/binaries/1.16.1/busybox-mipsel&lt;br /&gt;
# should be present on your Box.&lt;br /&gt;
# On FritzBox 7170 swap file size 32M is sufficient -&amp;gt; 1024 * 32768&lt;br /&gt;
# test if swapfile already present in fhem directory&lt;br /&gt;
if [ -f ../swapfile ]; then&lt;br /&gt;
  echo &amp;quot;swapfile already present ...&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;swapfile will be built, please wait ...&amp;quot;&lt;br /&gt;
  dd if=/dev/zero of=../swapfile bs=1024 count=32768&lt;br /&gt;
fi&lt;br /&gt;
../busybox/busybox-mipsel mkswap ../swapfile&lt;br /&gt;
../busybox/busybox-mipsel swapon ../swapfile&lt;br /&gt;
echo &amp;quot;additional swap was activated&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ln -sf $home/FHEM/fhemcmd.sh /var/fhemcmd&lt;br /&gt;
&lt;br /&gt;
PATH=$home:$PATH&lt;br /&gt;
export PATH&lt;br /&gt;
&lt;br /&gt;
export LD_LIBRARY_PATH=$home/lib&lt;br /&gt;
export PERL5LIB=$home/lib/perl:$home/lib/perl/arch&lt;br /&gt;
&lt;br /&gt;
#export PERL5LIB=$home/lib/perl5/5.10&lt;br /&gt;
#stty -echo -echok -echoke -echoe -echonl &amp;lt; /dev/ttyACM0&lt;br /&gt;
&lt;br /&gt;
perl fhem.pl fhem.cfg &amp;amp;&amp;gt;/dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vorstehendes Skript geht davon aus, dass FHEM auf dem USB-Stick im Verzeichnis &#039;&#039;fhem&#039;&#039;&lt;br /&gt;
installiert ist und &#039;&#039;busybox-mipsel&#039;&#039; auf gleicher Ebene im Ordner &#039;&#039;busybox&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dann muss das FHEM-Startskript beim Systemstart der FritzBox automatisch ausgef&amp;amp;uuml;hrt &lt;br /&gt;
werden. Hierzu ist es notwendig die Datei &#039;&#039;/var/flash/debug.cfg&#039;&#039; anzupassen. Dieses &lt;br /&gt;
Skript f&amp;amp;uuml;hrt die FritzBox beim Systemstart aus. &lt;br /&gt;
&lt;br /&gt;
Die Datei kann auf verschiedene&lt;br /&gt;
Weisen angepasst werden. Vier M&amp;amp;ouml;glichkeiten sind &lt;br /&gt;
[http://www.fritzmod.net/de/modification/debug-cfg/ in diesem Artikel] beschrieben.&lt;br /&gt;
Meine bevorzugte Variante ist der Editor &#039;&#039;nvi&#039;&#039;, der aktuellen AVM-Firmwareversionen enthalten ist. &lt;br /&gt;
&lt;br /&gt;
Der Inhalt des Skriptes sieht so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while !(ping -c 1 www.google.de &amp;gt; /dev/null); do&lt;br /&gt;
        sleep 15&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
max=10&lt;br /&gt;
i=0&lt;br /&gt;
while [ $i -lt $max ]; do&lt;br /&gt;
        if mount | grep &amp;quot; on /var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;&amp;quot; &amp;gt; /dev/null; then&lt;br /&gt;
                break&lt;br /&gt;
        fi&lt;br /&gt;
        let i=$i+1&lt;br /&gt;
        sleep 30&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
/var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;/fhem/startfhem &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hierzu eine kurze Erkl&amp;amp;auml;rung: &lt;br /&gt;
&lt;br /&gt;
# Erst pr&amp;amp;uuml;ft das Skript die Verf&amp;amp;uuml;gbarkeit einer Internetverbindung. Solange diese nicht aktiv ist, werden folgende Schritte nicht ausgef&amp;amp;uuml;hrt.&lt;br /&gt;
# Dann wird in maximal 10 Wiederholungen &amp;amp;uuml;berpr&amp;amp;uuml;ft, ob der USB-Stick bereits eingebunden ist. Hier bitte darauf achten den Pfad entsprechend auf die eigene FritzBox abzupassen.&lt;br /&gt;
# Zuletzt wird das FHEM-Startskript aufgerufen. Hier bitte ebenfalls den Pfad entsprechend der eigenen FritzBox anpassen!&lt;br /&gt;
&lt;br /&gt;
Um der Box das Skript beizubringen, zuerst die entsprechende Datei erstellen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo &amp;gt; /var/flash/debug.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dann den Editor starten: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# nvi /var/flash/debug.cfg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dann mit Taste &amp;quot;i&amp;quot; den Einfügemodus aktivieren, gewünschte Teile des oben erläuterten Skripts per Copy&amp;amp;Paste einfügen, mit &amp;lt;ESC&amp;gt; den Einfügemodus verlassen und mit &amp;quot;:wq&amp;quot;&amp;lt;ENTER&amp;gt; speichern und den Editor verlassen.&lt;br /&gt;
&lt;br /&gt;
===Abschalten Telnet-Zugang===&lt;br /&gt;
Der Telnetzugang wird durch die Kurzwahl &amp;lt;nowiki&amp;gt;#96*8*&amp;lt;/nowiki&amp;gt; abgeschaltet. Auch hier &lt;br /&gt;
gilt: Ist kein Telefon an die Fritzbox angeschlossen, kann mit Hilfe der Schritte aus dieser&lt;br /&gt;
[http://thomasheinz.net/telnet-bei-der-fritzbox-z-b-7270-ohne-telefon-und-mod-aktivieren-und-verbindung-herstellen/ Anleitung]&lt;br /&gt;
der Telnetzugang auch deaktiviert werden.&lt;br /&gt;
&lt;br /&gt;
===Neustart und Funktionspr&amp;amp;uuml;fung===&lt;br /&gt;
Abschlie&amp;amp;szlig;end kann die FritzBox &amp;amp;uuml;ber die Benutzeroberfl&amp;amp;auml;che der FritzBox neu &lt;br /&gt;
gestartet werden. Hierzu den Punkt&lt;br /&gt;
&lt;br /&gt;
* System&lt;br /&gt;
* Zur&amp;amp;uuml;cksetzen&lt;br /&gt;
* Neustart&lt;br /&gt;
* Neu starten&lt;br /&gt;
&lt;br /&gt;
anw&amp;amp;auml;hlen und warten, bis die Netzwerkverbindung wieder aktiv ist. Danach muss neben&lt;br /&gt;
der Benutzeroberfl&amp;amp;auml;che der FritzBox auf Port 80 auch die FHEM Installation auf Port&lt;br /&gt;
8083 verf&amp;amp;uuml;gbar sein.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;Die Beschreibung in den folgenden Abschnitten wurden aus dem Originalartikel &amp;amp;uuml;bernommen. Hier ist eine Anpassung der Firmware notwendig. Wer unerfahren oder unsicher ist, sollte auf jeden Fall die Variante ohne Modifikation der Firmware anwenden!&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=FHEM unter Freetz (modifizierte, open source Firmware)=&lt;br /&gt;
Ziel: die aktuelle Version (zum Zeitpunkt des Artikel ist dies 5.0) von fhem (pgm2) auf der Fritz!Box 7170 mit einem CUL zum Laufen zu bekommen, ohne die Box dabei total zu überlasten oder zu crashen... &lt;br /&gt;
Logfiles der Box sollen dabei nicht auf der Box sondern auf einem angesteckten USB-Stick gespeichert werden.&lt;br /&gt;
&lt;br /&gt;
Orientiert habe ich mich an der [http://fhem.de/fritzbox.html hier] veröffentlichten Anleitung, welche für mich allerdings einige Fallstricke aufweist - und bei der ich zumindest die Rolle des Apaches bei der Art der Installation und Konfiguration nicht verstanden habe...&lt;br /&gt;
&lt;br /&gt;
Voraussetzungen: Ein USB-Hub an der Fritz!Box mit (mindestens) einem USB-Speicherstick sowie einem Funk-Device (ich beschreibe hier den Weg für CUL v3.2, anderes wird ähnlich funktionieren); ein PC mit VMware (Player) bzw. VirtualBox, um die neue Firmware zu basteln&lt;br /&gt;
&lt;br /&gt;
Bemerkung: Ich habe versucht, das Wesentliche aus dem Gedächtnis und meiner (unzureichenden) Doku zu rekonstruieren. Falls es irgendwo hängt, würde ich mich über eine Korrektur des Artikels und/oder &#039;ne kurze Mail freuen!&lt;br /&gt;
== Freetz ==&lt;br /&gt;
&#039;&#039;&#039;Warnung:&#039;&#039;&#039;Mit freetz kann man sich seine Fritz!Box auch schön zu Grunde richten (wenn auch meist nicht endgültig); ich empfehe ganz dringend die Lektüre der [http://freetz.org/wiki/help/howtos/common/newbie ersten Schritte für Anfänger] und die etwas gründlichere Auseinandersetzung mit Freetz!&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitungen ===&lt;br /&gt;
[http://freetz.org/ Freetz] erlaubt die Modifikation der original-AVM Firmware, so dass zusätzliche Features eingebaut und nicht benötigte eingespart werden können (spart Flash und RAM - und erhöht eventuell sogar die Sicherheit...)&lt;br /&gt;
&lt;br /&gt;
Für das Erstellen der Firmware mittels Freetz ist [http://freetz.org/wiki/help/howtos/common/install hier].&lt;br /&gt;
&lt;br /&gt;
Ist die VM gemäß Anleitung gestartet, kann man (nach einloggen und downloaden der Quellen) sich mittels &amp;lt;code&amp;gt;make menuconfig&amp;lt;/code&amp;gt; seine eigene Firmware zusammenbasteln.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration der Firmware ===&lt;br /&gt;
(leider erlaubt das Wiki kein Upload von Textdateien, daher liegt meine Config extern) &lt;br /&gt;
&lt;br /&gt;
Meine komplette (so für mich funktionierende) .config für freetz gibt es [http://martin.tettke.net/fhem/freetz_config-working-20110218_marte hier]; bitte beachten, dass folgende (nicht direkt fhem-relevante) Änderungen eingebastelt sind, um die Box sowohl bezüglich Flash als auch bezüglich RAM zu entlasten:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;FREETZ_REMOVE_TR069=y   # ACHTUNG: Vorher via WebIF deaktivieren!&lt;br /&gt;
FREETZ_REMOVE_USERMAN=y  # brauche keine Kindersicherung&lt;br /&gt;
FREETZ_REMOVE_FTPD=y   # ebenso kein FTP&lt;br /&gt;
FREETZ_REMOVE_MEDIASRV=y # Mediaserver ist eine andere Kiste&lt;br /&gt;
FREETZ_REMOVE_SMBD=y   # Samba brauche ich auch nicht (spart alles Platz!)&lt;br /&gt;
FREETZ_PACKAGE_CALLMONITOR=y # der Callmonitor ist TOLL!&lt;br /&gt;
FREETZ_PACKAGE_DROPBEAR=y # SSH Server. Klasse zur Installation und Wartung von FHEM&lt;br /&gt;
FREETZ_PACKAGE_NANO=y   # kleiner Editor, angenehmer als VI.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Hinweis: Diese Config spiegelt natürlich meine Konfiguration wieder. Wer einen Samba, FTP-Server etc. auf seiner Box haben will, muss natürlich entsprechende Änderungen vornehmen!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG: Das Entfernen von TR069 kann laut einigen Hinweisen zu einer Dauer-reboot-Schleife der Fritz!Box führen, wenn TR069 nicht vorher per Webinterface deaktiviert wurde; siehe auch [http://freetz.org/wiki/patches/remove_tr069 hier] - im Zweifellsfall tr069 nicht deaktivieren!&#039;&#039;&#039;&lt;br /&gt;
fhem-relevante Anpassungen (Kernelmodule):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;FREETZ_MODULE_usbserial=y # fuer CUL&lt;br /&gt;
FREETZ_MODULE_ftdi_sio=y # fuer FHZ? (habe ich nicht...)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
== einloggen und download der fhem-Quellen ==&lt;br /&gt;
Ist die selbst gebastelte Freetz-Firmware geflasht, kann man sich - wenn dropbear einkompiliert wurde - mittels SSH (ein empfehlenswerter SSH-Client für Windows ist z.B. [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTY] auf der Kiste anmelden. Als Serveradresse - na klar - fritz.box verwenden; Login ist &amp;quot;root&amp;quot;, Passwort (ACHTUNG, daran habe ich &#039;ne Runde gesessen) &amp;quot;freetz&amp;quot;. Dieses sollte man möglichst bald ändern.&lt;br /&gt;
&lt;br /&gt;
Jetzt wechseln wir in das Verzeichnis des USB-Sticks und legen uns erst einmal ein Sammelverzeichnis für fhem an:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;cd /var/media/ftp/uStor01&lt;br /&gt;
mkdir fhem&lt;br /&gt;
cd fhem&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Sollte der erste Befehl nicht klappen, ist der USB-Stick wohl an einer anderen Stelle gemountet - ein &amp;lt;code&amp;gt;df&amp;lt;/code&amp;gt; gibt Aufschluss, wo.&lt;br /&gt;
&lt;br /&gt;
Jetzt besorgen wir uns Perl (dankenswerterweise vorkompiliert und mit allen wesentlichen Modulen bereitgestellt) sowie fhem:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;wget [http://fhem.de/fb7170/perl-5.6.2.tgz http://fhem.de/fb7170/perl-5.6.2.tgz]&lt;br /&gt;
wget [http://fhem.de/fhem-5.1.tar.gz http://fhem.de/fhem-5.1.tar.gz]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
entpacken:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;tar -xvzf perl-5.6.2.tgz&lt;br /&gt;
tar -xvzf fhem-5.1.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Praktischerweise ist in der Perl-Installation eine Datei vorhanden, die wir als Swap-Device für die Box nutzen können. Das Ganze ist natürlich erbärmlich langsam (USB 1.1!), leider führt kein Weg daran vorbei:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;swapon /var/media/ftp/uStor01/fhem/perl/swapfile&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Damit wir das nicht jedes mal machen müssen, wenn die Box startet, ist ein automatisches Einbinden beim Starten der Box sinnvoll. Freetz hat ja sein Webinterface auf [http://fritz.box:81 fritz.box:81]; hier gibt es unter Einstellungen / rc.custom die Möglichkeit, Kommandos beim Booten automatisch ausführen zu lassen.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;---------------------------- alt anfang--------------------------------&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei mir steht da&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[ -f /var/media/ftp/uStor01/fhem/perl/swapfile ] &amp;amp;amp;&amp;amp;amp; swapon /var/media/ftp/uStor01/fhem/perl/swapfile&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;amp;lt;---------------------------- alt ende ---------------------------------&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hinweis: kommt die Meldung &amp;quot;Konfiguration in der aktuellen Sicherheitsstufe nicht verfügbar&amp;quot;, hilft folgendes (auf der Shell eingeben!)&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;echo 0 &amp;amp;gt; /tmp/flash/security&lt;br /&gt;
modsave&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
heisst, wenn das Swapfile gefunden wird (Stick steckt), dann aktiviere das auch. fhem selber möchte ich gerne (noch) manuell starten, das Swapfile brauche ich aber auch, wenn fhem nicht läuft (der Callmanager startet bei mir perl-Programme, die viel Speicher brauchen)...&lt;br /&gt;
&lt;br /&gt;
== Basisinstallation von fhem mit pgm2 ==&lt;br /&gt;
Freetz läuft, Perl steht bereit, FHEM liegt vor. Machen wir uns an die Konfiguration. Eigentlich wird fhem mittels &amp;lt;code&amp;gt;make install-pgm2&amp;lt;/code&amp;gt; installiert, das wollen wir hier aber nicht (die Zielverzeichnisse stehen auf der FB so nicht zur Verfügung), aber wir können uns an die Zeilen aus dem Makefile halten:&lt;br /&gt;
&lt;br /&gt;
(angenommen wird hier, dass fhem in /var/media/ftp/uStor01/fhem/fhem-5.1 entpackt wurde):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;cd /var/media/ftp/uStor01/fhem/fhem-5.1    # eventuell anpassen!&lt;br /&gt;
cp -r webfrontend/pgm2/* FHEM&lt;br /&gt;
cp docs/commandref.html docs/faq.html docs/HOWTO.html FHEM&lt;br /&gt;
cp docs/*.png docs/*.jpg FHEM&lt;br /&gt;
cd examples; for i in *; do cp -r $i ../FHEM/example.$i; done&lt;br /&gt;
cd ..&lt;br /&gt;
cp examples/sample_pgm2 fhem.cfg&lt;br /&gt;
mkdir logs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
soweit, so gut. Unsere fhem.cfg passen wir in etwa an wie folgt (&amp;lt;code&amp;gt;nano fhem.cfg&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;attr global logfile /var/media/ftp/uStor01/fhem/fhem-5.1/logs/fhem-%Y-%m.log&lt;br /&gt;
attr global modpath .         # where our FHEM directory is&lt;br /&gt;
attr global port 7072         # our TCP/IP port (localhost only)&lt;br /&gt;
attr global statefile /tmp/fhem.save  # where to save the state of the devices&lt;br /&gt;
attr global verbose 3         # &amp;amp;quot;normal&amp;amp;quot; verbosity (min 1, max 5)&lt;br /&gt;
define CUL CUL /dev/ttyUSB0@38400 1234&lt;br /&gt;
define WEB FHEMWEB 8083 global&lt;br /&gt;
define WEBS FHEMWEB 8084 global&lt;br /&gt;
attr WEBS smallscreen&lt;br /&gt;
# Fake logfile, to access the global log&lt;br /&gt;
define Logfile FileLog /var/media/ftp/uStor01/fhem/fhem-5.1/logs/fhem-%Y-%m.log fakelog&lt;br /&gt;
define autocreate autocreate&lt;br /&gt;
attr autocreate autosave&lt;br /&gt;
attr autocreate device_room&amp;amp;#160;%TYPE&lt;br /&gt;
attr autocreate filelog /var/media/ftp/uStor01/fhem/fhem-5.1/logs/%NAME-%Y.log&lt;br /&gt;
attr autocreate weblink&lt;br /&gt;
attr autocreate weblink_room Plots&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;Ich hatte enorme Probleme - mein CUL empfing eifrig Daten, nur sendete er nichts. Mit der Umstellung auf &amp;quot;define CUL CUL /dev/ttyUSB0@38400 1234&amp;quot; ging es auf einmal, während &amp;quot;define CUL CUL /dev/ttyUSB0 1234&amp;quot; und &amp;quot;define CUL CUL /dev/ttyUSB0@9600 1234&amp;quot; den erwähnten Effekt brachten. Vielleicht hilfts jemandem.&lt;br /&gt;
&lt;br /&gt;
== Startscript ==&lt;br /&gt;
letztendlich basteln wir uns noch ein Startskript, welches das notwendige Kernel-Modul für CUL einbindet und den ganzen Kram startet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;nano fhem.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;export dTSB=1212687845&lt;br /&gt;
export LD_LIBRARY_PATH=&#039;/var/media/ftp/uStor01/fhem/perl/lib&#039;&lt;br /&gt;
export PERL5LIB=&#039;/var/media/ftp/uStor01/fhem/perl/lib:/var/media/ftp/uStor01/fhem/perl/lib/perl5:/var/media/ftp/uStor01/fhem/perl/lib/perl5/5.6.2&#039;&lt;br /&gt;
insmod /lib/modules/2.6.13.1-ohio/kernel/drivers/usb/serial/usbserial.ko vendor=0x03eb product=0x204b&lt;br /&gt;
mkdir /tmp/fhem&lt;br /&gt;
cd /var/media/ftp/uStor01/fhem/fhem-5.1/var/media/ftp/uStor01/fhem/perl/bin/perl fhem.pl fhem.cfg&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Bemerkung für die *nixer unter uns: ein &amp;lt;code&amp;gt;chmod +x&amp;lt;/code&amp;gt; brauchen wir nicht, auf dem Stick ist alles +x&lt;br /&gt;
&lt;br /&gt;
Das Skript jetzt starten (&amp;lt;code&amp;gt;./fhem.sh&amp;lt;/code&amp;gt;) - und das Log beobachten (&amp;lt;code&amp;gt;tail /var/media/ftp/uStor01/fhem/fhem-5.1/logs/NameDesLogfiles&amp;lt;/code&amp;gt;). Kommen Fehlermeldungen, dass es Probleme mit SIGirgendwas gibt, hilft erst einmal ein beherztes Auskommentieren der Zeilen 1757ff in fhem.pl (&amp;lt;code&amp;gt;nano fhem.pl&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;sub&lt;br /&gt;
SignalHandling()&lt;br /&gt;
{&lt;br /&gt;
 if($^O ne &amp;amp;quot;MSWin32&amp;amp;quot;) {&lt;br /&gt;
#  $SIG{&#039;INT&#039;} = sub { $sig_term = 1; };&lt;br /&gt;
#  $SIG{&#039;TERM&#039;} = sub { $sig_term = 1; };&lt;br /&gt;
#  $SIG{&#039;PIPE&#039;} = &#039;IGNORE&#039;;&lt;br /&gt;
#  $SIG{&#039;CHLD&#039;} = &#039;IGNORE&#039;;&lt;br /&gt;
#  $SIG{&#039;HUP&#039;} = sub { CommandRereadCfg(undef, &amp;amp;quot;&amp;amp;quot;) };&lt;br /&gt;
 }&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Hier gibt es sicher elegantere Methoden - ich war nur zu faul mich zu bemühen zu verstehen, woran es hängt! Wenn jemand da eine Idee hat...&#039;&#039;&#039;&lt;br /&gt;
mittels &amp;lt;code&amp;gt;telnet localhost 7072&amp;lt;/code&amp;gt; oder mit dem Webbrowser auf [http://fritz.box:8083/fhem http://fritz.box:8083/fhem] sollte jetzt auf fhem zugegriffen werden können.&lt;br /&gt;
&lt;br /&gt;
== FHZ ==&lt;br /&gt;
(alles ungetestet, habe keine FHZ mit USB) ...&lt;br /&gt;
&lt;br /&gt;
das Modul für die FHZ könnte sich mit&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;insmod /lib/modules/2.6.13.1-ohio/kernel/drivers/usb/serial/ftdi_sio.ko&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
laden lassen, die FHZ sollte dann unter&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/dev/ttyACM0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
bereit stehen...&lt;br /&gt;
&lt;br /&gt;
== Autostart fhem ==&lt;br /&gt;
Beispielscript für rc.custom&lt;br /&gt;
&lt;br /&gt;
Die Warteschleife ist aus einem Beispiel von [http://www.zebradem.com/wiki/index.php http://www.zebradem.com/wiki/index.php] &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# Wait until we have a network connection.&lt;br /&gt;
# Script can be disabled by removing network cable&lt;br /&gt;
# At least one of the web sites must must respond to ping before we continue&lt;br /&gt;
SITE_1=web.de&lt;br /&gt;
SITE_2=www.google.com&lt;br /&gt;
while&amp;amp;#160;!(ping -c 1 $SITE_1&amp;amp;gt;/dev/null) &amp;amp;amp;&amp;amp;amp;&amp;amp;#160;!(ping -c 1 $SITE_2&amp;amp;gt;/dev/null); do&lt;br /&gt;
  sleep 15&lt;br /&gt;
done&lt;br /&gt;
# Warten bis USB-Stick gemountet ist &lt;br /&gt;
max=10&lt;br /&gt;
i=0&lt;br /&gt;
while [ $i -lt $max ]; do&lt;br /&gt;
if mount | grep &amp;amp;quot; on /var/media/ftp/&amp;amp;quot; &amp;amp;gt; /dev/null; then&lt;br /&gt;
break&lt;br /&gt;
fi&lt;br /&gt;
let i=$i+1&lt;br /&gt;
sleep 30&lt;br /&gt;
done&lt;br /&gt;
# ENDE USB-Stick Warteschleife &lt;br /&gt;
swapon /var/media/ftp/uStor01/fhem/perl/swapfile&lt;br /&gt;
/var/media/ftp/uStor01/fhem/fhem-5.1/fhem.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;amp;lt;---------------------------- alt anfang--------------------------------&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
wer möchte, bastelt sich jetzt noch eine Zeile wie&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[-f /var/media/ftp/uStor01/fhem/fhem.sh] &amp;amp;amp;&amp;amp;amp; /var/media/ftp/uStor01/fhem/fhem.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
(ungetestet; bei mir liegt das Skript nicht unter fhem-5.1!) in seine rc.custom (siehe oben), dann startet das ganze automatisch mit der Box.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;---------------------------- alt ende---------------------------------&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:FritzBox]]&lt;/div&gt;</summary>
		<author><name>Wichtel</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=FHEM_und_FritzBox_7170&amp;diff=4913</id>
		<title>FHEM und FritzBox 7170</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=FHEM_und_FritzBox_7170&amp;diff=4913"/>
		<updated>2014-02-12T18:09:07Z</updated>

		<summary type="html">&lt;p&gt;Wichtel: /* Einrichtung der Auslagerungsdatei (SWAP) */ mkswap-Hinweise eingefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die [http://www.wehavemorefun.de/fritzbox/FRITZ!Box_Fon_WLAN_7170 FritzBox 7170] &lt;br /&gt;
ist ein Allround-Ger&amp;amp;auml;t und vereint die wichtigsten Anschl&amp;amp;uuml;sse und Funktionen f&amp;amp;uuml;r &lt;br /&gt;
den Heimeinsatz. Dazu z&amp;amp;auml;hlen ADSL2+, WLAN 802.11 b/g/g++ bis 125MBit/s, &lt;br /&gt;
LAN 100Mbit/s (4 Anschl&amp;amp;uuml;sse),  ISDN-S0 Bus (1 Anschluss), Analogtelefonie (3 Anschl&amp;amp;uuml;sse).&lt;br /&gt;
Da die FritzBox zur Sicherstellung der Telefonfunktion (wenn genutzt) in der Regel &lt;br /&gt;
rund um die Uhr an ist, eignet sie sich optimal f&amp;amp;uuml;r die Installation von FHEM, denn so&lt;br /&gt;
ist sichergestellt, dass die Heimautomatisierungs-Dienste ebenfalls  rund um die Uhr &lt;br /&gt;
zur Verf&amp;amp;uuml;gung stehen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nachfolgende Installationsanleitung ist angeregt und in Anlehnung an&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[http://forum.fhem.de/index.php/topic,11755.0.html diesen] Post im FHEM Forum entstanden.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=FHEM Community Image (Original AVM Firmware)=&lt;br /&gt;
Die erste Variante beschreibt die die Installation von FHEM auf einer FritzBox 7170&lt;br /&gt;
&amp;amp;uuml;ber das Community Image. Dabei bleibt die Firmware der FritzBox unver&amp;amp;auml;ndert. Es wird&lt;br /&gt;
also lediglich zus&amp;amp;auml;tzliche Software installiert (busybox zur Erstellung einer &lt;br /&gt;
Auslagerungsdatei sowie Perl, FHEM und entsprechende Kernel Module aus dem FHEM &lt;br /&gt;
Community Image). &lt;br /&gt;
&lt;br /&gt;
In einigen Foren Threads ist zu lesen, dass die 7170 wenig internen Arbeitsspeicher &lt;br /&gt;
aufweist und FHEM daher nur bedingt oder nur sehr eingeschr&amp;amp;auml;nkt l&amp;amp;auml;uft. Mit einer kleinen&lt;br /&gt;
Erweiterung jedoch kann auch die 7170 ohne Anpassung der Firmware f&amp;amp;uuml;r FHEM fit gemacht &lt;br /&gt;
werden.&lt;br /&gt;
&lt;br /&gt;
==Voraussetzungen==&lt;br /&gt;
Die Anleitung beschreibt die Installation auf einer 7170 v2. Das Verfahren auf der &lt;br /&gt;
&#039;&#039;&amp;amp;auml;lteren&#039;&#039; Variante sollte aber identisch sein. Voraussetzung ist eine aktuelle Firmware&lt;br /&gt;
von AVM. Die zum Zeitpunkt der Erstellung des Artikels verf&amp;amp;uuml;gbare Firmware hat die &lt;br /&gt;
Version 29.04.87.&lt;br /&gt;
&lt;br /&gt;
Zus&amp;amp;auml;tzlich ben&amp;amp;ouml;tigt werden:&lt;br /&gt;
* Ein USB Stick (Windows/VFAT formatiert) als zus&amp;amp;auml;tzlichen externen Speicher f&amp;amp;uuml;r die 7170 (NAS)&lt;br /&gt;
* [http://www.wehavemorefun.de/fritzbox/BusyBox Multi-call-binary busybox]&lt;br /&gt;
* [http://fhem.de/fhem-5.5-fb7270.zip FHEM Community Image f&amp;amp;uuml;r FB7170/7270]&lt;br /&gt;
* Telnet-Zugang zur FritzBox&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
===Anschluss zus&amp;amp;auml;tzlicher Externer Speicher===&lt;br /&gt;
Der USB Stick wird an den USB Anschluss der Fritzbox angeschlossen. Der USB Stick muss&lt;br /&gt;
FAT/FAT32 (Windows) formatiert sein! Bitte kein anderes Dateisystem wie NTFS, EXT3 etc.&lt;br /&gt;
verwenden. Eine detaillierte Anleitung zur Einrichtung des USB Speichers gibt es in der&lt;br /&gt;
[http://service.avm.de/support/de/SKB/FRITZ-Box-7170/26:USB-Speicher-an-FRITZ-Box-einrichten AVM Wissensdatenbank].&lt;br /&gt;
&lt;br /&gt;
Nach Anschluss des USB Sticks an die FritzBox muss der Speicher &amp;amp;uuml;ber die Benutzeroberfl&amp;amp;auml;che&lt;br /&gt;
der FritzBox eingerichtet werden. Zun&amp;amp;auml;chst bitte pr&amp;amp;uuml;fen, dass der USB Anschluss nicht als&lt;br /&gt;
USB-Fernanschluss verwendet wird:&lt;br /&gt;
&lt;br /&gt;
* Heimnetz &lt;br /&gt;
* USB-Ger&amp;amp;auml;te&lt;br /&gt;
* Fernanschluss&lt;br /&gt;
* USB Fernanschluss aktiv (deaktivieren / &#039;&#039;nicht&#039;&#039; angehakt)&lt;br /&gt;
&lt;br /&gt;
Ist der Fernanschluss deaktiviert, so kann der Speicher als &#039;&#039;Network attached Storage (NAS)&#039;&#039;&lt;br /&gt;
eingerichtet werden. Hierzu bitte folgenderma&amp;amp;szlig;en vorgehen:&lt;br /&gt;
&lt;br /&gt;
* Heimnetz&lt;br /&gt;
* Speicher (NAS)&lt;br /&gt;
* Speicher (NAS) aktiv (aktivieren)&lt;br /&gt;
&lt;br /&gt;
Optional kann der Zugriff aus dem Internet (per FTP) und/oder die Option Musikbox aktiv&lt;br /&gt;
aktiviert werden.&lt;br /&gt;
&lt;br /&gt;
Wurden die Einstellungen entsprechend vorgenommen und der Speicher ordnungsgem&amp;amp;auml;&amp;amp;szlig; &lt;br /&gt;
formatiert, so kann die Freigabe z.B. &amp;amp;uuml;ber den Datei-Explorer (Windows), Finder (OSX), &lt;br /&gt;
Android Systeme mit Hilfe von AndSMB oder jeden anderen Samba Client aufgerufen werden.&lt;br /&gt;
&lt;br /&gt;
===Aktivierung Telnet-Zugang===&lt;br /&gt;
F&amp;amp;uuml;r die sp&amp;amp;auml;teren Arbeiten zur Einrichtung von FHEM wird ein Telnetzugang zur FritzBox &lt;br /&gt;
ben&amp;amp;ouml;tigt. Da Telnet ein relativ altes, nicht abh&amp;amp;ouml;rsicheres Protokoll darstellt ist&lt;br /&gt;
der Telnet Zugang der FritzBox zun&amp;amp;auml;chst inaktiv. Auch auf einigen neueren Betriebsystemen&lt;br /&gt;
(z.B. Windows 7) ist der Telnet Client zun&amp;amp;auml;chst deaktiviert und &lt;br /&gt;
[http://support.microsoft.com/kb/978779/de muss aktiviert werden].&lt;br /&gt;
&lt;br /&gt;
Die Aktivierung von Telnet auf der FritzBox erfolgt &amp;amp;uuml;ber die Kurzwahl &amp;lt;nowiki&amp;gt;#96*7*&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
Ist kein Telefon an die Fritzbox angeschlossen, kann mit Hilfe der Schritte aus dieser&lt;br /&gt;
[http://thomasheinz.net/telnet-bei-der-fritzbox-z-b-7270-ohne-telefon-und-mod-aktivieren-und-verbindung-herstellen/ Anleitung]&lt;br /&gt;
der Telnetzugang aktiviert werden.&lt;br /&gt;
&lt;br /&gt;
Die Anmeldung an der FritzBox &amp;amp;uuml;ber Telnet erfolgt &amp;amp;uuml;ber die Eingabeaufforderung (Windows)&lt;br /&gt;
oder Terminal (OSX) oder &amp;amp;uuml;ber jede beliebige andere Shell folgendem Aufruf:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
macbook:~ $ telnet fritz.box&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Darauf erfolgt die Anmeldung an der FritzBox mit dem gleichen Kennwort, welches auch f&amp;amp;uuml;r&lt;br /&gt;
die Weboberfl&amp;amp;auml;che genutzt wird.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Trying 192.168.x.x...&lt;br /&gt;
Connected to fritz.box.&lt;br /&gt;
Escape character is &#039;^]&#039;.&lt;br /&gt;
Fritz!Box web password: &lt;br /&gt;
&lt;br /&gt;
BusyBox v1.8.2 (2009-04-22 13:54:57 CEST) built-in shell (ash)&lt;br /&gt;
Enter &#039;help&#039; for a list of built-in commands.&lt;br /&gt;
&lt;br /&gt;
ermittle die aktuelle TTY&lt;br /&gt;
tty is &amp;quot;/dev/pts/0&amp;quot;&lt;br /&gt;
Console Ausgaben auf dieses Terminal umgelenkt&lt;br /&gt;
# _&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wer den vorherigen Abschnitt aufmerksam gelesen hat, der stellt fest, dass die jetzt&lt;br /&gt;
aufgebaute Telnet Verbindung die &#039;&#039;ash&#039;&#039; Shell benutzt die aus dem multi-call-binary&lt;br /&gt;
busybox v1.8.2 stammt. Mehr dazu im folgenden Abschnitt.&lt;br /&gt;
&lt;br /&gt;
===Einrichtung der Auslagerungsdatei (SWAP)===&lt;br /&gt;
Bis Version 5.3 l&amp;amp;auml;uft FHEM noch ohne Auslagerungsdatei auf der FritzBox. Ab Version &lt;br /&gt;
5.4 muss zwingend eine Auslagerungsdatei auf der FritzBox eingerichtet werden. Wird &lt;br /&gt;
FHEM 5.4 oder h&amp;amp;ouml;her ohne Auslagerungsdatei installiert, so kommt es beim ersten &lt;br /&gt;
Zugriff auf die Weboberfl&amp;amp;auml;che von FHEM auf der FritzBox zu einem Absturz und erzwungenen&lt;br /&gt;
Neustart der FritzBox. Damit dies nicht nicht vorkommt, muss der knappe Speicher der&lt;br /&gt;
FritzBox mit einer Auslagerungsdatei &amp;lt;nowiki&amp;gt;&#039;&#039;erweitert&#039;&#039;&amp;lt;/nowiki&amp;gt; werden. Der aktuelle &lt;br /&gt;
Speicherverbrauch der FritzBox ohne Auslagerungsdatei und FHEM kann mit dem Befehl&lt;br /&gt;
&#039;&#039;free&#039;&#039; abgrefragt werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# free&lt;br /&gt;
              total         used         free       shared      buffers&lt;br /&gt;
  Mem:        30316        28652         1664            0         1304&lt;br /&gt;
 Swap:            0            0            0&lt;br /&gt;
Total:        30316        28652         1664&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
F&amp;amp;uuml;r die Einrichtung der Auslagerungsdatei ben&amp;amp;ouml;tigen wir das &lt;br /&gt;
[http://www.busybox.net/ Multi-call-binary busybox] in einer &lt;br /&gt;
h&amp;amp;ouml;heren Version als mit der Firmware ausgeliefert. Welche Version mit der FritzBox &lt;br /&gt;
ausgeliefert wird, kann nach erfolgreicher Telnet-Anmeldung oder &lt;br /&gt;
[http://www.wehavemorefun.de/fritzbox/BusyBox#BusyBox-Versionen hier] nachgelesen werden. &lt;br /&gt;
Wer die Auslieferungsversion erneut abfragen m&amp;amp;ouml;chte kann in der Telnet-Verbindung den &lt;br /&gt;
Befehl &#039;&#039;busybox&#039;&#039; absetzen und erh&amp;amp;auml;lt Infos zu Version un unterst&amp;amp;uuml;tzten Befehlen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# busybox &lt;br /&gt;
BusyBox v1.8.2 (2009-04-22 13:54:57 CEST) multi-call binary&lt;br /&gt;
Copyright (C) 1998-2006 Erik Andersen, Rob Landley, and others.&lt;br /&gt;
Licensed under GPLv2. See source distribution for full notice.&lt;br /&gt;
&lt;br /&gt;
Usage: busybox [function] [arguments]...&lt;br /&gt;
   or: [function] [arguments]...&lt;br /&gt;
&lt;br /&gt;
        BusyBox is a multi-call binary that combines many common Unix&lt;br /&gt;
        utilities into a single executable.  Most people will create a&lt;br /&gt;
        link to busybox for each function they wish to use and BusyBox&lt;br /&gt;
        will act like whatever it was invoked as!&lt;br /&gt;
&lt;br /&gt;
Currently defined functions:&lt;br /&gt;
        [, [[, ash, basename, cat, chmod, clear, cp, date, dd, dmesg, echo, egrep, env, ether-wake, false,&lt;br /&gt;
        fgrep, find, free, grep, halt, head, hostname, ifconfig, ifdown, ifup, inetd, init, insmod, kill,&lt;br /&gt;
        killall, ln, login, ls, lsmod, md5sum, mkdir, mknod, modprobe, more, mount, mv, nc, netstat, nohup,&lt;br /&gt;
        pidof, ping, poweroff, ps, pwd, realpath, reboot, rm, rmdir, rmmod, route, sed, setconsole, sh,&lt;br /&gt;
        sleep, stty, tail, tar, tee, telnetd, test, tftp, time, touch, tr, traceroute, true, tty, umount,&lt;br /&gt;
        uname, uniq, uptime, vconfig, vi, wget&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
F&amp;amp;uuml;r die nachfolgenden Anpassungen ben&amp;amp;ouml;tigen wir die Unix Befehle &amp;quot;mkswap&amp;quot;, &#039;&#039;swapon&#039;&#039; und &#039;&#039;swapoff&#039;&#039;&lt;br /&gt;
welche in einer h&amp;amp;ouml;heren busybox-Variante zu finden sind. Beispielsweise ist auf der &lt;br /&gt;
FritzBox 7170 V2 mit oben angegebener Firmware die &lt;br /&gt;
[http://www.busybox.net/downloads/binaries/1.16.1/busybox-mipsel busybox-mipsel v1.16.1]&lt;br /&gt;
lauff&amp;amp;auml;hig. Dieses Version enth&amp;amp;auml;lt alle ben&amp;amp;ouml;tigten Befehle.&lt;br /&gt;
&lt;br /&gt;
Das fertige Programm bitte herunterladen und auf die FritzBox kopieren oder direkt&lt;br /&gt;
auf der FritzBox ein Verzeichnis auf dem USB-Stick herunterladen. Schritt f&amp;amp;uuml;r Schritt in &lt;br /&gt;
der aktiven Telnet-Verbindung auf der FritzBox:&lt;br /&gt;
&lt;br /&gt;
Wo ist mein USB-Stick? Hier hilft ein einfaches &#039;&#039;mount&#039;&#039; weiter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# mount&lt;br /&gt;
rootfs on / type rootfs (rw)&lt;br /&gt;
/dev/root on / type squashfs (ro)&lt;br /&gt;
proc on /proc type proc (rw,nodiratime)&lt;br /&gt;
ramfs on /var type ramfs (rw)&lt;br /&gt;
usbfs on /proc/bus/usb type usbfs (rw)&lt;br /&gt;
sysfs on /sys type sysfs (rw)&lt;br /&gt;
/dev/sda1 on /var/media/ftp/Intenso-MicroLine-01 type vfat (rw,nodiratime, ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In dieser FritzBox ist der USB-Stick unter &#039;&#039;/var/media/ftp/Intenso-MicroLine-01&#039;&#039;&lt;br /&gt;
eingebunden. Hier erstellen wir ein Verzeichnis und wechseln f&amp;amp;uuml;r den Download&lt;br /&gt;
der Busybox dorthin:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cd  /var/media/ftp/Intenso-MicroLine-01&lt;br /&gt;
# mkdir busybox&lt;br /&gt;
# cd busybox&lt;br /&gt;
# wget http://www.busybox.net/downloads/binaries/1.16.1/busybox-mipsel&lt;br /&gt;
Connecting to www.busybox.net (140.211.167.224:80)&lt;br /&gt;
busybox-mipsel       100% |***********************************************************************|  1657k 00:00:00 ETA&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nach dem Download kann der Funktionsumfang von busybox-mipsel v1.16.1 abgefragt werden.&lt;br /&gt;
Hierzu bitte in bestehender Telnet Verbindung &#039;&#039;./busybox-mipsel&#039;&#039; eingeben.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ./busybox-mipsel&lt;br /&gt;
BusyBox v1.16.1 (2010-03-29 11:52:23 CDT) multi-call binary.&lt;br /&gt;
Copyright (C) 1998-2009 Erik Andersen, Rob Landley, Denys Vlasenko&lt;br /&gt;
and others. Licensed under GPLv2.&lt;br /&gt;
See source distribution for full notice.&lt;br /&gt;
&lt;br /&gt;
Usage: busybox [function] [arguments]...&lt;br /&gt;
   or: function [arguments]...&lt;br /&gt;
&lt;br /&gt;
        BusyBox is a multi-call binary that combines many common Unix&lt;br /&gt;
        utilities into a single executable.  Most people will create a&lt;br /&gt;
        link to busybox for each function they wish to use and BusyBox&lt;br /&gt;
        will act like whatever it was invoked as.&lt;br /&gt;
&lt;br /&gt;
Currently defined functions:&lt;br /&gt;
        [, [[, acpid, addgroup, adduser, adjtimex, arp, arping, ash, awk, basename, bbconfig, beep, blkid, brctl,&lt;br /&gt;
        bunzip2, bzcat, bzip2, cal, cat, catv, chat, chattr, chgrp, chmod, chown, chpasswd, chpst, chroot, chrt, chvt,&lt;br /&gt;
        cksum, clear, cmp, comm, cp, cpio, crond, crontab, cryptpw, cttyhack, cut, date, dc, dd, deallocvt, delgroup,&lt;br /&gt;
        deluser, depmod, devmem, df, dhcprelay, diff, dirname, dmesg, dnsd, dnsdomainname, dos2unix, dpkg, dpkg-deb,&lt;br /&gt;
        du, dumpkmap, dumpleases, echo, ed, egrep, eject, env, envdir, envuidgid, ether-wake, expand, expr, fakeidentd,&lt;br /&gt;
        false, fbset, fbsplash, fdflush, fdformat, fdisk, fgrep, find, findfs, flashcp, fold, free, freeramdisk, fsck,&lt;br /&gt;
        fsck.minix, fsync, ftpd, ftpget, ftpput, fuser, getopt, getty, grep, gunzip, gzip, halt, hd, hdparm, head,&lt;br /&gt;
        hexdump, hostid, hostname, httpd, hush, hwclock, id, ifconfig, ifdown, ifenslave, ifplugd, ifup, inetd, init,&lt;br /&gt;
        insmod, install, ionice, ip, ipaddr, ipcalc, ipcrm, ipcs, iplink, iproute, iprule, iptunnel, kbd_mode, kill,&lt;br /&gt;
        killall, killall5, klogd, lash, last, length, less, linux32, linux64, linuxrc, ln, loadfont, loadkmap, logger,&lt;br /&gt;
        login, logname, logread, losetup, lpd, lpq, lpr, ls, lsattr, lsmod, lspci, lsusb, lzmacat, lzop, lzopcat,&lt;br /&gt;
        makedevs, makemime, man, md5sum, mdev, mesg, microcom, mkdir, mkdosfs, mkfifo, mkfs.minix, mkfs.reiser,&lt;br /&gt;
        mkfs.vfat, mknod, mkpasswd, mkswap, mktemp, modprobe, more, mount, mountpoint, msh, mt, mv, nameif, nc,&lt;br /&gt;
        netstat, nice, nmeter, nohup, nslookup, ntpd, od, openvt, passwd, pgrep, pidof, ping, ping6, pipe_progress,&lt;br /&gt;
        pivot_root, pkill, popmaildir, poweroff, printenv, printf, ps, pscan, pwd, raidautorun, rdate, rdev, readahead,&lt;br /&gt;
        readlink, readprofile, realpath, reboot, reformime, renice, reset, resize, rm, rmdir, rmmod, route, rpm,&lt;br /&gt;
        rpm2cpio, rtcwake, run-parts, runlevel, runsv, runsvdir, rx, script, scriptreplay, sed, sendmail, seq, setarch,&lt;br /&gt;
        setconsole, setfont, setkeycodes, setlogcons, setsid, setuidgid, sh, sha1sum, sha256sum, sha512sum, showkey,&lt;br /&gt;
        slattach, sleep, softlimit, sort, split, start-stop-daemon, stat, strings, stty, su, sulogin, sum, sv, svlogd,&lt;br /&gt;
        swapoff, swapon, switch_root, sync, sysctl, syslogd, tac, tail, tar, tcpsvd, tee, telnet, telnetd, test, tftp,&lt;br /&gt;
        tftpd, time, timeout, top, touch, tr, traceroute, traceroute6, true, tty, ttysize, tunctl, udhcpc, udhcpd,&lt;br /&gt;
        udpsvd, umount, uname, uncompress, unexpand, uniq, unix2dos, unlzma, unlzop, unzip, uptime, usleep, uudecode,&lt;br /&gt;
        uuencode, vconfig, vi, vlock, volname, wall, watch, watchdog, wc, wget, which, who, whoami, xargs, yes, zcat,&lt;br /&gt;
        zcip&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die neuere Version enth&amp;amp;auml;lt also eine ganze Reihe mehr an Befehlen als die mit der Firmware&lt;br /&gt;
ausgelieferte Version. Jetzt geht es an die eigentliche Erstellung der Auslagerungsdatei. &lt;br /&gt;
Hierzu ertsellen wir zun&amp;amp;auml;chst eine leere, 32MB gro&amp;amp;szlig;e Datei im Dateisystem auf dem USB-Stick.&lt;br /&gt;
&amp;amp;Uuml;ber die weiterhin aktive Telnet Verbindung auf der FritzBox setzen wir diesen Befehl ab, &lt;br /&gt;
wobei &amp;amp;lt;DEIN-USB-STICK&amp;amp;gt; f&amp;amp;uuml;r den Namen Deines USB-Stick steht (siehe oben Befehl&lt;br /&gt;
&#039;&#039;mount&#039;&#039;) und jeweils zu ersetzen ist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dd if=/dev/zero of=/var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;/swapfile bs=1024 count=32768&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es dauert einen kleinen Moment, dann ist die Datei angelegt.&lt;br /&gt;
Diese völlig leere Datei muss noch zur Verwendung als Auslagerungsspeicher vorbereitet werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# /var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;/busybox/busybox-mipsel mkswap /var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;/swapfile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die soeben erzeugte Auslagerungsdatei machen wir dem System mit dem Befehl &#039;&#039;swapon&#039;&#039; bekannt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# /var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;/busybox/busybox-mipsel swapon /var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;/swapfile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein abschlie&amp;amp;szlig;endes &#039;&#039;free&#039;&#039; zeigt uns, dass die Auslagerungsdatei jetzt angelegt ist &lt;br /&gt;
und benutzt wird. Bitte folgende Ausgabe mit der Ausgabe von oben vergleichen mit &lt;br /&gt;
Augenmerk auf die Zeile &#039;&#039;Swap&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# free&lt;br /&gt;
              total         used         free       shared      buffers&lt;br /&gt;
  Mem:        30316        28844         1472            0         1324&lt;br /&gt;
 Swap:        32760            0        32760&lt;br /&gt;
Total:        63076        28844        34232&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wer die in der Firmware ausgeleiferte Busybox dauerhaft ersetzen m&amp;amp;ouml;chte, kann&lt;br /&gt;
die notwendigen Informationen [http://www.wehavemorefun.de/fritzbox/Busybox_ersetzen hier]&lt;br /&gt;
nachlesen.&lt;br /&gt;
&lt;br /&gt;
===Installation von FHEM===&lt;br /&gt;
Nachdem die Auslagerungsdatei erfolgreich erzeugt wurde, kann es mit der Installation&lt;br /&gt;
von FHEM auf der FritzBox losgehen. Diese ist vergleichsweise unkompliziert und schnell&lt;br /&gt;
durchgef&amp;amp;uuml;hrt.&lt;br /&gt;
&lt;br /&gt;
Zun&amp;amp;auml;chst ben&amp;amp;ouml;tigen wir das aktuelle Community-Image f&amp;amp;uuml;r die FritzBox (siehe Abschnitt&lt;br /&gt;
[[#Voraussetzungen]]. Dieses bitte entpacken und auf den USB-Stick an der FritzBox &lt;br /&gt;
kopieren. Nach dem Kopieren von FHEM muss auf der FritzBox 7170 der FHEM-Heimatpfad im &lt;br /&gt;
Start-Skript &#039;&#039;startfhem&#039;&#039; angepasst werden. Dies wird erneut in der aktiven &lt;br /&gt;
Telnetverbindung durchgef&amp;amp;uuml;hrt. Dazu benutzen wir den Editor &#039;&#039;vi&#039;&#039;. Mit dem Befehl&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# vi /var/media/ftp/&amp;lt;DEIN-USB_STICK&amp;gt;/fhem/startfhem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
das Skript &amp;amp;ouml;ffnen und den fest eingegebenen Heimatpfad (&#039;&#039;home&#039;&#039;) der FHEM Installation&lt;br /&gt;
auf das eigene System anpassen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# On the Fritzbox 7270 V1/V2 with missing df replace home with the hardcoded&lt;br /&gt;
# path.&lt;br /&gt;
#root=`df | sed -n -e &#039;/ftp\//s/.*ftp\///p&#039;`&lt;br /&gt;
#home=/var/InternerSpeicher/$root/fhem&lt;br /&gt;
#home=/var/media/ftp/Generic-FlashDisk-01/fhem&lt;br /&gt;
home=/var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;/fhem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Test der Installation====&lt;br /&gt;
Die Installation kann jetzt mit dem Ausf&amp;amp;uuml;hren des FHEM-Start-Skriptes getestet werden&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# /var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;/fhem/startfhem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beim Start von FHEM erscheinen einige Programmausgaben auf der Konsole. Nach kurzer Zeit&lt;br /&gt;
ist das Webinterface von FHEM auf der FritzBox erreichbar. Dazu im Browser bitte folgende&lt;br /&gt;
URL eingeben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://fritz.box:8083&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Einrichten von Autostart===&lt;br /&gt;
Damit FHEM bei jedem Neustart der FritzBox automatisch startet sind noch zwei Schritte &lt;br /&gt;
notwendig. Zun&amp;amp;auml;chst muss die Aktivierung der Auslagerungsdatei in das FHEM-Startskript &lt;br /&gt;
aufgenommen werden. Eine m&amp;amp;ouml;gliche Anpassung sieht so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
# On the Fritzbox 7270 V1/V2 with missing df replace home with the hardcoded&lt;br /&gt;
# path.&lt;br /&gt;
#root=`df | sed -n -e &#039;/ftp\//s/.*ftp\///p&#039;`&lt;br /&gt;
#home=/var/InternerSpeicher/$root/fhem&lt;br /&gt;
#home=/var/media/ftp/Generic-FlashDisk-01/fhem&lt;br /&gt;
home=/var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;/fhem&lt;br /&gt;
&lt;br /&gt;
cd $home&lt;br /&gt;
&lt;br /&gt;
trap &amp;quot;&amp;quot; SIGHUP&lt;br /&gt;
modprobe kernel/cdc_acm&lt;br /&gt;
modprobe ftdi_sio&lt;br /&gt;
sleep 2&lt;br /&gt;
&lt;br /&gt;
# FritzBox 7170, 7270 V1/V2 needs additional swap&lt;br /&gt;
# busybox from http://www.busybox.net/downloads/binaries/1.16.1/busybox-mipsel&lt;br /&gt;
# should be present on your Box.&lt;br /&gt;
# On FritzBox 7170 swap file size 32M is sufficient -&amp;gt; 1024 * 32768&lt;br /&gt;
# test if swapfile already present in fhem directory&lt;br /&gt;
if [ -f ../swapfile ]; then&lt;br /&gt;
  echo &amp;quot;swapfile already present ...&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;swapfile will be built, please wait ...&amp;quot;&lt;br /&gt;
  dd if=/dev/zero of=../swapfile bs=1024 count=32768&lt;br /&gt;
fi&lt;br /&gt;
../busybox/busybox-mipsel mkswap ../swapfile&lt;br /&gt;
../busybox/busybox-mipsel swapon ../swapfile&lt;br /&gt;
echo &amp;quot;additional swap was activated&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ln -sf $home/FHEM/fhemcmd.sh /var/fhemcmd&lt;br /&gt;
&lt;br /&gt;
PATH=$home:$PATH&lt;br /&gt;
export PATH&lt;br /&gt;
&lt;br /&gt;
export LD_LIBRARY_PATH=$home/lib&lt;br /&gt;
export PERL5LIB=$home/lib/perl:$home/lib/perl/arch&lt;br /&gt;
&lt;br /&gt;
#export PERL5LIB=$home/lib/perl5/5.10&lt;br /&gt;
#stty -echo -echok -echoke -echoe -echonl &amp;lt; /dev/ttyACM0&lt;br /&gt;
&lt;br /&gt;
perl fhem.pl fhem.cfg &amp;amp;&amp;gt;/dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vorstehendes Skript geht davon aus, dass FHEM auf dem USB-Stick im Verzeichnis &#039;&#039;fhem&#039;&#039;&lt;br /&gt;
installiert ist und &#039;&#039;busybox-mipsel&#039;&#039; auf gleicher Ebene im Ordner &#039;&#039;busybox&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Dann muss das FHEM-Startskript beim Systemstart der FritzBox automatisch ausgef&amp;amp;uuml;hrt &lt;br /&gt;
werden. Hierzu ist es notwendig die Datei &#039;&#039;/var/flash/debug.cfg&#039;&#039; anzupassen. Dieses &lt;br /&gt;
Skript f&amp;amp;uuml;hrt die FritzBox beim Systemstart aus. Die Datei kann auf verschiedene&lt;br /&gt;
Weisen angepasst werden. Vier M&amp;amp;ouml;glichkeiten sind &lt;br /&gt;
[http://www.fritzmod.net/de/modification/debug-cfg/ in diesem Artikel] beschrieben.&lt;br /&gt;
Meine bevorzugte Variante ist der Editor &#039;&#039;nvi&#039;&#039;, der mit angegebener Firmware &lt;br /&gt;
ausgeliefert ist. Der Inhalt des Skriptes sieht so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while !(ping -c 1 www.google.de &amp;gt; /dev/null); do&lt;br /&gt;
        sleep 15&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
max=10&lt;br /&gt;
i=0&lt;br /&gt;
while [ $i -lt $max ]; do&lt;br /&gt;
        if mount | grep &amp;quot; on /var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;&amp;quot; &amp;gt; /dev/null; then&lt;br /&gt;
                break&lt;br /&gt;
        fi&lt;br /&gt;
        let i=$i+1&lt;br /&gt;
        sleep 30&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
/var/media/ftp/&amp;lt;DEIN-USB-STICK&amp;gt;/fhem/startfhem &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hierzu eine kurze Erkl&amp;amp;auml;rung: &lt;br /&gt;
&lt;br /&gt;
# Erst pr&amp;amp;uuml;ft das Skript die Verf&amp;amp;uuml;gbarkeit einer Internetverbindung. Solange diese nicht aktiv ist, werden folgende Schritte nicht ausgef&amp;amp;uuml;hrt.&lt;br /&gt;
# Dann wird in maximal 10 Wiederholungen &amp;amp;uuml;berpr&amp;amp;uuml;ft, ob der USB-Stick bereits eingebunden ist. Hier bitte darauf achten den Pfad entsprechend auf die eigene FritzBox abzupassen.&lt;br /&gt;
# Zuletzt wird das FHEM-Startskript aufgerufen. Hier bitte ebenfalls den Pfad entsprechend der eigenen FritzBox anpassen!&lt;br /&gt;
&lt;br /&gt;
===Abschalten Telnet-Zugang===&lt;br /&gt;
Der Telnetzugang wird durch die Kurzwahl &amp;lt;nowiki&amp;gt;#96*8*&amp;lt;/nowiki&amp;gt; abgeschaltet. Auch hier &lt;br /&gt;
gilt: Ist kein Telefon an die Fritzbox angeschlossen, kann mit Hilfe der Schritte aus dieser&lt;br /&gt;
[http://thomasheinz.net/telnet-bei-der-fritzbox-z-b-7270-ohne-telefon-und-mod-aktivieren-und-verbindung-herstellen/ Anleitung]&lt;br /&gt;
der Telnetzugang auch deaktiviert werden.&lt;br /&gt;
&lt;br /&gt;
===Neustart und Funktionspr&amp;amp;uuml;fung===&lt;br /&gt;
Abschlie&amp;amp;szlig;end kann die FritzBox &amp;amp;uuml;ber die Benutzeroberfl&amp;amp;auml;che der FritzBox neu &lt;br /&gt;
gestartet werden. Hierzu den Punkt&lt;br /&gt;
&lt;br /&gt;
* System&lt;br /&gt;
* Zur&amp;amp;uuml;cksetzen&lt;br /&gt;
* Neustart&lt;br /&gt;
* Neu starten&lt;br /&gt;
&lt;br /&gt;
anw&amp;amp;auml;hlen und warten, bis die Netzwerkverbindung wieder aktiv ist. Danach muss neben&lt;br /&gt;
der Benutzeroberfl&amp;amp;auml;che der FritzBox auf Port 80 auch die FHEM Installation auf Port&lt;br /&gt;
8083 verf&amp;amp;uuml;gbar sein.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;Die Beschreibung in den folgenden Abschnitten wurden aus dem Originalartikel &amp;amp;uuml;bernommen. Hier ist eine Anpassung der Firmware notwendig. Wer unerfahren oder unsicher ist, sollte auf jeden Fall die Variante ohne Modifikation der Firmware anwenden!&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=FHEM unter Freetz (modifizierte, open source Firmware)=&lt;br /&gt;
Ziel: die aktuelle Version (zum Zeitpunkt des Artikel ist dies 5.0) von fhem (pgm2) auf der Fritz!Box 7170 mit einem CUL zum Laufen zu bekommen, ohne die Box dabei total zu überlasten oder zu crashen... &lt;br /&gt;
Logfiles der Box sollen dabei nicht auf der Box sondern auf einem angesteckten USB-Stick gespeichert werden.&lt;br /&gt;
&lt;br /&gt;
Orientiert habe ich mich an der [http://fhem.de/fritzbox.html hier] veröffentlichten Anleitung, welche für mich allerdings einige Fallstricke aufweist - und bei der ich zumindest die Rolle des Apaches bei der Art der Installation und Konfiguration nicht verstanden habe...&lt;br /&gt;
&lt;br /&gt;
Voraussetzungen: Ein USB-Hub an der Fritz!Box mit (mindestens) einem USB-Speicherstick sowie einem Funk-Device (ich beschreibe hier den Weg für CUL v3.2, anderes wird ähnlich funktionieren); ein PC mit VMware (Player) bzw. VirtualBox, um die neue Firmware zu basteln&lt;br /&gt;
&lt;br /&gt;
Bemerkung: Ich habe versucht, das Wesentliche aus dem Gedächtnis und meiner (unzureichenden) Doku zu rekonstruieren. Falls es irgendwo hängt, würde ich mich über eine Korrektur des Artikels und/oder &#039;ne kurze Mail freuen!&lt;br /&gt;
== Freetz ==&lt;br /&gt;
&#039;&#039;&#039;Warnung:&#039;&#039;&#039;Mit freetz kann man sich seine Fritz!Box auch schön zu Grunde richten (wenn auch meist nicht endgültig); ich empfehe ganz dringend die Lektüre der [http://freetz.org/wiki/help/howtos/common/newbie ersten Schritte für Anfänger] und die etwas gründlichere Auseinandersetzung mit Freetz!&lt;br /&gt;
&lt;br /&gt;
=== Vorbereitungen ===&lt;br /&gt;
[http://freetz.org/ Freetz] erlaubt die Modifikation der original-AVM Firmware, so dass zusätzliche Features eingebaut und nicht benötigte eingespart werden können (spart Flash und RAM - und erhöht eventuell sogar die Sicherheit...)&lt;br /&gt;
&lt;br /&gt;
Für das Erstellen der Firmware mittels Freetz ist [http://freetz.org/wiki/help/howtos/common/install hier].&lt;br /&gt;
&lt;br /&gt;
Ist die VM gemäß Anleitung gestartet, kann man (nach einloggen und downloaden der Quellen) sich mittels &amp;lt;code&amp;gt;make menuconfig&amp;lt;/code&amp;gt; seine eigene Firmware zusammenbasteln.&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration der Firmware ===&lt;br /&gt;
(leider erlaubt das Wiki kein Upload von Textdateien, daher liegt meine Config extern) &lt;br /&gt;
&lt;br /&gt;
Meine komplette (so für mich funktionierende) .config für freetz gibt es [http://martin.tettke.net/fhem/freetz_config-working-20110218_marte hier]; bitte beachten, dass folgende (nicht direkt fhem-relevante) Änderungen eingebastelt sind, um die Box sowohl bezüglich Flash als auch bezüglich RAM zu entlasten:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;FREETZ_REMOVE_TR069=y   # ACHTUNG: Vorher via WebIF deaktivieren!&lt;br /&gt;
FREETZ_REMOVE_USERMAN=y  # brauche keine Kindersicherung&lt;br /&gt;
FREETZ_REMOVE_FTPD=y   # ebenso kein FTP&lt;br /&gt;
FREETZ_REMOVE_MEDIASRV=y # Mediaserver ist eine andere Kiste&lt;br /&gt;
FREETZ_REMOVE_SMBD=y   # Samba brauche ich auch nicht (spart alles Platz!)&lt;br /&gt;
FREETZ_PACKAGE_CALLMONITOR=y # der Callmonitor ist TOLL!&lt;br /&gt;
FREETZ_PACKAGE_DROPBEAR=y # SSH Server. Klasse zur Installation und Wartung von FHEM&lt;br /&gt;
FREETZ_PACKAGE_NANO=y   # kleiner Editor, angenehmer als VI.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Hinweis: Diese Config spiegelt natürlich meine Konfiguration wieder. Wer einen Samba, FTP-Server etc. auf seiner Box haben will, muss natürlich entsprechende Änderungen vornehmen!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG: Das Entfernen von TR069 kann laut einigen Hinweisen zu einer Dauer-reboot-Schleife der Fritz!Box führen, wenn TR069 nicht vorher per Webinterface deaktiviert wurde; siehe auch [http://freetz.org/wiki/patches/remove_tr069 hier] - im Zweifellsfall tr069 nicht deaktivieren!&#039;&#039;&#039;&lt;br /&gt;
fhem-relevante Anpassungen (Kernelmodule):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;FREETZ_MODULE_usbserial=y # fuer CUL&lt;br /&gt;
FREETZ_MODULE_ftdi_sio=y # fuer FHZ? (habe ich nicht...)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
== einloggen und download der fhem-Quellen ==&lt;br /&gt;
Ist die selbst gebastelte Freetz-Firmware geflasht, kann man sich - wenn dropbear einkompiliert wurde - mittels SSH (ein empfehlenswerter SSH-Client für Windows ist z.B. [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTY] auf der Kiste anmelden. Als Serveradresse - na klar - fritz.box verwenden; Login ist &amp;quot;root&amp;quot;, Passwort (ACHTUNG, daran habe ich &#039;ne Runde gesessen) &amp;quot;freetz&amp;quot;. Dieses sollte man möglichst bald ändern.&lt;br /&gt;
&lt;br /&gt;
Jetzt wechseln wir in das Verzeichnis des USB-Sticks und legen uns erst einmal ein Sammelverzeichnis für fhem an:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;cd /var/media/ftp/uStor01&lt;br /&gt;
mkdir fhem&lt;br /&gt;
cd fhem&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Sollte der erste Befehl nicht klappen, ist der USB-Stick wohl an einer anderen Stelle gemountet - ein &amp;lt;code&amp;gt;df&amp;lt;/code&amp;gt; gibt Aufschluss, wo.&lt;br /&gt;
&lt;br /&gt;
Jetzt besorgen wir uns Perl (dankenswerterweise vorkompiliert und mit allen wesentlichen Modulen bereitgestellt) sowie fhem:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;wget [http://fhem.de/fb7170/perl-5.6.2.tgz http://fhem.de/fb7170/perl-5.6.2.tgz]&lt;br /&gt;
wget [http://fhem.de/fhem-5.1.tar.gz http://fhem.de/fhem-5.1.tar.gz]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
entpacken:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;tar -xvzf perl-5.6.2.tgz&lt;br /&gt;
tar -xvzf fhem-5.1.tar.gz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Praktischerweise ist in der Perl-Installation eine Datei vorhanden, die wir als Swap-Device für die Box nutzen können. Das Ganze ist natürlich erbärmlich langsam (USB 1.1!), leider führt kein Weg daran vorbei:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;swapon /var/media/ftp/uStor01/fhem/perl/swapfile&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Damit wir das nicht jedes mal machen müssen, wenn die Box startet, ist ein automatisches Einbinden beim Starten der Box sinnvoll. Freetz hat ja sein Webinterface auf [http://fritz.box:81 fritz.box:81]; hier gibt es unter Einstellungen / rc.custom die Möglichkeit, Kommandos beim Booten automatisch ausführen zu lassen.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;---------------------------- alt anfang--------------------------------&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei mir steht da&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[ -f /var/media/ftp/uStor01/fhem/perl/swapfile ] &amp;amp;amp;&amp;amp;amp; swapon /var/media/ftp/uStor01/fhem/perl/swapfile&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;amp;lt;---------------------------- alt ende ---------------------------------&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hinweis: kommt die Meldung &amp;quot;Konfiguration in der aktuellen Sicherheitsstufe nicht verfügbar&amp;quot;, hilft folgendes (auf der Shell eingeben!)&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;echo 0 &amp;amp;gt; /tmp/flash/security&lt;br /&gt;
modsave&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
heisst, wenn das Swapfile gefunden wird (Stick steckt), dann aktiviere das auch. fhem selber möchte ich gerne (noch) manuell starten, das Swapfile brauche ich aber auch, wenn fhem nicht läuft (der Callmanager startet bei mir perl-Programme, die viel Speicher brauchen)...&lt;br /&gt;
&lt;br /&gt;
== Basisinstallation von fhem mit pgm2 ==&lt;br /&gt;
Freetz läuft, Perl steht bereit, FHEM liegt vor. Machen wir uns an die Konfiguration. Eigentlich wird fhem mittels &amp;lt;code&amp;gt;make install-pgm2&amp;lt;/code&amp;gt; installiert, das wollen wir hier aber nicht (die Zielverzeichnisse stehen auf der FB so nicht zur Verfügung), aber wir können uns an die Zeilen aus dem Makefile halten:&lt;br /&gt;
&lt;br /&gt;
(angenommen wird hier, dass fhem in /var/media/ftp/uStor01/fhem/fhem-5.1 entpackt wurde):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;cd /var/media/ftp/uStor01/fhem/fhem-5.1    # eventuell anpassen!&lt;br /&gt;
cp -r webfrontend/pgm2/* FHEM&lt;br /&gt;
cp docs/commandref.html docs/faq.html docs/HOWTO.html FHEM&lt;br /&gt;
cp docs/*.png docs/*.jpg FHEM&lt;br /&gt;
cd examples; for i in *; do cp -r $i ../FHEM/example.$i; done&lt;br /&gt;
cd ..&lt;br /&gt;
cp examples/sample_pgm2 fhem.cfg&lt;br /&gt;
mkdir logs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
soweit, so gut. Unsere fhem.cfg passen wir in etwa an wie folgt (&amp;lt;code&amp;gt;nano fhem.cfg&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;attr global logfile /var/media/ftp/uStor01/fhem/fhem-5.1/logs/fhem-%Y-%m.log&lt;br /&gt;
attr global modpath .         # where our FHEM directory is&lt;br /&gt;
attr global port 7072         # our TCP/IP port (localhost only)&lt;br /&gt;
attr global statefile /tmp/fhem.save  # where to save the state of the devices&lt;br /&gt;
attr global verbose 3         # &amp;amp;quot;normal&amp;amp;quot; verbosity (min 1, max 5)&lt;br /&gt;
define CUL CUL /dev/ttyUSB0@38400 1234&lt;br /&gt;
define WEB FHEMWEB 8083 global&lt;br /&gt;
define WEBS FHEMWEB 8084 global&lt;br /&gt;
attr WEBS smallscreen&lt;br /&gt;
# Fake logfile, to access the global log&lt;br /&gt;
define Logfile FileLog /var/media/ftp/uStor01/fhem/fhem-5.1/logs/fhem-%Y-%m.log fakelog&lt;br /&gt;
define autocreate autocreate&lt;br /&gt;
attr autocreate autosave&lt;br /&gt;
attr autocreate device_room&amp;amp;#160;%TYPE&lt;br /&gt;
attr autocreate filelog /var/media/ftp/uStor01/fhem/fhem-5.1/logs/%NAME-%Y.log&lt;br /&gt;
attr autocreate weblink&lt;br /&gt;
attr autocreate weblink_room Plots&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Hinweis:&#039;&#039;&#039;Ich hatte enorme Probleme - mein CUL empfing eifrig Daten, nur sendete er nichts. Mit der Umstellung auf &amp;quot;define CUL CUL /dev/ttyUSB0@38400 1234&amp;quot; ging es auf einmal, während &amp;quot;define CUL CUL /dev/ttyUSB0 1234&amp;quot; und &amp;quot;define CUL CUL /dev/ttyUSB0@9600 1234&amp;quot; den erwähnten Effekt brachten. Vielleicht hilfts jemandem.&lt;br /&gt;
&lt;br /&gt;
== Startscript ==&lt;br /&gt;
letztendlich basteln wir uns noch ein Startskript, welches das notwendige Kernel-Modul für CUL einbindet und den ganzen Kram startet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;nano fhem.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;export dTSB=1212687845&lt;br /&gt;
export LD_LIBRARY_PATH=&#039;/var/media/ftp/uStor01/fhem/perl/lib&#039;&lt;br /&gt;
export PERL5LIB=&#039;/var/media/ftp/uStor01/fhem/perl/lib:/var/media/ftp/uStor01/fhem/perl/lib/perl5:/var/media/ftp/uStor01/fhem/perl/lib/perl5/5.6.2&#039;&lt;br /&gt;
insmod /lib/modules/2.6.13.1-ohio/kernel/drivers/usb/serial/usbserial.ko vendor=0x03eb product=0x204b&lt;br /&gt;
mkdir /tmp/fhem&lt;br /&gt;
cd /var/media/ftp/uStor01/fhem/fhem-5.1/var/media/ftp/uStor01/fhem/perl/bin/perl fhem.pl fhem.cfg&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Bemerkung für die *nixer unter uns: ein &amp;lt;code&amp;gt;chmod +x&amp;lt;/code&amp;gt; brauchen wir nicht, auf dem Stick ist alles +x&lt;br /&gt;
&lt;br /&gt;
Das Skript jetzt starten (&amp;lt;code&amp;gt;./fhem.sh&amp;lt;/code&amp;gt;) - und das Log beobachten (&amp;lt;code&amp;gt;tail /var/media/ftp/uStor01/fhem/fhem-5.1/logs/NameDesLogfiles&amp;lt;/code&amp;gt;). Kommen Fehlermeldungen, dass es Probleme mit SIGirgendwas gibt, hilft erst einmal ein beherztes Auskommentieren der Zeilen 1757ff in fhem.pl (&amp;lt;code&amp;gt;nano fhem.pl&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;sub&lt;br /&gt;
SignalHandling()&lt;br /&gt;
{&lt;br /&gt;
 if($^O ne &amp;amp;quot;MSWin32&amp;amp;quot;) {&lt;br /&gt;
#  $SIG{&#039;INT&#039;} = sub { $sig_term = 1; };&lt;br /&gt;
#  $SIG{&#039;TERM&#039;} = sub { $sig_term = 1; };&lt;br /&gt;
#  $SIG{&#039;PIPE&#039;} = &#039;IGNORE&#039;;&lt;br /&gt;
#  $SIG{&#039;CHLD&#039;} = &#039;IGNORE&#039;;&lt;br /&gt;
#  $SIG{&#039;HUP&#039;} = sub { CommandRereadCfg(undef, &amp;amp;quot;&amp;amp;quot;) };&lt;br /&gt;
 }&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Hier gibt es sicher elegantere Methoden - ich war nur zu faul mich zu bemühen zu verstehen, woran es hängt! Wenn jemand da eine Idee hat...&#039;&#039;&#039;&lt;br /&gt;
mittels &amp;lt;code&amp;gt;telnet localhost 7072&amp;lt;/code&amp;gt; oder mit dem Webbrowser auf [http://fritz.box:8083/fhem http://fritz.box:8083/fhem] sollte jetzt auf fhem zugegriffen werden können.&lt;br /&gt;
&lt;br /&gt;
== FHZ ==&lt;br /&gt;
(alles ungetestet, habe keine FHZ mit USB) ...&lt;br /&gt;
&lt;br /&gt;
das Modul für die FHZ könnte sich mit&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;insmod /lib/modules/2.6.13.1-ohio/kernel/drivers/usb/serial/ftdi_sio.ko&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
laden lassen, die FHZ sollte dann unter&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;/dev/ttyACM0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
bereit stehen...&lt;br /&gt;
&lt;br /&gt;
== Autostart fhem ==&lt;br /&gt;
Beispielscript für rc.custom&lt;br /&gt;
&lt;br /&gt;
Die Warteschleife ist aus einem Beispiel von [http://www.zebradem.com/wiki/index.php http://www.zebradem.com/wiki/index.php] &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# Wait until we have a network connection.&lt;br /&gt;
# Script can be disabled by removing network cable&lt;br /&gt;
# At least one of the web sites must must respond to ping before we continue&lt;br /&gt;
SITE_1=web.de&lt;br /&gt;
SITE_2=www.google.com&lt;br /&gt;
while&amp;amp;#160;!(ping -c 1 $SITE_1&amp;amp;gt;/dev/null) &amp;amp;amp;&amp;amp;amp;&amp;amp;#160;!(ping -c 1 $SITE_2&amp;amp;gt;/dev/null); do&lt;br /&gt;
  sleep 15&lt;br /&gt;
done&lt;br /&gt;
# Warten bis USB-Stick gemountet ist &lt;br /&gt;
max=10&lt;br /&gt;
i=0&lt;br /&gt;
while [ $i -lt $max ]; do&lt;br /&gt;
if mount | grep &amp;amp;quot; on /var/media/ftp/&amp;amp;quot; &amp;amp;gt; /dev/null; then&lt;br /&gt;
break&lt;br /&gt;
fi&lt;br /&gt;
let i=$i+1&lt;br /&gt;
sleep 30&lt;br /&gt;
done&lt;br /&gt;
# ENDE USB-Stick Warteschleife &lt;br /&gt;
swapon /var/media/ftp/uStor01/fhem/perl/swapfile&lt;br /&gt;
/var/media/ftp/uStor01/fhem/fhem-5.1/fhem.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;amp;lt;---------------------------- alt anfang--------------------------------&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
wer möchte, bastelt sich jetzt noch eine Zeile wie&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[-f /var/media/ftp/uStor01/fhem/fhem.sh] &amp;amp;amp;&amp;amp;amp; /var/media/ftp/uStor01/fhem/fhem.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
(ungetestet; bei mir liegt das Skript nicht unter fhem-5.1!) in seine rc.custom (siehe oben), dann startet das ganze automatisch mit der Box.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;---------------------------- alt ende---------------------------------&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:FritzBox]]&lt;/div&gt;</summary>
		<author><name>Wichtel</name></author>
	</entry>
</feed>