Flasher une NB6

De neufbox 4


Principe

Le bootloader de la NB6 permet le chargement d'un fichier de boot indiqué par le serveur dhcp du LAN. Ceci est déclenché par un appui prolongé sur le bouton service (environ 8 secondes) au moment du démarrage de la box.

Pour reflasher la box, il nous faut donc un serveur DHCP et un serveur TFTP sur le LAN, et le fichier source à flasher.


Procédure testée sur
Modèle NB6 N° de série OK/KO Observations
NB-FXC-r0 UI 1000140002230057 OK Linux sur LAN sans connection ADSL
NB-SER-r0 IE 1000370013430165 OK
NB-SER-r0 IE 1000431629830166 OK XP Pro (Tftpd32) sur LAN sans connection ADSL
NB-FXC-r0 S/N OK dnsmasq sur Mac OS rev 10.9

Sous Linux

Nous allons documenter la procédure avec dnsmasq car il regroupe les 2 fonctions recherchées, serveur DHCP et TFTP. De plus, étant de base dans la neufbox, ainsi que dans de nombreux périphériques réseau du commerce (Fonera, NSLU2, Synology etc) on peu raisonablement envisager d'utiliser une box pour flasher une autre box.

Configuration de dnsmasq

On considère ici que dnsmasq est déjà l'unique serveur DHCP actif sur le réseau et donc que le reste de la configuration est fonctionnelle.

Editer le fichier de configuration /etc/dnsmaq.conf et ajouter les lignes suivantes

#activation du serveur TFTP
enable-tftp

#Déclaration du répertoire cible
tftp-root=/tftpboot

#Déclaration du fichier à charger
dhcp-boot=OPB6-MAIN-R3.1.4

Le répertoire cible devra être accessible en lecture par tous

sudo chown nobody:nogroup /tftpboot

Flashage

Connecter la box à flasher sur le réseau au moyen d'un câble ethernet.

Eteindre la box avec l'interrupteur arrrière.

Maintenir appuyer le bouton service pendant que vous rallumez la box (quelques secondes de maintien)

Priez Saint EDF qu'il n'y ai pas de coupure secteur.


Au bout de 8 secondes, les voyants doivent passer au rouge "tournant" et une activité de transfert est visible sur la led du port ethernet.

La procédure de flashage prend environ 2 minutes.

Quand vous récupérez l'accès à la page d'administration, via votre navigateur préféré, c'est terminé.

Sous Windows

On peut utiliser Tftpd32qui combine les fonctions de serveur tftp et serveur dhcp.

Une fois installé, prévoir un répertoire ( C:\TFTP-Root par exemple) où sera stockée l'image à flasher (OPB6-MAIN-R3.1.4 par exemple).

Si la NB6 à flasher fait office de serveur DHCP pour votre réseau local où se situe le PC, il convient de configurer le PC en IP fixe (192.168.1.201 par exemple) car une fois éteinte l'interface ethernet du PC peut être inactive. Si ce n'est pas le cas on supposera que l'IP attribuée par le serveur DHCP est celle de l'exemple.

Configuration de TFTP32

Lancer Tftpd32 et le configurer en cliquant sur Settings

Onglet GLOBAL

Tftpd32 global.gif

Cocher les cases TFTP Server et DHCP server


Onglet TFTP

Tftpd32 tftp.gif

Dans le champ Base Directory indiquer le répertoire de stockage (C:\TFTP-Root)

Laisser les autres champs en configuration par défaut


Onglet DHCP

Tftpd32 DHCP.gif

Champ IP pool starting address : une IP différente de celle du PC et des autres machines présentes sur votre lan (192.168.1.20 par exemple)

Champ Size of Pool : 3 par exemple

Champ Boot file : le nom de l'image (OPB6-MAIN-R3.1.4)

Champ Default router : l'IP du PC (192.168.1.201)

Champ Mask : 255.255.255.0

Flashage

Connectez la NB6 éteinte au PC ou à votre réseau local (câble ethernet sur le port 1)

Appuyez sur le bouton rond SFR et mettre sous tension. Relâcher au bout de quelques secondes (à priori à la première extinction du cercle orange c'est OK...mais par prudence attendez le cercle rouge tournant qui signifie que la NB6 est en mode tftpboot actif).

Suivez le transfert de l'image dans la fenêtre Log Viewer (la LED du port 1 de la NB6 doit flasher pendant le transfert)

Rcvd DHCP Discover Msg for IP 0.0.0.0, Mac 00:25:25:25:25:25 [03/05 22:39:57.953]
Client requested address 0.0.0.71 [03/05 22:39:57.953]
DHCP: proposed address 192.168.1.20 [03/05 22:39:57.953]
7284 Request 2 not processed [03/05 22:39:58.000]
Rcvd DHCP Rqst Msg for IP 0.0.0.0, Mac 00:25:25:25:25:25 [03/05 22:39:58.047]
7284 Request 2 not processed [03/05 22:39:58.109]
Connection received from 192.168.1.20 on port 2632 [03/05 22:40:01.578]
Read request for file <OPB6-MAIN-R3.1.4>. Mode octet [03/05 22:40:01.578]
Using local port 40022 [03/05 22:40:01.578]
Peer returns ERROR <transfer cancelled> -> aborting transfer [03/05 22:40:01.625]
Connection received from 192.168.1.20 on port 4584 [03/05 22:40:01.625]
Read request for file <OPB6-MAIN-R3.1.4>. Mode octet [03/05 22:40:01.625]
Using local port 40024 [03/05 22:40:01.625]
<OPB6-MAIN-R3.1.4-0305>: sent 12264 blks, 6278699 bytes in 10 s. 0 blk resent [03/05 22:40:11.703]

Attendre le reboot (arrêt du cercle tournant rouge et flash des leds des ports ethernet de la NB6)

Nota : penser à ouvrir le parefeu du PC pour le port 69. Normalement ceci doit vous être demandé soit à l'installation, soit au premier lancement de Tftpd32

NOTE: On peut flasher le firmware de secours de la NB6 avec cette méthode.

Sous Mac OSX

Par VincentAlex 2 mai 2014 à 14:20 (CEST)

Comme sous Linux, dnsmasq est utilisé. Par contre, comme il n'est pas installé par défaut, il est nécessaire de le faire soit même.

Le mieux est de récupérer les sources de dnsmsq (http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.69.tar.gz) et le compiler soit même en ligne de commande (attention, pour cela, il faut installer les Commands Ligne Tool de Xcode sous votre Mac). Il n'y a pas de difficulté particulières. (Cependant, pour les feignants un binaire OSX est dispo ici : http://www.neufbox4.org/download/tools/osx/dnsmasq).


La neufbox doit être reliée au Mac par le port Ethernet et il doit être configuré manuellement avec une adresse IP (dans cet exemple : 192.168.2.1).

Le fichier de configuration dnsmasq est le suivant :
dnsmasq.conf

# configuration dnsmasq pour flasher une neufbox (NB5, NB6 ou NB6V)

# pour ne pas lancer dnsmasq en mode démon
no-daemon

# configuration DNS
no-resolv
no-hosts

# configuration DHCP
dhcp-range=192.168.2.10,192.168.2.20
leasefile-ro

# configuration TFTP
enable-tftp

# répertoire où se trouve le firmware à flasher
tftp-root=/tftp

# déclaration du fichier à flasher
dhcp-boot=NB6-MAIN-R3.3.9-OPEN

Les paramètres dhcp-range, tftp-root et dhcp-boot doivent être adaptés selon votre situation.

Dans cet exemple de fichier de configuration dnsmaq.conf, l'image à flasher se trouve dans le répertoire /tftp et se nomme NB6-MAIN-R3.3.9-OPEN; dnsmasq fournis des adresses IP dans l'intervalle 192.168.2.10 à 192.168.2.20, ce qui signifie que le port Ethernet du Mac doit avoir une IP fixe en 192.168.2.x.

dnsmasq sera lancé avec la commande suivante : dnsmasq -C dnsmasq.conf

Procédure

  • 1. Mettre sous tension la neufbox,
  • 2. Lancer dnsmasq en mode super utilisateur :
macbook-pro:dnsmasq-2.69 $ sudo dnsmasq -C dnsmasq.conf
dnsmasq: started, version 2.69 cachesize 150
dnsmasq: compile time options: IPv6 GNU-getopt no-DBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP no-conntrack no-ipset auth no-DNSSEC
dnsmasq: setting --bind-interfaces option because of OS limitations
dnsmasq: warning: no upstream servers configured
dnsmasq-dhcp: DHCP, IP range 192.168.2.10 -- 192.168.2.20, lease time 1h
dnsmasq-tftp: TFTP root is /tftp 
dnsmasq: cleared cache
  • 3. Redémarrer la neufbox tout en appuyant sur le bouton SFR (NB6) ou WIFI (NB6VAC) pendant 10 secondes. Les lignes ci-dessous doivent s'afficher au bout de 15 secondes environ :
dnsmasq-dhcp: DHCPDISCOVER(en0) 00:25:15:xx:xx:xx 
dnsmasq-dhcp: DHCPOFFER(en0) 192.168.2.47 00:25:15:xx:xx:xx 
dnsmasq-dhcp: DHCPDISCOVER(en0) 00:25:15:xx:xx:xx 
dnsmasq-dhcp: DHCPOFFER(en0) 192.168.2.47 00:25:15:xx:xx:xx
dnsmasq-dhcp: DHCPDISCOVER(en0) 00:25:15:xx:xx:xx 
dnsmasq-dhcp: DHCPOFFER(en0) 192.168.2.47 00:25:15:xx:xx:xx 
dnsmasq-dhcp: DHCPREQUEST(en0) 192.168.2.47 00:25:15:xx:xx:xx 
dnsmasq-dhcp: DHCPACK(en0) 192.168.2.47 00:25:15:xx:xx:xx 
dnsmasq-tftp: error 3 transfer cancelled received from 192.168.2.47
dnsmasq-tftp: failed sending /tftp/NB6-MAIN-R3.3.9-OPEN to 192.168.2.47

Une fois que l'image est transférée par tftp, la ligne suivante s'affiche :

dnsmasq-tftp: sent /tftp/NB6-MAIN-R3.3.9-OPEN to 192.168.2.47

Il ne reste plus qu'a attendre que la neufbox redémarre toute seule (au bout d'une minute). Ne surtout pas la redémarrer manuellement.

Remarques

  • Il faudra autoriser dnsmasq à accepter les connexions réseau entrantes pour que cela puisse fonctionner,
  • J'ai remarqué qu'il fallait que la neufbox soit sous tension lorsque dnsmasq est lancé. Sinon le transfert tftp ne démarre pas,
  • Il y a 2 messages d'erreur dnsmasq-tftp mais le transfert s'effectue tout de même...