1. Firmware aufspielen (erstmals)
Laptop direkt am Router ueber einen LAN-Port anschliessen mit lokal abgelegter OpenWrt Firmware:
Release am 23.04.2013: Attitude Adjustment 12.09
openwrt-ar71xx-generic-wndr3700-squashfs-factory.img

Dann ueber das normale Netgear GUI einloggen und ueber "Router Update" die OpenWRT Firmware einspielen.

(fuer Upgrade: openwrt-ar71xx-generic-wndr3700-squashfs-sysupgrade.bin)
(# sysupgrade -v /tmp/openwrt-ar71xx-generic-wndr3700-squashfs-sysupgrade.bin)

Anschliessend warten bis der Router normal rebootet hat.

2. Passwort setzen
Zuerst mit telnet (kein Passwort noetig) einloggen und mit "passwd" ein Passwort setzen. Dann telnet-Session beenden.
Anschliessend mit SSH und Passwort das neue Login pruefen.

3. Grundkonfiguration fuer LAN einrichten
Ziel: Geraet soll als Server ohne DHCP Service ins LAN eingebunden werden
Via http://192.168.1.1 in Luci einloggen und im Screen "Network" die noetigen Eintraege machen
- IPv4-Address (192.168.1.12)
- IPv4-Gateway (192.168.1.1)
- DNS-Server (192.168.1.1)
- DHCP-Server: Disable DHCP for this interface
- Internet Connection: Protocol: disabled
--> Save
--> Router kann nun im LAN angeschlossen werden.

4. Weitere Konfigurationen fuer LAN machen
Ziel: Geraet soll im LAN nur seine Serverfunktion erfuellen

Menu System 
Screen "System"
- Timezone: Europe/Zurich (ev. ist ein Reload des GUI noetig)
- Enable builtin NTP Server

5. USB Storage einbinden (USB Stick 2.0)
- Inhalt von File /etc/opkg.conf kontrollieren, insbesondere nach einem Upgrade
# opkg update
# opkg install kmod-usb-storage
--> installiert kmod-scsi-core, kmod-usb-storage
# opkg install block-mount (USB benoetigt eine Verzoegerung fuer das Mounten)
--> installiert block-mount
# reboot
Falls ein Stick von Windows uebernommen werden soll
  # opkg install kmod-fs-vfat kmod-nls-cp437 kmod-nls-cp850 kmod-nls-iso8859-1 kmod-nls-iso8859-15
Fuer einen neuen Stick
  # opkg install kmod-fs-ext4
  --> installiert kmod-lib-crc16, kmod-fs-ext4
  # opkg install e2fsprogs
  --> installiert libpthread, libcom_err, libext2fs, e2fsprogs
  # opkg install fdisk
  # fdisk /dev/sda
  - o (create a new empty DOS partition table)
  - n (add a new partition table)
  -- p
  -- Partition number: 1
  -- First cylinder: default (1)
  -- Last cylinder: default (1018)
  - w (write table to disk and exit)
  # mkfs.ext4 /dev/sda1
# mkdir /usb
Mount beim Boot einrichten, ueber LuCI: Screen "System - Mount Points":
unbedingt async angeben, sonst ist der Schreibzugriff sehr langsam
- enable /dev/sda1 /usb ext3 rw,async
# reboot

6. Platz fuer zusaetzliche Pakete unter /opt auf USB bereitstellen
# mv /opt /opt.orig (falls es als noch als originales Verzeichnis existiert)
# ln -s /usb/opt /opt
# mkdir -p /usb/opt/lib
# mkdir -p /usb/opt/usr/lib

File /etc/opkg.conf ergaenzen mit:
dest opt /opt

File /etc/ld.so.conf ergaenzen mit:
/opt/lib
/opt/usr/lib

# opkg update
# opkg install ldconfig

File /etc/profile ergaenzen mit:
export PATH=/opt/bin:/opt/sbin:/opt/usr/bin:/opt/usr/sbin:$PATH

7. PHP Support installieren (noetig fuer knxweb)
# opkg install --dest opt libsqlite3
# opkg install --dest opt php5
# opkg install --dest opt php5-cgi
# ln -s /opt/etc/php.ini /etc

/etc/php.ini anpassen
doc_root =
cgi.force_redirect = 0

# uhttpd konfigurieren
File /etc/config/uhttpd ergaenzen mit
list interpreter        ".php=/opt/usr/bin/php-cgi"
# /etc/init.d/uhttpd restart

8. Zusaetzliche Pakete installieren
# mkdir -p /usb/pkgs
# cd /usb/pkgs
Zusaetzliche Pakete in /usb/pkgs ablegen: pthsem, eibd, eibd-utils, libesmtp, linknx
# opkg --dest opt install libopenssl
# opkg --dest opt install libcurl
# opkg --dest opt install libstdcpp
# opkg --dest opt install luac
# opkg --dest opt install pthsem_2.0.8-1_ar71xx.ipk
# opkg --dest opt install eibd_0.0.5-2011-03-06_ar71xx.ipk
# opkg --dest opt install eibd-utils_0.0.5-2011-03-06_ar71xx.ipk
# opkg --dest opt install libesmtp_1.0.4-2_ar71xx.ipk
# opkg --dest opt install linknx_0.0.1.31-1_ar71xx.ipk


# ldconfig
Kontrolle fuer eibd und linknx
# eibd --version
# linknx --version

8. rrd Tools mit Perl installieren
# opkg install perl
# opkg install perlbase-autoloader perlbase-config perlbase-essential perlbase-fcntl perlbase-integer
# opkg install perlbase-posix perlbase-tie perlbase-time perlbase-timelocal perlbase-xsloader perlbase-file
# opkg --dest opt install librrd rrdtool
# rm -rf /usr/share/rrdtool/fonts
# mkdir -p /usr/share/rrdtool
# ln -s /opt/usr/share/rrdtool/fonts /usr/share/rrdtool/fonts

# opkg install rrdcgi
# opkg install rrdcollect10
# opkg install rrdcollect10-example
# ln -s /usb/rrdcollect /var/lib/rrdcollect

Konfiguration aus Backup von /usb/rrdcollect/etc einrichten
# cp -p /usb/rrdcollect/etc/* /etc
# cp -p /usb/backup/etc/init.d/rrdcollect /etc/init.d
# /etc/init.d/rrdcollect enable

9. Installation xmail
# opkg install bzip2
# opkg install xmail
# /etc/init.d/xmail enable
# opkg --dest opt install mutt
# opkg --dest opt install procmail

Konfiguration einrichten:
/etc/config/xmail anpassen
# cp /usb/backup/etc/config/xmail /etc/config

# mkdir /usb/xmail
# cd /usb/xmail; bzip2 -dc /etc/MailRoot.tar.bz2 | tar xf -

Xmail little HowTo
Queuelog finden: find spool -type f | grep slog
Admin UI: telnet localhost 6017

10. knxweb einrichten
# opkg install bash
# ln -s /usb/knx/knxweb /www/knxweb
# ln -s /usb/knx/cgi/sysgraph-multi.cgi /www/cgi-bin
# ln -s /usb/knx/cgi/sysgraph-single.cgi /www/cgi-bin
# ln -s /usb/knx/cgi/sysgraph-singlesmall.cgi /www/cgi-bin

Erweiterung f&uuml;r knxweb2
# opkg install --dest opt php5-mod-json php5-mod-session php5-mod-simplexml php5-mod-sockets

/etc/php.ini anpassen:
short_open_tag = On
date.timezone = "Europe/Zurich"
extension_dir = "/opt/usr/lib/php"
extension=json.so
extension=session.so
extension=sockets.so
extension=simplexml.so



11. Backup einrichten
# crontab -l
5 6 * * * /usb/bin/backup.sh
# cat /usb/bin/backup.sh
#!/bin/sh

echo 'backup script'
tar cX /usb/bin/backup.exclude -f /usb/wrt1-backup.tar /etc/config /etc/init.d /root /usb

# ln -s /usb/wrt1-backup.tar /www/wrt1-backup.tar 

