Archive for the 'openwrt' Category

Sources du firmware 2.1.5 de la neufbox

efixo 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.

Sortie d’OpenWrt Backfire 10.03

Ca y’est, la version finale d’OpenWrt 10.03, nom de code Backfire, est sortie.

Le code source est disponible ici : svn://svn.openwrt.org/openwrt/branches/backfire/

Vous pouvez également trouver plus d’informations sur les différents moyens de récupérer le code source sur le wiki d’OpenWrt.

Nouveautés depuis la dernière version stable :
* Noyau Linux 2.6.32 avec support à long terme, uClibc 0.9.30
* Support des drivers basés sur mac80211, tels que ath5k, ath9k and b43
* Support d’implémentations libc alternatives
* Nouveau serveur web « uhttpd » (le httpd de busybox est maintenant désactivé par défaut)
* Support étendu de X.org avec GTK+, QT etc.
* Nouveau format de configuration du switch configuration pour les devices Broadcom (cf http://wiki.openwrt.org/doc/uci/network#switch)
* Nouveau binaire multicall « wpad » wpa-supplicant et hostapd
* Support initial du wifi Broadcom mac80211
* Système preinit modulaire
* Support optionel du rootfs sur média amovible
* Support du format TRX v2 nécessaire pour les nouveaux devices tels que le Linksys WRT54G3GV2-VF
* Nouveau fichier /etc/openwrt_release machine-readable avec détails de la version de la release

Nouvelles plateformes supportées :
* Atheros AP81: Ubiquiti Router Station Pro, TP-Link TL-WR1043ND, Netgear WNDR3700, etc. (ar71xx)
* Broadcom ADSL modem/router chipsets (brcm63xx)
* Cavium Networks Octeon based boards (octeon)
* Cobalt Networks MIPS-based servers (cobalt)
* Infineon Danube/TwinPass avec drivers libres DSL & VoIP drivers (ifxmips)
* Ingenic XBurst: QI Ben NanoNote (xburst/qi-lb60)
* Intel Tolapai SoC (x86/ep80579)
* Marvell Kirkwood: SheevaPlug, GuruPlug, OpenRD… (kirkwood)
* Marvell Orion SoC (orion)

Problèmes connus :
* pour l’instant, les canaux 5 Ghz ne fonctionnent pas avec les drivers basés sur mac80211 à cause de problèmes de régulation DFS

Pour tous les détails sur cette nouvelle release, rendez-vous sur le trac d’OpenWrt.

Fonera 2.0

Fonera 2.0La communauté FON vient tou juste de lancer son nouveau routeur : La Fonera 2.0. Elle est disponible sur leur boutique pour un prix de 49,95 euros TTC.

Outre ses nouvelles fonctionnalités, la Fonera 2.0 est entièrement ouverte aux développements communautaires pour y ajouter ses propres fonctions. Ce qui est une très bonne nouvelle !

Techniquement, la Fonera 2.0 est animée par un Atheros AR2315 cadencé à 180MHz possédant 32Mo de mémoire vive est une flash d’une capacité de 8Mo. Par rapport à la Fonera+, elle est possède en plus un port USB, ce qui permet d’y connecter des périphériques. Enfin, comme les prédédentes, son firmware est basé sur OpenWRT.

Pour de plus amples information, je vous renvois vers le wiki officiel : http://wiki.fon.com/wiki/La_Fonera_2.0. Le code source du firmware est accessible sur ce site : http://trac.fonosfera.org/fon-ng/.

OpenWrt workshop le 24 et 25 janvier à Bruxelles

Un workshop OpenWrt aura lieu le 24 et 25 janvier 2009 à Bruxelles (le weekend qui arrive en fait).

Logo OpenWrt

Florian et Nico, deux développeurs OpenWrt très actifs de Paris, animeront ce workshop. Au programme :

  • apprendre à installer, configurer, debugger OpenWrt tout seul
  • rencontre avec des geeks / informaticiens / hackers… belges
  • apprendre de nouvelles techniques pour débriquer son routeur
  • apprendre à construire des paquets *.ipk (exemple avec ucarp)
  • apprendre à ajouter une nouvelle architecture ou routeur à OpenWrt
  • apprendre à développer une interface de configuration web avec LUCI
  • s’amuser 🙂

Le lieu de rencontre est le VoidPointer à Bruxelles. Une petite contribution de 5 euros est demandée pour le weekend complet, afin de financer les billets de train de Florian et Nico.

Tous les détails sont disponibles sur le site du Hacker Space Brussels.

OpenWRT porté sur la neufbox 4 de SFR !

Suite à la mise à disposition d’un ensemble de patch pour le support des SOCs Broadcom 63xx dans OpenWRT courant octobre, la communauté d’OpenBox4 s’est tout de suite mobilisée pour compiler une version d’OpenWRT pour la neufbox4 étant donné quelle est basée sur un BCM6358.

Après quelques semaines de travail, les efforts ont payé : OpenWRT démarre enfin sur la neufbox 4 de SFR ! Pour se faire, un patch pour OpenWRT spécifique neufbox 4 à été mis au point par SGDA.

L’ensemble des travaux réalisé est décrit dans le wiki d’OpenBox4.

Bien qu’actuellement, seulement l’éthernet et l’USB fonctionne, ce portage ouvre de nouveau horizons de développement pour la communauté OpenBox4 et enfin avoir un firmware alternatif.

C’est une grande étape, un bravo à tous ceux qui y ont participé de près ou de loin.

Support des SOCs Broadcom 63xx dans OpenWrt

De retour du weekend, une excellente nouvelle sur la page d’accueil d’OpenWrt : New Broadcom BCM63xx codebase with GPL’d Ethernet and USB support.

Il s’agit d’une série de patches ajoutant le support des SOCs Broadcom 63xx :

  • ajout de l’architecture dans arch/mips/bcm63xx
  • support du MAC ethernet
  • support du PHY ethernet
  • support des controlleurs USB OHCI et EHCI
  • support des boards BCM6348 et BCM6358

Le travail a été réalisé par Maxime Bizon de la société Freebox SA. Il a réussi a obtenir l’accord de son employeur, ainsi que celui de Broadcom avant de publier hier son travail sous licence GPL sur la liste de discussion linux-mips : [PATCH/RFC v1 00/12] Support for Broadcom 63xx SOCs.

Ces 12 patches sont aussi tous rassemblés et disponibles sur un serveur, et ont été rajoutés dans OpenWrt par florian.

J’en profite pour rappeler que la neufbox est basée sur le BCM6358, et la CI.Box sur le BCM6348 🙂

Un grand merci à Maxime Bizon et à florian !

Comprendre le fonctionnement d’OpenWRT

OpenWRT étant l’avenir du projet OpenBox4, l’idée est d’en apprendre le fonctionnement progressivement dans le but ultime de le maîtriser totalement.

Cela permettra par la même occasion d’apprendre de GNU make dans toutes ses subtilités. Il peut être utile de se référer au manuel, ainsi qu’aux conventions d’écritures de Makefiles pour les logiciels GNU.

Il est également utile d’installer le paquet make-doc (c’est comme ça qu’il s’appelle sous Debian, il peut avoir un autre nom sur une autre distribution Linux) pour pouvoir s’y référer ultérieurement :

# aptitude install make-doc

Passons maintenant aux choses sérieuses 😉

On va commencer par le Makefile principal, qui est le point d’entrée du système de compilation d’OpenWRT.

La première ligne est :

TOPDIR:=${CURDIR}

C’est le bon moment pour consulter la documentation :

$ info make

On cherche alors CURDIR (touche /, taper CURDIR, puis Entrée). Résultat :

For your convenience, when GNU `make’ starts (after it has processed
any `-C’ options) it sets the variable `CURDIR’ to the pathname of the
current working directory. This value is never touched by `make’
again: in particular note that if you include files from other
directories the value of `CURDIR’ does not change. The value has the
same precedence it would have if it were set in the makefile (by
default, an environment variable `CURDIR’ will not override this
value). Note that setting this variable has no impact on the operation
of `make’ (it does not cause `make’ to change its working directory,
for example).

Au lancement de make, la variable CURDIR reçoit le chemin du répertoire de travail courant, c’est-à-dire le répertoire contenant le Makefile courant. Cette variable gardera la même valeur dans tout le Makefile (à part si on la change explicitement bien sûr), et n’est pas affectée par une variable d’environnement du même nom. Le fait de changer la valeur de CURDIR n’a aucun impact sur le déroulement du make, en particulier cela ne changera pas le répertoire de travail courant.

On comprend bien alors l’intérêt de cette première ligne. Dans les sous-Makefiles qui seront appelés récursivement, la variable CURDIR va changer pour contenir successivement les différents chemins du répertoire de travail courant.

La variable TOPDIR, elle, conservera toujours la même valeur, le chemin du répertoire contenant le Makefile principal, c’est-à-dire le répertoire à la racine de l’arborescence d’OpenWRT.

Nous verrons par la suite que TOPDIR servira à désigner des sous-répertoires dans l’arborescence d’OpenWRT, sans dépendre du chemin absolu où il est installé.