Нужна помощь в создании драйверов Wi-Fi

Я никогда раньше не собирал драйвер, поэтому пытаюсь понять, как это сделать. Я на ядре 3.14.1, кстати. Я пытаюсь собрать драйверы Ralink RT3573 из github. Я получаю ошибки, когда я делаю sudo make. Инструкции по сборке сбивают с толку. Может ли кто-нибудь провести меня через них? Вот ссылка на 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
задан 10 July 2014 в 09:28

1 ответ

  1. Принятие Вас загрузили файл драйвера где-нибудь (возможно, Ваш корневой каталог), untar это: tar -xvzf DPB_RT2870_Linux_STA_x.x.x.x.tgz
    затем изменение в каталоге просто создало
    cd DPB_RT2870_Linux_STA_x.x.x.x
  2. , Этот шаг просит, чтобы Вы отредактировали Make-файл файла: nano Makefile
    , но насколько я могу сказать, настройки уже корректны. Отпуск это, пока Вы не находите проблемы на более позднем шаге.
  3. то же для файла os/linux/config.mk. Снова, значения по умолчанию смотрят хорошо. Строки, которые объясняют, выбрать ли "Собственную поддержку Суппликанта WPA", содержат команды, которые Вы использовали бы после того, как драйвер был скомпилирован. Суппликант WPA является компонентом, который будет использовать Ваш драйвер для соединения с сетью.
  4. Возвращаются к вершине дерева каталогов (т.е. ~/DPB_RT2870_Linux_STA_x.x.x.x) и выполняют команду make. По-видимому, "слишком мало аргументов" ошибка так распространено, что RALINK обеспечила обходное решение. Если Вы получаете эту ошибку, введите эти patch обеспеченная команда и попробуйте make снова.
  5. драйверу нужен файл данных, таким образом, Вы копируете это в/etc/Wireless (Вам будет нужно sudo).
  6. необходимо теперь смочь загрузить модуль драйвера (т.е. поместить его в память, где ядро может использовать его): cd os/linux sudo /sbin/insmod rt2870sta.ko sudo ifconfig ra0 inet YOUR_IP up
    Это загрузит Ваш модуль однажды. Чтобы загрузить Ваш модуль после каждой перезагрузки, необходимо будет принять некоторые дополнительные меры.
  7. Это инструкции для разгрузки Вашего модуля.
1
ответ дан 10 July 2014 в 09:28

Другие вопросы по тегам:

Похожие вопросы: