Der Zeit voraus

Was ich schon seit 2009 mache, ist nun auch bei AVM auf der CeBIT 2011 angekommen: Heimautomation mittels CUL, CUN (Nachfolger: CUNO) und FHEM. Mit den Worten von AVM:

Cebit 2011: Hausautomatisierung

Hausautomatisierung mit FRITZ!Box — AVM zeigt mögliche Anwendungen

  • Mit FRITZ!Box steuern, regeln und messen
  • Internet-Zugangsgeräte als intelligente Schnittstelle zur Hausautomatisierung
  • Steuerung auch von unterwegs – über Internet oder Smartphone-Apps

Zur Cebit zeigt AVM erstmals FRITZ!Box-Einsatzmöglichkeiten bei der Hausautomatisierung. In Verbindung mit dem Open Source-Serverprojekt FHEM können so über die FRITZ!Box mit geeigneten Aktoren elektrische Verbraucher gesteuert, Messwerte erhoben und Regelvorgänge durchgeführt werden. Mit ihrem Rund-um-die-Uhr-Einsatz am Internetanschluss und als Herzstück des Heimnetzes eignet sich FRITZ!Box ideal für die Hausautomatisierung. Die Steuerung kann dabei automatisch, beispielsweise über programmierte Uhrzeiten, oder auch nutzeraktiv vom PC, Smartphone oder über das Internet erfolgen. […]

 

Ich bin ja mittlerweile ein Fan der AVM-Kistchen, und ich bin positiv überrascht, daß AVM sich ein OpenSource-Projekt für ihre CeBIT-Präsentation ausgeguckt hat. (An dieser Stelle Dank an »Skyscraper« für die Fotos von AVMs CeBIT-Stand.)
Und natürlich ist es legitim von AVM, ihre Boxen als Heimautomatisationszentrale anzupreisen — auch wenn dies schon vor Jahren von pfiffigen Tüftlern als Option gesehen wurde. Hinweisen an dieser Stelle sollte man allerdings darauf, daß FHEM auf so ziemlich jedem Perl-fähigen Gerät laufen kann (Windows eingeschlossen) und über netzwerkfähige Tranceiver wie z. B. CUN auch in komplexeren Umgebungen einsetzbar ist.
Denn Heimautomation mittels Funktechniken hat ein ähnliches Reichweitenproblem wie normales WLAN, die Fritzbox in der Nähe des Hausanschlusses im EG erreicht ggf. genausowenig die WLAN-Clients in 1. OG wie die an jene Fritzbox angeschlossenen USB-Tranceiver Aktoren dort.
Aber es ist jedenfalls interessant zu sehen, und als Mittüftler an FHEM macht es einen auch etwas stolz, daß eine Firma wie AVM ein OpenSource-Projekt wie FHEM und damit Hausautomatisation als weiteres Verkaufsargument hernimmt. Hab’ doch schon immer gesagt, das rockt! :-)

Yeah, Baby! (DVB-T, Seagate GoFlex Net)

Feb 22 20:17:45 GoFlex-1 kernel: usb 1-1: new high speed USB device using orion-ehci and address 6
Feb 22 20:17:46 GoFlex-1 kernel: dvb-usb: found a 'AverMedia AVerTV Volar Black HD (A850)' in cold state, will try to load a firmware
Feb 22 20:17:46 GoFlex-1 kernel: dvb-usb: downloading firmware from file 'dvb-usb-af9015.fw'
Feb 22 20:17:46 GoFlex-1 kernel: dvb-usb: found a 'AverMedia AVerTV Volar Black HD (A850)' in warm state.
Feb 22 20:17:46 GoFlex-1 kernel: dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
Feb 22 20:17:46 GoFlex-1 kernel: DVB: registering new adapter (AverMedia AVerTV Volar Black HD (A850))
Feb 22 20:17:46 GoFlex-1 kernel: af9013: firmware version:4.95.0.0
Feb 22 20:17:46 GoFlex-1 kernel: DVB: registering adapter 0 frontend 0 (Afatech AF9013 DVB-T)...
Feb 22 20:17:46 GoFlex-1 kernel: MXL5005S: Attached at address 0xc6
Feb 22 20:17:46 GoFlex-1 kernel: dvb-usb: AverMedia AVerTV Volar Black HD (A850) successfully initialized and connected.

Erreicht mit dem UBIT-Kernel (2.6.37-ubit-01981-g50c16ad) und passendem U-Boot auf dem schon mal gebrickten GoFlex Net (sowie passender DVB-T-Dongle-Firmware).
Jetzt kommt da noch VDR drauf und dann bin ich gespannt, ob der Marvell-Kirkwood-Chip es problemloser schafft, die DVB-Datenmengen auf die SATA-HDD zu schreiben als dies bei einer USB-HDD am Dockstar der Fall ist. (Beim Dockstar führen Festplattenzugriffe schnell zu Fehlern im DVB-Strom.) Falls ja, werde ich den Dockstar in GT mit 2x DVB-S2 durch einen GoFlex Net ersetzen — der ja auch »nur« noch um die 60,– EUR kostet.

O2 Joggler – erste Schritte

Ich habe mir aus UK einen o2 Joggler gefischt; das ist ein 2009 zu ca. £150 eingeführter und 2010 für £50 abverkaufter Intel-Atom-basierter Touchscreen-Computer, Linux-based und easy hackable.
Das (erste) Exemplar, welches ein Ex-Kollege mir freundlicherweise direkt mitgebracht hat – Briten versenden nur ungerne nach »Übersee« wie es scheint :-( –, war ein Demo-Gerät, welches nicht mit der orginalen o2-Software lauffähig sein sollte und dafür mit einem USB-Stick daherkam, von der der Joggler Ubuntu Netbook-Remix bootet. Das kommt mir insofern entgegen, als daß mit der o2-Software hier in Deutschland kaum ein Staat zu machen sein wird — die »neue Kühlschranktür« dürfte kaum vollumfänglich hier nutzbar sein:

Überprüfen kann ich’s leider nicht, die orginale Software scheitert an irgendeinem Verbindungsaufbau. Interessanterweise ist eine IMEI-Nummer auf das Gerät geklebt, obwohl es ein reines Ethernet- oder WiFi-Gerät ist. Wird wohl eine virtuelle IMEI sein, denn ursprünglich sollte der Joggler an o2-Telefone (in UK) SMS versenden können …
Naja, mir geht’s beim Joggler mehr darum, einen kleinen, multifunktionalen Linuxrechner mit Eingabemöglichkeit zu haben, sei es als VDR- und Sequeezecenter-Client, FHEM-Frontend, …

Nach ein paar Umwegen läuft der VDR-Client (vdr-sxfe) jetzt einigermaßen auf dem schnuckeligen Kästchen. Benutzte Software:

Was noch nicht richtig tut: bei Fullscreen-Darstellung wird das Bild nicht auf die 800×480 Pixel skaliert sondern auf irgendwas Kleineres bei 16:9; 4:3 hingegen wird dann leider unten abgeschnitten. Außerdem fehlt (noch) eine sinnvolle Touchscreen-Bedienung für vdr-sxfe, denn die Onscreen-Tastatur überdeckt weite Bereiche des Bildes; vielleicht läßt sich da was mit Gestenkontrolle machen, es gibt da lustmachende Videos:

Leider habe ich weder dieses XBMC oder den Gestendienst gefunden, und auch die für den Joggler angepaßte XBMC-Version, die PVR-Funktion bietet, bleibt bislang verschollen. »Für den Joggler angepaßt?«

Ja, der Joggler baut auf Intel GMA500 auf, der spezielle (Kernel-) Treiber benötigt, einige Dinge nicht kann und anders als nVidia-Embedded-Grafiklösungen auch kein VDPAU beherrscht. Die VA-Variante (libva statt libvdpau) wird wohl zum Teil unterstützt, aber dies ist wiederum softwareseitig bei Linux und den einschlägigen Libraries noch nicht angekommen (lies: nicht für vdr-sxfe

Für die ersten Schritte ist das – für mich – erst einmal OK, da ich nun nicht nur am Schreibtisch oder der (mitgemieteten) alten Röhre TV gucken kann, sondern auch am Nachttisch — der VDR-Server zu Hause macht’s möglich. HD-Inhalte allerdings bringen nur Probleme, da fehlt einfach das HD-Decoding per Grafikchip, keine Ahnung, inwiefern da noch Hoffnung beim GMA500 besteht. (Da HD eh’ auf die 800×480 Pixel der nativen Auflösung runtergerechnet werden

ist der Sinn von HD hier natürlich eh’ fraglich — wenn man aber Aufzeichnungen in HD vorliegen hat, wäre es schon schön, würde die Joggler-Hardware runterskalieren können.)
Ein weiteres nettes Feature ist in meinen Augen die Squeezeplay-Anpassung für den Joggler, die vom Touchscreen Nutzen zieht, man kann seine Musik also am Gerät selbst auswählen, per Bildschirmberührung. Die ersten Versuche liefen erfolgreich, und meinen SqueezeCenter-Server im LAN fand Squeezeplay auch sofort; nur wie das später in Berlin über’s VPN laufen wird, erschließt sich mir noch nicht. Bei Squeezslave gebe ich das Zielsocket des SqueezCcenters an, ob das bei Squeezeplay auch geht, weiß ich (noch) nicht — habe zwar eine Einstellmöglichkeit gefunden, aber ob das dann auch über geroutetes VPN geht, werde ich heute abend sehen … (Update: Tut tadellos.) Aber die Steuerung via Android-App klappt ;) Cool runnings!

Hermes: auch im Ausland nicht zu empfehlen …

Ich habe mir aus der Bucht o2 Joggler gefischt, ein Verkäufer bestand auf Lieferung nur nach England, also habe ich mit einem Ex-Kollegen, der am 16.02.11 sowieso nach DE kommen wollte, vereinbart, daß ich es an mich c/o seine Adresse in (der Nähe von) London schicken lasse (und er mir das Paket dann mitbringt). Eine Woche, das reicht eigentlich für jeden Lieferdienst — außer Herpes:

Date/Time Event Extra Details
17/02/2011 05:35:00 Out For Delivery DEP 86
16/02/2011 12:28:13 Out For Delivery COU
16/02/2011 10:14:00 Carried Forward COU
15/02/2011 09:07:17 Courier Received COU
14/02/2011 04:35:00 Out For Delivery To Courier DEP 86
14/02/2011 04:34:00 Out For Delivery DEP 86
14/02/2011 00:00:00 Processed at Depot DEP 86
13/02/2011 22:18:00 Receipt at Depot DEP 86
13/02/2011 10:16:00 Hub Trailer Via Sorter HUB 05
13/02/2011 10:15:00 Hub Sorter Receipt Scan HUB 05
11/02/2011 12:34:00 Return – Processed By Depot DEP 90
11/02/2011 12:33:00 Received by myhermes DEP 90
10/02/2011 10:45:00 Collected COU
10/02/2011 02:33:00 Pick-Up Request Manifested DEP 90
09/02/2011 22:30:33 Order Generated

Leider zu spät; am 16.02. war da niemand mehr; ich hoffe, der Lieferdienst versucht’s am Montag noch mal … Ein zweites, einen Tag vorher von einem anderen Händler mit einem anderen Dienst (Royal Mail, IIRC; hab leider keine Tracking-Daten) an jene Adresse versandtes Paket konnte ich am Mittwoch abend persönlich in Empfang nehmen … denn es war nur 2 Tage unterwegs.
Daß es auch anders geht, zeigt ein weiterer Fang:

Your item, posted on 17/02/11 with reference RJ…GB has been passed to the overseas postal service for delivery in GERMANY.

 
Donnerstag zur Post gebracht, Freitag schon auf dem Weg nach D — tja, mit Royal Mail kein Problem …

Entertain vs VDR

Nachdem, bedingt durch den (geschenkten) neuen Receiver, ich mich grade wieder mehr mit Entertain auseinandersetze, habe ich mal kurz niedergeschrieben, was aus meiner Sicht die Vor- und Nachteile der »Personal-Video-Disk-Recorder«-Lösungen VDR – in Form der fertigen yaVDR-Distribution – und Entertain von der Deutschen Telekom sind. Kommentare erwünscht ;)

Feature

yaVDR Entertain
FreeTV

ja (DVB-C/S/T oder IPTV) ja (Basisprodukt)
PayTV

jain; technisch ja, oft anbieterseits nicht erlaubt ja, eingeschränkt (derzeit kein HD+ und Sky)
Programmierung per Web-Frontend ja (vdr-live) ja (Webseite der Telekom)
Video on Demand nein (AFAIK) ja (videoload)
Wiedergabe vom Medienserver (LAN) möglich derzeit nicht möglich
Wiedergabe von DVD/BD jein (sofern Laufwerk vorh. und legal nur unverschl. Medien) nein
Aufnahmekapazität mit NFS/SMB: unbegrenzt, sonst: lokale Platte abh. von Platte des Receivers
Archivierung/ext. Speicherung von Aufnahmen ja nein
Timeshift/Schnitt ja/ja ja/nein
Aufnahmeordner z. B. für Serien ja nein (AFAIK)
Suchtimer, z. B. alle »tagesschau« möglich (1 Sender, alle Sender, Sender von X bis Y) möglich (nur 1 Sender)
Eigene Programmreihenfolge ja, per OSD ja, per OSD
Anforderung ans LAN keine Multicast (IGMP V3) von DSL-Router bis Media-Receiver
Kosten Receiver mit >= 250 GB HDD ca. 400 EUR (Acer Nettop plus 2x DVB-S2) ca. 300 EUR (MR303 als Kauf; zur Miete: ca. 5,–/Monat)
Kosten TV-Empfang DVB-S/T: frei, DVB-C: abh. v. Kabelanbieter 10,– monatlich zzgl. zum Telekom-DSL-Anschluß
Weitere Möglichkeiten neben reinem Fernsehen
  • Bildschirmtelefon (+USB-Cam & Boxen)
  • Webbrowsing (Firefox, Flash)
  • YouTube
  • Mediatheken von ARD, ZDF, …
  • Derzeit nur Zugriff auf VoD per videoload

Gut, der Vergleich hinkt evtl. etwas; für die Fernbedienung eines VDR wird’s dann ggf. nämlich haarig, wenn man auch Browsing/YouTube nutzen will. Derzeit bietet yaVDR keine Onscreen-Tastatur, d. h. Eingaben für Firefox & Co. sind »irgendwie« über eine Tastatur und die Mauszeigersteuerung muß ebenfalls über einen (drahtlosne) Mausersatz erfolgen. (Bei mir ist es die Linkx4Media-IR-Tastatur samt USB-Empfänger; ein BT-Keyboard würde es genauso tun, und zur Masusteuerung könnte man eine Wii-FB nehmen …)
Andererseits stört kein Multicast-Verkehr das heimische LAN. Hintergrund: als ich Entertain in Betrieb nahm, der Router steht im Keller, flogen mir meine WLAN-Accesspoints um die Ohren, da sie mit dem Multicast-Traffic nicht klarkamen (MC ist auf IIRC 2 MBit/sec bei 802.11g begrenzt; ein Entertain-Kanal hat mindestens 4 MBit/sec, ARD HD kanpp 9). Lösung für mich waren VLAN-fähige Switche und eine Netzumbau, sodaß Entertain nun ein einem eigenen VLAN läuft.

Tablets: Anforderungen an die Benutzerschnittstelle

Nachdem gestern HP sein »TouchPad¹« vorgestellt hat, ich mein Android 2.1-Telefon Motorola Milestone auf Android 2.2 gebracht habe und vorgestern mich kurz mit Christian ( @_refugee_ über (Android-) Tablets, Honeycomb und überhaupt ausgetauscht habe, ein paar Gedanken zu Handys, Tablet und so weiter …
Bislang – ich habe zugegebenermaßen keinen tiefschürfenden Gedanken mir bisher über dies Thema gemacht –, war ich der Ansicht, daß es ausreichte, ein von der Hardware her potentes Tablet mit gutem Touchscreen (kapazitiv, hinreichend hell) und Android 2.2 als Wohnzimmer-Surfdingens zu haben — nach mehr steht mir eigentlich nicht der Sinn. Statt des antiquirten Netbooks (antiquiert in OS (Windows XP), Rechenleistung (Atom Gen. I) und Bedienoberfläche (Keyboard, Touchpad, LCD)) würde sich ein Tablett als Surfstation gut machen, allerdings müßten alle real-existenten Inhalte – lies: Flash –, abrufbar sein. (Hier scheidet Apple-HW das erste Mal aus. Nur, falls wieder wer »iPad!« rufen wollte ;->)
Mittlerweile sehe ich das leicht anders. Nicht, daß Android 2.2 schlecht(er) wäre (als pre-2.2), eher im Gegenteil. Aber es bringt sichtbar nur marginale Änderungen und Verbesserungen gegenüber 2.1, einiges davon war auch schon nach 2.1 Update 1 zurückgeflossen. Naja, das stimmt nicht ganz: Andorid 2.2 ist (neben ausreichend potenter Hardware) Voraussetzung, will man Adobe Flash abspielen. Insofern ist die Frage 2.2 oder nicht schon eine, die über ein paar UI-Anhübschungen hinausgeht.
Aber eines hat mir die Misere mit Motorola und dem seit Juni 2010 seitens Motorola nicht erfolgten Update auch klar gemacht: ohne einen klaren Upgradepfad seitens des Herstellers ist man mit einem Android-Gerät Stand heute nach wie vor gekniffen — und es zeichnet sich irgendwie kein Weg ab, daß sich dies bessert.
In Analogie zu Flash – einer resourcenverschwendenden, überholten, leider auch extrem verbreiteten Technologie, Videos im Web zu übertragen –, bietet auch Android 3.0 dann doch etwas, was eher zu einem wichtigen Aspekt werden dürfte. Denn wenn auch Android-Anwendungen, die für ein Telefondisplay (das heißt bei Android derzeit bis ca. 800×480 Bildpunkten) gedacht waren, in der Regel auf existenten pre-3.0-Tablets laufen (z. B. dem Samsung Galaxy Pad): aus der größeren Fläche ziehen sie in der Regel keinen Nutzen. Insofern ist ein Tablet mit Telefon-Firmware nur die halbe Miete — das haben sowohl HP/Palm als auch Google früh erkannt:

Sicherlich, man kann Google Mail und andere Anwendungen auch auf einem 600×1024-Display nutzen, halt nur etwas größer gezogen als auf den 320×480 oder 480×800 Pixeln eines Telefons. Aber viel mehr Sinn machte es natürlich, den Raum auch dynamisch zu nutzen, also in einer Anwendung auf 320×480 z. B. Mail wie bisher darzustellen, bei 800×480 (Landscape-Modus, »besseres Telefon«) vielleicht zweispaltig zu werden und bei 1280×800 dann gar dreispaltig oder wie-auch-immer es für die Anwendung sinnvoll wäre. Für Android kommt Unterstützung hierfür mit Version 3.0; und insofern macht es wohl doch Sinn, noch etwas mit der Anschaffung eines Surf-Tabletts zu warten, falls nicht eine – zur Wandlung bei Nichteinhaltung berechtigende – herstellerseitige terminliche Zusage für ein Upgrade auf 3.0 vorliegt (oder man auf die Custom-ROM-Szene wie hier setzen will).
Sein volles Potential, da gebe ich Christian mittlerweile recht, spielt ein Servieruntersetzer-Androide dann doch erst mit Honeycomb aka 3.0 und entsprechenden Apps aus (zu denen auch ein entsprechedne Browser gehörte) … Also gespanntes Abwarten, was denn so nächste Woche in Barcelona präsentiert wird — und mit welchen Terminen und Preisen.
___

¹ Jetzt mal ernsthaft, wie kann man einem Touchscreen-Tablet² als Markennamen etwas auf den Weg geben, was seit 10+ Jahren ein etablierter Begriff für ein Bedieninstrument bei Laptops ist? Ich zitiere:

Der Begriff Touchpad [ˈtʌtʃˌpæd] bzw. Tastfeld bezeichnet eine berührungsempfindliche Fläche, die beispielsweise als Maus- und Tastenersatz in Notebooks meistens unterhalb der Tastatur angebracht sein kann. [..]

 
² HP TouchPad

Hardwarefreak

Ich gestehe, ich bin ein bißchen verrückt.
Verrückt nach »hackable Hardware«, was aber primär der lausigen Firmware ansonsten potenter Hardware geschuldet ist.
Ich weiß nicht, was ich in einer Welt machen würde, die nicht dank BSD-Lizenz, GPL und Linux den Weg genommen hätte, den diese, in der ich existiere, genommen hat; vielleicht wäre ich tatsächlich Gärtner geworden … In dieser Welt allerdings reizt es mich, meine Vorstellung davon, wie Gadgets funktionieren sollten, auch umzusetzen. Auch im Rahmen von Trial and Error wie jüngst beim InfoFrame; nicht jedes geekige Gadget paßt in jede Lebensituation ;-)
Nun denn, auf der Suche nach sinnvollerer Hardware für »meinen« Infoframe bin ich einerseits auf den Insignia Infocast 8″ gestoßen, quasi ein »Chumby on Speed« (schnelle ARM-CPU, 800x480er Display) – über einen Bekannten, der mir auch schon meinen Pink PogoPlug besorgte, sollte ein Testmuster diese Woche in D erscheinen –, sowie jüngst auf den leider schon ausverkauften O2 Joggler – ein grade aus der Bucht gefischtes Exemplar bringt ein (Ex-) Kollege hoffentlich nächste Woche nach Berlin. Denn, bei aller Liebe, ein interaktionsloser Bilderrahmen an der Wand ist doch eher lame.
Das mit der Diashow und der permanenten Zeitanzeige ist schon mal nett. Hinweise per Einblendung, wie z. B. das das Terrarium wieder der täglichen kurzen Aufmerksamkeit bedarf, sind praktisch. Aber einen Kalender möchte man ggf. jetzt einsehen und nicht Minuten auf die vorgefertigte Grafik warten. Die Schaltzeiten der Terrariumswärmequellen möchte man direkt beeinflussen könne und nicht erst den Webbrowser auf dem Netbook starten. Die Squeeze Center-Infrastruktur möchte man ggf. an einem festen Ort bedienen können und nicht nur von grade abwesenden/leeren Androiden oder eben dem Netbook (via Web-UI).
Mal sehen, was sich davon auf Joggler (Atom-, also x86-based) und Infocast (ARM-based) wird umsetzen lassen; insbesondere hoffe ich ja, daß der Joggler sich als VDR-Frontend bewähjren könnte, das hätte definitiv was …
Und in der Zwischenzeit, wärend ich mit jener Hardware rumspiele, mag bitte das gemeine Android-Tablet mit jenseits 800 MHz, HW-Beschleunigung für Grafik und Android >2.1 auf um die 100 EUR sinken, dann kann man sowas auch guten Gewissens in der Küche liegen lassen (wo es ggf. verwechselt wird mit einem hitzebständigen Untersetzer :->) ….

OpenVPN mit der FritzBox …

Da es jemand »für einen Bekannten« nachfragte und the-construct.com abgeschaltet wurde (und der Betreiber sich leider auch sich nicht mehr meldet, obwohl es Angebote gibt, den Kram weiterlaufen zu lasssen), hier kurz die Schritte und Tools, um DropBear (SSH-Server) und OpenVPN auf ‘ner FritzBox der 71er-Klasse an den Start zu bringen. Ich hab’s seinerzeit über sog. Pseudo-Images von the-contruct.com gemacht, da gab’s dann ein Webfrontend, welches ein tar zusammenpackte, welches man über’s Web-IF hochladen konnte und, welches dann über /var/flash/debug.cfg den Kram rebootfest implementierte. Idealerweise rennt der Kram vom USB-Stick, aber wenn man den nicht hat, tut’s ggf. auch der Webspace …

# cat /var/flash/debug.cfg
#!/bin/sh
LED_DEVICE=/proc/led_mod/led
if [ ! -f /proc/led_mod/led ] ; then
LED_DEVICE=/var/led
echo "set led: ${LED_DEVICE}"
fi
# start internet phone led flashing
echo "set internet phone led to blink (modul=14, state=3)"
echo 14,3 > ${LED_DEVICE}
# check kernel version
KERNEL_VERSION=`uname -r | grep 2.6`
if [ -z "${KERNEL_VERSION}" ]
then
KERNEL_VERSION="linux24"
ETHERWAKE="etherwake"
else
KERNEL_VERSION="linux26"
ETHERWAKE="ether-wake"
fi
# init busybox var
BUSYBOX="/bin/busybox"
# wait to be able to interrupt in case of emergency
sleep 15
if [ -z "$(busybox | grep telnetd)" ]
then
while !(ping -c 1 0xdecafbad.net)
do
sleep 5
done
# check if file already exists
if [ ! -f /var/tmp/busybox ]
then
wget -qO /var/tmp/busybox http://0xdecafbad.net/${KERNEL_VERSION}/busybox
# make it executable
chmod +x /var/tmp/busybox
fi
# set busybox var
BUSYBOX="/var/tmp/busybox"
fi
# start telnet deamon with password of web gui
#${BUSYBOX} telnetd -l /sbin/ar7login
# load VPN-Server (OpenVPN)
# create tun-device
mknod /var/tmp/tun c 10 200
# write 'secret.key' to file
cat > /var/tmp/secret.key << 'ENDSECRETKEY'
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
[Keyfile-Daten hier her]
-----END OpenVPN Static key V1-----
ENDSECRETKEY
# write 'server.ovpn' to file
cat > /var/tmp/server.ovpn << 'ENDSERVERCONF'
dev tun0
dev-node /var/tmp/tun
ifconfig 192.0.2.1 192.0.2.6
secret /var/tmp/secret.key
proto udp
remote 192.168.178.4
port 1199
tun-mtu 1500
#keepalive 10 60
verb 4
mssfix
route 192.0.2.0 255.255.255.248
route 192.0.2.0 255.255.255.0
ping 15
ping-restart 60
resolv-retry 60
persist-tun
persist-key
daemon
ENDSERVERCONF
cat > /var/tmp/uu.ovpn << 'ENDSERVERCONF'
dev tun1
dev-node /var/tmp/tun
ifconfig 192.168.4.14 192.168.4.15
secret /var/tmp/secret.key
proto udp
remote 1.2.2.3
port 4711
tun-mtu 1500
fragment 1300
#keepalive 10 60
verb 4
mssfix
route 192.168.4.0 255.255.255.0
ping 15
ping-restart 60
resolv-retry 60
persist-tun
persist-key
daemon
ENDSERVERCONF
# try to load files from USB drive
#for f in /var/media/ftp/*
#do
# if [ -f ${f}/files/${KERNEL_VERSION}/openvpn ]
# then
# echo "copy ${f}/files/${KERNEL_VERSION}/openvpn"
# cp ${f}/files/${KERNEL_VERSION}/openvpn /var/tmp/openvpn
# fi
#done
# check if file already exists
if [ ! -f /var/tmp/openvpn ]
then
# wait for server
while !(ping -c 1 0xdecafbad.net)
do
sleep 5
done
# load files
wget -qO /var/tmp/openvpn http://0xdecafbad.net/${KERNEL_VERSION}/openvpn
fi
# make them executable
chmod +x /var/tmp/openvpn
chmod 0600 /var/tmp/server.ovpn
chmod 0600 /var/tmp/secret.key
# start OpenVPN, add route via Internet Link
/sbin/route add 1.2.2.3 dev dsl
/var/tmp/openvpn --config /var/tmp/server.ovpn
/var/tmp/openvpn --config /var/tmp/uu.ovpn
# load SSH-Server (dropbear) and etherwake
# CONFIGURATION
# SSH
# port
dropbearport="22"
# password
PASSWD='[real PW (MD5?) here]'
# Etherwake
# MAC address
wolmac="01:23:45:67:89:AB"
# interface to use for WOL
# intf = std - ata
# eth0 = LAN1 - WAN
# eth1 = LAN2 - LAN1
wolinterface="eth0"
# CONFIGURATION END
# try to load files from USB drive
#for f in /var/media/ftp/*
#do
# if [ -f ${f}/files/${KERNEL_VERSION}/dropbear ]
# then
# echo "${f}/files/${KERNEL_VERSION}/dropbear"
# cp ${f}/files/${KERNEL_VERSION}/dropbear /var/tmp/dropbear
# fi
#
# if [ -f ${f}/files/${KERNEL_VERSION}/sftp-server ]
# then
# echo "${f}/files/${KERNEL_VERSION}/sftp-server"
# cp ${f}/files/${KERNEL_VERSION}/sftp-server /var/tmp/sftp-server
# fi
#done
# check if file already exists
if [ ! -f /var/tmp/dropbear ]
then
# wait for server
while !(ping -c 1 0xdecafbad.net)
do
sleep 5
done
# load files
wget -qO /var/tmp/dropbear http://0xdecafbad.net/${KERNEL_VERSION}/dropbear
fi
# check if file already exists
if [ ! -f /var/tmp/sftp-server ]
then
# wait for server
while !(ping -c 1 0xdecafbad.net)
do
sleep 5
done
# load files
wget -qO /var/tmp/sftp-server http://0xdecafbad.net/${KERNEL_VERSION}/sftp-server
fi
if [ ! -f /var/tmp/busybox ]
then
# try to load files from USB drive
# for f in /var/media/ftp/*
# do
# if [ -f ${f}/files/${KERNEL_VERSION}/busybox ]
# then
# echo "${f}/files/${KERNEL_VERSION}/busybox"
# cp ${f}/files/${KERNEL_VERSION}/busybox /var/tmp/busybox
# fi
# done
# check if file already exists
if [ ! -f /var/tmp/busybox ]
then
# wait for server
while !(ping -c 1 0xdecafbad.net)
do
sleep 5
done
# load files
wget -qO /var/tmp/busybox http://0xdecafbad.net/${KERNEL_VERSION}/busybox
fi
fi
# make them executable
chmod +x /var/tmp/busybox
chmod +x /var/tmp/dropbear
chmod +x /var/tmp/sftp-server
# set busybox var
BUSYBOX="/var/tmp/busybox"
# change root password
${BUSYBOX} sed -e "/root:/s#^root:[^:]*:#root:${PASSWD}:#" -i /var/tmp/shadow
# create symlink for dropbearkey
ln -s /var/tmp/dropbear /var/tmp/dropbearkey
${BUSYBOX} uudecode -o /var/tmp/dropbear_rsa_host_key << 'RSA'
begin 600 /var/tmp/dropbear_rsa_host_key
[UUENCODED data here]
end
RSA
${BUSYBOX} uudecode -o /var/tmp/dropbear_dss_host_key << 'DSS'
begin 600 /var/tmp/dropbear_dss_host_key
[UUENCODED data here]
end
DSS
# start dropbear
sleep 60
/var/tmp/dropbear -p ${dropbearport} -r /var/tmp/dropbear_rsa_host_key -d /var/tmp/dropbear_dss_host_key
# create simplified WOL script
echo "${BUSYBOX} ${ETHERWAKE} -i ${wolinterface} ${wolmac}" > /var/tmp/startpc
# make it executable
chmod +x /var/tmp/startpc
# stop internet phone led flashing
echo 14,1 > ${LED_DEVICE}
# /var/tmp/busybox uname -a
Linux fritz.fonwlan.box 2.6.13.1-ohio #1 Wed Jan 27 13:20:43 CET 2010 mips unknown
# set | grep CONFIG_VERSION
CONFIG_VERSION='04.80'
CONFIG_VERSION_MAJOR='29'
# 

Ja, die echten Keys, Passwörter, IPs usw. habe ich verändert :-) Ja, ich verwende hier zwei OpenVPN-Tunnel, einen initial zu einem Asterisk-Server, der hier im LAN stünde (Route über FB-Oberfläche gesetzt bzw. gleiches Netz), und einen im Internet. Und ACHTUNG: /var/flash/debug.cfg nur mit »cat« beschreiben, also »cat /var/tmp/my-file >/var/flash/debug.cfg« — standard disclaimers apply; your mileage may vary; no liability assumed; following the steps shown here might void your warranty, ruin you sex life, kill your dog or make you unhappy in other ways …
Short: works for me, credits go to the creator of the-construct.com … Alles klar? ;)

Linux und Alzheimer

So, ein Wermutstropfen hängt da noch in der Luft; meine neue ‘Access-Fritzbox’ soll, natürlich, einen Fernwartungszugang per SSH über OpenVPN bekommen, so, wie es die anderen drei Boxen, die ich betreue, auch haben (Mental Note: für Berlin muß ich das noch nachrüsten).
Ist ja recht simpel, insbesondere bei der »Speed!Box« W701V, sprich der abgespeckten 7170 ohne USB: die – noch auf the-construct.com-Vorarbeit basierende – /var/flash/debug.cfg lädt aus dem Netz ‘ne neue busybox, ‘n openvpn-Binary usw., erstellt die Konfigfiles und startet dann OpenVPN als auch einen DropBear-SSH-Server …
Eigentlich easy going, aber:

Feb 6 03:47:35 azrael openvpn[5223]: Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #9 / time = (1296960344) Sun Feb 6 03:45:44 2011 ] – see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings

Tja, mein OpenVPN-Server scheint zu alzheimern, denn:

root@azrael.uu.org:/etc/openvpn # grep "Peer Connection Initiated with" /var/log/messages | tail -6
Feb 6 03:42:44 azrael openvpn[5223]: Peer Connection Initiated with 7.2.2.5:61091
Feb 6 03:43:44 azrael openvpn[5223]: Peer Connection Initiated with 7.2.2.5:12042
Feb 6 03:44:45 azrael openvpn[5223]: Peer Connection Initiated with 7.2.2.5:61091
Feb 6 03:45:44 azrael openvpn[5223]: Peer Connection Initiated with 7.2.2.5:12042
Feb 6 03:46:44 azrael openvpn[5223]: Peer Connection Initiated with 7.2.2.5:61091
Feb 6 03:47:46 azrael openvpn[5223]: Peer Connection Initiated with 79.236.242.50:12042

Eigentlich laufen über diesen Link zwei OpenVPN-Verbindungen. Eine orginiert von der FB zu IP1:Port1 (Port1 = 12042), ferner sendet der DockStar seinen Tunnel zu IP2 (gleicher Host wie IP1 allerdings), Port2 (der oben nicht auftaucht, was am NAT liegen mag).

root@azrael.uu.org:/etc/openvpn # netstat -antup | grep 5223
udp 0 0 1.2.2.30:12042 0.0.0.0:* 5223/openvpn

Schon komisch, da sendet der OpenVPN-Daemon auf dem DockStar das an IP2:Port2, aber lt. Logfile kommt es beim Prozeß an., der auf IP1:Port1 lauscht. Noch spannender ist ein tcpdump, denn der zeigt eigentlich nur Pakete bei IP2:Port2 eingehend – ebenfalls für beide Verbindungen.
Nun ist der VPN-Server eine VMWare-Instanz, aber bislang gab es diesbezüglich angenehmerweise grade keine Probleme in dem Bereich …
Na, ich werde mal ‘ne Mütze voll Schlaf drüber nehmen — und vielleicht morgen den Reboot für den sauberen Stand wagen ;-)

T-Entertain, mein Netz und die Fritzbox

(Blogged via flickr)

Nachdem ich seit des Ersatzes des P3-Museumsstücks als OpenVPN-Router durch einen Dockstar mit Multicast, genauer dem igmpproxying, Probleme hatte und daher T-Entertain nicht mehr nutzte, habe ich den Samstag genutzt, eine FB als DSL-/PPPoE-Router abzustellen (Schema F, habe ich in Berlin ja auch), das heimischen Netz hinter dem OpenVPN-GW zu versammeln und für Entertainer ein eigenes VLAN über die Etagenswitche zu spannen.
Der Plan war/ist, daß das Netz hinter der FB eine Art DMZ darstellt, hierin kommen T-Entertain-Geräte und ggf. PS3/Wii. Das ist ein VLAN, welches möglichst nur direkte Ports anspricht, da Multicast sonst schon mal Trouble macht (z. B. wenn’s auf dem WLAN landet – da geht dann nix mehr).
Konkret sind’s vier VLANe; 3 ist das zwischen Speedport 300 HS (VDSL-Modem; auf eth0, untagged, ist es auf 192.168.1.99 ansprechbar (Status, Webfrontend und telnet); getaggte VLANs 7 (PPPoE) und 8 (DHCP) laufen über eth0 mit). Um die ‘Speedbox’ (SP701V auf 7170 speed2fritzt) nutzen zu können, habe ich VLANs 7 und 8 als markierte ins VLAN 3 (PVID) hinzugenommen. Per Internet über Port 1 klappen sowohl PPPoE-Einwahl als auch IPTV – im Prinzip.
Der X301T allerdings stellt nach ca. 5 Minuten den Empfang ein, scheint wieder ein Multicasting-Thema zu sein. Nur: warum geht MC ca. 5 Minuten und bricht dann ab?
An einem anderen Anschluß hat meine 7270 als Ersatz für einen karpottgegangenen SP W503V (AVM) problemlos funktioniert; daher denke ich mal, auch die 7170 bekommt das hin, zumal das ja ein »beworbenes« Feature ist. Any hints and tips appreciated …

Kamera: Nokia N900 (Brennweite 5.2mm, f/2.8)