Buffalo WLI-UC-GNをLinuxで使う

WLI-UC-GNってのはBuffaloのUSB無線LANアダプタです。

BUFFALO Air Station NFINITI 11n/g/b USB用 無線子機 WLI-UC-GN

BUFFALO Air Station NFINITI 11n/g/b USB用 無線子機 WLI-UC-GN

これがどうもうまくLinuxで動かなかったのですが、なんとか安定動作にこぎつけたので備忘録。

環境:

不具合:

  • APは検索できている(無線LANアダプタ本体は動いている)のにAPに繋げない
  • WPA2などの認証が通らない

調べて分かったこと:

  • WLI-UC-GNはどうやらRalink RT3070っていうチップセットを使ってるらしい
  • だけどLinuxではRT2870で認識されている
  • ドライバはrt2870staというカーネルモジュール
  • rt2800usb、rt2800lib、rt2x00usbをmodprobe.confのblacklistに入れればいいという情報があったが、改善せず

解決方法:

  • /etc/modprobe.d/modprobe.confにblacklist追加

/etc/modprobe.d/modprobe.conf:

blacklist rt2800usb
blacklist rt2800lib
blacklist rt2x00usb
blacklist rt2x00usb
  • 起動時の読み込みモジュールを追加

/etc/rc.conf:

# Arch Linuxでの設定なので、使っているディストリでの設定方法に読み替える
# 32bit環境では aes-i686
MODULES=(aes-x86_64 mac80211 ......)

既知の問題:

  • 前述の方法でも起動直後やハイバーネートからの復帰直後は認証付き(WPA2など)のAPに繋げないことがある

既知の問題の解決方法:

  1. 一旦インターフェースを無効化した後に接続
% sudo ifconfig wlan0 down

私はwicdをAP自動接続で使っているため、最初繋げない→インターフェース無効化→インターフェース有効化→繋がる というプロセスが自動で走り、繋がるまでタイムラグがある。

ちなみに、Ralink公式から出ているrt3370ドライバ(rt3070ドライバを含んでいる)は地雷だった。APに繋ごうとするとよくわからんエラーがdmesgに無限ループで出てた。ifconfig ra0とかも返ってこず、sudo rebootもできなくなった。

あと、有線LANを繋いだまま使うと繋げなかったりするかもしないかも。