2010-12-30

LinuxでWLI-UC-AG300Nを使う

Debian(squeeze)でBUFFALOのUSB無線LANアダプタ WLI-UC-AG300N (アマゾン) を使えるようにするメモ。

作業概要

  1. あらかじめ入っているモジュールだとダメ(自動的にロードされないようにする)
  2. 正しいドライバをコンパイルしてインストール
  3. 設定

あらかじめ入ってるモジュールだとダメ

とりあえず何も考えずにマシンに WLI-UC-AG300N を挿すと、「rt2800usb」などのモジュールがロードされるのだけど、これだとつながりません。
/etc/modprobe.d/blacklist.conf に下記の行を追加して、自動的にロードされないようにします。
blacklist rt2800usb

ネット上では rt2x00usb・rt2x00lib もブラックリストに入れてる例がありますが、rt2800usb を止めればあと2つはロードされないので、書かなくても大丈夫です。(書いても実害ありませんが)

チップメーカーからドライバを入手してコンパイル

この製品のチップを作ったRalink社のサイトから、ドライバのソースをダウンロードします。
「RT2870USB(RT2870/RT2770)」をクリックして、名前とメールアドレスを入力するとダウンロード開始。
私がダウンロードしたときは 2010_0709_RT2870_Linux_STA_v2.4.0.1.tar.bz2 というバージョンでした。

makeする前に、ソースをいじります。
  1. WLI-UC-AG300N のベンダID/プロダクトIDを common/rtusb_dev_id.c のそれっぽい箇所に追加。
    (略)
      {USB_DEVICE(0x1737,0x0071)}, /* Linksys WUSB600N */
      {USB_DEVICE(0x0411,0x00e8)}, /* Buffalo WLI-UC-G300N*/
      {USB_DEVICE(0x0411,0x012e)}, /* Buffalo WLI-UC-AG300N*/
      {USB_DEVICE(0x050d,0x815c)}, /* Belkin F5D8053 */
    (略)

    ちなみにそのIDは lsusb で調べられます。
    # lsusb -v
    (略)
    Bus 001 Device 002: ID 0411:012e MelCo., Inc. Buffalo WLI-UC-AG300N Wireless LAN Adapter
    Device Descriptor:
    (略)
      idVendor           0x0411 MelCo., Inc.
      idProduct          0x012e Buffalo WLI-UC-AG300N Wireless LAN Adapter
    (略)
  2. もう一つ、wpa_supplicantを利用するために、os/linux/config.mk の下記2箇所を n から y に変更します。(README_STA に書かれています)
    # Support Wpa_Supplicant
    HAS_WPA_SUPPLICANT=y
    
    # Support Native WpaSupplicant for Network Maganger
    HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y

準備できたら、コンパイルとインストール。
$ make
# make install

設定

設定の前に、必要なパッケージをインストールしておきます。
# aptitude install wireless-tools wpasupplicant
  1. まず、このアダプタの設定ファイル /etc/Wireless/RT2870STA/RT2870STA.dat をちょっと編集します。
    CountryRegionABand=1
    CountryCode=JP
    利用するチャンネルを自分の環境に合わせます。何に設定すればいいのかはソース同梱の iwpriv_usage.txt を参考に。

    (CountryRegionABand がデフォルトの 7 のままでもつながりますが、場合によっては日本国内では使っちゃいけない周波数の電波を出すおそれがあります……)
  2. 接続に必要な情報を書いた wpa_supplicant の設定ファイルを作ります。
    # wpa_passphrase (SSID) (PASSPHRASE) > /etc/wpa_supplicant/wpa_supplicant.conf
    これでSSIDとパスフレーズの書かれたファイルができるので、さらに追記。
    network={
            ssid=********
            psk=********
            proto=WPA
            key_mgmt=WPA-PSK
            pairwise=CCMP
            group=CCMP
    }



  3. アダプタを有効にするために /etc/network/interfaces に追記します。
    allow-hotplug ra0
    iface ra0 inet dhcp
     wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
    
    固定IPで運用したければ以下。
    allow-hotplug ra0
    iface ra0 inet static
     address 192.168.0.***
     netmask 255.255.255.0
     gateway 192.168.0.1
     wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf



0 件のコメント:

コメントを投稿