Attention, ce tutoriel ne concerne que les versions de firmware 0.7.1r2 ou plus récent.
Dans ce tutoriel je vais essayer vous expliquer comment flasher sa Fonera avec le firmware DD-WRT avec votre Mac préféré. DD-WRT, C’est quoi ? Tout simplement firmware alternatif qui vous apporte pleins de fonctions: un mode client en wifi, système de hotspot (Chilli) et encore pleins d’autres choses.. en plus il est gratuit. Pourquoi s’en priver ?
- Ce dont vous aurez besoin
-
Un câble ethernet (RJ45, Droit): pour connecter la Fonera à votre machine,Le firmware DD-WRT: Téléchargez le ici (Final version ou Release Candidate)Ces deux fichiers: openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma et out.hex
Un serveur http: OS X en intègre un,Un serveur tftp: OS X en intègre un aussi,Un client SSH, Telnet: Terminal, aussi intégré à OS X. -
Attention, il est important de télécharger ces fichiers avant de commencer ce tutoriel car vous n’aurez plus de connexion a internet pendant la procédure… Sauf si vous avez plusieurs machines.. ;)
- Vérifier la version de la fonera
-
1. Procédure de reset:
- Maintenez le bouton reset 30s,
- Débranchez/retranchez l’alimentation tout en maintenant le reset,
- Continuez a appuyer dessus jusqu’à ce que la led wifi s’allume puis s’éteigne (2-3 minutes),
- Relâchez (enfin) le reset puis attendez (encore) 2-3 minutes que la led wifi s’allume de nouveau.
2. Connecter: Pour cela on va brancher la Fonera directement à l’ordinateur en RJ45 puis configurer l’adresse Ip de la carte Ethernet en: 169.254.255.2/255.255.0.0 (la fonera ayant l’adresse: 169.254.255.1).
3. Récupérer la version: Ouvrez votre navigateur et tapez dans la barre d’adresse « http://169.254.255.1″
4. Si un login/mdp vous est demandé entrez:
- login: root
- pass: admin
- Exploiter RADIUS pour obtenir un accès SSH
-
A chaque démarrage de la fonera elle se connecte a un serveur RADIUS (/usr/sbin/chilli_radconfig) pour télécharger la configuration la plus récente (/etc/chilli.conf).
FON a pris des précautions pour sécuriser l’utilisation du serveur SSH mais n’a pas fait de même pour leur serveur RADIUS, nous allons exploiter cette faille en se connectant à un serveur spoofé qui va nous permettre d’avoir la main sur cette petite bête..
Pour cela nous allons devoir faire pointer la Fonera sur un serveur DNS qui redirigera l’adresse « radius01.fon.com » vers un serveur RADIUS « Non-officiel » sur lequel elle récupérera un fichier config a notre sauce.En résumé. Donc tout ce que l’on a à faire c’est configurer la Fonera pour qu’elle pointe sur le DNS: « 88.198.165.155″ ce qui redirigera « radius01.fon.com » sur « kolofonium.datenbruch.de » (qui est un serveur Radius « pirate »).
1. Ouvrez votre navigateur et tapez dans la barre d’adresse « http://169.254.255.1″
2. Allez dans « advanced » et entrez les paramètres réseau avec:
- Ip: une Ip valide derrière votre Box internet (ex: 192.168.3.20, chez moi)
- Network Mask: 255.255.255.0
- Gateway: L’Ip de votre Box Internet. (ex: 192.168.3.242, chez moi)
- DNS: 88.198.165.1553. Connectez la Fonera directement a un des ports ethernet de votre box internet,
4. Redémarrez enfin la Fonera puis attendez quelques minutes pour la redémarrer à nouveau.La modification touche le fichier « /etc/raddb/users », le nouveau contient:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17chillispot Auth-Type = External
Exec-Program-Wait = "/etc/raddb/fonera.sh",
CHILLICONF = "radiusserver1 radius01.fon.com",
CHILLICONF = "radiusserver2 radius02.fon.com",
CHILLICONF = "radiussecret garrafon",
CHILLICONF = "dhcpif eth1",
CHILLICONF = "uamsecret garrafon",
CHILLICONF = "uamanydns",
CHILLICONF = "uamallowed www.martinvarsavsky.net,www.google.com,www.flickr.com,static.flickr.com,video.google.com,216.239.51.0/24,66.249.81.0/24",
CHILLICONF = "uamallowed www.fon.com,www.paypal.com,www.paypalobjects.com,www.skype.com,66.249.93.0/24,72.14.207.0/24,72.14.209.0/24,84.96.67.0/24,213.91.9.0/24,80.118.99.0/24",
CHILLICONF = "uamallowed shop.fon.co.kr,secure.nuguya.com,inilite.inicis.com,fon-en.custhelp.com,maps.fon.com,c20.statcounter.com",
CHILLICONF = "uamserver https://login.fon.com/cp/index.php",
CHILLICONF = "# Greetings from Michael and Stefan",
CHILLICONF = "# http://mrmuh.blogspot.com/ & http://stefans.datenbruch.de/lafonera/",
CHILLICONF = "uamallowed stefans.datenbruch.de",
CHILLICONF = "ipup /etc/init.d/dropbear",
Fall-Through = 0On notera la ligne « ipup /etc/init.d/dropbear »: C’est elle qui lance le serveur SSH des que l’interface « publique » est démarrée.
- Se connecter a notre joli serveur SSH
-
1. Reconnectez la Fonera a votre machine par l’interface Ethernet (rappel ip: 169.254.255.1)
2. Ouvrez un Terminal (Applications > Terminal) et tapez:
1# ssh root@169.254.255.13. On accepte la clé et on entre le mot de passe « admin »
4. Yeepee, on est dedans :)
5. Activer le SSH en permanence:
1# mv /etc/init.d/dropbear /etc/init.d/S50dropbear - Configurer notre serveur HTTP
-
1. Rendez-vous dans vos « Préférences systèmes » puis dans « Partage », Activez le « Partage web ». Notez l’url du bas, (ici: http://mac.local/~rzo ou http://169.254.5.199/~rzo) Vous trouverez votre Ip dans les préférences réseau de OSX, la mienne est « 169.254.5.199″
2. Puis mettez les 2 fichiers téléchargé plus tôt dans le répertoire de partage web de votre utilisateur (/Users/’nomUtilisateur’/Sites/)
- openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma
- out.hex

- Accès à la mtd
-
1. On récupère nos fichiers sur la Fonera:
1
2# cd /tmp
# wget http://169.254.5.199/~username/openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma2. On flashe avec le firmware modifié, ce qui nous permet un accès à la mtd:
1
2# mtd -e vmlinux.bin.l7 write openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma vmlinux.bin.l7
# rebootSoyez patients, cela peut prendre du temps…
3. on se reconnecte en SSH et on lui applique le out.hex (fichier config redboot)
1
2
3
4# cd /tmp
# wget http://169.254.5.199/~username/out.hex
# mtd -e "RedBoot config" write out.hex "RedBoot config"
# rebootAttention, si vous avez l’erreur: « Could not open mtd device » assurez vous d’avoir tapé la commande en respectant les majuscules, c’est case sensitive.
- Configurer le serveur tftp
-
1. Entrez dans un Terminal: (dans mon cas il existait déjà.. vérifiez quand même..)
1sudo mkdir /private/tftpboot2. Copiez le firmware de dd-wrt à la racine du serveur tftp (linux.bin):
- Déplacez le fichier sur le bureau.
- Tapez:1sudo cp ~/Desktop/linux.bin /private/tftpboot/3. On démarre le serveur tfp, tapez:
1sudo /sbin/service tftp start - Quand on touche au but..
-
NOTA: A ce stade la Fonera ne peux pas démarrer correctement, c’est normal – et indispensable – le répertoire FIS est complètement effacé. Par contre nous pouvons toujours nous connecter au RedBoot, pour cela:
1. Configurez votre carte Ethernet pour avoir l’Ip: 192.168.1.10
2. Préparez un Terminal avec la ligne suivante: Ne tapez pas entrée tout de suite !
1$ telnet 192.168.1.254 90003. Débranchez et rebranchez l’alimentation de la Fonera, puis validez la commande ci-dessus dans les 10 secondes qui suivent le branchement.
NOTE: Le pre-boot de la Fonera peut prendre du temps, n’hésitez pas à retaper la commande plusieurs fois.. (Tips: Flèche haut).4. On a le shell, on configure le réseau. qui va pointer sur notre serveur tftp:
1> ip_address -l 192.168.1.254/24 -h 192.168.1.105. Puis on flashe ! Répondez « y » quand on vous pose des questions.
1
2
3> fis init
> load -r -b 0x80041000 linux.bin
> fis create linuxCes commandes sont très longues a exécuter, ne vous affolez pas ! (« fis create linux » a pris 30 minutes chez moi…).
Ne pas rebooter ensuite, il va falloir modifier le script de démarrage !1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23RedBoot> fconfig
Run script at boot: true
Boot script:
.. fis load -l vmlinux.bin.l7
.. exec
Enter script, terminate with empty line
>> fis load -l linux
>> exec
>>
Boot script timeout (1000ms resolution): 10
Use BOOTP for network configuration: false
Gateway IP address:
Local IP address: 192.168.1.254
Local IP address mask: 255.255.255.0
Default server IP address: <blank>
Console baud rate: 9600
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .
RedBoot>resetVoilà, vous y êtes, redémarrez la Fonera, configurez votre réseau ethernet (ou wifi) en DHCP puis lancez un navigateur sur l’url: http://192.168.1.1. Félicitation.
NOTE: l’utilisateur/mot de passe est le même. login: root, mdp: admin








Excellent, je vois qu’on a pas mal de passions en commun. Je sais pas si tu t’es aussi interessé aux firmwares Robin based, plus particulièrement au projet OpenMesh, voici quelques links sympa si tu ne les connais pas dejà :
- http://open-mesh.com
- http://open-mesh.org
- http://blogin.it/
Tiens, Mr Chrome, enchanté de te voir ici ;)
Oui, j’ai un peu suivis ces projets – j’aime beaucoup le principe, d’ailleurs – mais habitant actuellement sur un terrain militaire je ne peux pas trop me permettre d’envoyer la sauce sur les 2-gigas-4. Par contre, je suis toujours friand de bidouiller tout ce qui peut fonctionner sous *nux.. j’ai aussi un wrt54g sous OpenWrt (prochaine étape, la Senseo sous Bsd :))
D’ailleurs en parlant du wrt54g, prochainement un gros tutoriel dessus !
Au fait, j’avais pas vu que tu appartenais à toonux.com (ou l’inverse…), j’étais déjà tombé quelques fois dessus.. il y contient des ressources plus que sympathiques !
Bonsoir et un grand merci pour ce tuto qui m’a permis de faire exactement ce qui est décrit !
Merci pour le petit mot, ça fait toujours plaisir ! ;)
voila, je debarque sur cette page 2 ans aprés et ca marche plus, ou alors j’ai raté un truc !
Ma fonera est en version 0.7.2 r3 et le login root – admin ne marche plus !
J’ai bien respecté (je pense) la manip du reset qui dure 5 mn :(
on a t’il changé les acces ???