Aug 202013
 

Die von uns in unseren Raspberry Pi Kits gebündelten Logilink WL0084B v2.0 sind für Raspbian und Raspbmc getestet, und funktionieren “out of the box”. Wir stellen in diesem Blog-Eintrag vor, wie dieser nano WiFi Adapter und andere kompatible Adapter unter Raspbmc für das Funknetzwerk eingestellt werden können.

(Anmerkung: für den TP-Link Wireless N Nano USB Adapter TL-WN725N entwickeln wir aktuell ein Paket, mit dem dieser WLAN Stick ebenfalls unproblematisch einzusetzen sein sollte. In unserem letzten Test funktionierte dieser Stick leider nicht out-of-the box.)

Einrichten

Wir gehen hier von einer “virgin Raspbmc” Installation mit Stand 20. August 2013 aus, an der noch keine Einstellungen für das Funknetzwerk getroffen wurden.

Rufen Sie die Raspbmc Settings (unter dem Menüpunkt Programme) per Klick auf:

screenshot000

Achtung: die Raspbmc Settings benötigen zum Starten in älteren Versionen eine verbundene LAN-Netzwerkverbindung! In unserem aktuellen Test lassen sich die Settings auch ohne LAN Verbindung öffnen.

Öffnen Sie den Reiter “Network Configuration”

screenshot001

Klicken Sie mit der Maus auf die Pfeile neben Network Mode nach oben oder nach unten, um “Wireless (WiFi) Network einzustellen”

screenshot003

Scrollen Sie mit Hilfe der Leiste rechts nach unten, und stellen Sie die SSID Ihres Netzwerkes durch Klick auf die entsprechende Zeile ein:

screenshot004

Es öffnet sich ein Dialog, in dem Sie die SSID einstellen können.

Stellen Sie jetzt Ihren WiFi KEY ein durch Klick auf die entsprechende Zeile.

Bitte beachten Sie: bei einer “normalen” Raspbmc Installation ist eine englische Tastaturbelegung trotz der Sprachauswahl “Deutsch” am Anfang weiter vorhanden. Das führt dazu, dass beispielsweise “z” und “y” vertauscht sind. Falls Ihr WiFI Key solche Zeichen enthält, könnte ein Verbindungsproblem daran liegen.

Wir haben in diesem Artikel beschrieben wie Sie die Sprache für die Tastatur umstellen (Konsolenkentnisse Voraussetzung). Alternativ können Sie auch unser Movie Kit kaufen, in dem diese Voreinstellung bereits für Sie getroffen worden ist. Im Movie Kit sind neben vielen praktischen Komponenten auch MPEG-2 und VC-1 Schlüssel mit enthalten.

Passen Sie ggf. auch den WiFi Security Modus an. WPA/WPA2 sollte in modernen Netzwerken der Standard sein, und kann daher meistens unverändert bleiben.

Sobald Sie fertig sind, aktivieren Sie bitte den Radio Button “Update Now”, und drücken auf OK:

screenshot005

Das System zeigt Ihnen an, dass die Einstellungen übernommen und angewendet wurden.

Jetzt können Sie Ihr LAN Kabel abziehen (falls es noch angeschlossen ist), und die Verbindung sollte über den WiFi Adapter funktionieren. Es ist kein Neustart nötig.

IP Adresse & Fehlersuche

Im eingebauten Systeminfo Menü können Sie sich eine Übersicht über den Status von Raspbmc geben lassen, unter anderem auch die IP Adresse:

screenshot006

screenshot007

Durch Klick auf “Netzwerk” erhalten Sie weiterführende Informationen, z.B. zum aktuell verwendeten DNS Server, und ob das System eine Verbindung zum Internet hat:

screenshot008

Jul 232013
 

Hintergrund

Auf dem Raspberry Pi befindet sich “von Werk aus” kein grafischer Netzwerk-Manager. Es ist also die Kommandozeile gefragt, was manchmal unbequem, lästig oder mit Fehlern verbunden sein kann.

Wir stellen in diesem Artikel daher kurz vor, wie man unter Raspbian mit Wicd einen grafischen Netzwerk-Manager aktiviert.

Installation

Öffnen Sie LXTerminal und installieren Sie die benötigten Pakete:

sudo aptitude update
sudo aptitude install wicd wicd-gtk wicd-curses

Nutzung

Nach Neustart von X erscheint in Ihrer Notification Area rechts unten ein neues Icon. Durch Klick auf dieses Icon können Sie sowohl LAN, als auch WLAN Netzwerke mit einer Vielzahl von Möglichkeiten verwalten.

Wicd-Icon

Durch Rechtsklick auf das Icon, und Auswahl von “Connection Info” kann man seine aktuelle IP Adresse herausfinden:

wicd-show-ipadress

Alternativ kann Wicd auch aus dem Menü gestartet werden:

Wicd-start

Wicd zeigt die verfügbaren Funknetzwerke an:

wicd-manager

Durck Klick auf “Connect” kann man sich zu einem Netzwerk verbinden. Falls es eine Passwort-Eingabe erfordert, weist Wicd den Nutzer darauf hin, und öffnet den “Properties” Dialog.

Für die meisten Netzwerke wird es hier nur erforderlich sein, den Preshared Key einzugeben. Wählen Sie aus dem Menü “WPA 1/2 (Passphrase)”, und geben Sie Ihren Preshared key ein.

wpa-properties-dialogue

Nach Klick auf OK drücken Sie erneut “Connect” um sich mit dem Funknetzwerk zu verbinden. Der Erfolg wird in der Statuszeile unten angezeigt:

wicd-connected

WLAN Konfiguration unter der Konsole

Mit Wicd kann man die Funknetzwerkeinstellungen auch unter der Konsole – ohne X Session – verwalten. Geben Sie dazu einfach ein:

sudo wicd-curses

wicd-curses

wicd-curses wird mit der Tastatur bedient. Das Menü unten zeigt die möglichen Eingaben an.

Mit Pfeiltaste nach rechts wird der aktuell ausgewählte Eintrag bearbeitet. Hier kann man die IP Einstellungen, die DNS Einstellungen und den Preshared Key eingeben. Außerdem kann festgelegt werden, dass eine Verbindung zu diesem Netzwerk automatisch hergestellt werden soll. Mit F10 bestätigt man die Einstellungen. Anschließend kann man Q drücken, um wicd-curses zu verlassen.

Weiterführende Informationen & Quellen

Jun 172013
 

Intro

wifi_logo (1)In diesem Artikel stelle ich eine Lösung vor, um  das Netzwerk an dem der Raspberry verbunden ist über einen USB WLAN Adapter für andere Computer zur Verfügung zu stellen. Der Raspberry arbeitet dabei als Brücke (bridge), und leitet einfach alle Daten die am WiFi  Adapter ankommen in das LAN weiter.

Das kann bspw. sinnvoll sein, wenn man zwei Netzwerke zu Hause betreiben möchte – ein schnelles für n-fähige Geräte, und ein langsames für b / g Geräte; Eine Isolation der Netzwerke gegeneinander findet aufgrund des bridged Modes in unserer Anleitung nicht statt – die IP Adressen der über WLAN angeschlossenen Computer z..B. werden vom  DHCP-Router vergeben, nicht vom Raspberry.

Ein weiterer Einsatzzweck ist das Einrichten von WLANs in anderen Stockwerken / entfernten Orten (z.B. im Keller?), vor allem wenn man  dem  Raspberry noch weitere Aufgaben angedeihen lassen möchte.

Der Vorteil an der bridged Lösung ist geringerer Prozessor-Overhead für den Raspberry, und geringerer Verwaltungsaufwand (IP Adressen).

Hardware-Anforderungen

Nicht alle USB WLAN Sticks unterstützen den dazu notwendigen AP Modus, bzw. die “nl80211 API”. Wir beschreiben weiter unten, wie Sie Ihren Stick überprüfen können.

cartIn unserem Shop bieten wir den Logilink WL0084B v2.0 an, der als Access Point geeignet ist.

Er basiert auf dem Ralink RT5370 Chipsatz.

 

Root-Rechte nötig

Die folgenden Kommandos sind alle als root Nutzer auszuführen (sudo su).

Installation der nötigen Pakete
aptitude install hostapd hostap-utils iw bridge-utils
  • hostapd, hostap-utils: WLAN Stick als Access Point nutzen
  • iw: Konfigurations-Programm für Funknetzwerk-Devices
  • bridge-utils: ermöglichen zwei Netzwerke miteinander zu verbinden

iw hilft festzustellen ob Ihr USB-WiFi Stick Access-Point fähig ist. Nicht alle sind es!

iw list

iw list zeigt die vorhandenen Funknetzwerk-Geräte an.

nl80211 not found

Falls hier der Fehler “nl80211 not found” auftaucht, wird eine ältere Version von hostapd benötigt. Weitere Details dazu – bspw. für den TP-Link TL-WN725N WiFi – gibt es auf dieser Seite. Der besagte TP-Link wäre bei lsusb beispielsweise folgendermaßen aufgeführt (v1):

Bus 001 Device 011: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter

Sticks die die nl80211 API unterstützen

Wir benutzen im folgenden einen USB-WLAN Stick, der die nl80211 api unterstützt, d.h. dieser Fehler taucht NICHT auf, sondern man erhält mit iw list etwa folgende Ausgabe:

root@andromeda:~# iw list
Wiphy phy9
        Band 1:
( ... )
        Available Antennas: TX 0 RX 0
        Supported interface modes:
                 * IBSS
                 * managed
                 * AP
                 * AP/VLAN
                 * WDS
                 * monitor
                 * mesh point
        software interface modes (can always be added):
                 * AP/VLAN
                 * monitor
        interface combinations are not supported
( ... )        
Device supports HT-IBSS.

Wir nutzen einen Logilink Adapter (Modell WL0084B v2.0), per lsusb wird dessen Chipsatz identifiziert als:

Bus 001 Device 021: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter

 

Konfiguration

Zunächst muss man in der /etc/init.d/hostapd den Pfad zur (noch zu erstellenden) hostapd Konfigurationsdatei einstellen. ( nano /etc/init.d/hostapd ) Finden Sie die Zeile mit DAEMON_CONF, und ergänzen Sie sie wie folgt:

DAEMON_CONF=/etc/hostapd/hostapd.conf

erstellen Sie jetzt die hostapd.conf ( nano /etc/hostapd/hostapd.conf ) und befüllen Sie sie mit dem folgenden Inhalt:

ctrl_interface=/var/run/hostapd
###############################
# Basic Config
###############################
macaddr_acl=0
auth_algs=1
# Most modern wireless drivers in the kernel need driver=nl80211
driver=nl80211
##########################
# Local configuration...
##########################
interface=wlan0
bridge=br0
hw_mode=g
channel=1
ssid=www.pi3g.com
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=3
wpa_passphrase=BITTE___AENDERN
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
Kurze Diskussion der Datei /etc/hostapd/hostapd.conf

hostapd.conf ist empfindlich was Leerzeichen hinter den jeweiligen Konfigurationseinstellungen angeht – bitte vermeiden Sie diese daher.

  • driver: nl80211 bei Geräten die die nl80211 API unterstützen. Es sind auch andere (legacy-) APIs verfügbar, siehe hier
  • interface: man kann auch mehrere WiFi Adapter am Raspberry anschließen – der erste heißt wlan0
  • bridge: diese Brücke werden wir gleich noch einrichten
  • hw_mode: Verbindungsmodus. g bedeutet: g + b
    • b bedeutet: nur b
  • SSID: die SSID des Hotspots
  • wpa=3: WPA1 und WPA2 werden enabled – diese sind dem unsicheren WEP vorzuziehen
  • wpa_passphrase: das ist Ihr Netzwerkschlüssel. BITTE ÄNDERN SIE DIESEN!!

Um 802.11 n einzuschalten, muss man einen zusätzlichen Parameter “ieee80211n” auf 1 setzen. z.B. für g & n:

hw_mode=g
ieee80211n=1
 
Konfiguration der bridge

Die Bridge sorgt dafür, dass die Netzwerkpakete die die Access Point Clients über diesen senden direkt über den Ethernet Port des Raspberrys weitergeleitet werden. Wir haben die bridge-utils bereits installiert, und müssen nur noch die Einstellungen anpassen.

Editieren Sie die /etc/network/interfaces (nano etc/network/interfaces )

auto lo

iface lo inet loopback
auto br0
iface br0 inet static
        address 192.168.1.11
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255
        gateway 192.168.1.1
        bridge-ports eth0 wlan0

Kurze Diskussion:

  • Die bridge br0  ersetzt Ihr bisheriges eth0 Interface, sie wird daher wie eth0 konfiguriert
    • hier in einer statischen Konfiguration – unser Netzwerk ist 192.168.1.*, der Router 192.168.1.1
  • bridge-ports eth0 wlan0 ist das “magische Kommando”, was wlan0 mit eth0 verknüpft
  • Das ist alles – keine weiteren Einträge (insbesondere nicht für wlan0)

Neustart

Nach einem Neustart sollte das System voll funktionsfähig sein. Sie können jetzt Clients mit Hilfe der Zugangsdaten über den Access Point verbinden.

Alternativ können Sie es auch mit folgenden Kommandos ohne Neustart versuchen:

ifdown eth0; ifup br0
service hostapd restart
DNSMASQ

In unserem Setup ist kein dnsmasq nötig – das wäre erforderlich, falls Sie keine bridge machen wollen, sondern den Clients eigene IP Adressen aus einem anderen Bereich geben wollen, z.B. aus Sicherheitsüberlegungen.

Windows – debugging, etc.

  • um die IP Adresse herauszufinden: unter Powershell: ipconfig /all
  • Es empfiehlt sich, die Funknetzwerkbelegung zu analysieren, um den Durchsatz zu optimieren. Unter Windows gibt es dazu bspw. das Tool InSSIDer. (Scheint kostenlos zu sein).

image

Dokumentation & weiterführende Links

Tools
  • InSSIDer – WiFi Analyse-Tool für Windows (auch mit Windows 8 kompatibel)
Waren
Dec 042012
 

image

Motivation

Der Kyocera SB-4e ist ein TCP/IP Printserver für Kyocera Drucker, z.B. unseren FS-1700+. Wenn man ihn gebraucht gekauft hat, sind diese Daten oft schon so konfiguriert, dass man an den Printserver nicht herankommt, und ihn nicht administrieren / diese Daten ändern kann.

Aus dem Controlpanel des Druckers (Tastenbedienfeld) habe ich keine direkte Möglichkeit gefunden, diese Daten neu einzustellen.

Aber zum Glück gibt es ja dafür das Raspberry Pi!

Idee

  • Raspberry Pi wird über LAN an den Drucker angeschlossen. (Dafür kann man auch ein normales Patch-Kabel nehmen, da das Raspberry Pi die Pins automatisch umschalten kann = auto-MDI).
  • Über WiFi wird das Pi an das lokale Netzwerk angebunden
  • Über NGINX im reverse proxy Modus ermöglicht man den Zugriff auf das Web Control Panel des Printers

Dass es funktioniert zeigt der obere Screenshot (man beachte die IP Adressen!).

pi3g-raspberry-pi-helping-kyocera-printserver

Im Screenshot zu sehen: Kyocera FS-1700+ von hinten mit Printserver-Einheit SB-4e (oder auch bekannt als IC59-ETHER-KYO2 – hergestellt von der Firma SEH.), Raspberry Pi, TP-LINK W-LAN Adapter mit Booster-Antenne, und unser spezielles Flachkabel – mit dem man LAN im häuslichen Bereich unauffälliger verlegen kann.

Alle Produkte (bis auf den Drucker und den darin verbauten Printserver) werden demnächst bei uns im Shop erhältlich sein. Alle sind natürlich, wie alle Produkte im Shop, 100 % mit dem Raspberry Pi kompatibel.

Anleitung

(Bemerkung: man kann den Printserver SB-4e einfach resetten, siehe weiter unten im Text – er geht dann in den DHCP Modus. Aber natürlich bringt man sich damit um ein wenig Bastelspaß mit dem Pi!)

Das Raspberry Pi muss sowohl in das bereits bestehende Funknetzwerk angebunden werden, als auch über den LAN Port mit dem Printserver kommunizieren. Dazu müssen (bei WPA Verschlüsselung) die Dateien wie folgt angelegt sein:

/etc/network/interfaces

auto lo

iface lo inet loopback
#iface eth0 inet dhcp
iface eth0 inet static
        address 192.168.192.124
        netmask 255.255.255.192
        gateway 192.168.192.065

allow-hotplug wlan0
#iface wlan0 inet manual
iface wlan0 inet dhcp
wpa-conf /etc/wpa.conf

#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

Erläuterung:

  • Das eth0 (der LAN Port) wird statisch so konfiguriert, dass es zu den Druckerdaten passt
  • Diese Drucker(printserver)daten kann man sich ausgeben lassen, indem man bei eingeschaltetem Drucker kurz auf den Statusknopf drückt.
  • Die Adresse muss dabei verändert werden (z.b. -1)
  • Die Netmask bleibt gleich, wie die des Printservers
  • Gateway kann auch gleich bleiben
  • Das Funknetzwerk wird aus der neu anzulegenden Datei /etc/wpa.conf heraus eingestellt

/etc/wpa.conf

network={
        ssid=”Netz_SSID”
        key_mgmt=WPA-PSK
        psk=”Ihr_schluessel”
}

Hier müssen Sie die Netz_SSID durch Ihren Netzwerknamen, die SSID, in Anführungszeichen ersetzen. Und bei psk Ihren Netzwerkschlüssel, ebenfalls in Anführungszeichen, eintragen.

Nach einem Netzwerk / Raspberry Pi Neustart sollte jetzt die Verbindung mit dem Drucker möglich sein, bspw. kann man ihn anpingen

ping 192.168.192.125

Man kann auch, wenn man das Paket Lynx installiert (aptitude install lynx als root) direkt die IP des Druckers als Adresse unter der Konsole ansurfen. Mit dem Raspberry Pi ist über den HDMI Ausgang selbstverständlich auch das “grafische” Nutzen eines normalen Webbrowsers (Midori) möglich.

Doch was tun, wenn der Monitor woanders steht? X-11 forwarding, ODER: reverse proxying des Webservers des Printservers. Enter NGINX:

NGINX

NGINX ist eigentlich eine gute Alternative zu Apache, vor allem wenn es um Performance und geringen Ressourcenverbrauch geht – es lohnt sich sich damit vertraut zu machen. Neben einem reinen Webserver kann NGINX jedoch auch deutlich mehr. Wir nutzen das Reverse Proxying Feature, das einem Webbrowser “vorgaukelt”, dass er direkt mit der Endmaschine verbunden ist, aber eigentlich die Daten selbst wiederum von dieser Maschine holt und sie dann an den Webbrowser weiterleitet. Dieses Reverse Proxying ist eine sehr interessante Technologie für Load Balancing, Web Acceleration, u.v.m, wir haben uns schon intensiv damit auseinandergesetzt, und es werden bestimmt weitere Artikel in diese Richtung folgen.

Doch zurück zu unserer Konfiguration. Installation von nginx mittels:

aptitude install nginx

Es müssen nun zwei Dateien angelegt werden:

/etc/nginx/conf.d/proxy.conf

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_max_temp_file_size 0;

proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;

proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;

/etc/nginx/sites-enabled/raspberry.pi.conf

server {
listen   80 default;
server_name  raspberry.pi;

access_log  /var/log/nginx/raspberry.pi.access.log;

location / {
proxy_pass http://192.168.192.125/;
proxy_redirect default;
sub_filter      http://192.168.192.125/http://192.168.1.151/’;
sub_filter_once off;
}
}

In der zweiten Datei passiert die Magie. Die Direktive proxy_pass sagt, dass alle Zugriffe für die Location / und Unterverzeichnisse / Dateien an den Server der unter http://192.168.192.125 erreichbar ist, weitergeleitet werden sollen, um das Resultat dann wieder zurückzuschicken.

sub_filter dient hier dazu, das Webinterface des Printservers umzuschreiben: Leider wurde hier mit vollen URLs mit fest verdrahteten IPs im Link gearbeitet, so dass Klicks im Webinterface zu “Server nicht erreichbar”-Fehlern führen.

Es ist klar, warum – diese Adresse kann nur das Raspberry Pi erreichen, und es ist dem “normalen” Netzwerk nicht bekannt, dass das Pi eine Route zu dieser Adresse kennt. Der Printserver geht aber davon aus, dass er ganz normal mit dieser Adresse angesprochen werden kann …

sub_filter kann beliebige Textsnippets suchen und ersetzen. Die zweite Direktive, sub_filter_once off, dient dazu ALLE Vorkommen dieses Textsnippets in der ausgelieferten Seite (technisch: dem Response Body) zu ersetzen.

Mittels netstat -tulpn kann man jetzt verifizieren, dass NGINX läuft und auf dem Port 80 gebunden hat:

image

Durch Zugriff auf die IP des Raspberry Pi sollte jetzt automatisch der Zugriff auf den Printserver (im reverse proxying Verfahren) möglich sein.

 

Passwort des Druckers neu setzen (Reset des Druckservers SB-4e)

image

Nötig, falls auf dem Druckserver ein Passwort vergeben wurde.

Auf der Seite 194 des folgenden Manuals wird der Prozess beschrieben

Im Photo ist der schwarze Status-Knopf mit einer weißen Pfeilspitze markiert:

pi3g-closeup-printserver

Diese Vorgehensweise hat bei mir funktioniert:

  • Drucker ausschalten
  • Netzwerkkabel aus dem Drucker ausstecken
  • Status Knopf (einziger Knopf am Druckserver) drücken
  • Drucker einschalten, auf Lämpchen am Printserver achten
  • Ativity und Status LED Lämpchen blinken gleichzeitig -> Knopf loslassen (nach 5 x Blinken kommt man sonst in den “BIOS” Modus)
  • ca. 2 sec warten, die LEDs blinken abwechselnd
  • Knopf nochmal drücken und halten, bis nur noch die Activity LED blinkt.
  • Knopf loslassen
  • Drucker ausschalten
  • Drucker einschalten
  • Status Knopf kurz drücken um ein Printout der Einstellungen zu kriegen -> Druckserver FS-4e sollte jetzt resetted sein.

Nach dem Reset geht der Printserver übrigens vollautomatisch in den DHCP Modus.

ansonsten hilft:

Kyocera Hotline (0180 / 5 177 377; Mo-Fr 8:30 – 18:00; 0,12 cent/Min.).

Für abgelaufene Garantie hat Kyocera die kostenpflichtige Nummer 09001 5962372 (0,99 Ct / min)

Quelle: narkive.com, Detlef Meinke (danke!)

Optimization WordPress Plugins & Solutions by W3 EDGE