fc2ブログ

【Linux】WindowsのUSB無線LANドライバ導入

Ubuntu 11.04にBUFFALOのWLI-UC-G300Nを入れた時のメモ。

他の無線LANでも恐らくこの手順を使える
(ドライバが動くかどうかはやってみないと分からないけど・・・)

1、NDISwrapperを入れる。
有線LANも使えない場合はUbuntu 11.04 LiveCD内に入ってる。
CDをndisで検索すれば3つぐらい出てくるはず。
・ndiswrapper-utils-1.9_1.56+r2729-1_i386.deb
・ndiswrapper-common_1.56+r2729-1_all.deb
これらをdpkgコマンドとかでインストール。
GUI設定でやる場合は
・ndisgtk_0.8.5-1_i386.deb(GUIユーティリティ Windows無線LANドライバ)
インストールする。Windows 無線LANドライバというGUIプログラムを使える。


2、無線LANがデフォルトで認識されてる場合ドライバを無効にする。
(そもそも使えない、全くドライバが割り当てられてない場合は2は飛ばす)
そのまま快適に動作するならドライバ入れる必要ないんだけど・・・。
WLI-UC-G300Nもrt2800usbというドライバがデフォルトで割り当てられていたけど、動作がちょっとおかしかった。
そのようなドライバが割り当てられていてかつまともに動かない場合、ドライバをまず無効にする。(これをやらないとドライバが入らない)
使ってるドライバを調べる。
まず"lsusb"コマンドで接続されているUSB機器が列挙される。 Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 008: ID 045e:028e Microsoft Corp. Xbox360 Controller
Bus 001 Device 007: ID 054c:0243 Sony Corp. MicroVault Flash Drive
Bus 001 Device 006: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 001 Device 005: ID 046d:c318 Logitech, Inc. Illuminated Keyboard
Bus 001 Device 004: ID 04d9:2082 Holtek Semiconductor, Inc.
Bus 001 Device 003: ID 0411:0148 MelCo., Inc. Buffalo WLI-UC-G300HP Wireless LAN Adapter
Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

MelCo., Inc. Buffalo WLI-UC-G300HP Wireless LAN Adapter・・・これだ。今回繋ぎたい無線LAN機器。
で、Busの番号とDeviceの番号を覚える(この場合Bus1のDev3)
次にlsusb -t で接続機器のテーブルを表示し、さっきのBusとDevの所を見る。
1-2.3.4:1.1: No such file or directory
1-2.3.4:1.2: No such file or directory
1-2.3.4:1.3: No such file or directory
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/8p, 480M
    |__ Port 2: Dev 2, If 0, Class=hub, Driver=hub/4p, 480M
        |__ Port 1: Dev 4, If 0, Class=HID, Driver=usbhid, 1.5M
        |__ Port 2: Dev 5, If 0, Class=HID, Driver=usbhid, 12M
        |__ Port 2: Dev 5, If 1, Class=HID, Driver=usbhid, 12M
        |__ Port 3: Dev 6, If 0, Class=hub, Driver=hub/4p, 480M
            |__ Port 1: Dev 7, If 0, Class=stor., Driver=usb-storage, 480M
            |__ Port 4: Dev 8, If 0, Class=vend., Driver=xpad, 12M
            |__ Port 4: Dev 8, If 1, Class=vend., Driver=, 12M
            |__ Port 4: Dev 8, If 2, Class=vend., Driver=, 12M
            |__ Port 4: Dev 8, If 3, Class=vend., Driver=, 12M
    |__ Port 3: Dev 3, If 0, Class=vend., Driver=rt2800usb, 480M

で、Bus1のDev3が"rt2800usb"なのでコレを無効にする。(まぁ大抵Linuxの無線LANドライバはrtxxxxusbって名前)
#rmmod rt2800usb

ただコレだけじゃ再起動したらまた読み込まれるので、blacklistに登録する。
#gedit /etc/modprobe.d/blacklist.conf
最後あたりに
blacklist rt2800usb
と追加。
これで再起動後に読み込まれなくなる。


3、NDISwrapperを使ってインストール
まずWindowsで動くドライバを用意する。
用意するのは.infファイルと.sysファイル
BUFFALOの場合エアナビライトに入ってる。けど自分の環境では最新版(12とか)は動かなかった。
WLI-UC-G300NはVer.10.70のXPドライバで動作を確認したけど、動かない場合複数のバージョンをいれてみると良いかもしれない。

infファイルを指定してインストール
#ndiswrapper -i [driver.inf]

モジュールリストを更新 #depmod -a
動作中のカーネルにndiswrapperモジュールをインストール #modprobe ndiswrapper 一応インストールされたか確認
#ndiswrapper -l
netucg3n : driver installed
	device (0411:0148) present (alternate driver: rt2800usb)
こんな感じでデバイスが表示されていればOK。
ちなみに同じrt2800usbドライバなんだけど、何故か快適に動く。無線LANの倍速設定が不安定の原因なのかも。

ちなみにGUIの場合は、3に関してはGUI上で行える。
.infファイルを指定するだけ。
(2番の認識済みドライバの無効化まではやってくれないので注意。やらないと以後Windows無線LANドライバがクラッシュしてGUIで設定出来なくなる事がある。)
スポンサーサイト



コメントの投稿

非公開コメント

プロフィール

クロクル

Author:クロクル
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR