FAQ Foneraplus unbricking/fr
From Fon Wiki
[edit] Comment débriquer/ressusciter votre Fonera+
LamaBleu (19 dec2007-anglais)
[edit] Ici vous trouverez une procédure pour débriquer votre Fonera+.
J'ai reçu de nombreuse demandes suite à des reflashages hasardeux, ou tentatives infructueuses pour flasher une Fonera+ avec des firmwares alternatifs comme DD-WRT ou OpenWrt.
Attention, ne jamais tenter de reflasher les partitions Redboot nécessaires au démarrage du système: RedBoot, FIS Directory, RedBoot config. Dans ce cas, il y a des fortes chances que l'utilisation d'un câble série soit la seule solution pour reprendre la main.
Si vous voulez reflasher votre Fonera+ avec accès au shell (SSH ou série), et tenter de rejoindre de nouveau le petit monde de FON, suivez les étapes suivantes !
Félicitations à : Raymond Hui (Hong-Kong), Reynald F (France), David M (SEspagne), Negece (Italies), Paule (Allemagne), Mystique (France),et d'autres pour le débriquage de leur Fonera+ avec cette procédure.
[edit] Pré-requis
- une Fonera+ avec accès à RedBoot et l'adresse IP de votre ordinateur configurée en statique: 192.168.1.254
- Télécharger les partitions loader et image2 (failsafe boot) ici
- Télécharger la partition principale du firmware FON image ici (firmware FON 1.1.1r1 et partition JFFS pour l'accès au shell)
- Décompressez les fichiers téléchargés dans le répertoire défini pour votre serveur TFTP
- Comme d'habitude se connecter à Redboot sur 192.168.1.1 port 9000 au boot...
[edit] Vérifier les partitions RedBoot
Pour commencer lancer un "fis list" pour vérifier la structure des partitions présentes. Pour les partitions loader, image, et image2, bien vérifier les noms et les adresses indiquées. Voici une copie d'un "fis list" de référence relevé sur une Fonera+ neuve.
Name FLASH addr Mem addr Length Entry point RedBoot 0xA8000000 0xA8000000 0x00030000 0x00000000 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
[edit] Verifier et modifier le script de démarrage RedBoot
Lancer une commande "fconfig -l -n" pour afficher le script de démarrage:
Voici un script de démarrage par défaut:
RedBoot> fconfig -l -n boot_script: true boot_script_data: .. fis load loader .. go 0x80100000 boot_script_timeout: 2 bootp: false bootp_my_gateway_ip: 0.0.0.0 bootp_my_ip: 192.168.1.1 bootp_my_ip_mask: 255.255.255.0 bootp_server_ip: 192.168.1.254 console_baud_rate: 9600 gdb_port: 9000 info_console_force: false net_debug: false RedBoot>
Si la liste des partitions de l'étape 1.3 et le résultat du fconfig de cette étape est similaire au votre, vous devriez pouvoir passer directement à l'étape 1.7
Si vous avez déjà reflashé votre Fonera+ avec un firmware alternatif, il faudra probablement modifier ce script de démarrage.
Utilisez alors la commande "fconfig boot_script_data" pour le ressaisir , terminer par une ligne vide !
Dans cet exemple un firmware DD-WRT avait été installé précédemment.
RedBoot> fconfig boot_script_data boot_script_data: .. fis load -l vmlinux.bin.l7 .. exec Enter script, terminate with empty line >> fis load loader >> go 0x80100000 >> Update RedBoot non-volatile configuration - continue (y/n)? y ... Erase from 0xa87e0000-0xa87f0000: . ... Program from 0x80ff0000-0x81000000 at 0xa87e0000: . RedBoot>
Au passage, prenez une petite minute pour modifier le délai d'écoute de RedBoot au démarrage. Configuré par défaut à 2 secondes, modifier la valeur à 5 ou 10 secondes vous en facilitera l'accès ultérieurement.
Utiliser la commande : fconfig boot_script_timeout
Prenez bien soin de vérifier de nouveau cette config avant de passer à l'étape suivante !
[edit] (Re)créer les partitions FON
Effectuez d'abord un "fis init" pour effacer les trois partitions FON, puis les recréer avec les paramètres par défaut.
Le prompt RedBoot a été raccourci ici... RB> fis init About to initialize [format] FLASH image system - continue (y/n)? y *** Initialize FLASH Image System ... Erase from 0xa87e0000-0xa87f0000: . ... Program from 0x80ff0000-0x81000000 at 0xa87e0000: . RB> fis create -f 0xa8030000 -l 0x00010000 -e 0x80100000 -r 0x80100000 -n loader ... Erase from 0xa87e0000-0xa87f0000: . ... Program from 0x80ff0000-0x81000000 at 0xa87e0000: . RB> fis create -f 0xa8660000 -l 0x00140000 -e 0x80040400 -n image2 ... Erase from 0xa87e0000-0xa87f0000: . ... Program from 0x80ff0000-0x81000000 at 0xa87e0000: . RB> fis create -f 0xa8040000 -l 0x00230004 -e 0x80040400 -r 0x80040400 -n image ... Erase from 0xa87e0000-0xa87f0000: . ... Program from 0x80ff0000-0x81000000 at 0xa87e0000: . RB>
[edit] Flasher les partitions "loader" et "image2"
Envoyer chaque fichier à votre Fonera+ en TFTP, et flasher les partitions correspondantes ( comme RedBoot garde en mémoire les adresses du dernier "load", nous n'avons pas besoin de renvoyer les dernières adresses) :
- Loader
load -r -b 0x80100000 loader.bin fis create loader
- image2
load -r -b 0x80100000 image2.bin fis create image2
La durée du flashage pour la partition "image2" est d'environ 10 minutes, patience ..
Optionnel: à partir de ce moment le mode sans échec de votre Fonera+ devrait être fonctionnel si vour rebootez votre Fonera+ (éventuellement en maintenant le bouton Reset appuyé pendant 15 secondes au boot).
[edit] Flasher la partition principale "image"
Cette commande a un double usage: nous allons repartitionner la partition FON "image" ( kernel + squashfs)et la partition JFFS en même temps.
Nous utiliserons don un "fis write" à la place du classique "fis create". La durée du flashage est d'environ 15 minutes.
load -r -b 0x80100000 image.bin fis write -b 0x80100000 -f 0xa8040000 -l 0x00610000
[edit] Reboot et personnalisation
Et voilà ! Il est temps de redémarrer !
La commande RedBoot pour redémarrer est "reset", ou bien débrancher/rebrancher la Fonera+
Croisez les doigts, touchez du bois, et patienter un peu au boot avant de tenter la connexion SSH (le temps de générer les clés dropbear au premier boot).
Pour la personnalisation, consulter le Wiki sur http://wiki.fonboard.nl
Bonne chance !
