Madwifi sur ubuntu 10.04

Les drivers madwifi fournis en standard sur ubuntu sont reconnu pour poser problèmes sur certaines cartes atheros. J’avais bien quelques problèmes d’instabilité en 9.10 mais en 10.04 les problèmes de crash sont devenus quotidiens.

Le diagnostic est simple : des tonnes de lignes dans /var/log/kern.log du genre :

May 16 11:07:38 maison kernel: [1090530.044527] ath5k phy1: noise floor calibration timeout (2422MHz)
May 16 11:09:37 maison kernel: [1090648.551506] ath5k phy1: noise floor calibration failed (2412MHz)
May 16 11:09:37 maison kernel: [1090648.971514] ath5k phy1: noise floor calibration failed (2417MHz)

J’ai donc du me résoudre à installer les drivers madwifi-hal. Voici comment les installer :

Il faut bien télécharger les sources et les décompresser :
cd /tmp
wget http://snapshots.madwifi-project.org/madwifi-hal-0.10.5.6/madwifi-hal-0.10.5.6-r4126-20100324.tar.gz
tar -xzvf madwifi-hal-0.10.5.6-r4126-20100324.tar.gz

On compile et on installe :
cd madwifi-hal-0.10.5.6-r4126-20100324/
make
make install

Il faut ensuite faire en sorte que notre module soit chargé à la place de l’autre. Il faut donc éditer le fichier /etc/modprobe.d/blacklist-ath_pci.conf et commenter la ligne blacklist ath_pci et la remplacer par blacklist ath5k

Reste à redémarrer.

Installer Linux Ubuntu sur un disque USB

Devant garder mes petites jumelles durant la journée de mes vacances, je ne peux pas aller sur mon micro à l’étage. J’ai donc décidé d’installer un linux (ubuntu en l’occurence)sur mon disque USB. Cette chose semble simple au premier abord, mais s’avère beaucoup plus compliquée dans la pratique.

L’installation de linux sur le disque est très simple et ne change pas de l’installation habituelle. La seule différence se trouve à la fin de l’installation. En effet, il va falloir indiquer au système comment reconnaitre votre disque afin que la transition entre le support du Bios vers le support système se fasse sans encombre. Pour cela il va falloir recréer un fichier initrd. Lorque l’installation se termine et que l’ordinateur demande à rebooter, taper CTRL-ALt+F2 afin d’ouvrir une fenêtre shell et tapez :

chroot /target
vi /etc/mkinitrd/modules

Ajoutez les modules necessaires à la reconnaissance du disque dans le fichier en ajoutant les lignes:

sd_mod
ehci-usb
uhci-usb
ohci-usb
usb-storage

vi /etc/mkinitrd/mkinitrd.conf

Modifiez la ligne DELAY=0 par DELAY=15 afin de laisser le temps au système de detecter le disque.
mount -tproc none /proc ;(je ne sais pas pourquoi il faut remonter /proc)
mkinitrd -o /boot/initrd.img-<version>-usb

Il faut ensuite modifier grub de manière à l’autoriser à booter en utilisant l’initrd que l’on vient de créer.

vi /boot/grub/menu.lst

Ajouter les lignes suivantes :

title Ubuntu Hoary (5.04 USB)
kernel (hd0,1)/boot/vmlinuz-2.6.10-5-386 ro root=/dev/sda1
initrd (hd0,1)/boot/initrd.img-<version>-usb

Il faut installer grub sur le secteur de boot


/sbin/grub-installer /dev/sda

Une fois ces étapes passées, j’ai eu quelques souci lors du boot, en effet j’obtenais le message d’erreur suivant :

filesystem type unknown partition type 0xde error 17 : cannot mount selected partition

Ceci était dû à l’ordre de reconnaissance de mes disques. Le disque USB etant reconnu en premier j’ai du modifier le fichier /boot/grub/devices et inverser les deux disques.