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 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 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 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 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.

Mit welcher Konfiguration kann man lokal per VPN auf ein OpenVPN-Server der auf OpenWtr läuft mit dem Mac Client Tunnelblick zugreifen?

Wenn der VPN Client Tunnelblick installiert ist, ein Verzeichnis anlegen mit der Extension
.tblk

z.B. OpenWRT10.tblk

In diese Verzeichnis die Datei OpenWRT10.ovpn mit folgenden Inhalt kopieren:

remote 192.168.2.223 1194
client
dev tun
proto udp
resolv-retry infinite
nobind
persist-key
persist-tun

ca ca.crt
cert thomas.crt
key thomas.key

cipher bf-cbc
comp-lzo
# Statische IP Adresse: Server 10.0.0.1 Client 10.0.0.2
ifconfig 10.0.0.2 10.0.0.1
verb 3
mute 20

Die folgenden drei Zertifikate müssen auch in diesem Verzeichnis vorhanden sein:

Inhalte de OpenWRT10 Verzeichnis für Tunnelblick
Inhalte de OpenWRT10 Verzeichnis für Tunnelblick

Dann kann mit einem doppelklick auf das Verzeichnis die VPN Verbindung aufgebaut werden. Wenn die Verbindung geklappt hat, erscheint:

Bildschirmfoto 2013-10-13 um 20.10.13

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 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 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 können unter OpenWrt E-Mails versendet werden?

Das geht mit dem msmtp Client (msmtp version 1.4.27).

Dazu den msmtp Client und mutt (Version 1.5.21 (2010-09-15)) auch gleich mit installieren.

Die Konfigurationsdatei vi /etc/msmtprc wie folgt anlegen und die entsprechenden smtp Daten eingeben:

Testen ob alles richtig konfiguriert wurde geht mit dem absetzen folgender Kommandos auf der Konsole:

Oder mit cat mit Betreff und Absender:

Dann testen ob die E-Mail angekommen ist.

Für das Versenden aus dem Fhem Script reicht das noch nicht. Wir brauchen noch ssmtp

Diese zwei Dateien anpassen /etc/ssmtp/ssmtp.conf

Und die /etc/ssmtp/revaliases

Check auf der Konsole mit:

dann Enter und die Nachricht der E-Mail eingeben.

Zum Schluss Strg+D drücken. Dann wird die E-Mail versendet.

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 werden alle offenen Ports mit OpenWrt angezeigt?

Mit nmap können die offenen Ports wie folgt ausgegeben werden (nur gegen localhost ausführen):

[root@OpenWrt ~]# nmap localhost

Ausgabe dann z.B.

Starting Nmap 6.01 ( http://nmap.org ) at 2013-08-22 08:20 CEST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00030s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
22/tcp open ssh
53/tcp open domain
80/tcp open http

Der Port 53 ist für den DNS Server. Details können auch mit
Netstat ausgegeben werden z.B.:

[root@OpenWrt ~]# netstat -plnt

Ausgabe:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1789/uhttpd
tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 1820/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1771/dropbear

Wie kann in Luci von OpenWrt die Sprache geändert werden?

Die Gui von Luci kann auch in einer anderen Sprache eingestellt werden.
Dazu kann mit folgendem Befehl auf der Konsole die Liste der verfügbaren Sprachen ausgegeben werden.

[root@OpenWrt ~]# opkg list | grep luci-i18n-

Bis jetzt wurden folgende Sprachen übersetzt:

luci-i18n-catalan - 0.11.1-1 - Catalan (by Eduard Duran)
luci-i18n-chinese - 0.11.1-1 - Chinese (by Chinese Translators)
luci-i18n-english - 0.11.1-1 - English
luci-i18n-french - 0.11.1-1 - French (by Florian Fainelli)
luci-i18n-german - 0.11.1-1 - German
luci-i18n-greek - 0.11.1-1 - Greek (by Vasilis Tsiligiannis)
luci-i18n-hebrew - 0.11.1-1 - Hebrew
luci-i18n-hungarian - 0.11.1-1 - Hungarian
luci-i18n-italian - 0.11.1-1 - Italian (by Matteo Croce)
luci-i18n-japanese - 0.11.1-1 - Japanese (by Tsukasa Hamano)
luci-i18n-malay - 0.11.1-1 - Malay (by Teow Wai Chet)
luci-i18n-norwegian - 0.11.1-1 - Norwegian (by Lars Hardy)
luci-i18n-polish - 0.11.1-1 - Polish
luci-i18n-portuguese - 0.11.1-1 - Portuguese (by Jose Monteiro)
luci-i18n-portuguese-brazilian - 0.11.1-1 - Portuguese (Brazilian) (by Carlos Cesario)
luci-i18n-romanian - 0.11.1-1 - Romanian
luci-i18n-russian - 0.11.1-1 - Russian (by Skryabin Dmitry)
luci-i18n-spanish - 0.11.1-1 - Spanish (by Guillermo Javier Nardoni)
luci-i18n-ukrainian - 0.11.1-1 - Ukrainian
luci-i18n-vietnamese - 0.11.1-1 - Vietnamese (by Hong Phuc Dang)

Mit dem folgenden Zweizeiler wird Deutsch eingestellt.

opkg update
opkg install luci-i18n-german

Dann in der Luci-Web-Gui unter der Seite System/System -> Language and Style auf Deutsch schalten. In der Regel steht Sprache dort schon auf automatisch, dann wird Deutsch automatisch gewählt.

Luci Gui in Deutsch
Luci Gui in Deutsch

Für andere Sprachen analog vorgehen.

Die Einstellungen für Luci die automatisch eingestellt werden, sehen dann so aus:

[root@OpenWrt ~]# cat /etc/config/luci

config core 'main'
option lang 'auto'
option resourcebase '/luci-static/resources'
option mediaurlbase '/luci-static/bootstrap'

config extern 'flash_keep'
option uci '/etc/config/'
option dropbear '/etc/dropbear/'
option openvpn '/etc/openvpn/'
option passwd '/etc/passwd'
option opkg '/etc/opkg.conf'
option firewall '/etc/firewall.user'
option uploads '/lib/uci/upload/'

config internal 'languages'
option en 'English'
option de 'Deutsch'

config internal 'sauth'
option sessionpath '/tmp/luci-sessions'
option sessiontime '3600'

config internal 'ccache'
option enable '1'

config internal 'themes'
option OpenWrt '/luci-static/openwrt.org'
option Bootstrap '/luci-static/bootstrap'

Wie installiere ich MiniPwner auf OpenWrt 12.09 das auf einem TP-Link TL-WR703N Router läuft?

MiniPwner bietet…

Nmap – Netzwerk Scanner
Tcpdump – Sniffer
Netcat – Daten kopieren über Netzwerk
aircrack Wireless – Netzwerk Analyse
kismet – WiFi Analyse
perl – Programmier Sprache Perl
openvpn – VPN Client und Server
dsniff – Sniffing und spoofing Tools, mit arpspoof
nbtscan – NetBIOS Netzwerk Scanner
snort – Sniffer, Packet Logger, Intrusion Detection System
samba2 client – Windows File Sharing Client
elinks – Text Based Web Browser
yafc – FTP Client
openssh-sftp-client – Secure File Transfer Client
mc – Dateimanager für Kommandozeilen und Mausunterstüzung
luci-theme-bootstrap – Sprachunterstüzung und Thema für Luci
htop – Prozessmanger zum anzeigen und kill von Prozessen und Resouren
iftop – Netzwerk Interface Anzeige
ettercap – Netzwerk Penetrations Tool
mdk3 – Netzwerk Penetrations Tool
aircrack-ptw – Netzwerk Penetrations Tool

Voraussetzung:
1. Ein formartierter USB-Stick mit drei Partitionen. Ich habe einen 8 GB Stick so formatiert:

sda1 - sys (80 MB oder mehr) ext2 primary
sda2 - swap (64 MB oder mehr) linux-swap primary
sda3 - data (der Rest des Speichers) ext2 primary

2. OpenWrt Version 12.09 (kein trunk) auf OpenWrt geflasht
downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/

Installation
1. Passwort setzen

2. Über WEB-Frontend Luci zu Network->WiFi gehen und das Netzwerk scannen. Auswählen des erkannten Homenetzwerk. Eingabe des Passwort und als Firewall-Zone WAN auswählen. Speichern.
Unter den erweiterten Einstellungen den Country Code auf DE und HT Mode setzen, wenn er nicht schon da ist.
Speichern.

3. Reboot

4. USB-Stick anschließen

5. Einloggen per SSL folgende updates ausführen:

opkg update
opkg install kmod-usb-storage
opkg install kmod-fs-ext4
opkg install block-mount

Kontrolle mit

dmesg

es muss in einen der letzten Zeilen die Partitionen sda, sda1, sda2, sda3 angezeigt werden.

6. Die Datei /etc/config/fstab wie folgt bearbeiten damit der USB-Stick eingebunden wird.

config global automount
option from_fstab 1
option anon_mount 1

config global autoswap
option from_fstab 1
option anon_swap 1

config mount
option target /overlay
option device /dev/sda1
option fstype ext2
option options rw,sync
option enabled 1
option enabled_fsck 0

config mount
option target /home
option device /dev/sda3
option fstype ext2
option options rw,sync
option enabled 1
option enabled_fsck 0

config swap
option device /dev/sda2
option enabled 1

Nach dem mounten ist /overlay die SYS Partition.
Das /home Verzeichnis ist die Daten-Partition die für alles was benötigt wird verwand werden kann.

7. Mounten des USB-Sticks und kopieren der SYS Partition auf den Stick:

mkdir /mnt/sda1 /home
mount /dev/sda1 /mnt/sda1
tar -C /overlay -cvf - . | tar -C /mnt/sda1 -xf -

8. Reboot

9. Per SSL verbinden und Testen ob der Stick eingebunden wurde mit

df

Testen ob der Swap funktioniert mit

swapon /dev/sda2

Wenn „swapon: /dev/sda2: swapon failed: Device or resource busy“ kommt, ist alles ok.

10. Instalation von dsniffer vom derbycon Repo und anderer Tools mit:

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

Fertig.

Alles was fehlt, kann über opkg noch installiert werden.

Diese Anleitung ist der Anleitung von megal0maniac (engl.) gefolgt.

Was kann die Ursache sein, das von OpenWrt kein Internet Zugriff möglich ist?

Was kann die Ursache sein, das von OpenWrt kein Zugriff auf das Internet möglich ist?
Checken ob: ping wenzlaff.de geht, wenn nicht,
dann in der /etc/confi/network Datei überprüfen,
ob der folgende Eintrag mit dem DNS und Gateway vorhanden ist:

config interface ‚lan‘
option ifname ‚eth0‘
option type ‚bridge‘
option proto ’static‘
option ipaddr ‚192.168.2.122‘
option netmask ‚255.255.255.0‘
option ip6assign ’60‘
option dns ‚xxx.xxx.xxx.xxx‘ # IP-Adresse aus Router eintragen
option gateway ‚192.168.2.1‘

Das Netzwerkkabel muss am Router angeschlossen werden und nicht an der Netzwerkkarte des Rechners.

Wie kann auf den TL-WR703N Fhem installiert werden?

Dazu muss erst einmal mehr Speicher per USB-Stick bereitgestellt werden.

Dann gem. dieser Anleitung vorgehen.

Also kurz:
1. OpenWrt installieren
2. USB-Stick vorbereiten und an WR703N anschließen
3. Perl installieren
4. Fhem aus Subversion ausschecken
5. mit make install Fhem erstellen
6. nun kann Fhem gestartet werden in /usr/src/fhem mit: perl /opt/fhem/fhem.pl /opt/fhem/fhem.cfg
7. im Browser http://192.168.2.122:8083/fhem (ip anpassen) aufrufen, es kommt:

Fhem Startbildschirm auf WR-703N mit OpenWrt
Fhem Startbildschirm auf WR-703N mit OpenWrt

8. Autostart für Fhem einrichten. Datei /etc/init.d/fhem anlegen mit folgenden Inhalt:

#!/bin/sh /etc/rc.common
# FHEM Init Script
START=11
STOP=15
start() {
# cd /usr/src/fhem/
# perl /opt/fhem/fhem.pl /opt/fhem/fhem.cfg
# auf neue Verz. angepasst:
cd /etc/src/fhem/
perl /etc/src/fhem/fhem.pl /etc/src/fhem/fhem.cfg
}
stop(){
echo "shutdown" | nc localhost 7072
}

Dann noch die /etc/init.d/fhem Datei ausführbar machen und aktivieren.
chmod +x /etc/init.d/fhem
/etc/init.d/fhem enable
/etc/init.d/fhem start

Nach reboot startet nun Fhem automatisch.

9. Fhem weiter konfigurieren

10. z.B. den ersten Plot anzeigen. Dazu z.B in das Verzeichnis /fhem/www/log die eine Test-Datei temp.log mit Messwerten kopieren. In der /etc/src/fhem.cfg
diese Anpassungen machen:

define Test dummy
define FileLog_Test FileLog /usr/src/fhem/log/temp.log Test
attr FileLog_Test logtype temp4:Plot,text
attr FileLog_Test room Test
define wlTest weblink fileplot FileLog_Test:temp4:CURRENT
attr wlTest room Test

Und schon wird dieses schöne Diagramm angezeigt. Es ist noch nicht viel, da die Testdaten nur ein paar Zeilen sind:

1. Test Plot
1. Test Plot

Wie kann für den TL WR703N ein externer USB-Stick als Speicher verwendet werden?

Wenn der TL WR703N mit OpenWRT 12.09 Attitude Adjustement und Luci 0.11.1 geflasht wurde, bleibt nur noch ca. 870 KB an Speicher frei.

Wie kann nun ein externer USB Stick an den WR703 angeschlossen werden?

1. USB-Stick vorbereiten

Der USB Stick muss vorher, mit ext4 an einen anderen Rechner formatiert werden, da der Speicher dafür nicht ausreicht.
Ich habe einen 8 GB Stick mit einer Partitionen wie folgt erstellt:

8 GB Stick, ext4, primäre Partition, aktive – /dev/sda1

unter Windows erstellt und formatiert mit dem Partition Wizard Home Edition wie in beschrieben.

2. Firmware flashen

Neue Firmware über Luci GUI geflasht, auf 12.09 r36088, da die „alte“ Probleme machte.

3. USB-Stick einbinden

Wie in beschrieben vorgegangen.

Dann gem. der Anleitung:

ls /dev/sd*
opkg update

opkg install kmod-usb-storage
opkg install kmod-fs-ext4 block-mount

# ab jetzt ist auch in Luci der Tab vorhanden und zwar unter System – Mount Points

mkdir -p /mnt/sda1
mount /dev/sda1 /mnt/sda1

mkdir -p /tmp/cproot
mount – -bind / /tmp/cproot
tar -C /tmp/cproot -cvf – . | tar -C /mnt/sda1 -xf –

umount /tmp/cproot
umount /mnt/sda1

vi /etc/config/fstab
# in der config mount Sektion
option target /
option enabled 1

reboot
df # zeigt den Speicher an
Bildschirmfoto 2014-07-05 um 10.12.38

Speicher ist nun genug vorhanden. Das kann auch unter Luci angezeigt werden:
Bildschirmfoto 2014-07-05 um 10.14.03
Und die gemachten Änderungen aus der /etc/config/fstab werden so angezeigt:
Bildschirmfoto 2014-07-05 um 10.14.20

Flashen des TP-Link TL-WR703N mit OpenWrt über den seriellen Port und einrichten der Luci Gui

Durch das flashen des TP-Link TL-WR703N mit einem Image unbekannter Herkunft,
hatte das schöne Teil leider seinen Geist aufgegeben.

Es kann aber wiederbelebt werden, aber nur über die Serielle-Schnittstelle die nicht nach draußen geführt ist.
Also musste ich doch die drei Kontakte nach draußen führen. Nach dem öffnen des Geräts, und freilegen der Platine,
sind die drei Kontakte (TX, RX, Masse) schnell lokalisiert, dank der guten Fotos auf http://forums.openpilot.org/blog/52/entry-92-unbrick-wr703n-wifi-router/

Eine gute Anleitung ist hier zu finden

http://wiki.villagetelco.org/index.php?title=Building_a_Serial_Port_for_TL-WR703N
und auch
http://www.bitzof.me/doku.php?id=electronics:wr703n:unbricking

Das größte Problem dabei ist an die kleinen Kontakte, passende Drähte anzulöten. Die Kontakte sind wirklich nur ca. 0,4 mm klein. Gefühlt 0,0000001 mm.
Ein Kollege hatte noch den passenden Draht, der wirklich dünner als ein Haar ist und konnte mir einen Meter überlassen.

Also die Brille gesucht und es hat beim ersten Versuch geklappt.

Das war der komplizierteste Teil.

Um den Mac zu schonen, habe ich das flashen der neuen Firmware auf einen alten Windows-Rechner gemacht.

Was war nötig alles nötig?

1. Den seriellen to USB Adapter cf20… an den WR-703N anschließen:

PIN 4 TX an WR TX
PIN 5 RX an WR RX
PIN 6 GND an WR GND

Achtung! Nicht RX an TX und TX an RX .so wie sonst, dann klappt es nicht und das Terminal Fenster bleib schwarz.

2. Treiber für den cf20 von geladen.
Der Treiber richtet einen virtuell COM Port ein. Port in den Systemeinstellungen auf 115200/8/N/1/XON-XOFF stellen.

3. Putty laden und seriell Einstellungen auf: 115200/8/N/1/XON-XOFF

4. TFtp Server von laden und neue OpenWrt Firmware (openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-factory.bin) in das Verzeichnis kopieren.
Habe den langen Namen noch gekürzt, in firm.bin.

Install Verzeichnis des TFTP32 Server
Install Verzeichnis des TFTP32 Server

Einstellungen des TFTP Servers
Einstellungen des TFTP Servers

5. Rechner IP Adresse setzten 192.168.1.100. Unter Netzwerkverbindungen-Lan-Verbindung-Allgemein-Eigenschaften-Internetprotokoll-Eigenschaften-Folgende-IP-Adresse verwedne-IP-Adresse.
Wichtig: Verbindung vom Rechner zum WR703N per Ethernet nicht vergessen!

6. Nach verbinden des WR-703N hat man max. 1 Sekunde zeit, im Terminal „tpl“ und Enter einzugeben um auf dem Prompt zu kommen.
Beim dritten Versuch hat es bei mir geklappt. Wenn hornet> angezeigt wird, hat man gewonnen.

7. Dann folgende Befehle eingeben:

hornet> tftpboot 0x81000000 openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-factory.bin
hornet> erase 0x9f020000 +0x3c0000
hornet> cp.b 0x81000000 0x9f020000 0x3c0000
hornet> bootm 9f020000

flash

Lösch Befehl
Lösch Befehl

und warten bis alles abgeschlossen ist. Dann Enter drücken und der OpenWrt-Prompt mit OpenWrt-Logo erscheint.

8. Ethernet verbinden. Mit Telnet 192.168.1.1 verbinden und wenn der OpenWrt Prompt kommt,
das Passwort setzen mit passwd. Ab dann ist kein Telnet mehr möglich. Neu verbinden mit SSH.

9. Eine andere statische IP vergeben, die im Namensraum vom DNS Server des Internet Routers liegt vergeben.

10. Per SSH anmelden und das Netzwerk einstellen: /etc/config/network

config interface 'lan'
option ifname 'eth0'
option type 'bridge'
option proto 'static'
option ipaddr '192.168.2.123' # feste statische Adresse des Routers
option netmask '255.255.255.0'
option ip6assign '60'
option dns '8.8.8.8' # Adresse des Google dns, oder anderen
option gateway '192.168.2.1' # Adresse des gateway

reboot
Ethernet Kabel an Router anschließen.
ping wenzlaff.de
muss erfolgreich laufen

11. Dann die Web-Gui luci installieren
opkg update
opkg install luci luci-i18n-german luci-theme-bootstrap

12. Web Server starten
/etc/init.d/uhttpd start
und damit es beim nächsten start automatisch läuft:
/etc/init.d/uhttpd enable

13. Im Browser die feste statische Adresse aufrufen und anmelden mit User: root und den vergebenen SSH Passwort anmelden.

Bildschirmfoto 2013-07-11 um 21.53.08

Bildschirmfoto 2013-07-11 um 21.53.45