HowTo Foneraplus unlocking/de

From Fon Wiki

Jump to: navigation, search

Contents

[edit] Unlock der Fonera+ (FON2201)

Die Freischaltmethode wurde entwickelt von: Lama Bleu

Diese Anleitung wurde ursprünglich geschrieben von: Giorgio Zarrelli

Editiert und angepasst von: Dema

Übersetzt von: k0k0

Diese Übersetzung basiert auf der englischen Originalversion vom 30. Okt. 2007 um 19:30.

Dieses HowTo unterliegt der GPL.


Wichtiger Hinweis: Die Übersetzung dieser Seite ist noch nicht abgeschlossen!

[edit] Der große und wichtige Haftungsausschluss

Der hier beschriebene Vorgang beinhaltet das Überschreiben (Reflashen) des Speichers der Fonera+. Da dies eine sehr heikle Prozedur ist, übernehmen wir keine Verantwortung für Probleme, die sich in Folge der Anwendung dieser Anleitung zum Beispiel durch Veränderung oder Verlust der Gerätefunktionalität ergeben.

Alle vorgenommenen Änderungen erfolgen also auf eigene Gefahr und eigene Verantwortung.

Nun, nachdem dies gesagt wurde: LASST UNS BEGINNEN !

[edit] Ubuntu/Linux-HowTo

Mit diesem HowTo stellen wir eine 'Schritt für Schritt'-Anleitung zur Freischaltung der Fonera+ unter Ubuntu vor. Diese Anleitung kann auch mit anderen Linux-Distributionen verwendet werden, mit Ausnahme der spezifisch anzuwendenden (und durch diese Anleitung nicht unterstützten) Befehle für den TFTP-Daemon bzw. die Sudo-Aktionen.

[edit] Was benötigt wird

  1. einen Computer mit funktionierendem Ubuntu
  2. einen LAN-Anschluss für das Ethernet-Kabel

[edit] Server-seitig

Zuerst installieren wir den TFTP-Daemon auf dem Ubuntu-Server:

sudo apt-get install tftpd

Da tftpd durch inetd gestartet wird, ist es notwendig, die Datei /etc/inetd.conf wie hier beschrieben zu verändern:

sudo nano -w /etc/inetd.conf
tftp dgram udp wait nobody /usr/sbin/tcpd in.tftpd /srv/tftp

Danach wird das Verzeichnis angegeben, in dem die Image-Datei abgelegt wird, um den Speicher der Fonera+ zu flashen:

sudo mkdir /srv/tftp

Jetzt erfolgt die Angabe dieses Verzeichnisses als Zielort der Image-Datei und der Befehl, um diese aus dem Internet herunterzuladen und dorthin zu speichern:

cd /srv/tftp
sudo wget http://www.leeman.be/fon/GetImage.php

Nach dem Download der rund 2,23 MB großen .zip-Datei muss diese noch entpackt werden und hat dann eine Größe von rund 6,06 MB. Die MD5-Prüfsumme der Datei image.bin lautet: 32699C2781C95B6A463AB99C209C3995


Anschließend muss openbsd-inetd, das eventuell zusammen mit tftpd installiert wurde, (neu) gestartet werden:

sudo /etc/init.d/openbsd-inetd restart

[edit] Client-seitig

Verbinde die schwarze Netzwerkbuchse der Fonera+ und deinen Computer mit einem Ethernet-Kabel.

Weise dem Computer eine neue Netzwerkadresse zu:

sudo ifconfig eth0 192.168.1.254

Jetzt erstellen wir ein Skript das eine ARP-Anforderung sendet und auf eine Antwort von 192.168.1.1 (Fonera+) wartet. Sobald das Skript von der Fonera+ eine Antwort erhält, baut es dorthin eine Telnet-Verbindung auf und sendet das 'CTRL C'-Signal. Das Skript weist einen kleinen Fehler im nc-Bereich auf, um die von uns gewünschte Funktionsweise zu bewirken. Das ist zwar nicht schön, aber es funktioniert. Eventuell kann man das selbe Ergebnis später einmal eleganter erreichen.

Nun schreiben wir das Skript:

echo 'echo -e "\0377\0364\0377\0375\0006" >break.bin; sudo /usr/bin/arping -f 192.168.1.1; sudo nc -vvv 192.168.1.1 9000 <break.bin;
telnet 192.168.1.1 9000' > catch_fonera+

Jetzt wird das Skript ausführbar gemacht:

chmod u+x catch_fonera+

[edit] Zugriff auf den RedBoot der Fonera+

Nun schalten wir die Fonera+ aus und starten unser Skript:

./catch_fonera+

Gib jetzt dein Benutzerpasswort ein und schalte die Fonera+ wieder ein. Der kleine Router bootet nun und RedBoot wartet 2 Sekunden auf das Empfangen des 'CTRL C'-Signals am Ethernet-Anschluss per Telnet-Verbindung über 192.168.1.1 am Port 9000.

Folgende Zeilen sollten nun angezeigt werden:

./catch_fonera+
[sudo] password for zarrelli:
ARPING 192.168.1.1 from 192.168.1.254 eth0
Unicast reply from 192.168.1.1 [XX:XX:XX:XX:XX:XX]  0.992ms
Sent 9 probes (9 broadcast(s))
Received 1 response(s)
fonera [192.168.1.1] 9000 (?) open
== Executing boot script in 0.890 seconds - enter ^C to abort
^C
RedBoot>
sent 6, rcvd 82
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
RedBoot>


Hinweis: Wenn man die folgende Zeile angezeigt bekommt:

RedBoot> ??
gibt man über die Tastatur lediglich einmal 'CRTL C' ein und erhält darauf hin ein funktionierendes
RedBoot>

[edit] Einige Kontrollen vor dem Flashen

Jetzt wird kontrolliert, ob die FLASH-Adressen wie folgt angezeigt werden:

RedBoot> fis list
Name              FLASH addr  Mem addr    Length      Entry point
RedBoot           0xA8000000  0x80040400  0x00030000  0xA8000000
loader            0xA8030000  0x80100000  0x00010000  0x80100000
image             0xA8040000  0x80040400  0x00230004  0x80040400
image2            0xA8660000  0xA8660000  0x00140000  0x80040400
FIS directory     0xA87E0000  0xA87E0000  0x0000F000  0x00000000
RedBoot config    0xA87EF000  0xA87EF000  0x00001000  0x00000000

Vergleiche die Ausgabe deiner Fonera+ ganz genau mit diesem Text. Die beiden Ausgaben müssen für einen erfolgreichen Flash-Vorgang exakt übereinstimmen.

Jetzt führen wir die zweite Kontrolle durch:

RedBoot> x -b 0xa8040000 -l 32
A8040000: 00 21 BF DE A2 14 D3 9B  00 0A 50 34 6D 00 00 80  |.!........P4m...|
A8040010: 00 FF FF FF FF FF FF FF  FF 00 04 02 48 80 0E 0F  |............H...|

Und jetzt die dritte und letzte Kontrolle:

RedBoot> x -b 0xa8250000 -l 32
A8250000: 1E 5E B5 70 5D FA DE 16  AE 98 85 61 87 D5 E2 09  |.^.p]......a....|
A8250010: D2 C1 70 A0 DD F6 2A 30  7F C8 5E 0B 00 DF 50 0A  |..p...*0..^...P.|

Nochmals, weil es so wichtig ist: Nur wenn die Ausgaben deiner Fonera+ die exakt gleichen Werte ergeben, wie die hier angeführten, wird ein erfolgreicher Flash-Vorgang durchführbar sein.

Solltest du irgendwelche Unterschiede zwischen den Ausgaben deiner Fonera+ und den hier angeführten Werten finden, beachte bitte unbedingt diese Seite!

[edit] Image-Datei per TFTP auf die Fonera+ übertragen

In nächsten Schritt übertragen wir die Image-Datei per TFTP vom Computer auf die Fonera+ und kontrollieren die Prüfsumme:

RedBoot> load -r -b 0x80100000 image.bin
Using default protocol (TFTP)
Raw file loaded 0x80100000-0x8070ffff, assumed entry at 0x80100000
RedBoot> cksum -b 0x80100000 -l 0x00610000
POSIX cksum = 1614928997 6356992 (0x6041dc65 0x00610000)
RedBoot>

[edit] Flashing

Jetzt sind wir beim gefährlichen Teil der Arbeit, dem Beschreiben des FLASH-Speichers, angelangt:

RedBoot>  fis write -b 0x80320000 -f 0xa8260000 -l 0x003f0000
* CAUTION * about to program FLASH
           at 0xa8260000..0xa864ffff from 0x80320000 - continue (y/n)? y
... Erase from 0xa8260000-0xa8650000: ...............................................................
... Program from 0x80320000-0x80710000 at 0xa8260000: ...............................................
..............
RedBoot>

Beantworte die gestellte Frage mit y, um das Flashen fortzusetzen.

[edit] Resetten

Wenn der Flash-Vorgang beendet worden ist und wir wieder das RedBoot-Prompt sehen, resetten wir unsere FREIE Fonera+:

RedBoot> reset

Das war's dann!

[edit] Letzte Einstellungen und Kontrollen

Nachdem die Fonera+ neu gestartet hat, verbindest du dich per SSH über das private WLAN (AKA MyPlace) oder über den Ethernet-Anschluss zur Fonera+:

zarrelli@moveaway:~$ ssh -l root 192.168.10.1
The authenticity of host '192.168.10.1 (192.168.10.1)' can't be establish
RSA key fingerprint is 5c:d3:42:ed:52:6d:c0:c6:fb:ec:84:57:18:24:d7:be.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.10.1' (RSA) to the list of known host
root@192.168.10.1's password:
BusyBox v1.4.1 (2007-09-03 10:39:50 UTC) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
 ______                                           __
/\  ___\                                         /\ \
\ \ \__/  __     ___      __   _ __    __        \_\ \___
 \ \  _\/ __`\ /' _ `\  /'__`\/\`'__\/'__`\     /\___  __\
  \ \ \/\ \L\ \/\ \/\ \/\  __/\ \ \//\ \L\.\_   \/__/\ \_/
   \ \_\ \____/\ \_\ \_\ \____\\ \_\\ \__/.\_\      \ \_\
    \/_/\/___/  \/_/\/_/\/____/ \/_/ \/__/\/_/       \/_/
--------------  Fonera 1.5 Firmware (v1.1.1.1) -----------------
           * Based on OpenWrt - http://openwrt.org
           * Powered by FON - http://www.fon.com
    -----------------------------------------------------
root@OpenWrt:~# Wow!!! Die Fonera+ ist jetzt FREI! :-)))

[edit] Windows-HowTo

Mit diesem HowTo stellen wir eine 'Schritt für Schritt'-Anleitung zur Freischaltung der Fonera+ unter Windows vor.

[edit] Was benötigt wird

  1. einen Computer mit funktionierendem Windows 2000, XP oder Vista
  2. einen LAN-Anschluss für das Ethernet-Kabel

[edit] Schweizer Offiziersmesser für Windows-Foneros

Will man von einem unter Windows laufenden Computer auf einen unter Linux laufenden (Spezial)Computer, wie zum Beispiel unsere Fonera+, zugreifen, dann steht man erst einmal vor einigen elementaren Problemen: Wie tausche ich Dateien mit dem unter Linux laufenden Computer aus und wie kann ich diese dort bearbeiten? Doch zum Glück gibt es für diese Probleme schon lange sehr gute und stabile Lösungen und wenn man lange genug sucht, findet man kostenlose und sogar sehr kompakte und einfach zu bedienende / konfigurierende Programme, die obendrein auch noch kaum bis gar nicht installiert werden müssen. Um dir das Suchen zu ersparen, stellen wir dir hier vier dieser überaus nützlichen (Klein)Programme vor. Diese vier Tools bilden zusammen so etwas wie ein schweizer Offiziersmesser für den Umgang mit deiner Fonera+. Immerhin haben es drei der vier hier vorgestellten Tools durch ihre Einzigartigkeit sogar zu einem Eintrag in der Wikipedia (PuTTY, WinSCP & HFS) gebracht.


  • Damit RedBoot (mit dem Befehl load) eine Datei (in unserem Falle das neue Firmware-Image) von deinem Computer auf die Fonera+ (herunter)laden kann, benötigst du einen TFTP-Server wie TFTPD32. Wir empfehlen dir die .zip-Variante (ca. 546 KB). Selbstverständlich kannst du auch einen der unzähligen anderen TFTP-Server verwenden.
  • Für den Aufbau einer Telnet- oder SSH-Verbindung zur Fonera+ sowie die anschließende textorientierte Emulation einer Terminal-Sitzung benötigst du PuTTY. Die Datei putty.exe (ca. 444 KB) reicht für diesen Zweck vollauf.
  • Willst du mit einer grafischen Oberfläche einen geschützten Daten- und Dateitransfer bewerkstelligen, nimmst du WinSCP. Dieses Programm ist fast so einfach wie ein Dateimanager zu bedienen und ermöglicht dir darüber hinaus die Bearbeitung von Dateien (auf der Fonera+). Dieses Feature ist deshalb so wichtig, weil FON bei seiner Busybox-Variante auf die Implementation des Dateieditors vi verzichtet hat. Auch bei diesem Tool genügt dir die 'Standalone application' (ca. 1,39 MB).
  • Um auch in einer Terminal-Sitzung und ohne aktive Verbindung zum Internet mittels des Befehls wget eine Datei von deinem Computer auf die Fonera+ transferieren zu können, benötigst du noch einen HTTP-File-Server. Und HFS (ca. 550 KB) ist dazu genau richtig. Hast du mehr als eine aktive Netzwerkkarte im Computer, musst du vor dem Einsatz über 'Menu' und 'IP address' noch die richtige IP-Adresse auswählen. Anschließend fügst du mit einem Klick auf das Haus-Symbol im linken großen Fenster nur noch die gewünschte(n) Datei(en) hinzu und schon ist HFS fertig konfiguriert.

[edit] Server-seitig

Nun schalten wir die Fonera+ aus!

Jetzt kopierst Du zumindest TFTPD32 und PuTTY auf deinen Desktop.

Nun stellst du die LAN-Netzwerkkarte deines Computers noch auf eine statische IP-Adresse (192.168.1.254, Subnetzmaske 255.255.255.0, Gateway und DNS bleiben leer) um. Dazu öffnest du die Systemsteuerung, gehst zu den Netzwerkverbindungen und wählst die LAN-Netzwerkkarte aus. Dann klickst du auf die Eigenschaften und wählst das 'Internetprotokoll (TCP/IP)' aus. Tipp: Notiere dir aber zuvor die bisherigen Einstellungen!

Da es nicht ganz einfach ist eine Verbindung zu RedBoot aufzubauen, öffnest du ein MS-DOS-Fenster und sorgst dafür, dass die Fonera+ permanent angepingt wird. Klicke dazu auf 'Start', 'Ausführen', tippe cmd ein und drücke die Eingabetaste. Im sich daraufhin öffnenden Fenster gibst du Folgendes ein:

ping -t 192.168.1.1

Lass dich nicht von Meldungen wie "Zeitüberschreitung der Anforderung" (oder etwas vergleichbarem) beunruhigen.

[edit] Zugriff auf den RedBoot der Fonera+

Not easy to access RedBoot, perhaps some scripts can help you on this NSLU2 excellent page Just few seconds after booting your Fonera+ you must start a Telnet connection to your Fonera+ on 192.168.1.1 port 9000. By default RedBoot is listening on port 9000 only 2 seconds before normal kernel boot.

Launch PuTTY configuration and use this screen-copy to configure it. Parameters to configure : "Host name (or IP address): 192.168.1.1", "Port 9000", and for connection type check "Telnet" You can save this configuration ( in this example fill "RedBoot" or "Fonera+" for "saved sessions", then click "Save".


Image:PuTTY-redboot.png

Now try to connect RedBoot, but be very prompt and synchrone! Only 2 seconds from starting! - manage your windows on the screen to see simultaneously "MSDOS ping -t" and PuTTY connection window. - power-on your Fonera+, click "Open" button on PuTTY screen. - as you see from "ping windows" : "reply from 192.168.1.1" , press Enter and immediately CTRL-C on your keyboard. Ok! You've got the prompt for RedBoot like this! Most complicated task is done now!

== Executing boot script in 0.890 seconds - enter ^C to abort
^C
RedBoot>

Wenn deine Fonera+ normal zu booten scheint und du nicht auf RedBoot zugreifen kannst, versuche es erneut!


Hinweis: Wenn man die folgende Zeile angezeigt bekommt:

RedBoot> ??
gibt man über die Tastatur lediglich einmal 'CRTL C' ein und erhält darauf hin ein funktionierendes
RedBoot>

[edit] Einige Kontrollen vor dem Flashen

Jetzt wird kontrolliert, ob die FLASH-Adressen wie folgt angezeigt werden:

RedBoot> fis list
Name              FLASH addr  Mem addr    Length      Entry point
RedBoot           0xA8000000  0x80040400  0x00030000  0xA8000000
loader            0xA8030000  0x80100000  0x00010000  0x80100000
image             0xA8040000  0x80040400  0x00230004  0x80040400
image2            0xA8660000  0xA8660000  0x00140000  0x80040400
FIS directory     0xA87E0000  0xA87E0000  0x0000F000  0x00000000
RedBoot config    0xA87EF000  0xA87EF000  0x00001000  0x00000000

Vergleiche die Ausgabe deiner Fonera+ ganz genau mit diesem Text. Die beiden Ausgaben müssen für einen erfolgreichen Flash-Vorgang exakt übereinstimmen.

Jetzt führen wir die zweite Kontrolle durch:

RedBoot> x -b 0xa8040000 -l 32
A8040000: 00 21 BF DE A2 14 D3 9B  00 0A 50 34 6D 00 00 80  |.!........P4m...|
A8040010: 00 FF FF FF FF FF FF FF  FF 00 04 02 48 80 0E 0F  |............H...|

Und jetzt die dritte und letzte Kontrolle:

RedBoot> x -b 0xa8250000 -l 32
A8250000: 1E 5E B5 70 5D FA DE 16  AE 98 85 61 87 D5 E2 09  |.^.p]......a....|
A8250010: D2 C1 70 A0 DD F6 2A 30  7F C8 5E 0B 00 DF 50 0A  |..p...*0..^...P.|

Nochmals, weil es so wichtig ist: Nur wenn die Ausgaben deiner Fonera+ die exakt gleichen Werte ergeben, wie die hier angeführten, wird ein erfolgreicher Flash-Vorgang durchführbar sein.

Solltest du irgendwelche Unterschiede zwischen den Ausgaben deiner Fonera+ und den hier angeführten Werten finden, beachte bitte unbedingt diese Seite!

[edit] Image-Datei per TFTP auf die Fonera+ übertragen

Entpacke jetzt die TFTPD32-zip-Datei und kopiere die drei erhaltenen Dateien in den Ordner C:\Local. Dieser Ordner bildet gleichzeitig auch das root-Verzeichnis deines TFTP-Servers. Stelle sicher, dass die Einstellungen wie auf dem Screenshot aussehen:

Image:Tftp32-settings.png

Nach dem Download der rund 2,23 MB großen .zip-Datei muss diese noch entpackt werden und hat dann eine Größe von rund 6,06 MB. Dann kopierst du die Datei nach C:\Local. Die MD5-Prüfsumme der Datei image.bin lautet: 32699C2781C95B6A463AB99C209C3995

In nächsten Schritt übertragen wir die Image-Datei per TFTP vom Computer auf die Fonera+ und kontrollieren die Prüfsumme:

RedBoot> load -r -b 0x80100000 image.bin
Using default protocol (TFTP)
Raw file loaded 0x80100000-0x8070ffff, assumed entry at 0x80100000
RedBoot> cksum -b 0x80100000 -l 0x00610000
POSIX cksum = 1614928997 6356992 (0x6041dc65 0x00610000)
RedBoot>

Während des Dateitransfers erscheint ein TFTPD-Pop-up-Fenster.

[edit] Flashing

Jetzt sind wir beim gefährlichen Teil der Arbeit, dem Beschreiben des FLASH-Speichers, angelangt:

RedBoot>  fis write -b 0x80320000 -f 0xa8260000 -l 0x003f0000
* CAUTION * about to program FLASH
           at 0xa8260000..0xa864ffff from 0x80320000 - continue (y/n)? y
... Erase from 0xa8260000-0xa8650000: ...............................................................
... Program from 0x80320000-0x80710000 at 0xa8260000: ...............................................
..............
RedBoot>

Beantworte die gestellte Frage mit y, um das Flashen fortzusetzen.

Wichtiger Hinweis: While pressing "y" to accept flash process, your Fonera+ stop to answer pings on background MSDOS windows. Message "Erase from 0xa8260000-0xa8650000: ." and remaining dots don't appear. Don't worry, don't reboot just wait few minutes. Ping will answer, remaining text will be displayed on your screen. Each dot is 64 kB memory-block. Scrolling is correct while flashing from serial port.

[edit] Resetten

Wenn der Flash-Vorgang beendet worden ist und wir wieder das RedBoot-Prompt sehen, resetten wir unsere FREIE Fonera+:

RedBoot> reset

Das war's dann!

[edit] Letzte Einstellungen und Kontrollen

Nachdem die Fonera+ neu gestartet hat, verbindest du dich per SSH über das private WLAN (AKA MyPlace) oder über den Ethernet-Anschluss zur Fonera+.

If your Fonera+ is connected to WAN (internet), wait Power LED becomes to green before SSH to it. If no WAN connected, wait 2 minutes.

As in first step, create a new profile in PuTTY to connect your Fonera+. Parameters to configure: "Host name (or IP address): 192.168.10.1". For connection type check "SSH", port number will toggle to "22". You can save this configuration: choose a name for "saved sessions", then click "Save".

Click "Open". This is first connection, so accept PuTTY security alert below):

Image:Key-valid.png


Jetzt kannst du dich auf der Fonera+ mit dem Benutzernamen 'root' und dem Passwort 'admin' einloggen:

Image:Free-FON2201.png

[edit] Mac OS X-HowTo

Mit diesem HowTo stellen wir eine 'Schritt für Schritt'-Anleitung zur Freischaltung der Fonera+ unter Mac OS X vor. Da dies mein Laptop-OS ist, kann ich auf Grund eigener Tests garantieren, dass alles hervorragend klappen wird.

[edit] Was benötigt wird

  1. einen Computer mit funktionierendem Mac OS X
  2. einen LAN-Anschluss für das Ethernet-Kabel

[edit] Server-seitig

Server-seitig benötigen wir ein Tool mit dessen Hilfe die Fonera+ von deinem Computer eine Datei (herunter)laden kann. Mehr als einen einfachen TFTP-Server wie TftpServer benötigen wir nicht, um RedBoot das neue Firmware-Image für die Fonera+ zum Download anbieten zu können. Selbstverständlich kannst du auch einen der unzähligen anderen TFTP-Server verwenden.

Öffne nach der Installation ein Terminal-Fenster (ja, auch das Terminal macht unter Mac OS X Spaß) und lege mit

cd
mkdir tftp

einen neuen Ordner mit dem Namen tftp (in deinem home-Verzeichnis) an.

Anschließend öffnest du TftpServer und wechselst mit einem Klick auf Change Path in den soeben angelegten Ordner tftp.

Image:tftpmacox.png

Im Terminal-Fenster startest Du mit

cd
cd tftp
sudo wget http://www.leeman.be/fon/GetImage.php

den Download des neuen Firmware-Images. Nach dem Download der rund 2,23 MB großen .zip-Datei muss diese noch entpackt werden und hat dann eine Größe von rund 6,06 MB. Die MD5-Prüfsumme der Datei image.bin lautet: 32699C2781C95B6A463AB99C209C3995

Ist alles fertig, klickst du im TftpServer-Fenster auf Start TFTP.

[edit] Client-seitig

Verbinde die schwarze Netzwerkbuchse der Fonera+ und deinen Computer (MacBook(Pro) or IMac or MacPro) mit einem Ethernet-Kabel.

Weise dem Computer eine neue Netzwerkadresse zu:

sudo ifconfig en0 192.168.1.254

Jetzt erstellen wir ein Skript das eine ARP-Anforderung sendet und auf eine Antwort von 192.168.1.1 (Fonera+) wartet. Sobald das Skript von der Fonera+ eine Antwort erhält, baut es dorthin eine Telnet-Verbindung auf und sendet das 'CTRL C'-Signal. Das Skript weist einen kleinen Fehler im nc-Bereich auf, um die von uns gewünschte Funktionsweise zu bewirken. Das ist zwar nicht schön, aber es funktioniert. Eventuell kann man das selbe Ergebnis später einmal eleganter erreichen.

Nun schreiben wir das Skript:

echo 'echo -e "\0377\0364\0377\0375\0006" >break.bin; sudo /usr/bin/arping -f 192.168.1.1; sudo nc -vvv 192.168.1.1 9000 <break.bin;
telnet 192.168.1.1 9000' > catch_fonera+

Jetzt wird das Skript ausführbar gemacht:

chmod u+x catch_fonera+

[edit] Zugriff auf den RedBoot der Fonera+

Nun schalten wir die Fonera+ aus und starten unser Skript:

./catch_fonera+

Gib jetzt dein Benutzerpasswort ein und schalte die Fonera+ wieder ein. Der kleine Router bootet nun und RedBoot wartet 2 Sekunden auf das Empfangen des 'CTRL C'-Signals am Ethernet-Anschluss per Telnet-Verbindung über 192.168.1.1 am Port 9000.

Folgende Zeilen sollten nun angezeigt werden:

./catch_fonera+
[sudo] password for zarrelli:
ARPING 192.168.1.1 from 192.168.1.254 eth0
Unicast reply from 192.168.1.1 [XX:XX:XX:XX:XX:XX]  0.992ms
Sent 9 probes (9 broadcast(s))
Received 1 response(s)
fonera [192.168.1.1] 9000 (?) open
== Executing boot script in 0.890 seconds - enter ^C to abort
^C
RedBoot>
sent 6, rcvd 82
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
RedBoot>


Hinweis: Wenn man die folgende Zeile angezeigt bekommt:

RedBoot> ??
gibt man über die Tastatur lediglich einmal 'CRTL C' ein und erhält darauf hin ein funktionierendes
RedBoot>

[edit] Einige Kontrollen vor dem Flashen

Jetzt wird kontrolliert, ob die FLASH-Adressen wie folgt angezeigt werden:

RedBoot> fis list
Name              FLASH addr  Mem addr    Length      Entry point
RedBoot           0xA8000000  0x80040400  0x00030000  0xA8000000
loader            0xA8030000  0x80100000  0x00010000  0x80100000
image             0xA8040000  0x80040400  0x00230004  0x80040400
image2            0xA8660000  0xA8660000  0x00140000  0x80040400
FIS directory     0xA87E0000  0xA87E0000  0x0000F000  0x00000000
RedBoot config    0xA87EF000  0xA87EF000  0x00001000  0x00000000

Vergleiche die Ausgabe deiner Fonera+ ganz genau mit diesem Text. Die beiden Ausgaben müssen für einen erfolgreichen Flash-Vorgang exakt übereinstimmen.

Jetzt führen wir die zweite Kontrolle durch:

RedBoot> x -b 0xa8040000 -l 32
A8040000: 00 21 BF DE A2 14 D3 9B  00 0A 50 34 6D 00 00 80  |.!........P4m...|
A8040010: 00 FF FF FF FF FF FF FF  FF 00 04 02 48 80 0E 0F  |............H...|

Und jetzt die dritte und letzte Kontrolle:

RedBoot> x -b 0xa8250000 -l 32
A8250000: 1E 5E B5 70 5D FA DE 16  AE 98 85 61 87 D5 E2 09  |.^.p]......a....|
A8250010: D2 C1 70 A0 DD F6 2A 30  7F C8 5E 0B 00 DF 50 0A  |..p...*0..^...P.|

Nochmals, weil es so wichtig ist: Nur wenn die Ausgaben deiner Fonera+ die exakt gleichen Werte ergeben, wie die hier angeführten, wird ein erfolgreicher Flash-Vorgang durchführbar sein.

Solltest du irgendwelche Unterschiede zwischen den Ausgaben deiner Fonera+ und den hier angeführten Werten finden, beachte bitte unbedingt diese Seite!

[edit] Image-Datei per TFTP auf die Fonera+ übertragen

In nächsten Schritt übertragen wir die Image-Datei per TFTP vom Computer auf die Fonera+ und kontrollieren die Prüfsumme:

RedBoot> load -r -b 0x80100000 image.bin
Using default protocol (TFTP)
Raw file loaded 0x80100000-0x8070ffff, assumed entry at 0x80100000
RedBoot> cksum -b 0x80100000 -l 0x00610000
POSIX cksum = 1614928997 6356992 (0x6041dc65 0x00610000)
RedBoot>

[edit] Flashing

Jetzt sind wir beim gefährlichen Teil der Arbeit, dem Beschreiben des FLASH-Speichers, angelangt:

RedBoot>  fis write -b 0x80320000 -f 0xa8260000 -l 0x003f0000
* CAUTION * about to program FLASH
           at 0xa8260000..0xa864ffff from 0x80320000 - continue (y/n)? y
... Erase from 0xa8260000-0xa8650000: ...............................................................
... Program from 0x80320000-0x80710000 at 0xa8260000: ...............................................
..............
RedBoot>

Beantworte die gestellte Frage mit y, um das Flashen fortzusetzen.

[edit] Resetten

Wenn der Flash-Vorgang beendet worden ist und wir wieder das RedBoot-Prompt sehen, resetten wir unsere FREIE Fonera+:

RedBoot> reset

Das war's dann!

[edit] Letzte Einstellungen und Kontrollen

Nachdem die Fonera+ neu gestartet hat, verbindest du dich per SSH über das private WLAN (AKA MyPlace) oder über den Ethernet-Anschluss zur Fonera+:

zarrelli@moveaway:~$ ssh -l root 192.168.10.1
The authenticity of host '192.168.10.1 (192.168.10.1)' can't be establish
RSA key fingerprint is 5c:d3:42:ed:52:6d:c0:c6:fb:ec:84:57:18:24:d7:be.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.10.1' (RSA) to the list of known host
root@192.168.10.1's password:
BusyBox v1.4.1 (2007-09-03 10:39:50 UTC) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
 ______                                           __
/\  ___\                                         /\ \
\ \ \__/  __     ___      __   _ __    __        \_\ \___
 \ \  _\/ __`\ /' _ `\  /'__`\/\`'__\/'__`\     /\___  __\
  \ \ \/\ \L\ \/\ \/\ \/\  __/\ \ \//\ \L\.\_   \/__/\ \_/
   \ \_\ \____/\ \_\ \_\ \____\\ \_\\ \__/.\_\      \ \_\
    \/_/\/___/  \/_/\/_/\/____/ \/_/ \/__/\/_/       \/_/
--------------  Fonera 1.5 Firmware (v1.1.1.1) -----------------
           * Based on OpenWrt - http://openwrt.org
           * Powered by FON - http://www.fon.com
    -----------------------------------------------------
root@OpenWrt:~# Wow!!! Die Fonera+ ist jetzt FREI! :-)))

[edit] Final settings, tweaking (all OS)

[edit] Updating personal config from FON

Just after flashing your Fonera+ will reset with factory default settings. You can verify this going into your HTTP console on 192.168.10.1

To update your config log-on to www.fon.com, and access userzone. Select your router, and update WLAN private and public SSID names. If you don't want to change the name, please just change one letter, click on "update" button, and change again to the right name. For the private WLAN: change the WEP/WPA key encryption using the same method.

Fon.com servers will send the new config to your Fonera+. Wait few minutes and check in your local HTTP console. You don't need to reboot.

[edit] Extra HTTP menu (optional)

[edit] Diagnose

 #!/usr/bin/webif-page
 <?
 ###
 #
 # FreeWLAN Addons - http://www.freewlan.info
 #
 # This program is free software; you can redistribute it and/or
 # modify it under the terms of the GNU General Public License
 # as published by the Free Software Foundation; either version 2
 # of the License, or (at your option) any later version.
 #
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 # MA 02110-1301, USA
 #
 # http://www.gnu.org/copyleft/gpl.html
 #
 ###
 . /usr/lib/webif/webif.sh
 validate <<EOF
 string|FORM_submit|@TR<<Submit>>|max=10|$FORM_submit
 EOF
 if [ "$?" != "0" ]
 then
  FORM_submit=""
 fi
 sel_diag=1
 . /usr/lib/webif/advanced.sh
 header "Diagnostics"
 echo "<textarea style='width:700px; height:400px'>"
 eval $FORM_cmd
 echo "</textarea>"
 display_form <<EOF
  start_table|0|10|5
  add_row
  add_label_cell|@TR<<Command>>:
  add_input_cell|cmd||tableTextButton
  add_button_cell|submit|@TR<<Submit>>
  end_row
  end_table
 EOF
 footer ?>
  • Bearbeite die Datei advanced.sh im Ordner /usr/lib/webif und füge die folgenden Zeilen am Ende des Textes ein:
 <tr>
  <td class=\"advancedMenu\">
   <span class=\"submenu${sel_diag:+_sel}\">
    <a href=\"/cgi-bin/webif/diag.sh\">@TR<<Diag_Title|Diagnostics>></a>
   </span>
  </td>
 </tr>
  • Wie die (fertige) Diagnose-Seite aussieht, wenn man dort den Befehl 'ps -ax' eingibt, zeigt dieser Screenshot:

image:fonplus-menu-diag.png

Personal tools