Vous êtes ici : Accueil / Ubuntu GNU/Linux / Système / Stabiliser la carte WiFi Ralink corp. RT2860 sur Ubuntu

Stabiliser la carte WiFi Ralink corp. RT2860 sur Ubuntu

Par Pierre-Yves Landuré Dernière modification 03/11/2012 10:15

Les cartes WiFi Ralink corp. RT2860 (présentes notamment dans certains Asus EeePC) sont très instables sur Ubuntu GNU/Linux. L'utilisateur subit de nombreuses déconnexions intempestives sur les réseaux WPA, et est parfois dans l'impossibilité de se connecter. Il arrive aussi que le WiFi ne fonctionne plus en sortie de veille. Ce guide résout ces problèmes.

Ce guide est testé sur:

  • Ubuntu 11.04 Natty Narwhal
  • Ubuntu 11.10 Oneiric Ocelot

Installation

Installez les logiciels nécessaires:

command sudo apt-get install dkms gcc bzip2

Définissez l'URL et la version des sources:

SOURCE_URL="http://howto.biapy.com/fr/ubuntu-gnu-linux/stabiliser-la-carte-wifi-ralink-corp.-rt2860-sur-ubuntu/pilote-rt2860sta-v2.4.0.0/at_download/file"
VERSION="2.4.0.0"

Téléchargez les sources:

command wget --quiet "${SOURCE_URL}" \
--output-document='/tmp/rt2860.tar.gz'

Décompressez l'archive des sources:

command sudo tar --directory='/tmp' -xzf '/tmp/rt2860.tar.gz'

Déplacez le dossier des sources vers un emplacement adapté à DKMS:

command sudo cp -r '/tmp/2010_07_16_RT2860_Linux_STA_v2.4.0.0' "/usr/src/rt2860-${VERSION}"

Supprimez le fichier téléchargé:

command rm '/tmp/rt2860.tar.gz'
command sudo rm -r '/tmp/2010_07_16_RT2860_Linux_STA_v2.4.0.0'

Créez le fichier de configuration DKMS:

command echo "PACKAGE_NAME=rt2860
PACKAGE_VERSION=${VERSION}
MAKE[0]=\"make\"
BUILT_MODULE_NAME[0]=rt2860sta
BUILT_MODULE_LOCATION[0]=\"os/linux/\"
DEST_MODULE_LOCATION[0]=\"/kernel/updates/dkms\"
AUTOINSTALL=\"YES\"" | command sudo tee "/usr/src/rt2860-${VERSION}/dkms.conf"

Configurez le module pour être utilisable avec NetworkManager:

command sudo sed -i \
-e 's/HAS_WPA_SUPPLICANT=.*/HAS_WPA_SUPPLICANT=y/' \
-e 's/HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=.*/HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y/' \
"/usr/src/rt2860-${VERSION}/os/linux/config.mk"

Copiez le fichier de configuration du module à son emplacement final:

if [ ! -e '/etc/Wireless/RT2860STA/RT2860STA.dat' ]; then
command sudo mkdir --parent '/etc/Wireless/RT2860STA/'
command sudo cp "/usr/src/rt2860-${VERSION}/RT2860STA.dat" '/etc/Wireless/RT2860STA/'
fi

Ajoutez les sources du module aux modules DKMS:

command sudo dkms add -m rt2860 -v ${VERSION}
command sudo dkms build -m rt2860 -v ${VERSION}
command sudo dkms install -m rt2860 -v ${VERSION}

Ajoutez le module rt2800pci à la liste noire:

command echo "#Blacklisting rt2800pci to allow rt2860sta to function.
blacklist rt2800pci" \
| command sudo tee '/etc/modprobe.d/blacklist-rt2800.conf'

Supprimez les modules en causes, et réinstallez le module de la carte rt2860:

command sudo rmmod rt2800pci
command sudo rmmod rt2x00pci
command sudo rmmod rt2800lib
command sudo rmmod rt2x00lib
command sudo rmmod mac80211
command sudo rmmod cfg80211
command sudo rmmod rt2860sta
command sudo modprobe rt2860sta

Le réseau WiFi doit maintenant fonctionner correctement. Si ce n'est pas le cas, redémarrez votre ordinateur.