Depuis longtemps, la difficulté à obtenir les spécifications des
périphériques d'ordinateurs comme les cartes
Ethernet handicape sérieusement les
développeurs (et donc les utilisateurs) de logiciel libre. Si beaucoup de
choses (Wifi, cartes graphiques, notamment
3D, ACPI) fonctionnent
si mal sur Linux ou sur
FreeBSD, ce n'est pas à cause de la paresse ou
de l'incompétence de leurs développeurs, mais à cause de la volonté
délibérée des fabriquants de ne pas aider, notamment en ne
communiquant pas les spécifications, ou bien en ne le faisant qu'en
échange d'un NDA très restrictif. Parfois, ces
fabricants fournissent un pilote ou une partie
de pilote (le firmware) mais
pas toujours sous une licence libre. (Les firmwares
ne sont fréquemment livrés qu'en binaire.) Et parfois, la licence change...
C'est ce qui vient d'arriver aux utilisateurs des serveurs
Dell Poweredge comme le 2950 ou le 2970,
équipés d'une carte EthernetBroadcom détectée par Linux comme
Broadcom NetXtreme II BCM5708 1000Base-T (B2) PCI-X 64-bit
133MHz. Cette carte fonctionnait sans problèmes avec les
noyauxLinux jusqu'au 2.6.23, avec le module bnx2. Sur un Dell Poweredge
2970, sous Debianlenny
(version actuellement en test), je mets à jour le noyau, je redémarre
et plus de réseau !
La licence n'est en effet plus libre : comme bien d'autres, Debian
n'acceptait de tels ajouts au noyau que temporairement et a fini par
durcir sa position.
Il faut désormais, pour que
le pilote Linux fonctionne, charger un
blob binaire (et,
apparemment, penser à faire un update-initramfs
-u). Plusieurs utilisateurs en ont fait
l'expérience. Sur Debian, ce firmware
est disponible dans les dépôts de logiciel non-libre, sous le nom de
firmware-bnx2. Sa
licence est en /usr/share/doc/firmware-bnx2/copyright.
Son installation a nécessité pour moi une clé USB puisqu'il n'y avait plus de réseau. Il vaut donc
mieux, si on est le malheureux propriétaire de telles machines, penser
à le faire avant le prochain redémarrage... Et penser à le faire
remarquer à Dell, qui utilise de tels composants dans ses machines.
Un bon article en français sur la gestion du
firmware sur Debian est « Firmwares
manquants dans Debian ? Apprenez à gérer le problème ».