Fonera again :-)

So, nachdem die Geschichte mit der Fonera noch ein unschönes Nachspiel hatte hab ich hier nun die ultimative Anleitung, die 100% (unter Linux) funktioniert!

Zur Erklärung: standardmässig wartet der Bootloader der Fonera 1 Sekunde mit der IP-Adresse 0.0.0.0 auf Telnet. Das ist definitiv zu kurz und die IP ist auch nicht so prall;) also müssen wir das fixen. Und das geht mit dem seriellen Kabel am Besten. Nicht vergessen: erst den Strom ran und kurz danach das serielle Kabel, nachdem man natürlich schon minicom mit 9k6 8N1 und ohne HW-Flowcontrol gestartet hat. Man sollte nun folgendes zu sehen bekommen:

+PHY ID is 0022:5521
Ethernet eth0: MAC address 00:18:84:14:fa:4c
IP: 0.0.0.0/255.255.255.255, Gateway: 0.0.0.0
Default server: 0.0.0.0
RedBoot(tm) bootstrap and debug environment [ROMRAM]
Non-certified release, version v1.3.0 - built 16:57:58, Aug 7 2006
Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.
Board: ap51
RAM: 0x80000000-0x81000000, [0x80040450-0x80fe1000] available
FLASH: 0xa8000000 - 0xa87f0000, 128 blocks of 0x00010000 bytes each.
== Executing boot script in 1.000 seconds - enter ^C to abort

Jetzt schnell Strg + C drücken und folgendes für eine richtige IP eingeben:

RedBoot> fconfig bootp_my_ip 169.254.255.1
bootp_my_ip: Setting to 169.254.255.1
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .

Gefolgt von der Netzmaske:

RedBoot> fconfig bootp_my_ip_mask 255.255.0.0
bootp_my_ip_mask: Setting to 255.255.0.0
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .

Und für die 10 Sekunden:

RedBoot> fconfig boot_script_timeout 10
boot_script_timeout: Setting to 10
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .

Danach den Kernel laden:

RedBoot> fis load -l vmlinux.bin.l7
Image loaded from 0x80041000-0x80286086

Und booten:

RedBoot> exec
Now booting linux kernel:

Wenn die Fonera gebootet hat mit ENTER die Konsole aktivieren.

Danach holt man sich das aktuelle Flash-Tool von Sven-Ola auf den lokalen Rechner und macht es ausführbar.

Danach steckt man das Netzwerkkabel zwischen Fonera und Rechner und gibt in der root-shell im Verzeichnis, wo das Flash-Tool liegt, folgendes ein:

./ap51-flash-fonera-1.0-42 eth0

Natürlich anstelle von „eth0“ das correccte Netzwerkinterface das lokalen Rechners angeben und ausführen.

Schnell zu minicom wechseln und „reboot“ reinhacken.

Danach ist warten angesagt. Kann bis zu 10 Minuten dauern und man sollte folgendes sehen:

rootfs(0x006a0000) + kernel(0x00100000) + nvram(0x00000000) sums up to 0x007a0000 bytes
Peer MAC: 00:18:84:14:fa:4c
Peer IP : 169.254.255.1
Your MAC: 00:ba:be:ca:ff:ee
Your IP : 169.254.255.0
Setting IP address...
Loading rootfs...
Sending rootfs, 5632 blocks...
Initializing partitions...
Rootfs partition size now 0x006b0000
Flashing rootfs...
Loading kernel...
Sending kernel, 2048 blocks...
Flashing kernel...
Setting boot_script_data...
Done. Restarting device...

Danach ist alles super. Falls man noch den ssh-Zugang über das Netzwerkkabel braucht muss man noch die entsprechenden zwei Zeilen in /etc/firewall.user auf der Fonera einkommentieren -> siehe letztes Posting.

Das Webinterface ist über die Adresse 169.254.255.1 (nur zufällig die gleiche wie die, die wir Ihr im Bootloader gegeben haben) zu erreichen.

Keep on hacccing!

Die SecureSHell auf der Fonera aktivieren

Also bei mir hat das mit dem „Song for a Fonera“ nicht so richtig funktioniert… Ich hab dann einfach mein serielles Kabel angeschlossen. Das darf man allerdings erst nachdem man die Fonera mit Strom versorgt hat! Wer lesen kann ist klar im Vorteil;)
Dann bin ich darauf gestossen, dass ich nirgends eine Anleitung gefunden hab, wie man denn nun tatsächlich die ssh aktiviert. Hier ist der code, den sicher schon viele gesucht haben:

root@OpenWRT:~# vi /etc/firewall.user

„i“ drücken, dann die Raute vor den zwei folgenden Zeilen entfernen:

iptables -t nat -A prerouting_rule -i $WAN -p tcp—dport 22 -j ACCEPT
iptables -A input_rule -i $WAN -p tcp—dport 22 -j ACCEPT

„ESC“ drücken, gefolgt von dem Kommando „:wq“, welches mit „Enter“ bestätigt wird, um die Datei zu speichern und zu schliessen.
Ich habe danach die Fonera an mein lokales managed WLAN gehängt:

root@OpenWRT:~#wlanconfig ath1 destroy
root@OpenWRT:~#wlanconfig ath0 destroy
root@OpenWRT:~#wlanconfig ath0 create wlandev wifi0 wlanmode sta
root@OpenWRT:~#ifconfig ath0 104.130.10.200 netmask 255.0.0.0 up
root@OpenWRT:~#iwconfig ath0 mode managed channel 1 essid boxi-fhain.net
root@OpenWRT:~#route add default gw 104.130.10.254
root@OpenWRT:~#echo "nameserver 141.1.1.1">/etc/resolve.conf
root@OpenWRT:~#ping heise.de

Soweit sogut. Ihr solltet natürlich Euer WLAN-Netz verwenden;) Wenn der Ping durchgegangen ist ist alles schick und ihr könnt Euch einfach die Packete aus dem Netz hohlen, die Ihr braucht. z.B.:

root@OpenWRT:~#ipkg install http://download.olsrexperiment.de/fonera/ff-fonera-pack_1.0-25_mips.ipk

Foneras bei eBay

Zur Zeit ist der billigste Router, den man bekommen kann, die fonera von fon.

Allerdings ist Vorsicht geboten: Auf eBay werden zum großteil unglaubliche Versandgebühren (schon gesehen: 20,00 Euro!) verlangt. Dabei geht es auch deutlich billiger: Einige Anbieter verkaufen die Fonera auch mit einem Klarmobil Mobilfunkvertrag für 1,00 Eur. Bei dem Vertrag zahlt man einmalig 9,95 Eur für das Startpaket, bekommt 15,00 Eur Startguthaben zum Abtelefonieren und eine „freie“ Fonera. Keine Grundgebühr, kein Mindestumsatz! Einfach die Karte nach dem Abtelefonieren vernichten und man hat ne Fonera;)

Kosten: 10,95 Eur:-) Das freut den Geldbeutel!

Befreien geht so oder so oder man spielt Ihr ein Liedchen vor. Die Methode mit der Soundkarte ne Fonera zu hacken find ich so freaky, dass ich das auch gleich mal probieren muss;)

Lange Nacht der Wissenschaften

Morgen ist es wieder soweit: Die lange Nacht der Wissenschaften findet in Berlin und Potsdam statt.
Ich möchte aus diesem Anlass auf ein paar Veranstaltungen, die im Zusammenhang mit Freifunk interessant sein könnten (keine Garantie;)) hinweisen:


    Computer und Medienservice der HU / 18:30 WLAN-Technologien an der HU / 21:00 Gefahren aus dem Internet

    Institut für Informatik der FU / Workshop: Was Sie schon immer über OpenSource und Linux wissen wollten

    Studiengang Kommunikationstechnik und Elektronik der TFH / 20:00 Datenpaketübermittlung im weltweiten Gewebe

    Fachbereich Informatik / Informationstechnik der Lise-Meitner-Schule / Netzwerke – Routing (Routingalgorithmen)

Passwort vergessen?

Ein Problem, das dem Ein oder Anderen unter Euch sicher schon passiert ist: Man vergisst das Passwort eines besonders zickigen Routers, wie z. B. nem Siemens SE505. Jetzt steht man da. Ein Reset funktioniert mit dem Resetknopf nicht, eine serielle Schnittstelle und JTAG glänzen durch Abwesenheit. Allerdings auf tftp wartet er noch kurz! Also was tun? Sven-Ola hat für diesen Fall eine failsafe-Firmware gebastelt, mit der man das gute Teil wieder fit macht. Zuerst muss man die Firmware holen und per tftp flashen (Firmware gibts hier; das Beispiel ist mit nem SE505):

ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up
tftp 192.168.1.1
tftp> binary
tftp> rexmt 1
tftp> trace
tftp> put openwrt-se505-failsafe-code.bin
tftp> quit

So. Jetzt kommt man per telnet auf das Gerät. Und zwar ohne Passwort:

$ telnet 192.168.1.1

Danach kann man ganz einfach das Passwort auf admin zurücksetzen:

telnet> nvram set ff_pw='$1$hqovEtLu$.dEyW.ScexeQhwgP6/XD60'
telnet> nvram commit

Thats it!

PS: Das Geschnörkel heisst tatsächlich ‚admin‘! Ich hab’s ausprobiert;-)

Neue Netzwerktopologie

Nachdem Ulf und ich ein Netzwerkkabel vom Dach zur Volkswirtschaft geschmissen haben wurde eine kleine Konfigurationsorgie notwendig. Wir sind dabei auf folgendes Problem gestossen:

| 0.0.0.0/0 | PPPoE SPEEDTOUCH
|
|
| 104.130.10.237/30 | STAT SPEEDTOUCH LAN/WLAN
| 104.130.10.254/28 | STAT ||
| 192.168.1.254/24 | DHCP RANGE 192.168.1.64 - 192.168.1.253 ||
|
|
| 104.130.10.253/28 | OLSR WRT54G1 LAN ------ WLAN OLSR 104.130.10.1/8
|
|
| 104.130.10.238/30 | OLSR WRT54G2 LAN ------ WLAN OLSR 104.130.10.2/8
|
|
| 104.130.10.250/28 | SIP FRITZ!BOX_FON ----- TELEFON_VOWI
|
|
| ?.?.?.?/? | SE505
(der is noch offline!)

Die WRT’s ignoriern sich auf dem WLAN und sprechen OLSR auf dem WLAN und dem LAN. Wenn man allerdings den gleichen Gatway im gleichen Subnetz per OLSR announcet kracht’s. Deswegen hab ich einfach für den einen WRT noch ein /30er Subnetz eingerichtet. So klappt’s auch mit dem Nachbarn;-) Allerdings sieht das ja nich so toll aus, weil der gleiche Gateway über zwei 104er IP’s zu erreichen ist. Hat da jemand nen Lösungsvorschlag? Ich freu mich sehr über konstrucktive Kommentare:-)

Die Fledermaus fliegt!

B.A.T.M.A.N.
Batman fliegt jetzt auf allen AP’s die bei mir so rumstehen. Und das sogar ein bisschen stabiler als der olsrd. Ich glaub so langsam kommt das Ende für den ganzen ‚ich route mal ein bisschen von Hand mit LQmult und FFIgnor‘-Foo weil ich das ja besser kann als der Algorythmus. Mit Lui’s Freifunk-Webinterface-Erweiterung wird das ganze auch um einiges Anwenderfreundlicher als olsr.

Fixes HowTo für LinuxerInnen und MacianerInnen:
ssh root@„meinWRT“
vi /etc/ipkg.conf # dort src lui http://freifunk.schmudde.com/ipkg einfügen
ipkg update
– für die, die schon eine Batman Version ipkg remove freifunk-batman-de
ipkg install freifunk-batman-de

Viel Spass beim testen!

Kleinens shell-HowTo für Linux

Heute mal ein kleines HowTo, wie man den olsrd denn nun zum laufen kriegt.
Als erstes öffnet Ihr eine Root Shell.
Danach ins Verzeichnis /usr/src wechseln (immer mit ENTER bestätigen; die Raute wird nicht mitgeschrieben):

# cd /usr/src

Jetzt holt Ihr Euch den gepatchten olsrd:

# wget boxi-fhain.net/olsrd-0.4.10-full-patched.tgz

Nun müsst Ihr das Ding noch entpacken:

# tar xfvz olsrd-0.4.10-full-patched.tgz

Die Sourcen sind jetzt im Verzeichniss /usr/src/olsrd-0.4.10

# cd olsrd-0.4.10

Compilieren ist ganz einfach:

# make
# make install
# make clean

Danach die alte olsrd.conf entfernen, die neue holen und anpassen:

# cd /etc
# rm olsrd.conf
# wget boxi-fhain.net/olsrd.conf

Mit einem beliebigen Editor, z.B. vim, öffnen und in Zeile 279 Eure WLAN-Karte eintragen. Dort stehen schon ein paar Beispiele und eine gute Erklärung von Elektra.
Empfehlenswert: in Zeile 27 das Debuglevel ausschalten. Einfach anstelle der ‚1‘ eine ‚0‘ eintragen.

PS: Wenn jemand so ein kleines MacOSX- oder WinXP-HowTo hat, kann ich es gerne hier veröffentlichen!