Archiv der Kategorie: 'OpenWrt'


Kategorie: OpenWrt     Comments (0)    

OpenWrt Kamikaze in VMWare Fusion laufen lassen

Nach meinem Beitrag über OpenWrt in VirtualBox gab es einige Anfragen zum Thema VMWare und wie man darin OpenWrt vernünftig zum laufen bekommt. Dafür habe ich einfach mal ein Image kompiliert. Das entscheidende ist der Netzwerkkartentreiber e1000 für die virtuellen Netzwerkkarten von VMWare. Im Download-Bereich habe ich das Image openwrt-x86-ext2.vmdk, was bereits vorkonfiguriert ist, hinterlegt. Viel Spaß!

Kategorie: OpenWrt     Comments (3)    

OpenWrt Kamikaze in VirtualBox auf dem Mac laufen lassen

Mit dem nahenden Release von OpenWrt Kamikaze 8.09 möchte man sich natürlich mit den Neuerungen vertraut machen. Bisher habe ich auf Routern noch die WhiteRussian Variante in Benutzung. Da sich sehr viel gegenüber der aktuellen Kamikaze Version verändert hat, möchte man sich natürlich in Ruhe damit beschäftigen ohne evtl. seinen Router außer Gefecht zu setzen. Was liegt da näher als dies in einer virtuellen Maschine à la VirtualBox zu tun? Recht einfach möglich ist das, weil OpenWrt auch die x86 Plattform unterstützt.

Für den Mac gibt es ja eine ganze Reihe von Virtualisierern. Der Vorteil von VirtualBox gegenüber Vmware Fusion und Parallels ist, es ist kosentlos verfügbar. Sicher nicht ganz so performant aber für diesen Zweck vollkommen ausreichend. Qemu ist auf für den Mac verfügbar, was mich aber entscheidend gestört hat, ist die sehr schwierige Netzwerkkonfiguration, die aber für das arbeiten mit OpenWrt sehr wichtig ist. Ansonsten hat Qemu auch einen ganz interessanten Eindruck gemacht, gerade weil es auch MIPS und ARM Prozessoren als Host CPU anbietet.

Wie bekommt man nun OpenWrt in VirtualBox zum laufen? Aus meiner Sicht gibt es zwei Ansätze. Erstens, man lädt sich das offizielle OpenWrt Image für x86 herunter und konvertiert das zu einem Image, was auch VirtualBox als Festplattenimage benutzen kann. Zweitens, lädt sich den Quellcode herunter und kompiliert sich den seine Kamikaze Version einfach selbst.

Ich habe mich für den zweiten Weg entschieden, denn man kann vor dem Kompilieren angeben, dass auch ein Image für VirtualBox erzeugt wird. Damit ist jegliches konvertieren überflüssig und man kann auch gleich die Netzwerkkartentreiber, die VirtualBox benötigt, fest einkompilieren. Ein auf diesem Weg erzeugtes Image kann man sich gern bei mir runterladen – das ist noch einfacher :)
Bitte unter Downloads nachschauen und openwrt-x86-ext2.vdi herunterladen.

OpenWrt lässt sich sehr einfach unter Linux kompilieren. Deshalb habe ich mir eine akuelle Ubuntu Version heruntergeladen und in VirtualBox als virtuelle Maschine eingerichtet und installiert. Dann benötigt man den Quellcode von OpenWrt Kamikaze, den man unter http://downloads.openwrt.org/kamikaze/8.09_RC1/kamikaze_8.09_rc1.tar.bz2 bekommt.

Schritt 1:
Ubuntu in VirtualBox hochfahren, Kamikaze Quellcode entpacken und make menuconfig aufrufen. (Hinweis: Bei mir ist das beim ersten Aufruf gescheitert weil noch Tools und Bibliotheken unter Ubuntu gefehlt haben, die man bequem über den Paketmanager nachinstallieren kann.) Er scheint der Dialog wie man es vom Kernel kompilieren kennen dürfte wählt man unter “Target System” entsprechend “x86″ aus. Dann unter “Target Images” Erzeugung eines VDI Images aktivieren (siehe Abb.)

OpenWrt Kamikaze: Konfiguration VDI Image Erzeugung

Unter “Kernel Modules” -> “Network Devices” habe ich mir die Treiber für e1000 und pcnet32 fest eingetragen, damit diese nicht mehr als Modul geladen werden. Wenn man mit seinen Einstellungen fertigt ist verlässt man “menuconfig” wieder.

Schritt 2:
Jetzt kann man einfach make ausführen und OpenWrt wird gebaut. Dazu wird eine Internetverbindung benötigt weil dabei benötigte Quelltextepakte direkt heruntergeladen werden. Abwarten. Dauert etwas.

Schritt 3:
Das fertige VDI Image für VirtualBox findet man dann im bin/ Ordner. Dieses kopiert man sich aus der virtuellen Maschine auf seinen Mac. (Hinweis: Ich habe mir unter Ubuntu Samba installiert und vom Mac aus via Netzwerk auf die virtuelle Maschine zugegriffen. Dazu muß die Netzwerkkarte von VirtualBox auf “Host” stehen.)

Schritt 4:
Unter VirtualBox eine neue virtuelle Maschine einrichten und als Festplattenimage die VDI Datei benutzen. Hochfahren. Läuft erstmal.

Schritt 5:
Die Standardnetzwerkkonfiguration ist nicht sehr sinnvoll. Um erstmal auf OpenWrt zugreifen zu können, muss man die Datei /etc/config/network anpassen. Beispiel:

config 'interface' 'lan'
    option 'ifname' 'eth0'
    option 'proto' 'dhcp'

Damit hat bezieht die OpenWrt Instanz im VirtualBox via DHCP eine IP Adresse. Die Netzwerkschnittstelle sollte in VirtualBox dafür auf “Host” eingestellt sein.

Nun ist OpenWrt in der virtuellen Maschine vom Mac aus erreichbar. Ein opkg install luci-admin-full installiert die neue Weboberfläche von OpenWrt. Setzt man mittels passwd ein Passwort, kann man sich auch via SSH einloggen.

Kategorie: OpenWrt     Comments (7)    

Asus WL-500g Premium für OpenWRT Kamikaze 8.09

Mit dem Siemens SE505 V2 und OpenWRT habe ich schon ganz gute Erfahrungen gemacht. Der verfügbare Speicher ist jedoch recht begrenzt (4 MB Flash, 8 MB RAM). Deswegen habe ich mir den ASUS WL-500g Premium V1 besorgt. Dieser hat eine ganz ordentliche Ausstattung. Dazu gehört eine 266 MHz MIPS CPU, 8 MB Flash RAM, 32 MB Hauptspeicher, 802.11b/g WLAN, Vier-Port FastEthernet Switch und zwei USB 2.0 Schnittstellen.

Mit dem  Broadcom BCM4318 802.11 Wireless LAN Controller gibt es in der aktuellen Version von Kamikaze (8.09RC1) noch ein paar Probleme im Zusammenhang mit einem 2.6er Linux Kernel. Der Treiber aus diesem Kernelzweig unterstützt den Broadcom-Chipsatz noch nicht vollständig. Entweder man setzt einen 2.4er Linux Kernel ein oder man tauscht das WLAN-Modul im Router. Das geht recht einfach, da es als MiniPCI Version verbaut ist. Empfohlen wird z.B. eine Atheros MiniPCI Karte zu verbauen. Diese arbeitet auf Grund optimaler Treiberunterstützung auch mit dem 2.6er Linux Kernel einwandfrei.

Ich habe mich entschieden den 2.4er Kernel zu nehmen und die Routerhardware soweit ersteinmal unverändert zu lassen. Gespannt bin ich auf die neue grafische Oberfläche “LuCI”, die Kamikaze 8.09 mitbringt. Mein erstes Ziel ist es, nach dem Einspielen von OpenWRT, einen ähnlichen Funktionsumfang zu erreichen, wie ihn die ASUS Firmware mitbringt.

Kategorie: OpenWrt     Comments (1)    

JTAG Adapter für Siemens SE505 selber bauen

Wer viel mit OpenWrt herum spielt und deshalb seinen Router öfter flashen muss wird es vielleicht schon erlebt haben. Irgendwas geht beim Einspielen der Firmware schief oder die Firmware ist nicht okay und schon ist alles dunkel. Da man nicht einfach einen Bildschirm anschließen kann um zu schauen was in dem Gerät passiert, steht man ganz schnell vor einem Router den man wegwerfen kann, obwohl es sich nur um fehlerhafte Software handelt.

Der Siemens SE505 V2 (und auch andere Geräte) hat dafür eine JTAG Anschluss. Damit lässt sich eine fehlerhaft übertragene Firmware erneut in das Gerät einspielen selbst wenn die üblichen Wege (z.B. TFTP) nicht mehr zur Verfügung stehen. Auf dem Foto habe ich den JTAG Anschluss auf der Platine markiert.

Ich habe mir aus der Kabelkiste ein altes LPT Kabel herausgefischt mit dem man früher die Druckeranschluss Pins auf dem Mainboard nach außen geführt hat. Man benötigt eigentlich nur den weiblichen LPT Stecker. Das kleine Flachbandkabel habe ich entfernt und einzelne Drähte von einem CD-Audio Kabel verwendet. Damit hat man früher CD-ROM Laufwerke mit der Soundkarte verbunden. (siehe Fotos)

Das CD-Audio Kabel habe ich zerlegt und die Enden der einzelnen Adern haben kleine Klemmen die für einen besseren halt auf dem JTAG Anschluss sorgen. Das andere Ende der Drähte wird mit der LPT Buchse entsprechden dem Schaltplan verbunden (siehe Foto).

Insgesamt werden fünf Adern benötigt. Die Erdung wird direkt verbunden. Die anderen vier Adern werden über einen 100 Ohm Widerstand angeschlossen. Die Kabellänge sollte möglichst kurz gehalten werden und 20 cm nicht überschreiten. Am Besten nutzt man ein Stück Schrumpfschlauch um die Widerstände sicher und geschützt zu verbauen. Dann lötet man die Kabeladern wie im Bild gezeigt an die LPT Schnittstelle. Auf der anderen Seite sind die 5 Kabelenden mit den kleinen Mini-Klemmen. Nicht unbedingt schön aber funktioniert tadellos. Wenn das Kabel fertig ist sollte es ungefähr so aussehen (siehe Foto).

Jetzt gilt es die einzelnen Adern dem Schaltplan entsprechend an den J7 Pinbaustein auf der Platine anzuschließen und fertig ist die JTAG Verbindung zum Router. Das sollte ungefähr so aussehen (siehe Foto).

Die Verbindung zum Router sollte nun möglich sein und mit entsprechender Software sollte sich der Router mit einer funktionierenden Firmware bespielen (debricken) lassen. Auch wenn man sich das NVRAM gelöscht oder den Bootloader (CFE) zerschossen hat ist die JTAG Verbindung das Mittel der Wahl. Auch diese lassen sich neu einspielen so dass man – wenn man die Hardware nicht zerstört hat – so ziemlich jeden SE505 V2 wieder flott bekommen sollte. Wie man das nun im Detail macht werde ich in einem weiteren Beitrag beschreiben.

Ich hoffe diese kleine Anleitung hilft allen Leid geplagten. Viel Erfolg!

© 2008-2010 Christian Müller