web-dev-qa-db-fra.com

Besoin d'aide pour la construction de pilotes wifi

Je n'ai jamais compilé de pilote auparavant, alors j'essaie de comprendre comment faire cela. Je suis sur le noyau 3.14.1 en passant. J'essaie de construire des pilotes Ralink RT3573 à partir de github. Je reçois des erreurs quand je fais du Sudo. Les instructions de construction sont déroutantes. Quelqu'un peut-il me prendre à travers eux? Voici le lien github: https://github.com/ashaffer/rt3573sta

Build Instructions:  
====================

1> $tar -xvzf DPB_RT2870_Linux_STA_x.x.x.x.tgz
go to "./DPB_RT2870_Linux_STA_x.x.x.x" directory.

2> In Makefile
 set the "MODE = STA" in Makefile and chose the TARGET to Linux by set "TARGET =     LINUX"
 define the linux kernel source include file path LINUX_SRC
 modify to meet your need.

3> In os/linux/config.mk 
define the GCC and LD of the target machine
define the compiler flags CFLAGS
modify to meet your need.
** Build for being controlled by NetworkManager or wpa_supplicant wext functions
   Please set 'HAS_WPA_SUPPLICANT=y' and 'HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y'.
   => #>cd wpa_supplicant-x.x
   => #>./wpa_supplicant -Dwext -ira0 -c wpa_supplicant.conf -d
** Build for being controlled by WpaSupplicant with Ralink Driver
   Please set 'HAS_WPA_SUPPLICANT=y' and 'HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n'.
   => #>cd wpa_supplicant-0.5.7
   => #>./wpa_supplicant -Dralink -ira0 -c wpa_supplicant.conf -d

4> $make
# compile driver source code
# To fix "error: too few arguments to function ¡¥iwe_stream_add_event"
  => $patch -i os/linux/sta_ioctl.c.patch os/linux/sta_ioctl.c

5> $cp RT2870STA.dat  /etc/Wireless/RT2870STA/RT2870STA.dat

6> load driver, go to "os/linux/" directory.
#[kernel 2.4]
#    $/sbin/insmod rt2870sta.o
#    $/sbin/ifconfig ra0 inet YOUR_IP up

#[kernel 2.6]
#    $/sbin/insmod rt2870sta.ko
#    $/sbin/ifconfig ra0 inet YOUR_IP up

7> unload driver    
$/sbin/ifconfig ra0 down
$/sbin/rmmod rt2870sta
1
user302082
  1. En supposant que vous ayez téléchargé le fichier de pilote quelque part (peut-être votre répertoire personnel), décompressez-le: tar -xvzf DPB_RT2870_Linux_STA_x.x.x.x.tgz
    puis passez au répertoire que vous venez de créer
    cd DPB_RT2870_Linux_STA_x.x.x.x
  2. Cette étape vous demande de modifier le fichier Makefile: nano Makefile
    mais pour autant que je sache, les réglages sont déjà corrects. Laissez cela jusqu'à ce que vous trouviez des problèmes dans une étape ultérieure.
  3. Même chose pour le fichier os/linux/config.mk. Encore une fois, les valeurs par défaut semblent correctes. Les lignes qui expliquent s’il convient d’opter pour "Prise en charge native *WPA Supplicant" contiennent des commandes que vous utiliseriez après la compilation du pilote. WPA Le suppliant est le composant qui utilisera votre pilote pour se connecter à un réseau.
  4. Retournez en haut de l’arborescence (i.e. ~/DPB_RT2870_Linux_STA_x.x.x.x) et exécutez la commande make. Apparemment, l'erreur "Trop peu d'arguments" est si courante que RALINK a fourni une solution de contournement. Si vous obtenez cette erreur, entrez la commande patch fournie et essayez à nouveau make.
  5. Le pilote a besoin d’un fichier de données, vous devez donc le copier dans/etc/Wireless (vous aurez besoin de Sudo).
  6. Vous devriez maintenant pouvoir charger le module du pilote (c'est-à-dire le placer en mémoire pour que le noyau puisse l'utiliser): cd os/linux Sudo /sbin/insmod rt2870sta.ko Sudo ifconfig ra0 inet YOUR_IP up
    Ceci chargera votre module une fois. Pour que votre module soit chargé après chaque redémarrage, vous devrez prendre des mesures supplémentaires.
  7. Ce sont des instructions pour décharger votre module.
1
Jos