Hatena::ブログ(Diary)

Akinekoの日記 RSSフィード Twitter

2009-05-11

Linux(Ubuntu 9.04)で未対応USB無線LANアダプタ(WLI-UC-GN)の設定方法

前の日記に書いたノートパソコンですが、インストールするOSUbuntu 9.04に決定しました。

ちゃんと調べてはいないんですが、今設定や扱いなどが一番簡単なLinuxディストリビューションはたぶんUbuntuだと思いますので、まずはUbuntuLinuxの扱いに慣れていこうかなと。

今のHD容量が40GBなのでたぶんいっぱいになるまでそう長くは持たないでしょうし、金銭的に少し余裕が出来たらHDを換装しようと思うので、その時にはDebianインストールしようと思っています。*1

その時にはある程度の知識も身についていて、きっと大丈夫なはず!w

とりあえずコマンド操作を覚える為にも、Linuxの操作は基本的にコマンドでやるようにして頑張ってます。


前置きが長くなりましたがLinux(Ubuntu 9.04)の設定をいじったりしていて、躓いた部分なんかを自分用のメモも兼ねて記事にしていこうと思います。

インストール自体は特に躓く事もなく終了したので、今回は手持ちの無線LANアダプタが未対応だった場合の設定方法です。

特にノートパソコンだとほとんどの人が最初に設定するぐらい大切だと思いますしねw


未対応無線LANアダプタの設定方法

今回設定する際に参考にしたサイトはこちらです。

Ubuntu日本語フォーラム / BUFFALO USB無線LAN WLI-UC-GNについいてです。

How2Ubuntu - PukiWiki

まさおのブログ (表): [Obsolete] Ubuntu 8.10 で USB 無線 LAN アダプタ (Buffalo WLI-UC-GN) を使う

基本的には上記のサイトを参考にすれば問題ないと思うんですが、途中でエラーが出たりもしたので、その際の注意点や解決法を添えて自分設定した方法まとめますね。


注意点

この方法はタイトルの通り僕がUbuntu 9.04にWLI-UC-GNを設定した時の方法ですので、他のディストリビューションでは異なる場合があります。

ですが、一応ドライバ自体はUbuntuにではなく、Linux自体に対応させたものですので、作業は違っても使用できると思います。

また、このドライバはRalink Technologyという会社のチップを使っている無線LANアダプタなら、1.で対応させたいアダプタのチップにあったファイルを落とし、4.5.の作業を設定したいアダプタに調整すれば使えるようです。


$は端末での操作を指し、以降の文はコマンドの事です。

それとコマンドの詳細については説明しているとキリがないので、省略して最低限の説明となっております。


1.下記のサイトから最新のドライバダウンロードする。

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

今回の僕の場合だと、RT3070USB(RT307x)をクリックして、2009_0424_RT3070_Linux_STA_v2.1.0.0.tar.bz2というファイルをダウンロードしました。


ここで注意して欲しいのはダウンロードしたファイルの絶対パスが、絶対に日本語を含まない英数字のみのになるように、ダウンロードしてから移動するかダウンロードする場所を変更して下さい。

詳しくは後で書きますが、日本語が含まれる場所だとエラーが出て設定できない可能性があります。


2.ダウンロードしたファイルを解凍する。
$ cd /home/USER_ID/downloads
$ tar jxvf 2009_0424_RT3070_Linux_STA_v2.1.0.0.tar.bz2

/home/USER_ID/downloadsはダウンロードしたファイルのある場所で、
USER_IDは僕のUbuntuのユーザーIDの事です。
2009〜〜はダウンロードしたファイル名です。

解凍するとファイル名から拡張子.tar.bz2を除いた名前のディレクトリが作成され、このディレクトリ内にファイルが解凍されます。

以降ではこのディレクトリを説明しやすいように ドライバホーム と呼びます。

今回の僕の場合だと、/home/USER_ID/downloadsに作成された2009_0424_RT3070_Linux_STA_v2.1.0.0という名前のディレクトリの事です。


3.ドライバホーム/os/linux/にある config.mk を編集する。
$ cd 2009_0424_RT3070_Linux_STA_v2.1.0.0/os/linux/
$ vi config.mk

ファイルのある場所に移動し、viで編集しています。
viの操作が分からない方はgeditなど操作のわかるエディタで編集して下さい。

config.mkに下記のような部分があるので、

# Support Wpa_Supplicant
HAS_WPA_SUPPLICANT=n

# Support Native WpaSupplicant for Network Maganger
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n

この2箇所を下記の通りに変更する。

つまり=の後の n を y にです。

# Support Wpa_Supplicant
HAS_WPA_SUPPLICANT=y

# Support Native WpaSupplicant for Network Maganger
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y

4.無線LANアダプタを接続し、IDを調べる。
$ lsusb

これを実行するとUSB機器の情報一覧が出力されますので、

その中から設定したいアダプタを見つけてIDなどをメモして下さい。

僕の場合だと下記の通りで、0411:015d がWLI-UC-GNのIDです。

Bus 001 Device 002: ID 0411:015d MelCo., Inc.

5.調べたIDをUSBの設定ファイル(解凍先/os/linux/usb_main_dev.c)に追記する。
$ vi usb_main_dev.c

端末を閉じるか参照ディレクトリを移動している場合は、
移動するかファイルへのパスを指定するなりして下さい。

で、このファイル内に下記のような部分があり、

#ifdef RT3070
	{USB_DEVICE(0x148F,0x3070)}, /* Ralink 3070 */
	…略…
	{USB_DEVICE(0x1D4D,0x000C)}, /* Pegatron Corporation 3070 */
#endif // RT3070 //

この {USB_DEVICE〜 が並んでいる部分の末尾の行にでも調べたIDを同様の記述で追記して下さい。

僕の場合だと下記を末尾の行に追記しました。

	{USB_DEVICE(0x0411,0x015d)}, /* Buffalo WLI-UC-GN */

USB_DEVICEの()内がIDです。
僕の場合、調べたIDが 0411:015d なので、 0x0411,0x015d と。
後ろの/**/内は単なる説明なので自分にわかりやすく書いておけばOKです。

6.ドライバホームに移動し、make → make install する。
$ cd ../../
$ sudo make
$ sudo make install

これも端末を閉じるなどをしてない前提です。

で、ここで2.に書いていた絶対パスに日本語が含まれているとエラーが出てmakeコマンドが失敗してしまうのです。

僕も最初はデスクトップダウンロードして、ここまでの作業を行っていたのですが、何回やり直してもここでエラーが出て失敗してしまいました。

調べても見つからないし、原因は何かなぁとmakeの際に表示されるログを見てみると、ログの一部に「デスクトップ」が文字化けしている部分を発見。

もしかしてこれなのかなと試しに英数字のみの場所に移動させて、makeしたら無事インストール出来ましたので、念の為みなさんにもパスに日本語を含まないようお願いしました。


ていうかこれってLinuxのどっかの設定かなんかがおかしいのかな?

誰か教えてLinuxに詳しいエロイ人!


7.完成したモジュールをinsmodする。
$ cd os/linux
$ sudo insmod rt3070sta.ko

端末を閉じるなど参照ディレクトリを移動してない(ry

これで無線LANアダプタを認識させて使えるようにする設定は完了です!

後は接続先の設定などを行えばネットに接続出来ますよ♪


ちなみにカーネルのバージョンを変えた時には、再度インストールが必要らしいので、6〜7の手順を再度実行しないといけないみたいです。


それにしてもUbuntu楽しいよ。Ubuntu

というかLinuxが楽しい!

ノートパソコン自体も始めて持つので便利さに感動だらけですw

まぁまずはノートパソコンを買った目的でもあるプログラミング環境を作って、早くいろいろ作らなきゃなー。

一応作るものも決めてるので記事にして発表しようと思うのですが、それについては次回にw


追記:

ドライバのリンク先に変更があったようなので、padoさんに教えて頂いたURLに変更。

*1:金銭的な意味では本とか他にも欲しいものがあるのでそっち優先させるでしょうけどw

のんきのんき 2009/06/21 18:17 今回参考にさせていただきました。
有用な情報ありがとうございました。
ちょっと気になったので書きます。
(6)番は
$ cd ../../
$ make
$ sudo make install

いきなり#が出てきたのでびっくりしました。
諸先輩方から、むやみやたらにスーパーユーザーを使わないようにと
いつも注意を受けています。利用者権限で出来る所は自分の環境内で
行うようにと指導を受けています。configure、makeなどはどのような
障害が発生するか分からないのでスーパーユーザーでは開発を行なわ
ないよう気をつけてます。
気分を害されたらごめんなさい。

AkinekoAkineko 2009/06/22 10:53 >のんきさん
コメントありがとうございます。

(6)番の#は打ち間違えておりましたので直に修正させて頂きました。
#ですと全然意味が違ってしまいますね^^;
指摘して頂きありがとうございました。

のんきのんき 2009/06/22 22:49 私のような者の意見を取り入れてくださりありがとうございます。
修正していただいたのに恐縮ですが
make install は sudo make install でないと問題がおきます。
何度もすいませんです。

のんきのんき 2009/06/22 23:10 Ubuntuのhomeディレクトリにはいくつかディレクトリが
最初からあるのだけれども、日本語ローカライズされている
Ubuntuだとディレクトリ名が日本語になっています。
Terminalをよく使うユーザにとっては移動しにくくてしょうがない
ですね。という訳で日本語のディレクトリ名を英語に修正するスクリプトの紹介です。

$ LANG=C xdg-user-dirs-gtk-update

ubuntu再起動時、同じ質問で英語のディレクトリ名を日本語に修正を
聞いてきますがNOで答えてください。

AkinekoAkineko 2009/06/23 10:17 >のんきさん
>make install は sudo make install でないと問題がおきます。
すみませんでした、ここも抜けていましたね^^;
僕自身参考サイトをあれこれ見ながら作業して、設定が終わったところでまとめようと参考にしたサイトを見ながらまとめていたので気付きませんでした。
ご迷惑おかけしてすみません。

英語名のディレクトリに修正するスクリプトありがとうございます。
日本語名にいちいち変換するのはめんどくさくて困っていましたので、助かります。

そーいちそーいち 2009/09/17 17:38 リンク先がなくなっているのですけどどうしたらいいですかね?
できればUPしてもらえるとうれしいです。

padopado 2009/10/10 16:15 >そーいちさん
こちらでどうぞ
http://www.ralinktech.com/support.php?s=2

AkinekoAkineko 2009/10/11 22:19 >そーいちさん
返答が遅れて申し訳ありませんでした。
正直に言いますと、仕事の方が多忙期でしたので、後で返答しようと思っていたのですが、そのまま忘れてしまっていました。

一応コメントがあった時点で軽くは確認したのですが、http://www.ralinktech.com/にもアクセス出来なかったので、padoさんが貼られているリンクのURLが変わってることから、一時的にサイトリニューアルかなにかをされてたようですね。
ひとまず、padoさんが貼って下さってるリンク先が僕が貼っていたリンク先と同じ内容になっておりますので、そちらからダウンロードしてお試し下さい。

>padoさん
リンク先を教えて頂きありがとうございました。

TAOTAO 2009/11/28 17:48 はじめまして。

この度 Ubuntu 9.04 を使い始めたものです。
貴方様の方法を参考に私も同アダブタを使用するべく試みました。

しかしながらできません。

具体的には(説明が無知の故 恐縮ではございますが)

$ sudo lnsmod rt3070sta.ko

上記最終のコマンドで上手く出来ない状況です。
その前に気になった点があります。

>7.完成したモジュールをinsmodする。
とありますが コマンドではlnsmodと記されております。
これはどういう事でしょうか?

因みに insmod で入力した際には

ubuntu@ubuntu-laptop:~/downloads/2009_1110_RT3070_Linux_STA_v2.1.2.0/os/linux$ sudo insmod rt3070sta.ko
[sudo] password for ubuntu:
insmod: error inserting 'rt3070sta.ko': -1 File exists

次にlnsmodでの入力

ubuntu@ubuntu-laptop:~/downloads/2009_1110_RT3070_Linux_STA_v2.1.2.0/os/linux$ sudo lnsmod rt3070sta.ko
sudo: lnsmod: command not found

それ以外はなんとか出来てるようなのですが・・・
ご教授頂けたら幸いです。

AkinekoAkineko 2009/11/29 23:54 >TAO さん
まず
$ sudo lnsmod rt3070sta.ko
なのですがこれはtypoで打ち間違えていました。ただしくはinsmodで下記の通りとなります。
$ sudo insmod rt3070sta.ko

で、TAOさんに発生しているエラーについてなのですが、これは、既にinsmodされている場合に出力されるメッセージです。
ですのでもう設定は完了していると思われるのですが、もし再設定されるようでしたら rmmod して再度 insmod してみてください。

TAOTAO 2009/11/30 23:16 >ただしくはinsmodで....

やはりそうでしたか迅速な回答に感謝致します。

>もう設定は完了していると思われるのですが

Ubuntu 日本語フォーラムでも同様の事を言われました。
恐縮ですが、ネットワーク接続まで教えて頂けませんでしょうか?

どうにもこうにも上手くいかないもので。

AkinekoAkineko 2009/12/07 14:55 >TAOさん
僕自身がそこまでUbuntuに詳しいわけじゃないので何が悪いのかまでは予想できませんが、とりあえず僕の行った操作は以下の感じです。

Windowsにて無線LAN機に接続しSSIDとMACアドレスと設定しているセキュリティの認証鍵をメモ

Ubuntuのデスクトップの上部にあるネット接続のアイコンを右クリックし、「接続の編集」を選択

「無線」タブを開いて追加をクリック

「無線」タブにてSSID・MACアドレスを入力し、「無線セキュリティ」タブにて自分の設定しているセキュリティを選び認証鍵を設定

以上の操作で僕のPCではネットに接続できるようになりました。

TAOTAO 2009/12/09 18:07 本日 再度 設定をしましたがやはり無理でした。
先日よりある程度 理解をした上で作業をしておりました。

具体的にはロードされてるようで、ネットワークマネージャーを
クリックすると無線ネットワーク項目が出現しました。
しかしながら、デバイスが認識されておりませんという具合です。

試しに iwconfig を端末で打った場合は以下の値が出ました。

lo no wireless extensions.

eth0 no wireless extensions.

irda0 no wireless extensions.

ra0 RT2870 Wireless ESSID:"" Nickname:"RT2870STA"
Mode:Auto Frequency=2.412 GHz Access Point: Not-Associated
Bit Rate:1 Mb/s
RTS thr:off Fragment thr:off
Link Quality=10/100 Signal level:0 dBm Noise level:-87 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

rt2870というのが気になります。
設定は確実に行ったはずなんですが。残念です。

AkinekoAkineko 2009/12/10 00:26 >TAOさん
えーと、わかることでしたらお力になりたいと思うのですが僕自身も先に述べた通りUbuntu及びLinuxの勉強を始めたばかりでまだわからないことばかりなのです。
なので書いてくださってるログの意味はよくわからないのですが、TAOさんも気になさってるRT2870はちょうどドライバをダウンロードするサイトにRT3070と一緒に並んでおりますので、間違えてそちらをダウンロードされたのではないでしょうか?
またデバイスが認識しないということは何処かでミスをしている可能性もありますので、いずれにせよ一度ダウンロードからやり直してみることをオススメします。

もし上記の方法で解決しませんでしたらTAOさんに発生している現象の何が原因なのかは僕にはこれ以上予想がつかないので申し訳ありませんがこれ以上はお力になれそうにありません。

tadtadtadtad 2010/02/20 09:22 割り込んで申し訳ありません。
私もどうしてもつながりません。
バージョンは9.10でドライバーも最新です。
TAOさんと同じようにinsmodでのコメントがでました。
error inserting 'rt3070sta.ko': -1 File exists

どうもカーネルのバージョンが違うらしいことが、まさおさんののブログ (表)
http://masaoo.blogspot.com/2009/06/ubuntu-usb-lan-buffalo-wli-uc-gn.html
に記載ありました。転記しますと
-------
■ 2009/10/08 追記

kernel 2.6.31.3 の環境でビルドしようとすると、エラーでビルドに失敗しました。
いつからできなくなったのか、わかりません。
新しいドライバは公開されていないし、kernel のバージョンを落とそうかな。
■ 2009/11/18 追記 (速報)

下記のサイトからパッチ rt3070-2.6.31-compile.patch.gz をダウンロードして、
http://www.megaupload.com/?d=2NDDOFTR
kernel 2.6.31.6 (ソース) の環境でビルドしたところ、ビルドが通りました。
あと、RT3070USB(RT307x) のドライバは更新されていて、20091106 版がでていました。
近いうち、更新したいと思います。
これまで通りの作業にパッチを当てる作業が追加されるだけなので、急がれる方は試してみては?
-------

ところがパッチをどうして当てるのかが分からず悩んでいる次第です。
お分かりいただければ幸いです。

tarosuketarosuke 2010/12/10 17:42 どうもIDを定義しているファイルが分離したようで、今入手できるドライバだとos/linux/usb_main_dev.cではなくcommon/rtusb_dev_id.cみたいです。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証