Precisa de ajuda para criar drivers de wifi

1

Eu nunca compilei um driver antes, então estou tentando descobrir como fazer isso. Eu estou no kernel 3.14.1 pelo caminho. Eu estou tentando construir drivers Ralink RT3573 do github. Estou recebendo erros quando faço o sudo make. As instruções de construção são confusas. Alguém pode me levar através deles? Aqui está o link do github: link

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
    
por user302082 10.07.2014 / 07:28

1 resposta

1

  1. Supondo que você tenha baixado o arquivo do driver em algum lugar (talvez o seu diretório pessoal), descompacte-o: tar -xvzf DPB_RT2870_Linux_STA_x.x.x.x.tgz
    e mude para o diretório que acabou de criar
    cd DPB_RT2870_Linux_STA_x.x.x.x
  2. Esta etapa pede que você edite o arquivo Makefile: nano Makefile
    , mas, até onde eu sei, as configurações já estão corretas. Deixe isso até encontrar problemas em uma etapa posterior.
  3. O mesmo para o arquivo os / linux / config.mk. Novamente, os padrões parecem OK. As linhas que explicam se você deve optar pelo "suporte nativo a WPA Supplicant" contêm comandos que você usaria depois que o driver fosse compilado. O WPA Supplicant é o componente que usará seu driver para se conectar a uma rede.
  4. Volte para o início da árvore de diretórios (por exemplo, ~/DPB_RT2870_Linux_STA_x.x.x.x ) e execute o comando make . Aparentemente, o erro "muito poucos argumentos" é tão comum que o RALINK forneceu uma solução alternativa. Se você receber este erro, insira o comando patch fornecido e tente make novamente.
  5. O driver precisa de um arquivo de dados, então você copia isso para / etc / Wireless (você precisará de sudo ).
  6. Agora você deve conseguir carregar o módulo do driver (ou seja, colocá-lo na memória onde o kernel pode usá-lo): %código%
    Isso carregará seu módulo uma vez. Para que seu módulo seja carregado após cada reinicialização, você precisará realizar algumas ações adicionais.
  7. Estas são instruções para descarregar seu módulo.
por Jos 10.07.2014 / 10:46