Jubiläum: 20 Jahre Homepage wenzlaff.de!

Heute vor 20 Jahren, am 1.12.1998 ging die Domain wenzlaff.de zum ersten mal ans Netz. Wie die Zeit vergeht.

Es war eine statische Webseite mit Freeware und Sprüche Datenbank mit Newsletter und einigen C++ und Java Programmen zum kostenlosen Download aus meiner Hand. Hier ein etwas unvollständiges Bildschirmfoto, mehr habe ich leider nicht mehr gefunden:

Aber auch schon lange vor dieser Zeit, hatte ich eine Homepage, die aber dann auf den Servern der UNI-Bremen kostenlos gehostet wurde. Da hatte ich als Informatiker einen Zugang mit Akustikkoppler mit 300 Baud und Lochkarten hatten wir da auch noch. Das war wenigstens etwas zum anfassen, batches mit Lochkarten schreiben, cool!

Und es gab keine Werbung im Internet.

Die schöne alte Zeit. Und in der Zwischenzeit gab es immer mal neue Technologie. Vom statischen html zum xhtml und JavaScript über einen eigenen Java html Generator mit Templates bis heute zu den Content-Management-System mit eigener Datenbank.

Bis heute konnte ich auch auf dieser Webseite immer auf Werbung verzichten. Juhu …

Wie soll es weiter gehen? Gibt es noch Themen nach über 1000 Beiträgen? Ideen habe ich noch genug, was fehlt ist die Zeit!

In diesem Sinne, vielen Dank an alle Leser und für das viele Feedback (die über 1000 Kommentare mit Kommentarfunktion habe ich ja abgeschaltet…DSGVO läßt grüßen) das auch nach wie vor erwünscht ist, aber eben über E-Mail 😉

Thanks Mindmap
Danke Mindmap

OpenWrt: Wie kann mit Luci Chaos Calmer 15.05 RC2 auf einem TP-WR703N Router installiert werden?

Seit gestern gibt es eine neue Version von Chao Calmer. Hier mal der orginal Hinweis zu dem RC2:

„This is the second release candidate of the upcoming stable version Chaos Calmer 15.05. Keep in mind that the RC version is not the final release yet, it is available here for testing and refinement purposes.“ Ok, das will ich mal testen. Ob es auf einem TP-WR703N läuft? JA! Soll auch schon den Treiber für Raspberry Pi 2 enthalten.

Wie kann die aktuelle Firmware Chaos Calmer 15.05 RC2 von OpenWrt auf einem TP-WR703N installiert werden? Auf Raspberry Pi 2 kommt dann später.

Wie hier schon mal beschrieben. Also zuerst die Firmware runterladen und über Luci installieren. Zuerst ein backup anlegen.

Dann klick auf Durchsuchen, und die …squashfs-sysupgrade.bin Datei hochladen mit klick auf Flash image:

Luci update

Klick auf Proceed, wenn Checksumme ok:

Luci update

Ein paar Minuten warten:
Luci update

Nach einem reboot steht die neue Chaos Calmer Version bereit:

OpenWrt login

OpenWrt Barrier Breaker 14.07: Wie kann Dump1090 auf einem TP-WR703N Router unter OpenWrt zum Airplanespotting installiert werden?

Hatte noch einen TP-WR703N rumliegen. Wenn dort die aktuelle Version von OpenWrt (14.07) installiert ist, geht es mit LuCI sehr schnell.

Auf die Seite System – Software gehen. Im Filter dump1090 eingeben und auf Find package klicken. Dann unten mit klick auf Install das fertige Package installieren.

Luci OpenWrt „OpenWrt Barrier Breaker 14.07: Wie kann Dump1090 auf einem TP-WR703N Router unter OpenWrt zum Airplanespotting installiert werden?“ weiterlesen

Wie kann die neue OpenWrt Version Barrier Breaker 14.07 auf einem TP-WR703N und anderen installiert werden?

Vor 6 Wochen, genau am 2.10.2014 wurde die Version Barrier Breaker 14.07 von OpenWrt veröffentlicht.

Nach einem Jahr, gibt es nun eine neue Version mit vielen Updates (Linux kernel updated to version 3.10…) und Sicherheitsupdates (Security updates for OpenSSL & PolarSSL, fixes for packages depdending on curl, ix a long standing ath9k deadlock bug…), die Liste ist lang.

Nun ist es an der Zeit, den Router TP-WR703N von Version 12.09 auf 14.07 upzudaten. OpenWrt läuft auf vielen Routern, die Anleitung gilt dann genauso, nur muss einen andere Firmware Datei hochgelagen werde.

Das ganze ist in ca. 15 min unter der Gui von LuCI 0.11.1 wie folgt zu tun:

1. Anmelden an LuCI

Luci Anmeldung… und (optional) vorhandenen Status und Version ausgeben. Dazu auf Status – Übersicht gehen:
Status Übersicht

2. Sicherung anlegen

Auf System – Backup / Firmware Update gehen und einmal auf „Sicherung erstellen“ klicken. Es wird eine Sicherungsdatei erstellt, für alle Fälle.
Sicherung Openwrt

3. Updaten

Auf der System – Backup / Firmware Update gehen und den Haken bei „Konfiguration behalten“ setzen. Sonst sind alle Einstellungen verloren. Dann auf „Durchsuchen“ klicken und die Datei (openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-sysupgrade.bin) die zuvor von hier runtergeladen wurde auswählen und auf „Firmware aktualisieren“ klicken.

Es kommt dieser Dialog…
Firmware update
Nach ein paar Minuten ist alles ok, und es meldet sich der Anmelde Dialog von Luci:
Luci anmeldung

4. Version ausgeben

Nun können wir nach Status – Overview gehen und sehen das die neue Version 14.04 installiert wurde.
Status openwrt

Wer das update über Befehlszeile durchführen möchte, schaut hier.

OpenWrt scheint jetzt auch schneller zu laufen.

Wie kann das Netzwerkanalyse Programm Ettercap für eine MITM-Attacke (ARP-Spoofing) auf dem Raspberry Pi installiert werden?

Das Netzwerkanalyse Programm Ettercap kann als Text-Version oder auch als grafische Version auf dem rPi ziemlich schnell wie folgt installiert werden:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ettercap-text-only

Auch die grafische Version, die bei der Installation etwas länger dauert, kann mit dem folgenden Aufruf installiert werden:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ettercap-graphical

Nach der Installation die Version checken mit:
ettercap -v
Es wird die aktuelle Version vom 21. Sep 2013 ausgegeben: 0.0.8

Hilfe gibt es mit

ettercap -h

Hier ein kleiner Überblick zu Ettercap als Mindmap:
ettercap

Starten im Text Modus mit

ettercap -T

oder mit einer Text-GUI:
ettercap -C

ettercap Bildschirmfoto 2014-07-14 um 20.36.40

Quickstart MITM-Attacke

MITM-Attacke könnten wie hier beschrieben ausgeführt werden. Kurz die Text Variante:

ettercap -C

Menü: Sniff - Unified sniffing...
Eingabe: eth0
Menü: Hosts - Scan for hosts
Menü: Hosts - Hosts list
Router in Hosts list markieren und Taste 1 (für Target 1) klicken
Ziel (Opfer) in Hosts list markieren und Taste 2 (für Target 2) klicken
Hilfe mit SPACE
Menü: Targets - Current Targets
Menü: Mitm - ARP poisoning ... (ohne Parameters)
Menü: View - Statistics
Menü: Start - Start sniffing
Menü: View - Statistics
Opfer PC sieht nun "falsche" MAC vom Router, siehe arp -a auf Opfer PC

Hier mal ein paar Statistics eines kurzen test Laufs:
Bildschirmfoto 2014-07-14 um 21.44.38

Zum Stoppen wieder:
Menü: Mitm - Stop mitm attack(s) (MAC wieder orginal vom Router)
Menü: Start - Stop sniffing

Es kann nun alles leicht auch geloggt und gefiltert werden. Alles nur im eigenen Netzt mit eigenen Rechnern evl. mit 2 rPi oder eine rPi und einem WR703 ausprobieren.

Wie kann eine drahtlose Client Brücke mit Relayd und 703N unter OpenWrt (Attitude Adjustment 12.09) mit Luci eingerichtet werden?

Warum Relayd?

-Wer seinen drahtlosen Access Point (AP) erweitern (verlängern) will.
-Wer eine Brücke zwischen drahtlosen AP und dem drahtgebundenen LAN benötigt.

PC-Ethernet Kabel LAN–|
Internet LAN ———-|
Internet WAN ……….|
–AP…
……. drahtlos…
……………….TP-703N—Ethernet Kabel LAN —PC ohne WAN

Relayd ist nur empfohlen wenn Wireless Distribution System (WDS) nicht vorhanden ist.

Also erst mal unter System – Paketverwaltung in Luci die Paketlisten aktualisieren durch klick auf „Listen aktualisieren“:
Bildschirmfoto 2014-07-10 um 22.15.04
Nach ein paar Minuten ist das abgeschlossen: „Wie kann eine drahtlose Client Brücke mit Relayd und 703N unter OpenWrt (Attitude Adjustment 12.09) mit Luci eingerichtet werden?“ weiterlesen

Wie kann der TP WR703N als drahtloser Access Point (AP) für iPad, iPhone und alle anderen Computer eingerichtet werden?

Wer auf Reisen ist, und einen Access Point für seine Geräte benötigt, kann den günstigen Router 703N verwenden.

Aber wie wird der Router eingestellt, um mit kabellose Kommunikationsgeräte (Computern) drahtlos auf das Internet per LAN zuzugreifen? Also für Hotelzimmer die nur einen LAN Stecker haben und kein drahtloses WLAN anbieten.

Der 703N kann im AP Modus betrieben werden. Folgender Aufbau:

— INTERNET — LAN — 703N — WLAN — Computer, iPad…

In Luci müsste das dann so aussehen:
Bildschirmfoto 2014-07-06 um 16.15.42

Der „Drahtlos“ Reiter sieht so aus. Unten bei den Assoziierten Clients sieht man das ein Gerät mit dem AP des 703N verbunden ist.
Bildschirmfoto 2014-07-06 um 16.16.25

Das Netz habe ich mal „Free-Internet“ genannt. Bei Schnittstellen das LAN und WLAN auswählen. Bei Modus, und das ist ganz wichtig, muss „Access Point“ ausgewählt werden.
Bildschirmfoto 2014-07-06 um 16.16.58

Und das Passwort setzen oder auch zum ersten testen ohne Verschlüsselung:
Bildschirmfoto 2014-07-06 um 16.17.13

Hier der Überblick:
Bildschirmfoto 2014-07-06 um 16.17.55

Die Reichweite ist nicht sehr groß ohne externe Antenne, aber 1-2 Zimmer gehen wohl immer.

Wie kann auf einem TP WR703N der Zugriff auf Luci mit SSL abgesichert werden?

Bei einer normalen Luci Installation geht der Zugriff auf Luci über http://IP-ADRESSE.
Dieser Zugriff kann leicht verschlüsselt erfolgen. Dafür muss auf der Konsole das luci-ssl Package wie folgt installiert und das SLL Zertifikat generiert werden:

opkg update
opkg install luci-ssl
/etc/init.d/uhttpd start
/etc/init.d/uhttpd enable

oder wenn luci schon läuft einmal restarten mit:

/etc/init.d/uhttpd restart

Anschließend kann auf Luci mit https://IP-ADRESSE zugegriffen werden.

Wie kann Multi-WAN auf einen TP-WR703N unter OpenWrt mit Luci installiert werden?

Multi-WAN erlaubt es, mehrere ISP-Verbindungen gleichzeitig oder als Ersatzverbindung beim Ausfall der Hauptverbindung zu verwenden.

Multiwan kann über Luci einfach installiert werden. In der System-Paketverwaltung als Filter multiwan eingeben und das Paket luci-app-multiwan installieren.
Bildschirmfoto 2014-07-05 um 15.34.15
Nach der Installation gibt es den neuen Reiter Netzwerk – Multi-WAN in der Luci GUI:
Bildschirmfoto 2014-07-05 um 15.40.12

Wer noch nichts zum Thema Multi-Wan gehört hat, kann sich diese spannende Anleitung anschauen:

Wie kann ein USB Kabel für die USB to Serial Bridge PL-2303 verwendet werden um einen WR703N neu zu flashen?

Habe gestern den TP-WR703N so configuriert, das ich selbst nicht mehr über SSH zugreifen konnte. Deshalb wie hier im Blog beschrieben, habe ich das Teil über den Seriellen Port neu geflasht. Dazu hatte ich schon mal in den 703 eine USB-Buchse für die Seriellen Kontakte eingebaut. Siehe dieses Foto:
IMG_1963

Habe in der Bastelkist einen USB to Serial Adapter PL-2303 gefunden, denn ich vor längerer Zeit mal in China bestellt hatte. So sieht das Teil aus:
IMG_1961
Das Flashen habe ich unter Windows XP gemacht. Dazu musste ich erst noch einen Treiber installieren den habe ich im Internet gefunden (ZIP).
Dann mit Putty über den COM Port an den TP-WR703N hängen.

Dazu brauchte ich noch ein USB Kabel, das ich zweckentfremdet habe. Auf der einen Seite ist der USB Stecker und auf der anderen Seite habe ich 4 Buchsen angelötet (eher geklebt ;-)). Die Anschlussbelegung kann der CAD Grafik entnommen werden:
IMG_1958
Und noch etwas mit roten Isolierband verpacken:
IMG_1960

Am PL-2303 habe ich den 1. Pin an GND (Masse = schwarz), den 2. Pin Data+ (grün – grau) und den 3. Pin an Data- (weiß) gelegt. Den 4. und 5. Pin habe ich nicht verwendet bzw. beschaltet. Der 4. Pin könnte für +5 Volt (rot -lila) verwendet werden. Hier noch mal als CAD Grafik:
IMG_1962

Klappte alles auf Anhieb. Fragen?

Wie wird ein #One-Wire-Server #owhttpd auf #WR-703N unter #openWrt installiert?

Die Installation wie in beschrieben ist Voraussetzung. Der Server wird mit dann wie folgt gestartet.

/usr/bin/owhttpd --debug -d /dev/ttyUSB0 -p 4444

Ausgabe:
...
DEBUG: ow_daemon.c:EnterBackground(166) main thread id = 2006708224
CONNECT: ow_avahi_link.c:OW_Load_avahi_library(72) No Avahi support. Library libavahi-client couldn't be loaded
CONNECT: ow_dnssd.c:OW_Load_dnssd_library(136) Zeroconf/Bonjour is disabled since dnssd library isn't found
CALL: ow_parsename.c:FS_ParsedName_anywhere(95) path=[]
DEBUG: owlib.c:SetupTemperatureLimits(79) Globals temp limits 0C 100C (for simulated adapters)
DEBUG: ow_ds9097U.c:DS2480_initialize_repeatedly(267) Attempt #0 to initialize the DS9097U
DEBUG: ow_ds9097U.c:DS2480_big_reset_serial(356) Send the initial reset to the bus master.
DEBUG: ow_tcp_read.c:tcp_read(64) attempt 1 bytes Time: 5.000000 seconds
DEBUG: ow_tcp_read.c:tcp_read(114) read: 1 - 0 = 1
...

Hier sieht man auch, das der USB9097 als DS9097U erkannt wird.
Der Server ist nun über Port 4444 und der IP erreichbar.

Obwohl man besser den Port 4304 verwendet, da er in der IANA (Internet Assigned Numbers Authority) für owserver registriert ist. Also ohne debug und mit den „richtigen“ Port /usr/bin/owhttpd -d /dev/ttyUSB0 -p 4304

Z.b. Eingabe im Browser http://198.2.1.1:4444 listet das Verzeichnis auf:
Bildschirmfoto 2014-02-13 um 21.12.02
Klick auf die 28… oder http://198.2.1.1:4444/28.A29D8A040000 zeigt die Temperatur in Grad Celsius an:
Bildschirmfoto 2014-02-13 um 21.10.07

Wie wird der USB 9097 unter OpenWrt auf einem WR-703N mit owfs installiert?

Der USB-Stick USB9097 mit zwei One-Wire Klinkenstecker Anschlüssen (3,5mm – 5v – Data – GND).

USB9097
USB9097

Der USB-Stick ist ein kostengünstiger Busmaster (DS2480B) mit USB-Serial-Adapter (CH341) für USB Bus (2.0) mit Konverter Chip CH341 im syncronen seriellen (SCL, SDA) Modus.

Er wird vollständig von OWFS unterstützt (… aber als serieller Busmaster S9097U-Type mit USB Port!).

Was muss getan werden um einen One-Wire Temperatursensor DS18B20 anzuschließen und die Temperatur auszugeben?

Folgende Package installieren und reboot.

opkg update
opkg install kmod-usb-serial-ch341 kmod-usb-serial
opkg install owfs owhttpd owshell owserver

OWFS wird dann in der Version 2.8p13-1 installiert, es gibt aber schon 2.9.p1 wer die haben will, muss das Package selbst compilieren und installieren.

Ein Verzeichnis erstellen:
mkdir /mnt/1wire

USB-Stick anstecken und Kernel-Meldungen checken mit dmesg ob er erkannt wurde:
dmesg
Ausgabe ua:

...
[ 36.330000] USB Serial support registered for ch341-uart
[ 36.330000] ch341 1-1.2:1.0: ch341-uart converter detected
[ 36.350000] usb 1-1.2: ch341-uart converter now attached to ttyUSB0
...

Oder mit lsusb
Ausgabe ua:

...
Bus 001 Device 005: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
...

Jetzt können wir den USB-Stick an das erstellte Verzeichnis binden mit:

owfs -d /dev/ttyUSB0 -m /mnt/1wire/

Jetzt werden alle Eigenschaften und Daten als Dateisystem unter dem gemounteten Verzeichnis abgebildet.
Wenn wir dann in das /mnt/1wire Verzeichnis gehen, können wir uns von dort mit cat die Temperatur ausgeben lassen.

cd /mnt/1wire
ls

Ausgabe der Verzeichnisse:

28.A29D8A040000 bus.0 simultaneous structure uncached
alarm settings statistics system

Die Verzeichnis Nr. die mit 28…. startet ist das Verzeichnis des Temperatur Sensors.

cat 28.A29D8A040000/temperature
Ausgabe nach ca. 1 Sekunde mit 12-Bit Genauigkeit in Grad Celsius:
24.375

Oder der Type des Sensors
cat 28.A29D8A040000/type
Ausgabe:
DS18B20

Oder die einmalige ID:
cat r_address
Ausgabe z.B.
2B0000048A9DA228

Oder…

Habt ihr noch Fragen oder Anregungen?


Wie wird unter Fhem der Sysmon (Systemmonitor) auf einem WR703N unter OpenWrt installiert?

Wer sein Fhem Server heute updated bekommt den Sysmon mitgeliefert (FHEM/42_SYSMON.pm). Installation wie in der Beschreibung von
Sysmon angegeben. Wenn man das Beispiel in die fhem.cfg kopiert erhält man folgende Ausgaben:
Bildschirmfoto 2014-01-14 um 17.52.10

Folgende Dinge fallen auf wenn man den Beispielcode 1:1 unter OpenWrt attitude_adjustment/12.09 verwendet:

1. Die Überschrift RPi stimmt in meinem Fall nicht, da es ein WR703N ist. Evl. muss da nur die Gruppe geändert werden.

2. Die Temperatur wird nicht angezeigt. Das liegt wohl daran, das der WR703N kein eingebauten Temp.-Sensor hat. Dann sollte die Zeile nicht vorhanden sein oder aber NN stehen. Oder hat der 703N ein Temp.-Sensor?

3. Die Frequenz in Mhz wird nicht angezeigt.

4. Wifi zeigt not available an, wohl weil es ausgeschaltet ist. Gut wäre auch, wenn alles in wahlweise in Deutsch angezeigt würde.

5. USB-Stick wird auch noch nicht richtig angezeigt.

6. Die 6 Plot Dateien werden noch nicht gefunden (Cannot read ./www/gplot/mySMNetworkEth0.gplot). Habe in das www/gplot Verzeichnis geschaut. Da sind die Dateien auch nicht vorhanden. Wo bekomme ich die? Hier steht, das die von GitHub geladen werden könne. Die könnten doch auch in Fhem eingescheckt werden?

Heute noch mal ein Fhem Update, aber die plott Dateien waren noch nicht eingescheckt, ok dann eben aus dem Git holen. Ab heute sind die Dateien nun auch eingescheckt. Der folgende Schritt kann also entfallen.

[Optional]
Ein neues Verzeichnis erstellt und die Dateien aus dem Git Repository geholt und in das Fhem/www/gplot Verzeichnis kopiert mit:

mkdir plott-dateien
cd plott-dateien
git clone git://github.com/hexenmeister/MyFHEM
cp SM* ~/fhem/www/gplot/

Nach reread der Config sind die Plotts auch da, Super!
Bildschirmfoto 2014-01-15 um 18.33.11

Die CPU-Speed kann auf OpenWrt wie folgt angezeigt werden, hier meine getestete Perl Funktion:
sub
CPUSpeed
{
my $CPUSpeed = qx(cat /proc/cpuinfo | grep "BogoMIPS" | sed 's/[^0-9\.]//g');
return $CPUSpeed;
}

Die könnte in Fhem integriert werden, dann würde auch die Frequenz (CPU-Speed) unter OpenWrt attitude_adjustment/12.09 angezeigt werden.

Der Entwickler hat die Funktion nun eingebaut, und der BogoMips wird nun auch angezeigt. Vielen Dank für das schnelle update. Das liebe ich an Open-Source-Projekten.

Habe die Config nun etwas angepasst, so sieht es super aus und kann bleiben:
Bildschirmfoto 2014-01-16 um 17.47.26

Wie kann OpenVPN auf einem WR-703N unter OpenWrt eingerichtet werden?

Nach dieser guten Anleitung wie folgt vorgehen.

opkg update
opkg install openvpn openvpn-easy-rsa openssh-sftp-server

Zertifikate erstellen:

Optional die
vi /etc/easy-rsa/vars
für default vorbelegungen anpassen:

export KEY_COUNTRY="DE"
export KEY_PROVINCE="Niedersachsen"
export KEY_CITY="Langenhagen"
export KEY_ORG="TWSoft"
export KEY_EMAIL="mail@email.de"
export KEY_EMAIL=mail@email.de
# Der KEY_CN mus EINDEUTIG und EINMALIG sien
export KEY_CN=server.email.de
export KEY_NAME=server.email.de
export KEY_OU=TWSoft
export PKCS11_MODULE_PATH=changeme
export PKCS11_PIN=1234

In das /etc/easy-rsa Verzeichnis wechseln.
./clean-all
ausführen. Löscht das ganze /etc/easy-rsa/keys Verzeichnis

build-ca

Erzeugt diese Fragen:
Country Name (2 letter code) [DE]:
State or Province Name (full name) [DE]:Langenhagen
Locality Name (eg, city) [Langenhagen]:
Organization Name (eg, company) [TWSoft]:
Organizational Unit Name (eg, section) [TWSoft]:
Common Name (eg, your name or your server’s hostname) [EINDEUTIG.wenzlaff.de] www.wenzlaff.de
Name [server.wenzlaff.de]:www.wenzlaff.de
Email Address [mail@email.de]:

Erstellt in /etc/easy-rsa/keys die Dateien:
ca.key
ca.crt

Dann
build-dh
und ein paar Minuten warten bis in /etc/easy-rsa/keys die
dh1024.pem
erzeugt wurde.

Jetzt noch die Server Key erzeugen mit:
build-key-server server

Und einige Fragen beantworten:
Country Name (2 letter code) [DE]:
State or Province Name (full name) [DE]:Hannover
Locality Name (eg, city) [Langenhagen]:
Organization Name (eg, company) [TWSoft]:
Organizational Unit Name (eg, section) [TWSoft]:
Common Name (eg, your name or your server’s hostname) [server]:
Name [server.wenzlaff.de]:
Email Address [mail@email.de]:

Please enter the following ‚extra‘ attributes
to be sent with your certificate request
A challenge password []:1234
An optional company name []:TWSoft
Using configuration from /etc/easy-rsa/openssl-1.0.0.cnf
Check that the request matches the signature
Signature ok
The Subject’s Distinguished Name is as follows
countryName :PRINTABLE:’DE‘
stateOrProvinceName :PRINTABLE:’Hannover‘
localityName :PRINTABLE:’Langenhagen‘
organizationName :PRINTABLE:’TWSoft‘
organizationalUnitName:PRINTABLE:’TWSoft‘
commonName :PRINTABLE:’server‘
name :PRINTABLE:’server.wenzlaff.de‘
emailAddress :IA5STRING:’mail@email.de‘
Certificate is to be certified until Oct 2 18:00:57 2023 GMT (3650 days)
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

Nun gibt es in /etc/easy-rsa/keys auch die
server.crt
server.csr
server.key

Alle erzeugten Key in eine .p12 Datei packen mit:

build-key-pkcs12 thomas

Und wieder die gewohnten Fragen beantworten:

Country Name (2 letter code) [DE]:
State or Province Name (full name) [DE]:Hannover
Locality Name (eg, city) [Langenhagen]:
Organization Name (eg, company) [TWSoft]:
Organizational Unit Name (eg, section) [TWSoft]:
Common Name (eg, your name or your server’s hostname) [thomas]:
Name [server.wenzlaff.de]:
Email Address [email@mail.de]:

Please enter the following ‚extra‘ attributes
to be sent with your certificate request
A challenge password []:4567
An optional company name []:TWSoft
Using configuration from /etc/easy-rsa/openssl-1.0.0.cnf
Check that the request matches the signature
Signature ok
The Subject’s Distinguished Name is as follows
countryName :PRINTABLE:’DE‘
stateOrProvinceName :PRINTABLE:’Hannover‘
localityName :PRINTABLE:’Langenhagen‘
organizationName :PRINTABLE:’TWSoft‘
organizationalUnitName:PRINTABLE:’TWSoft‘
commonName :PRINTABLE:’thomas‘
name :PRINTABLE:’server.wenzlaff.de‘
emailAddress :IA5STRING:’mail@email.de‘
Certificate is to be certified until Oct 2 17:59:08 2023 GMT (3650 days)
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
Enter Export Password: 0000
Verifying – Enter Export Password: 0000

So jetzt sind auch in /etc/easy-rsa/keys die
thomas.csr
thomas.crt
thomas.key
thomas.p12

Dateien für den Client erstellt worden.

Jetzt müssen die Keys noch auf den Server und den Client verteilt werden.

cd /etc/easy-rsa/keys
cp ca.crt ca.key dh1024.pem server.crt server.key /etc/openvpn/

Hier noch eine kleine Zuordungstabelle, welche Zertifikate wo hinkommen:

Dateiname Speicherort Beschreibung geheim
ca.crt Server + Clients Root CA Zertifikat Nein
ca.key im Safe :) Root CA Schlüssel Ja
dh{Wert}.pem Server Diffie Hellman Nein
server.crt Server Server Zertifikat Nein
server.key Server Server Schlüssel Ja
vpnclient01.crt Client 1 Client 1 Zertifikat Nein
vpnclient01.key Client 1 Client 1 Schlüssel Ja

Server Konfigurieren vi /etc/config/openvpn

config 'openvpn' 'lan'
option 'enable' '1'
option 'port' '1194'
option 'proto' 'udp'
option 'dev' 'tap0'
option 'ca' '/etc/openvpn/ca.crt'
option 'cert' '/etc/openvpn/server.crt'
option 'key' '/etc/openvpn/server.key'
option 'dh' '/etc/openvpn/dh1024.pem'
option 'ifconfig_pool_persist' '/tmp/ipp.txt'
option 'keepalive' '10 120'
option 'comp_lzo' '1'
option 'persist_key' '1'
option 'persist_tun' '1'
option 'status' '/tmp/openvpn-status.log'
option 'verb' '3'
option 'server_bridge' '192.168.2.123 255.255.255.0 192.168.2.122 192.168.2.111'
option 'push' 'redirect-gateway def1'
list 'push' 'dhcp-option DNS 192.168.2.123'

Server Starten mit:
/etc/init.d/openvpn start
und:
/etc/init.d/openvpn stop
Restart
/etc/init.d/openvpn restart

Und für Autostart einmal oder über Luci:
/etc/init.d/openvpn enable

Nur wenn der VPN-Server läuft, ist über Luci das tap0 Device erreichbar.

Im Firewall vi /etc/config/firewall den Port 1194 freischalten:

config 'rule'
option 'target' 'ACCEPT'
option 'dest_port' '1194'
option 'src' 'wan'
option 'proto' 'tcpudp'
option 'family' 'ipv4'

/etc/init.d/firewall restart

Adressbereich setzen vi /etc/config/dhcp

config dhcp lan
option interface lan
option ignore 0
option start 150 # von .150 bis .199 = 49 Adressen
option limit 49
option leasetime 12h

reboot

IPhone Client Konfiguration.
Dafür brauchen wir eine OpenWrt.ovpn Datei. Die müssen wir uns aus den Zertifikaten und Key zusammenbauen:

# TW OpenWrt Configuration für xxx.no-ip.org IP:
remote xx.xxx.xxx.xxx 1194
client
tls-client
dev tun # tap geht nicht mit OpenVpn App 1.01 build 88
proto udp
remote-cert-tls server
resolv-retry infinite
nobind
persist-tun
persist-key
pkcs12 thomas.p12
comp-lzo
verb 3

# hier die Zertifikate von ca.crt, thomas.crt, thomas.key einfügen:

—–BEGIN CERTIFICATE—–
MIIEBDCCA22gAwIBAgIJAgg/WZdmAp

+6VIFdXmjy19eZQJzEJFxO5+iqZ6EZhs
—–END CERTIFICATE—–


—–BEGIN CERTIFICATE—–
MIIEQDCCA6mgAwIBAgIBAjANB

jGlI9+MUzx3nHhhU1W1F3s4zeeS3TFmjb7xhori4J7JZugOS
—–END CERTIFICATE—–


—–BEGIN PRIVATE KEY—–
gYBxm4LOI4uFPgBmS/9zjEZ1TGyE

JUe0BUfOhe4x
—–END PRIVATE KEY—–

An dieser Stelle habe ich gemerkt, das der OpenVPN 1.01 build 88 Client für das iPhone, kein TAP unterstützt.
Die von mir oben gewünschte Bridge über TAP-Device (virtuelle Netzwerkkarte, ethernet Adapter) ist also nicht möglich.

Also umkonfigurieren so das zumindestenst ein OpenVPN TUN läuft.
Also ist kein Layer 2 Tunnel mit dieser App und dem iPhone möglich. Schade!

vi /etc/config/openvpn

config 'openvpn' 'lan'
option 'enable' '1'
option 'port' '1194'
option 'proto' 'udp'
option 'dev' 'tun'
option 'ca' '/etc/openvpn/ca.crt'
option 'cert' '/etc/openvpn/server.crt'
option 'key' '/etc/openvpn/server.key'
option 'dh' '/etc/openvpn/dh1024.pem'
option 'ifconfig_pool_persist' '/tmp/ipp.txt'
option 'keepalive' '10 120'
option 'comp_lzo' '1'
option 'persist_key' '1'
option 'persist_tun' '1'
option 'status' '/var/log/openvpn-status.log'
option 'verb' '3'
option 'server' '10.0.0.0 255.255.255.0'
list 'push' 'redirect-gateway def1'
list 'push' 'dhcp-option DOMAIN lan'
list 'push' 'dhcp-option DNS 192.168.2.1'

vi /etc/config/firewall

config 'include'
option 'path' '/etc/firewall.user' config 'rule'
option 'target' 'ACCEPT' option 'name' 'VPN'
option 'src' 'wan'
option 'proto' 'udp'
option 'dest_port' '1194'

vi /etc/firewall.user
iptables -t nat -A prerouting_wan -p udp --dport 1194 -j ACCEPT
iptables -A input_wan -p udp --dport 1194 -j ACCEPT
iptables -I INPUT -i tun+ -j ACCEPT
iptables -I FORWARD -i tun+ -j ACCEPT
iptables -I OUTPUT -o tun+ -j ACCEPT
iptables -I FORWARD -o tun+ -j ACCEPT

Connect im iPhone läuft schon mal.

Wie kann die Systemzeit in OpenWrt per NTP eingestellt werden?

Die Systemzeit ist schon wichtig, da sonst die Logs nicht den richtigen Zeitstempel bekommen und der OpenVpn Server braucht auch die richtige Zeit.

Der NTP port für UDP ist 123.

opkg update
opkg install ntpd ntpdate ntpclient ntp-utils
/etc/init.d/sysntpd disable
/etc/init.d/ntpd enable
/etc/init.d/ntpd start
netstat -l | grep ntp
ntpdate pool.ntp.org

Zeitzone setzen in /etc/config/system

config system
option hostname ‚OpenWrt‘
option timezone ‚CET-1CEST,M3.5.0,M10.5.0/3‘
option zonename ‚Europe/Berlin‘

Oder einfach über Luci, im Menü System-System:

OpenWrt Luci Gui - Einstellen der Systemzeit
OpenWrt Luci Gui – Einstellen der Systemzeit

Wie wird ein VPN Client (Tunnelblick) auf einem Mac OS X installiert?

Um auf VPN Server von einem Mac zugreifen zu können, kann der kostenlose VPN-Client Tunnelblick verwendet werden. Also zuerst den Tunnelblick downloaden.
Ich habe die Version 3.3 verwendet.

Dann installieren, so wie hier beschrieben.

Dann die Datei config.ovpn Anlegen mit folgenden Inhalt:

dev tap
proto udp

# Hier die IP-Adresse des VPN Servers eintragen
remote 192.168.2.XXX 1194

resolv-retry infinite
nobind
mute-replay-warning

# Der Name des Static Key
secret secret.key

verb 3

und in ein Verzeichnis mit der Endung .tblk verschieben. In dieses Verzeichnis muss auch der Key (Static Key) kopiert werden.

Nach dem doppelklick auf das Verzeichnis mit der Endung .tblk startet der VPN Client. Oben rechts in der Menüleiste erscheint dann das Icon.

Wie wird ein OpenVPN Server auf OpenWrt (Version 12) auf eiem TP-WR703N Router eingerichtet?

Nach dieser Anleitung vorgehen.
Auf einem lauffähigen OpenWrt mit USB-Stick zuerst OpenVpn installieren:

opkg update
opkg install openvpn

Und einen Static Key generieren.

openvpn --genkey --secret static.key

Dieser Key muss auf allen Geräten, die im VPN Netz sind kopiert werden.
Also den Key nach /etc unter anderen Namen kopieren oder verschieben:

cp static.key /etc/openvpn.key

Die /etc/config/firewall Datei um diese Einträge am Ende ergänzen, damit der Port 1194 durchgelassen wird:

config 'rule'
option 'target' 'ACCEPT'
option 'src' 'wan'
option 'proto' 'tcp'
option 'dest_port' '22'
option '_name' 'ssh-wan'

config 'rule'
option '_name' 'openvpn-udp'
option 'src' 'wan'
option 'target' 'ACCEPT'
option 'proto' 'udp'
option 'dest_port' '1194'

Die Datei /etc/firewall.rules neu anlegen mit folgenden Inhalt:

iptables -I OUTPUT -o tap+ -j ACCEPT
iptables -I INPUT -i tap+ -j ACCEPT

iptables -I FORWARD -o tap+ -j ACCEPT
iptables -I FORWARD -i tap+ -j ACCEPT

Folgendes Start Script anlegen/etc/openvpnbridge mit folgenden Inhalt:

#!/bin/sh

#/etc/openvpnbridge
# OpenVPN Bridge Config File
# Creates TAP devices for use by OpenVPN and bridges them into OpenWRT Bridge
# Taken from http://openvpn.net/bridge.html

# Make sure module is loaded
insmod tun

# Define Bridge Interface
# Preexisting on OpenWRT
br="br0"

# Define list of TAP interfaces to be bridged,
# for example tap="tap0 tap1 tap2".
tap="tap0"

# Build tap devices
for t in $tap; do
openvpn --mktun --dev $t
done

# Add TAP interfaces to OpenWRT bridge

for t in $tap; do
brctl addif $br $t
done

#Configure bridged interfaces

for t in $tap; do
ifconfig $t 0.0.0.0 promisc up
done

Und diese Datei ausführbar machen mit:
chmod +x /etc/openvpnbridge

Nun noch die VPN-Server Konfig Datei /etc/server.ovpn erstellen:

port 1194
proto udp
dev tap
keepalive 10 120
status openvpn-status.log
verb 3
# Pfad zum Static Key evl. noch dem Pfad anpassen
secret /etc/openvpn.key

Restart des OpenWrt.

Jetzt kann der Server gestartet werden mit:

openvpn /etc/server.ovpn

Wenn alles erfolgreich läuft, wird solch eine Nachricht ausgegeben.

root@OpenWrt:/etc# openvpn /etc/server.ovpn
Thu Oct 3 19:55:59 2013 OpenVPN 2.2.2 mips-openwrt-linux [SSL] [LZO2] [EPOLL] built on Mar 14 2013
Thu Oct 3 19:55:59 2013 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Thu Oct 3 19:55:59 2013 Static Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Thu Oct 3 19:55:59 2013 Static Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Thu Oct 3 19:55:59 2013 Static Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Thu Oct 3 19:55:59 2013 Static Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Thu Oct 3 19:55:59 2013 Socket Buffers: R=[163840->131072] S=[163840->131072]
Thu Oct 3 19:55:59 2013 TUN/TAP device tap0 opened
Thu Oct 3 19:55:59 2013 TUN/TAP TX queue length set to 100
Thu Oct 3 19:55:59 2013 Data Channel MTU parms [ L:1576 D:1450 EF:44 EB:4 ET:32 EL:0 ]
Thu Oct 3 19:55:59 2013 UDPv4 link local (bound): [undef]:1194
Thu Oct 3 19:55:59 2013 UDPv4 link remote: [undef]
Thu Oct 3 19:56:03 2013 Peer Connection Initiated with 192.168.X.XXX:XXXXX
Thu Oct 3 19:56:04 2013 Initialization Sequence Completed

Wie geht ein Quickinstall von MiniPwner auf einem laufenden OpenWrt Version 12 mit ext. Usb-Stick?

Installation von MiniPwner auf einer lauffähigen OpenWrt Version mit externen USB-Stick. Einfach auf der Konsole folgende Befehle absetzen:


opkg update
opkg install http://minipwner.com/20120514/downloads.openwrt.org/snapshots/trunk/ar71xx/packages/dsniff_2.4b1-2_ar71xx.ipk
opkg install luci-theme-bootstrap mc htop iftop ettercap tar openssh-sftp-client mdk3 nmap tcpdump aircrack-ng aircrack-ptw kismet-client kismet-server perl openvpn nbtscan snort karma samba36-client elinks yafc

Wie kann die Piratebox unter OpenWrt auf einem TP-Link TL-WR703N Router installiert werden?

Die Piratebox ist ein in sich selbst abgeschlossenes Gerät zum anonymen speichern und austauschen von Bildern, Videos, Dokumente und andere Dateien über WLAN.
Es wird kein User login benötigt und es wird kein User geloggt. Auch kann im Netz geschattet werden.
Die Piratebox ist nicht ans Internet angebunden, um die Sicherheit zu erhöhen das die Daten private bleiben.
Also ein freies und offenes privates file sharing and chat! device. Jeder der in der Reichweite des WLAN ist, kann einfach und sofort Dateien austauschen.

Es gibt da ein paar Fallgruben bei der Installation und der Router kann leicht gebrickt werden. Mit einem Serial-Adapter kann dies aber wieder rückgängig gemacht werden. Ist aber nicht ohne Löterrei möglich.

Im Prinzip läuft die Installation so wie in der Anleitung
des Entwicklers beschrieben.

Auf dem 703N muss die Version 12.09 geflasht werden. Habe die neuere Version 12.09 von OpenWrt auch versucht, die lief aber nicht, und erzeugte eienen brick!

Es wird noch ein USB Stick benötigt. Ich hatte noch einen 8 GB Stick liegen. Der muss mit FAT32 formatiert werden und darf nur eine Partition haben.
Ich hatte einen mit 3 Partitionen, der lief in eine Endlosschleife. Dann hatte ich den USB Stick mit einer Partition angelegt und vergessen sie zu einer primären Partition zu machen, auch das führte zu einer Endlosschleife.

Also Vorbedingung:
1. Version 12.09-beta2 geflasht
2. USB Stick mit einer FAT32 Partition erstellen

3. Test ob zugriff aufs Internet mit ping wenzlaff.de
4.
opkg update
opkg install kmod-usb-uhci
insmod usbcore # Es kann die Meldung kommen: file exists
insmod uhci
opkg install kmod-usb-ohci # Es kann die Meldung kommen:up to date.
insmod usb-ohci

5. USB-Stick einstecken

6.cd /tmp
opkg update
opkg install http://piratebox.aod-rpg.de/piratebox_0.6.3_all.ipk

Die Installation dauert nun ca. 15 min denn es werden aus dem Internet neue Versionen geladen und installiert und auf
dem Stick SWAP Partitionen angelegt und das Piratebox System installiert und konfiguriert.

7. Wenn die Installation abgeschlossen ist, kann das LAN Kabel entfernt werden und der Router einmal rebootet werden.
Dann kann auf das WLAN Netzwerk mit dem Namen „PirateBox – Share Freely“ zugegriffen werden. Dazu z.B. im iPadMini das WLAN auswählen:
20131001-182320.jpg

Optional: Was mir noch fehlt, ist eine externe Stromversorgung von 5 V über den USB Port, so das alles portabel ist.

Die eingestellte IP: 192.168.1.1 (192.168.2.111)
Domain: piratebox.lan

Wenn eine Browser geöffnet wird und irgendeine Seite aufgerufen wird erscheint:

20131001-181818.jpg
Nun können Dateien ausgetauscht und geschattet werden. Siehe den Hallo Welt Eintrag von mir oben.

Wie können Temperaturlisten in Fhem auf einem 703N Router unter OpenWrt via HMLan an den Funk-Wandthermostat (HM-CC-TC) gesendet werden?

So wie hier in der Anleitung beschrieben.
Zuerst eine eigene Perl Methode mit folgenden Inhalt erstellen:

Perl Datei 99_myTWUtils.pm
Perl Datei 99_myTWUtils.pm

Dann folgenden Perl-Befehl aus dem Fhem Server absenden:

Aufruf Perl Methode
Aufruf Perl Methode

Dann zur Kontrolle alle Paramteter einlesen mit set getConfig:
Bildschirmfoto 2013-09-23 um 19.43.36
Und das Ergebnis anschauen mit, dabei darauf achten das die Reihenfolge der Tage anders ist als im Script:

Fhem Temperaturliste
Fhem Temperaturliste

Wie kann ich unter OpenWrt die WLAN-Fähigkeiten des WR-703N mit iw und arp anzeigen?

Auf der Konsole mit:
iw phy
Wir erhalten dann eine Ausgabe in der Form:

Wiphy phy0
Band 1:
Capabilities: 0x116e
HT20/HT40
SM Power Save disabled
RX HT20 SGI
RX HT40 SGI
RX STBC 1-stream
Max AMSDU length: 3839 bytes
DSSS/CCK HT40
Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
Minimum RX AMPDU time spacing: 8 usec (0x06)
HT TX/RX MCS rate indexes supported: 0-7
Frequencies:
* 2412 MHz [1] (20.0 dBm)
* 2417 MHz [2] (20.0 dBm)
* 2422 MHz [3] (20.0 dBm)
* 2427 MHz [4] (20.0 dBm)
* 2432 MHz [5] (20.0 dBm)
* 2437 MHz [6] (20.0 dBm)
* 2442 MHz [7] (20.0 dBm)
* 2447 MHz [8] (20.0 dBm)
* 2452 MHz [9] (20.0 dBm)
* 2457 MHz [10] (20.0 dBm)
* 2462 MHz [11] (20.0 dBm)
* 2467 MHz [12] (disabled)
* 2472 MHz [13] (disabled)
* 2484 MHz [14] (disabled)
Bitrates (non-HT):
* 1.0 Mbps
* 2.0 Mbps (short preamble supported)
* 5.5 Mbps (short preamble supported)
* 11.0 Mbps (short preamble supported)
* 6.0 Mbps
* 9.0 Mbps
* 12.0 Mbps
* 18.0 Mbps
* 24.0 Mbps
* 36.0 Mbps
* 48.0 Mbps
* 54.0 Mbps
max # scan SSIDs: 4
max scan IEs length: 2257 bytes
Coverage class: 0 (up to 0m)
Supported Ciphers:
* WEP40 (00-0f-ac:1)
* WEP104 (00-0f-ac:5)
* TKIP (00-0f-ac:2)
* CCMP (00-0f-ac:4)
* CMAC (00-0f-ac:6)
Available Antennas: TX 0x1 RX 0x1
Configured Antennas: TX 0x1 RX 0x1
Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* WDS
* monitor
* mesh point
* P2P-client
* P2P-GO
software interface modes (can always be added):
* AP/VLAN
* monitor
valid interface combinations:
* #{ managed, WDS, P2P-client } <= 2048, #{ IBSS, AP, mesh point, P2P-GO } <= 8, total <= 2048, #channels <= 1 Supported commands: * new_interface * set_interface * new_key * start_ap * new_station * new_mpath * set_mesh_config * set_bss * authenticate * associate * deauthenticate * disassociate * join_ibss * join_mesh * remain_on_channel * set_tx_bitrate_mask * frame * frame_wait_cancel * set_wiphy_netns * set_channel * set_wds_peer * tdls_mgmt * tdls_oper * probe_client * set_noack_map * register_beacons * Unknown command (89) * connect * disconnect Supported TX frame types: * IBSS: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * managed: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * AP/VLAN: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * mesh point: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * P2P-client: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * (null): 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 Supported RX frame types: * IBSS: 0xb0 0xc0 0xd0 * managed: 0x40 0xd0 * AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0 * AP/VLAN: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0 * mesh point: 0xb0 0xc0 0xd0 * P2P-client: 0x40 0xd0 * P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0 * (null): 0x40 0xd0 Device supports RSN-IBSS. HT Capability overrides: * MCS: ff ff ff ff ff ff ff ff ff ff * maximum A-MSDU length * supported channel width * short GI for 40 MHz * max A-MPDU length exponent * min MPDU start spacing Device supports TX status socket option. Device supports HT-IBSS.

Und der Interface-Typ kann mit iw dev wlan0 inof ausgegeben werden:

Interface wlan0
ifindex 6
wdev 0x2
addr 13:cc:99:99:32:fc
type managed
wiphy 0
channel 11 (2462 MHz) HT40-

Manchmal will man aber auch alle Mesh-Points in Funkreichweite sehen, das geht mit
iw dev wlan0 station dump, hier ein Beispiel:
Station 77:31:77:e7:77:f9 (on wlan0)
inactive time: 730 ms
rx bytes: 2093412
rx packets: 14162
tx bytes: 14206
tx packets: 160
tx retries: 3
tx failed: 0
signal: -46 [-46] dBm
signal avg: -45 [-45] dBm
tx bitrate: 135.0 MBit/s MCS 6 40Mhz short GI
rx bitrate: 121.5 MBit/s MCS 6 40Mhz
authorized: yes
authenticated: yes
preamble: long
WMM/WME: yes
MFP: no
TDLS peer: no

Alle vorhandenen Pfade mit Ziel-MAC-Adresse und Next-Hope-Adresse wird mit iw dev wlan0 mpath dump so angezeigt:

DEST ADDR NEXT HOP IFACE SN METRIC QLEN EXPTIME DTIM DRET FLAGS

Und zu guter letzt, die Abbildung der IP-Adressen auf die MAC-Adressen mit arp liefert:

IP address HW type Flags HW address Mask Device
192.168.2.7 0x1 0x2 77:77:77:77:77:f5 * wlan0
192.168.2.7 0x1 0x2 77:77:77:77:77:f5 * br-lan
192.168.2.111 0x1 0x2 77:77:77:77:77:f5 * br-lan
192.168.2.111 0x1 0x2 77:77:77:77:77:f5 * br-lan

Wie kann mit Fhem auf OpenWrt eine E-Mail versendet werden beim öffnen oder schließen einer Tür?

Nachdem das E-Mail System wie in beschrieben eingerichtet wurde, kann eine E-Mail versendet werden wenn eine Tür auf oder zu geht.

Dazu in der fhem.cfg diese Benachrichtigungen einrichten:

# Reagiert auf Event:
# 2013-09-11_17:22:53 wz_Tuerschalter contact: open (to HMLAN_1)
define terrassenTuerOffenEMail notify wz_Tuerschalter:contact.*open.*HMLAN_1.* \
{\
fb_mail('emali@@test.de','Fhem: Terrassen Tuer offen!','Die Terrassen Tuer ist auf.') \
}
# Reagiert auf Event:
# 2013-09-11_17:22:53 wz_Tuerschalter contact: closed (to HMLAN_1)
define terrassenTuerZuEMail notify wz_Tuerschalter:contact.*closed.*HMLAN_1.* \
{\
fb_mail('email@@test.de','Fhem: Terrassen Tuer zu!', 'Die Terrassen Tuer ist zu.') \
}

Dabei beachten das das @ zweimal angegeben werden muss.
Wichtig auch, das alles in einfachen Hochkomma stehen muss.

Testen kann man dies auch mit dem Trigger Befehl, wenn man den auszulösenden Event in das Eingabefeld vom Web-Fhem eingibt:

trigger wz_Tuerschalter contact: open (to HMLAN_1)

Dann muss auch eine E-Mail versendet werden.

Folgende Datei erstellen /fhem/FHEM/99_myTWUtil.pm und E-Mail Adresse anpassen.

#
#   99_myTWUtils.pm Version 1.0 vom 11.09.2013
#
#   Dieses Perl Script (99_myTWUtils.pm) enthaelt alle Tools die fuer Fhem noch benoetigt werden.
#   1. fb_mail Methode zum versenden von E-Mails
#
#   (C) 2013 Thomas Wenzlaff http://www.wenzlaff.de
#
#   This program is free software: you can redistribute it and/or modify
#   it under the terms of the GNU General Public License as published by
#   the Free Software Foundation, either version 3 of the License, or
#   (at your option) any later version.
#
#   This program is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#   GNU General Public License for more details.
#
#   You should have received a copy of the GNU General Public License
#   along with this program. If not, see {http://www.gnu.org/licenses/}.

package main;
use strict;
use warnings;
use POSIX;

sub
myTWUtils_Initialize($$)
{
my ($hash) = @_;
}

sub
fb_mail
{
 my $empfaenger = $_[0];
 my $subject = $_[1];
 my $text = $_[2];
 Log 5, ">>> fb_mail Eintrag: Empfaenger: $empfaenger Betreff: $subject Text: $text";
 Log 5, ">>> ---------------------------------------------------------------------------------";

 system("/bin/echo -e \"To: $empfaenger\nFrom: $empfaenger\nReply-to: $empfaenger\nSubject: $subject\n\n$text\" | ssmtp \"$empfaenger\"");

 return "OK, E-Mail an $empfaenger versendet! Betr.: $subject Inhalt: $text";
}

1;

Ein „reload 99_myTWUtil.pm“ und ein „rereadcfg“ absetzen oder ein „reboot“ ausführen und schon wird eine E-Mail nach dem öffnen und schließen der Tür gesendet.

Weitere Links:
FhemWiki zum Thema E-Mail senden.
Perl infos.

Wie kann das Design in Fhem geändert werden?

Unter dem Menüpunkt „Select Style“ den Style „bright“ auswählen und ein reload im Browser.
Sieht doch super aus oder?

Design von Fhem "bright"
Design von Fhem „bright“

Der Style „dark“ ist aber auch nicht schlecht:

Design "dark" von Fhem
Design „dark“ von Fhem

Der Style „ios7touchpad“:

touchpados7
touchpados7

Welcher gefällt Euch am Besten?

Wie kann auf einem WR-703N unter OpenWrt ein Server für USB tunnel per TCP eingerichtet werden?

Anleitung von OpenWrt „USB durch IP-Tunnel„.

Zuerst die USB Kernel Module und USBIP Server Package installieren mit:

opkg update
opkg install kmod-usb-ohci usbip-server

Dann die lokalen USB Geräte auflisten mit
usbip list -l
Bei mir wir diese Ausgabe geliefert:

[root@OpenWrt ~]# usbip list -l
Local USB devices
=================
- busid 1-1 (0451:1446)
1-1:1.0 -> hub

- busid 1-1.1 (0403:6001)
1-1.1:1.0 -> ftdi_sio

- busid 1-1.4 (090c:1000)
1-1.4:1.0 -> usb-storage

Wie man sieht, habe ich einen USB Hub, an diesem habe ich den Arduino Nano (ftdi_sio) und einen USB-Stick mit 8GB (usb-storage) angeschlossen.

In der Datei /etc/rc.local vor dem exit 0 diese Zeilen einfügen wenn der Server autom. gestartet werden soll. Evl. noch die BusID anpassen:

# TW Tunnelt den USB-Stick per TCP
usbipd -D &
sleep 1
usbip bind -b 1-1.4 # bindet die BusID vom USB Stick

Diese Methode habe ich aber erstmal nicht mehr verwendet da schon autom. ein Fhem-Server läuft.

Nach einem reboot kann mit netstat geschaut werden ob alles läuft.
netstat -alpt.

Siehe auch diese Anleitung

[root@OpenWrt ~]# usbip list -local
Local USB devices
=================
- busid 1-1 (0451:1446)
1-1:1.0 -> hub

- busid 1-1.1 (0403:6001)
1-1.1:1.0 -> ftdi_sio

- busid 1-1.4 (090c:1000)
1-1.4:1.0 -> usb-storage


[root@OpenWrt ~]# usbip bind -b 1-1.1
bind device on busid 1-1.1: complete


[root@OpenWrt ~]# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0451:1446 Texas Instruments, Inc. TUSB2040/2070 Hub
Bus 001 Device 007: ID 090c:1000 Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) 64MB QDI U2 DISK
Bus 001 Device 008: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 002 Device 001: I

Hab noch keinen USBIP Client für Mac OS X gefunden. Gibt es da einen der läuft?
Für Windows und Linux gibt es passende.

Wie kann das Wetter Modul von Yahoo in Fhem eingebunden werden?

So wie in der guten Anleitung beschrieben vorgehen.

Die fhem Referenz (nur engl.) gibt auch noch Infos.

Für Langenhagen lautet die Yahoo ID 670178.

Kurz:
1. fhem.cfg ergänzen (siehe Kopiervorlage unten)
2. drei gnuplot Datein von Githup nach /fhem/www/gplot/ kopieren
3. fhem restarten

Zu 1.: Der Teil der in der fhem.cfg ergänzt werden muss für Langenhagen:

# Wetter von Yahoo (670178 = Langenhagen, 600=alle 600 Sekunden (10min) Yahoo abfragen, de=Sprache Deutsch)
define Wetter Weather 670178 600 de
attr Wetter event-on-update-reading temperature,humidity,pressure,wind_speed,wind_chill,wind_direction
attr Wetter group Umwelt
attr Wetter room 9.02_Steuerung

define FileLog_Wetter FileLog ./log/Wetter-%Y.log Wetter
attr FileLog_Wetter logtype temp4hum6:wind_speed|humidity|temperature,text
attr FileLog_Wetter room 9.90_Logs

define w_Wetter weblink htmlCode { WeatherAsHtmlD("Wetter") }
attr w_Wetter group Umwelt
attr w_Wetter htmlattr width_"220" height="330" frameborder="0" marginheight="0" marginwidth="0"
attr w_Wetter room 0.10_Langenhagen

define wl_Wetter_Luftdruck SVG FileLog_Wetter:myPress4:CURRENT
attr wl_Wetter_Luftdruck group Umwelt
attr wl_Wetter_Luftdruck room 0.10_Langenhagen

define wl_Wetter_Temp SVG FileLog_Wetter:myYahooWeather:CURRENT
attr wl_Wetter_Temp group Umwelt
attr wl_Wetter_Temp room 0.10_Langenhagen

define wl_Wetter_Wind SVG FileLog_Wetter:myWind4windDir4:CURRENT
attr wl_Wetter_Wind group Umwelt
attr wl_Wetter_Wind room 0.10_Langenhagen

So sieht es nach den ersten Messwerten aus, ja es ist noch keine Kurve. Aber immerhin:

Fhem Wetter Service von Yahoo im Fhem
Fhem Wetter Service von Yahoo im Fhem
Das sind diese Messwerte:
Yahoo Wetterdaten Langenhagen in Fhem
Yahoo Wetterdaten Langenhagen in Fhem
Und die beiden anderen Punkte mit der Steuerung und Logs:Bildschirmfoto 2013-08-29 um 21.13.46Bildschirmfoto 2013-08-29 um 21.14.00