web-dev-qa-db-ja.com

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
user302082
  1. ドライバーファイルをどこか(おそらくホームディレクトリ)にダウンロードしたと仮定して、それを展開します:tar -xvzf DPB_RT2870_Linux_STA_x.x.x.x.tgz
    次に、作成したディレクトリに変更します
    cd DPB_RT2870_Linux_STA_x.x.x.x
  2. この手順では、Makefile:nano Makefileファイルを編集するように求められます
    しかし、私が知る限り、設定はすでに正しいです。後のステップで問題が見つかるまでそのままにしておきます。
  3. ファイルos/linux/config.mkでも同じです。繰り返しますが、デフォルトはOKです。 「ネイティブ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
    これにより、モジュールが1回ロードされます。再起動するたびにモジュールをロードするには、追加のアクションを実行する必要があります。
  7. これらは、モジュールをアンロードするための手順です。
1
Jos