2010年10月7日木曜日

RaLink RT2870 チップのドライバ

RaLink RT2870用のLinux向けののUSB無線LANドライバは以下のページから入手可能です。

RaLink Corp.
http://www.ralinktech.com/support.php?s=2

そこから、RT2870向けUSBドライバ(RT2870USB(RT2870/RT2770))をダウンロード。

以下は、Debianを使った場合の設定です。恐らく、他のディストリビューションも(ファイルの場所等の違いはあっても)基本は一緒のはず。

ダウンロードしてきたファイルを展開。
~/に展開したと仮定すると、次のディレクトリが作られる。

~/2010_0709_RT2870_Linux_STA_v2.4.0.1

使用する無線LANカードに従って以下の部分を書き換える。

vi ~/2010_0709_RT2870_Linux_STA_v2.4.0.1/common/rtusb_dev_id.c

例:Buffalo WLI-UC-AG300N の場合

  {USB_DEVICE(0x0411,0x00e8)},/* Buffalo WLI-UC-AG300N */
  /* ↑この行は修正せずに以下の行を追加 */
  {USB_DEVICE(0x0411,0x012e)},/* Buffalo WLI-UC-AG300N */

例:Planex GW-USMicro300 の場合

  {USB_DEVICE(0x0411,0xED06)},/* Planex Communications, Inc. */
  /* ↑この行は修正せずに以下の行を追加 */
  {USB_DEVICE(0x0411,0xAB29)},/* Planex GW-USMicro300 */

あと、wpa_supplicantを使う場合には
 ~/2010_0709_RT2870_Linux_STA_v2.4.0.1/os/linux/config.mk
の以下の2行の”n"を"y"にする。

  HAS_WPA_SPPLICANT=y
  HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y


あとは、makeしてmake installすればOK
install後に

modprove rt2870sta

としてkernelにrt2870staモジュールを組み込めば、USB無線LANを指すと認識します。

ちなみに、kernel標準もしくはlinuxwireless.orgの無線LANドライバ(rt2800usb)が既にloadされている場合には、使用しないようにしておいた方が無難。

/etc/modprove.d/blacklist に以下を追記

blacklist rt2800usb

最後に、起動時にmoduleが読み込まれるように/etc/modulesに以下を追記

rt2870sta