Efixo a mis en place un repository Subversion permettant de récupérer les sources du firmware 2.1.5 de la neufbox 4, ainsi qu’un Trac permettant de visualiser les sources en ligne, et comprenant un wiki qui pour la documentation de l’API REST.
Des sources étaient déjà disponibles, mais c’était une archive contenant des sources qui ne permettaient pas de recompiler un firmware identique au firmware d’origine.
Et la bonne nouvelle, c’est qu’on va retrouver un système de compilation connu et apprécié : OpenWrt !
Il est désormais possible de recompiler le firmware de la neufbox à l’identique pour ensuite reflasher sa neufbox (il est fortement conseillé d’acheter une neufbox dans le commerce avant de la bidouiller, au lieu de modifier sa neufbox en location).
Pour récupérer les sources et recompiler le firmware :
~$ svn co http://svn.efixo.net/trunk/ neufbox
~$ cd neufbox/
~$ make nb4-main
Comme vous pourrez le constater, les sources des pilotes propriétaires Broadcom et des outils propriétaires Efixo ne sont pas disponibles. Ces binaires sont récupérés lors du processus de compilation et intégrés au firmware, ce qui permet de garder les fonctionnalités du firmware d’origine (téléphonie, TV,…).
En revanche, comme les sources des logiciels libres utilisés sont fournies, cela permet de modifier et d’intégrer diverses fonctionnalités non présentes d’origine.
C’était il y a 1 an sur neufbox4.org : Les sources GPL de la Neuf Box 4 enfin !
Aujourd’hui, je viens d’apprendre que de nouvelles sources sont disponibles, cette fois ci basées sur un kernel Linux 2.6.21.
Les anciennes sources étaient disponibles à l’adresse http://www.efixo.com/neufbox4/freesoftware/, désormais c’est sur http://www.efixo.net/gpl/ qu’il faut se rendre, Efixo ayant apparemment créé un nouveau site (pour l’instant il n’y a que les sources GPL) pour l’occasion.
L’archive disponible est la “consumer release” version 4.02L.01 : bcm963xx_4.02L.01_consumer_release.tar.gz.
Avec les sources précédentes, basées sur un noyau Linux 2.6.8.1, il était nécessaire de créer un fork d’OpenWRT (qui utilise les noyaux Linux récents), ce qui était un gros frein au portage d’OpenWRT sur la NB4.
La mise en ligne de ces sources est donc une lueur d’espoir, et un nouveau pas en direction d’OpenWRT sur la Neuf Box (ou plutôt neufbox comme on doit dire maintenant).
Le 15 janvier 2008, SGDA a entrepris la compilation du noyau linux avec les patches fournis par Efixo (sûrement suite à de bonnes résolutions du nouvel an
).
SGDA et psolyca ont bien bossé, et ils sont arrivés à booter un noyau linux sur la Neuf Box 4 qu’ils avaient eux même compilé ! Cela marche aussi bien sur les NB4 Sercomm que sur les NB4 Foxconn.
Il ne reste que quelques problèmes mineurs face au travail accompli, en tout cas on peut les remercier, grâce à eux le portage d’OpenWRT sur la Neuf Box 4 a fait un grand bon en avant !
Mon fidèle outil Page2RSS m’a signalé un changement sur la page des sources Efixo, de nouveaux patches sont disponibles :
Apparemment ces patches s’appliquent au kernel Linux de la consumer release 3.12L.01.
Les CGI (Conditions Générales d’Inscription) (attention c’est un PDF) de Neuf ont été mises à jour le 13 décembre 2007.
On peut y lire page 4 le paragraphe suivant :
5.4.4 En raison des spécificités du Modem avec WiFi intégré, Neuf a adapté certains logiciels de ce dernier à partir de logiciels libres relevant de la Licence Publique Générale du Projet GNU. Si le Client souhaite utiliser ces logiciels libres, il devra prendre préalablement connaissance et accepter les termes et conditions du Contrat de Licence Publique Générale GNU, consultable sur le site http://www.gnu.org/copyleft/gpl.html ou le cas échéant auprès de la Free Software Foundation Inc, 59 Temple Place, Suite 330, Boston, MA 02111-1307, Etats-Unis, dont une traduction française libre est disponible sur le site http://www.linux-france.org/article/these/gpl.html. Le Client reconnaît, en outre, que ces programmes sont distribués sans aucune garantie, explicite ou implicite, y compris les garanties de commercialisation ou d’adaptation dans un but spécifique. Le Client déclare être informé qu’il pourra accéder aux codes sources de ces logiciels sur le site http://www.efixo.com/neufbox4/freesoftware/ ou en faisant la demande écrite au Service d’assistance technique et commerciale de Neuf, dans les trois ans qui suivent la réception du Modem avec WiFi intégré.
La tournure de ce paragraphe est un peu maladroite, mais on ne peut que se réjouir de sa présence 
Bonne nouvelle au retour du weekend, l’archive consumer a été mise à jour sur le site d’Efixo, et passe en version 3.12L.01.
Le site Page2RSS s’avère bien pratique, et permet de surveiller les changements de la page des sources qui n’intègre pas de flux RSS d’origine.
Bon, on va télécharger l’archive et voir si ça compile bien
$ wget http://www.efixo.com/neufbox4/freesoftware/broadcom/bcm963xx_3.12L.01_consumer.tar.gz
$ tar xf bcm963xx_3.12L.01_consumer.tar.gz
$ make PROFILE=96358GWV
Et là, deuxième bonne surprise ! Tout compile bien :
Done! Image 96358GWV has been built in /opt/NB4/images.
Il ne reste plus qu’à tester l’image sur une Neuf Box 4, et explorer les sources pour voir les nouveautés 
Je viens d’avoir une bonne suprise en retournant sur la page des sources GPL de la Neuf Box 4 sur le site d’Efixo.
Il y a eu un petit changement depuis la dernière fois : l’archive consumer bcm963xx_3.06L.04V_consumer.tar.gz (qui a été retirée, le lien ne marche plus) a été remplacée par bcm963xx_3.10L.02_consumer.tar.gz.
Il reste à étudier plus en détail quelles sont les différences entre ces deux archives, mais on peut déjà supposer qu’il s’agit d’une mise à jour de la version 3.06L.04 vers la 3.10L.02 (même si je ne suis pas encore familier avec la numérotation des versions chez Broadcom).
Il y a plusieurs outils disponibles pour être informé des mises à jour d’une page sur un site, même si ce site ne dispose pas de flux RSS.
Certains sont des logiciels qu’il faut installer sur l’ordinateur, d’autres qu’on peut utiliser directement en ligne. L’outil que j’utilise le plus est Page2RSS.
Pour suive les mises à jour des sources sur le site d’Efixo, il suffit de se rendre à cette adresse
http://www.page2rss.com/page/?url=www.efixo.com/neufbox4/freesoftware/ puis de s’abonner au flux RSS avec son lecteur préféré.
Plusieurs sites en parlent aujourd’hui, n9ws, DegroupNews, le blog de Jehel, et annoncé sur le forum JustNeuf : les sources des logiciels sous licence publique générale GNU sont maintenant disponibles sur le site officiel d’Efixo, la société en charge du développement de la Neuf Box 4.
On peut y télécharger plusieurs archives :
- des archives de Broadcom, contenant la chaîne de compilation croisée nous permettant de compiler pour l’architecture de la Neuf Box 4, le noyau Linux et les drivers, les logiciels sous GPL utilisés, et des scripts pour fabriquer une image
- des archives contenant les outils utilisés pour la compilation croisée, ainsi que la configuration utilisée de buildroot
- les modifications effectuées au noyau Linux ainsi que la configuration utilisée
- les archives des diverses applications sous GPL utilisées
Ca s’annonce plutôt pas mal, il reste à approfondir un peu plus l’étude de toutes ces sources afin de voir ce qu’on peut y trouver d’intéressant.
Dans tous les cas, je ne doute pas que cela nous simplifiera grandement le travail !