お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2010-10-03 14:35:24

oasis
メンバ
登録日: 2010-09-10

無線LAN(WLI-UC-G300HP)インストールのご報告

Ubuntu10.04LTS環境への無線LANのインストールができましたので報告します。

ご注意:このTutorialはドライバを非公式のSource PackageからBuildしてInstallを行います。また、作成・インストールしたkernel moduleは自動ではupdateされません。kernelのバージョンが更新された場合、手動にてもう一度同じ作業をする必要があります。加えて、 deb packageとUbuntu Repositoryを使用した「パッケージ管理システム」は利用していないため、install前の状態へ復元するには手動のファイル操作を必要としま す。

ハードウェア環境は次の2セットで試し、どちらの場合も成功しています。(どちらもi86系ですが)
(1) Dell Dimension 9100, Pentium D 2.8GHz, Memory 3GB.
(2) HO Compaq dc-5100 SFF, Celeron D 336 2.8GHz, Memory 2GB.
OSは両方ともUbuntu10.04LTSで、(2)はクリーンインストール直後です。

対象無線LANは Buffalo WLI-UC-G300HP。
なお、これを書いている時点ではKernel は「2.6.32-24-generic」でした。

流れの概要
(1)Ralink社サイトからのドライバのダウンロードと解凍
(2)モジュール検出の手当て(詳細別途解説)
(3)ダウンロードしたファイルのエディット(2種類)
(4)ドライバの make と make install
(5)再起動とWPA暗号の設定

具体的な手順 (行先頭の「$」はコマンドプロンプトを意味します。)
(1)ドライバのダウンロードと解凍
http://www.ralinktech.com/support.php?s=2 に行きます。
RT2870USB(RT2870/RT2770) と書かれているドライバをダウンロードします。
これを書いている時点ではVersion2.4.0.1(2010/07/09)です。
ファイル名は「RT2870-2401.tar.bz2」で、次の操作で解凍します。
$ tar jxvf RT2870-2401.tar.bz2
解凍されたファイル群は長い名前のディレクトリの中に入ります。
そのままでも構いませんし、長すぎるので名前を変えても構いません。
仮に「~/rt2870」というディレクトリとします。

(2)モジュール検出の手当て
/lib/modules/2.6.32-24-generic/kernel/drivers/staging/rt2870/ の中のrt2870sta.koを他の場所に移動します。(詳細は別途説明します)
$ cd /lib/modules/2.6.32-24-generic/kernel/drivers/staging/rt2870
$ sudo mv rt2870sta.ko ~/rt2870sta.ko.org

(3)ファイルのエディット
(3-1)対象となる無線LANのUSB上のIDを調べます。
$ lsusb
...
Bus 001 Device 006: ID 0411:0148 MelCo., Inc.
...
複数行出てきますが、このうち「MelCo., Inc.」と書かれた行に着目して、内容をメモします。
必要なのは、IDの後で、この場合、0x0411と0x0148 です。

(3-2)~/rt2870/common の中にある rtusb_dev_id.c をエディットします。
#endif // RT2870 // という行の上に似たような行がありますので、次の行を追加します。

    {USB_DEVICE(0x0411,0x0148)}, /* WLI-UC-G300HP */

(3-3)~/rt2870/os/linux の中にある config.mk をエディットします。(2箇所変更)

# Support Wpa_Supplicant
HAS_WPA_SUPPLICANT=n  ← この「n」を「y」に変える。

# Support Native WpaSupplicant for Network Maganger
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n  ← この「n」を「y」に変える。

(4)モジュールの作成とコピー
~/rt2870 の場所で、次の操作をおこないます。
$ make
$ sudo make install

(5)再起動とWPA暗号の設定
ここまで終わったらリブートます。
lsmod で見ると、rt2870staというモジュールの存在が確認できると思います。
$ lsmod | grep rt2870
rt2870sta             554829  1

NetworkManagerでWPA暗号を登録する等すればそのまま使用できるはずです。

解説
(A) Module のProbe に関して
上記(2)の意味をご説明します。
sudo make install をしたとき、必要なモジュールrt2870sta.koは「/lib/modules/2.6.32-24-generic/kernel /drivers/net/wireless」の中にコピーされます。その後「/sinb/depend -a」が実行されます。
このdepend は結果として、/lib/modules/2.6.32-24-generic の中に modules.dep というファイルを生成します。
もし(2)の操作を行っていない場合、実際にrt2870sta.koがコピーされた所ではなく、「/lib/modules/2.6.32-24- generic/kernel/drivers/staging/rt2870/」 の中のrt2870sta.koを指差すことがあります。後者のrt2870sta.ko はUbuntuをインストールした時から入っているものですが、これでは役に立ちません。
「/sinb/depend -a」が「/lib/modules/2.6.32-24-generic/kernel/drivers/staging/rt2870/」 の中を参照しないように、この中のrt2870sta.ko をこの場所から他の場所(例えばご自身のホームディレクトリへ)移動しておくと万一の場合にも復元できます。
modules.depが今回ビルドしたrt2870sta.koを指差せば、起動時に確実にprobeしてくれ、他の自動起動の仕組みは必要ないはずです。
これは次のように確認できます。
$ cd /lib/modules/2.6.32-24-generic
$ cat modules.dep | grep rt2870sta.ko
kernel/drivers/net/wireless/rt2870sta.ko:

(B) ドライバの選択に関して
Internet に上がっている情報は必ずしても上記の手順ではない方法が書かれています。間違いという訳ではありませんが、ダウンロードするべきドライバは 「RT2870」が適当と考えられます。一部の記事では「RT3070」のドライバをインストールしてディレクトリ名を変更する記述が散見されますが、 RT2870を使った方が単純に目的を実現できます。

(C) この無線LAN製品以外への対応
RT2870を使い、かつUSBになっている無線LAN子機は多く出回っており、下記の製品でも同じ方法で導入できるものと推定します。それぞれIDは異なるはずですので、ご注意ください。
(なお、検証はしていません。)
Buffalo:
WLI-UC-AG300N, WLI-UC-G300N, WLI-UC-GN
PLANEX:
GW-USMicroN, GW-USMini2N, GW-US300MiniS, GW-US300Mini2, GW-US300Mini-X
COREGA:
CG-WLUSB300AGN, CG-WLUSB300GNM, CG-WLUSB2GNL
LOGITEC:
LAN-WN22/U2, LAN-WN12/U2

以上

なお、この投稿は当初「初心者サポート」に投稿していましたが、Tutorial & Tips への投稿を勧められましたので移動しました。

Oasis

オフライン

 

Board footer

Powered by FluxBB