Die Linux-Distribution für WLAN-Router
OpenWRT ist eine Linux-Distribution speziell für kleine WLAN-Router. Felix Fietkau ist einer der Entwickler des Projektes und berichtet im Gespräch mit Tim Pritlove über die Zeile, Schwerpunkte und Besonderheiten der Distribution.
Felix berichtet, was OpenWRT genau ausmacht, warum man nicht einfach einen Standard-Linux-Kernel auf kleinen Geräten ohne weiteres laufen lassen kann, wie zusätzliche Software installiert wird, wie das Projekt mit Änderungen bei Linux Schritt hält, die Bemühungen des Projektes, freie Treiber für WLAN-Subsysteme bereitzustellen, welche Aufgaben ein WLAN-Treiber konkret erfüllen muss, wie heutige Treiber-Features langsam in den Kernel wandern, welche Probleme Hersteller haben, eine laufende Firmware zum Laufen zu bekommen und welche Chancen OpenWRT hat, künftig zur Standard-Software auf neuen Geräten zu werden, wie Kommunikation in einem WLAN funktioniert, wie man OpenWRT installiert, welche aktuellen und geplanten Oberflächen zur Konfiguration existieren, wie die Kommunikation innerhalb des Projektes funktioniert, welche Firmen mit OpenWRT kooperieren und warum ein XO Laptop (OLPC) mit OpenWRT schneller läuft.
Shownotes
- John F. Kennedy – Waldorf-Astoria Hotel 1961
Address before the American Newspaper Publishers Association, April 27, 1961
- CRE Intro
- Begrüßung
- Tim ist in Hamburg
Chaos Computer Club Hamburg
- Felix Fietkau
OpenWRT
- Der CCCHH
Freifunk
Kernel
- Felix Fietkau
- Felix ist 25 und macht seit 14 mit Rechnern rum
- OpenWRT ist sein erstes wirkliches Projekt
Linksys
Linux
Linksys WRT54G
IEEE 802.11g
IEEE 802.11b
Harald Welte
GPL Violations
Free Software Foundation
Cisco Systems
- Erster günstiger WLAN-Router mit offenem Quellcode
- Leider ist nicht wirklich die komplette Software erhältlich
VxWorks
Bootloader
Flash-Speicher
RAM
- Hardware des WRT54G
- 125/200MHz-Prozessor
MIPS-Architektur
- 4MB Flash, 16MB RAM
Filesystem
PPP
DHCP
NAT
- Zielsetzung des OpenWRT-Projektes
- OpenWRT sieht für Benutzer aus wie modifiziertes Linux
- Zielplattformen des Projektes
- Zu Beginn Konzentration auf WRT54G und WRT54GS
- Dann auch ähnliche Broadcomm-Geräte
- Danach Plattformabstraktion
Hardwareabstraktionsschicht
- Momentan Ausweitung über Wireless Router hinaus
- Umfang der OpenWRT-Software
Linux
- Linux-Standardwerkzeuge
ls
Editor
Shell
DHCP
DNS
- Außerdem an die 300, 400 Pakete zur Auswahl
Samba
- Mesh-Routing
Network Attached Storage
- Netzwerkdrucker
USB
Port
- Packetverwaltung
iPKG
- Änderungen am Linux Kernel
- Standard-Linux-Kernel hat üblicherweise keine Hardwareunterstützung
- Hersteller von Embedded-Geräten forken den Kernel, ändern ihn ab und verbreiten die geänderte Version
Broadcom
Linksys
- Modifikationen werden nie an neue Kernel-Versionen angepasst
- OpenWRT schreibt Kernel-Patches, die die Hersteller-Versionen ersetzen
- OpenWRT-Benutzer wählt nur noch die Plattform aus und kompiliert einmal
make
- Beispiel: Tim hat sich ein Gerät gekauft
- OpenWRT-Image kann mit Standard-Firmware aufgespielt werden
- OpenWRT stellt Binaries zur Verfügung
MediaMarkt
- Unterstützte Geräte
Intel
MIPS
ARM
x86
- Populäre Geräte
Asus WL-500g Premium
Soundkarte
- Proprietäre WLAN-Treiber
PPPoE
DSL
Provider
DHCP
Ethernet
IP
WLAN
- Hersteller behalten ihren Quellcode gerne für sich
GPL Violations
Grafikkarte
- Hersteller mit komplett freien WLAN-Systemen
Ralink
Realtek
Broadcom
Atheros
- Atheros sagt, sie wollen offen werden
FCC
- Reverse Engineering für Atheros und Broadcom fertig, aber noch nicht stabil
- Was muss ein WLAN-Treiber leisten?
IEEE 802.11
Access Point
- Arbeit wird vom Treiber bzw. WLAN-Stack geleistet
BSD
Multiband Atheros Driver for WiFi (MADWIFI)
- MADWIFI ist teilweise proprietär
- Neues Treiberprojekt für IEEE 802.11 direkt im Kernel
- Reverse Engineering für Broadcom
- Reverse Engineering für Atheros
OpenBSD
- Unterstützung für 802.11n bzw. 802.11a
IEEE 802.11n
IEEE 802.11a
- Hardware-Hersteller die OpenWRT einsetzen
- Infineon scheint sich zu interessieren
- Unterstützung des Asus WL-500g Premium
- Der Asus-Access-Point hat einen 802.11g Broadcom 4318
- Da hier Reverse Engineering des Treibers noch nicht fertig ist, werden noch die Hersteller-Binaries genutzt
- Zielsetzung sind aber freie Treiber für alle Geräte
- Status der OpenWRT-Entwicklung für den Asus-Access-Point
- Funktionsweise von WLAN
- WLAN ist kein Full-Duplex-Kanal
- Access Point schickt regelmäßig Beacons aus
- Kommunikation zwischen Clients läuft über den Access Point
- Timing-Probeme
- WLAN auf dem Chaos Communication Congress
Roaming
Bridge
- Angreifer im Netz
DOS
- Bug im Atheros-Treiber
- Leute, die ihren eigenen Access Point mitbringen und damit stören
- Diese Probleme sind zur Zeit noch nicht im Fokus von OpenWRT
- Benutzerinterface von OpenWRT
- Standardmäßig kein Webinterface
X-WRT
- Webinterface für OpenWRT ist in Entwicklung
- Erstmal ist das Ziel von OpenWRT aber die Basistechnologie
Apple Airport
- Für die Konfiguration der Airport gibt es eine Anwendung auf dem Rechner
- Daran wird bei OpenWRT auch gearbeitet
Fraunhofer Fokus
SNMP (Simple Network Management Protocol)
- Fehlermeldungen
- Arbeitsweise des OpenWRT-Projektes
IRC
- Mailingliste für Kommunikation mit externen Entwicklern
Mailingliste
Git
Versionskontrollsystem
SVN
trac
OpenWrt development center
OpenWrt Community wiki
MediaWiki
MoinMoin
- Entwicklertreffen auf dem Chaos Communication Congress
Chaos Communication Congress
OpenBSD
Flame War
Theo de Raadt
Die “Fairydust” Rakete
Atheros
Broadcom
Chaos Communication Camp
ICMP4
- Zusammenarbeit mit Firmen
Infineon
Fon
CRE019 Fon
RP-SMA-Steckverbinder
Netgear
Infineon
DSL
Voice over IP
- Codequalität in der Embedded-Welt
- Abspaltungen von OpenWRT
DD-WRT
FreeWRT
- OLPC (One Laptop Per Child)
CRE071 One Laptop Per Child (OLPC)
X-Server
OpenWRT mit GUI auf dem OLPC
Cross Compilation
MD5
Tarball
- Mesh Networking
IEEE 802.11s
- Firmware der Meshing-Hardware ist nicht offen
Marvell
CRE071 One Laptop Per Child (OLPC)
CRE016 Wireless Mesh Networking
CRE045 B.A.T.M.A.N.
- Unterstützungsmöglichkeiten
- Entwickler werden gebraucht
OpenWRT.org
- OpenWRT IRC Channel irc://irc.freenode.net/openwrt
- Verabschiedung
- “Vielleicht kramt ihr nochmal eure alten Router aus dem Regal und könnt vielleicht noch ein bisschen mehr damit machen.” (Tim) “Lieber neue als alte, bei den alten siehts manchmal nicht so gut aus.” (Felix)
- CRE Outro
Go Felix, go!
Tolle Folge! :)
Pingback: OpenWRT | MellowBox
Pingback: zahlenzerkleinerer » Blog Archive » CRE076: OpenWRT
Kann jemand OpenWRT-taugliche Hardware mit n-WLAN-Unterstützung empfehlen?
@Tim: Bei Apple finde ich höchst bedauerlich, dass die Access Point-Konfiguration nicht (auch) über ein Web-Interface möglich ist. Man ist damit vollkommen davon abhängig, was Apple an Hilfsprogrammen veröffentlicht, sprich aktuell kann man die Apple-APS nur mit bestimmten Mac OS X- und Windows-Versionen konfigurieren … wir verwenden auch eine AirPort Extreme, für flexiblere Aufgaben und wegen der Linux-Tauglichkeit in Ergänzung dazu aber auch OpenWRT-Geräte.
P.S.: Warnen sollte man noch vor der Verwendung von DD-WRT – siehe dazu beispielsweise http://www.bitsum.com/about-ddwrt.htm …
P.P.S.: Ebenfalls erwähnenswert: http://www.polarcloud.com/tomato
@mds: So weit ich weiss, gibt es ein Open Source Konfigurationsprogramm für AirPort, das in Java geschrieben ist. Schon eine Weile her, dass ich mir das mal angeschaut hatte. Aber ich vermute, die Konfiguration lässt sich auch über SMNP machen.
@Tim: http://gicl.cs.drexel.edu/people/sevy/airport/#Configurator – AFAIK aber leider nicht mehr in aktiver Entwicklung.
Pingback: blog.kp42.de » Blog Archive » Chaosradio Expres 076 - OpenWRT
@mds: Die Lizenz von Tomato (bzw. der Tomato-Spezifischen Teile die in die Linksys-Firmware reingehackt wurden) gefällt mir nicht besonders gut:
Nicht gerade Open Source freundlich…
Der Podcast war „kompatibel“ ;)
Vielen Dank dafür!
@mds: Huch, der Blog hat den Paste des Lizenztextes entsorgt, weil da HTML-Kommentartags drin waren. Der Text den ich meinte ist:
Tomato GUI
Copyright (C) 2006-2008 Jonathan Zarate
http://www.polarcloud.com/tomato/
For use with Tomato Firmware only.
No part of this file may be used without permission.
Sehr schöner Podcast, ließ sich prima bei frühstücken. Thx!!
@nbd: Eine freie Lizenz für die GUI hätte ich auch bevorzugt. Aber leider kann sich nicht jeder Entwickler damit anfreunden … dafür ist die GUI gelungen, für OpenWrt ist mir keine GUI auf diesem Niveau bekannt.
Hallo,
was ist denn das für ein Audioschnipsel am Anfang? Wer spricht da?
Hallo,
ich wollte eigentlich nur mal ein ganz *fettes* Lob loswerden. Ich höre CRE schon recht lang und mir ist kein Podcast von vergleichbarer Qualität bekannt. Speziell schätze ich die gute Vorbereitung der Themen, das Nachhaken wenn eine Erklärung dem Moderator noch nicht deutlich genug war, das zurückholen auf das nach Sendungsplanung eigentlich geplante Unterthema, wenn es mal kurzfristig netterweise nerdbedingt abschweift. Die Stetigkeit mit der Tim daranbleibt, denn nichts ist nerviger, als ein Podcaster mit Folge Eins ‚Ich und die Welt‘ und Folge Zwei ‚Tut mir leid, ich habe keine Lust mehr‘. Auch ist der Moderator immer so gut über das Thema informiert, das er den Gesprächspartnern wirklich interessante Dinge entlocken kann.
Gut ist, dass den Technik-Kiddies auch mal untechnisches, und vor allem auch gesellschaftsbezogenes Programm geboten, wird obgleich ich die techniklastigen bevorzuge.
Danke und Greetz
P.S. Kleine Kritikpunkte hätte ich, aber das passt hier nicht zu meinen Lobposting. Irgendwann mal…vielleicht.
@Johannes: John F. Kennedy
Kennt wirklich niemand OpenWRT-taugliche Hardware mit n-WLAN und Gigabit-Ethernet?
hm schade dass niemand so Hardware kennt…
@toabi: Vermutlich gibt es schlicht (noch) keine … wir haben jetzt eine «Time Capsule» im Einsatz – proprietär und nicht allzu flexibel zwar, aber sie funktioniert wie gewünscht.
schlage mich auch gerade mit openWRT rum. Schade das es kaum was technisches zur Konfiguration der Kisten (NVRAM) gab, oder auch nur zu den beiden Versionen.
Gruss
Thomas
Pingback: OpenWrt – Was kann ich damit anstellen? « Schön Blöd
Hallo 2008, hallo Tim,
das Bild zum Podcast ist weg und ich weiss gar nicht wie ich damit umgehen soll :(
Trotzdem nochmal reinhören :)