USB無線LANアダプタの接続の仕方を教えて下さい。

パピーリナックスを初めて使う方もご利用ください

モデレータ: 暇人, YoN, nyu

返信する
杜仲茶
記事: 18
登録日時: 13/03/19(火) 00:10

USB無線LANアダプタの接続の仕方を教えて下さい。

投稿記事 by 杜仲茶 »

フォーラムの皆様、こんにちは。

「またその質問かよ……」とため息をつかれた方、舌打ちをなさった方、大勢いらっしゃるかと思いますがちょっと聞いてやって下さいお願いします。

お願いします。

5月も最早下旬、もうすぐ夏です。夏といえば、海の季節です。山の季節です。パソコンのファンが唸る季節です。なので夏はパソコンの負担が軽い超軽量OS、我らがPuppyをメインに使いたいと思っているわけです。
超軽量といえば余談ながら、conkyを作動させたとき使用RAMが30ちょっとだったときは驚きを通り越して吹き出しましたね。それから今度は騙されてるんじゃないかと疑心暗鬼になりました。Windowsの最新OSがメモリを2ギガや4ギガを必要とするこのご時世、30メガで本当にパソコンが動いていいのか不安じゃないですか。
閑話休題。
そういうわけですが、ネットに繋がらなければパソコンの面白味も半減。ここは一つPuppyをネットに繋がなければならないわけです私としましては。
さて現状です。


パソコン 
NEC VY16G/W-3
CPU, Intel Core2Duo(1.66GHz)
メモリ 1GHzちょっと
PCカードスロットが2つ付いてますが2つとも作動しないという中古

パピーのバージョン・エディション
Wary(改)
(Wary-511-01jベース:DISTRO_IDSTRING='w511120701143605')
http://wiki.livedoor.jp/pupkaii/d/Wary% ... 20(%B2%FE)

HD(およそ1GB・スワップおよそ1.8GB)にFullインストール

無線LANアダプタ
WLI-UC-G300HP-V1(ドライバはrt2870……のようです)


挿しても認識してくれません。それはいいんです、分かってましたからいいんです。勝負はそれからだと知っていたからいいのです。
まず
[Puppy G300HP]
でググりました。幾つか、めぼしいページを見つけ、どうやらpetパッケージを入れればいいらしいと知りました。それらしきpetパッケージも見つけてダウンロードしました。
そしてこのトピックです。
viewtopic.php?f=25&t=1639
当たりです。
そのものズバリがあるじゃないですか。シノバーさんがWLI-UC-G300HPに対応のpetパッケージでドライバを作って下さってるじゃありませんか。勝ったも同然だぞ!
意気揚々とpetをダウンロードしてクリック。「インストールしますか?」ですと? しますよ!
パッケージマネージャのインストール済みのパッケージにもしっかり
rt2870sta-rt5370sta-k26332-2.5.0.3-buffalo Ralink RT2870 Wwireless LAN driver
とありました。
これで後は挿すだけだな!と意気軒昂、無線LANアダプタを挿しました……が、青いLEDは光ってくれずネットワークウイザードにも「wlan0」は現れてくれませんでした。
何故だ……? と他のpetもインストールしてみましたがやはり私の無線LANアダプタはうんともすんとも言ってくれませんしネットワークウイザードにもwlan0は現れず、eth0のみドヤ顔して私をせせら笑ってます。うっさい!この部屋までLANケーブルは届かんのじゃ!
ひょっとするとネットワークウイザードの「モジュールの読込」の中に密かに「RT2870」が隠れているのではないかと思いましたが「rt2800usb」でRalinkのモジュールは終りでした。
あっれ?WLI-UC-G300HPに対応する(であろう)ドライバだよな?
{USB_DEVICE(0x0411,0x0148)}, /* BUFFALO WLI-UC-G300HP */
と上記トピックにもあるよな……ん?
{USB_DEVICE(0x0411,0x0148)}?
WLI-UC-G300HPのIDは、ベンダーID:0411 プロダクトID:01A8
じゃなかったっけ? lsusbコマンドで調べたらそうなってるんだけど……
「どういうことだ!? キバヤs…Google先生!?」
とIDを打ち込んでみると……
「お前の無線LANアダプタは…WLI-UC-G300HPじゃなくて実はWLI-UC-G300HP-V1だったんだよ!!」
「な…なんだってぇー!!」
何ということでしょう。ずっと、ずっとWLI-UC-G300HPだと信じていた私の無線LANアダプタは本当はWLI-UC-G300HP-V1というアダプタだったのです。いえ、だってですね、箱にはWLI-UC-G300HPと書いてあるんですよ? Buffaloの嘘つき! それ以前に仮面ライダーでもエヴァンゲリオンでもないんだからそんな2号機作ってややこしいことにしてくれなくいいからさぁ……
うーん、やっぱりIDが違うと同じドライバでも認識してくれないのかなぁ、と思いながらも何とか無理繰り違うIDを捩じ込む方法は無いものかと色々調べてみましたところ、「極楽はぜ」さんという方の
「Puppylinux 無線LANアダプタ簡単設定方法」
http://ameblo.jp/gokurakuhaze/entry-11212328713.html
というページを見つけてIDを変えて試してみましたが、認識してくれませんでした。
またディストロ違いではありますが
「認識されないUSBタイプの無線LAN子機を使う方法」
https://forums.ubuntulinux.jp/viewtopic.php?id=10791
も参考にしましたが結果は同様。
何でだろ?と思い「おまじない」としてコピペしてたシェル(?)をコマンドもよく知らないのに読んでみました。pwdとcdと、/sbin/sysctl -w vm.drop_caches=3くらいコマンドはしか知らないのに。(小狡いコマンドは知っている)

#wlan.conf
#buffalow
install rt2870sta /sbin/modprobe --ignore-install rt2870sta $CMDLINE_OPTS; /bin/echo "0411 015d" > /sys/bus/usb/drivers/rt2870/new_id

echo "driver_name" >> /etc/modules
echo 'install driver_name /sbin/modprobe --ignore-install driver_name; /bin/echo "device_id" > /sys/bus/usb/drivers/driver_name_dir/new_id' > /etc/modprobe.d/foge.conf
modprobe driver_name

コマンドは知りませんが英検準4級くらいの英語は分かるはずなので自分なりに理解してみるに

1)新しくrt2870を、現在のrt2870を無視して
2)/sys/bus/usb/drivers/rt2870/new_id
3)へ書き込んで新しく読み込む

と言うことらしいぞ!と推測しました。
ではとりあえず
/sys/bus/usb/drivers/rt2870
を見てみようか、とディレクトリを辿っていくと……そんなディレクトリありません。
え?
「rt2870sta-rt5370sta-k26332-2.5.0.3-buffalo Ralink RT2870 Wwireless LAN driver」
がインストールされてるということは「rt2870sta」というモジュールがが組み込まれているんじゃないの?
と色々ググってlsmodというコマンドを発見。
lsmod | grep rt
と入力してみたところ「rt2870」は出現しませんでした。(モジュールの読込でrt2800を読み込んで同様に入力したところrt2800は出てきたので何となく間違ってはないと思っています)

つまり、petパッケージをインストールしただけでは、モジュールは読み込まれない(組み込まれない)のでしょうか?
petのインストール=makeしてmake installしてinsmod (modoprobe)
と思っていたのですが。(insmodとmodoprobeの違いもよく分からないレベルです)


長々と書いてきましたが今まで試したことを整理して書きます。

・インストールしてみたpet
rt3070sta-k-26305-2.3.0.2-buffalo.pet
rt3070sta-k26332-2.1.2.0.pet
RT3070sta-k26332-2.3.0.2-buffalo.pet
rt5370sta-k26332-2.5.0.3-buffalo.pet (インストール後は rt2870sta-rt5370sta-k26332-2.5.0.3-buffalo)

・複数の類似ドライバをインストールしていると競合(コンフリクト)が起こるのではないかと思い、最終的には
rt5370sta-k26332-2.5.0.3-buffalo.pet (インストール後は rt2870sta-rt5370sta-k26332-2.5.0.3-buffalo)
だけを残して他はアンインストール
(素人考えではドライバはいっぱい入ってた方が良い気がするんですが、ネットで調べたらそのようなことが書いてありましたので)

・その後上述の様に
「Puppylinux 無線LANアダプタ簡単設定方法」
「認識されないUSBタイプの無線LAN子機を使う方法」
に書いてある方法を試してみる

・しかしWLI-UC-G300HP-V1は認識されず
(lsusbではIDは表示されますが、LEDは光りませんし、ネットワークウイザードにも表示されません)


そして素人なりに考えた解決法

1)諦めて、認識されたことが確認されているUSBアダプタを買う
2)Windowsから何とかしてドライバを探して、Ndiswrapperを使ってみる
3)他のエディションを試す(もうすぐPrecise5.5日本語版がでるそうで……開発者の方々、お疲れ様です! ありがとうございます!)
4)devx_XXX.sfsをロードして開発環境を導入して、自分で自分のためにpetを作る(Lubuntu[Ubuntuの軽量エディション]では7割まぐれで何とか認識させることに成功)


さて、どうすればいいでしょうか?
宜しければ詳しい方々、御教授下さい。
お願いします。

草々
アバター
シノバー
記事: 3328
登録日時: 09/03/21(土) 00:05
連絡する:

Re: USB無線LANアダプタの接続の仕方を教えて下さい。

投稿記事 by シノバー »

すっごくよく分かります。調査の内容が整理されていてたいへん参考になりました。ありがとう。
ツッコミをいれるとすれば、杜仲茶さんは「初心者」ではないのでは。そういう前提で話を続けます。

問題は2つあって、無線ドライバはカーネル依存なので、これを一致させないといけないことと、USBデバイスのIDを一致させないといけないことです。

最初の問題
rt2870sta-rt5370sta-k26332-2.5.0.3-buffalo.pet は カーネル2.6.33.2(528JP)用なので、他のカーネルでは使えません。Wary-511-01jのカーネル・バージョンは端末で uname -r と打てば分かりますが、2.6.32.28 だと思います。探したら次のものが埋もれてました。すみません。
http://shino.pos.to/party/bridge.cgi?puppy/wary/opt/
rt3370sta-k263228-2.4.0.1-w5.pet

第2の問題
デバイスIDの異なるものを認識させる方法として、お調べになった「極楽はぜ」さんの
「Puppylinux 無線LANアダプタ簡単設定方法」
http://ameblo.jp/gokurakuhaze/entry-11212328713.html
が使えるのかもしれません。

2つを同時解決
せっかくなのでコンパイルされてはいかがでしょう。
viewtopic.php?f=25&t=1639&start=15#p15283
Ralinkのソースを少しいじったものがあります。これにIDを書き足してコンパイルすればできるかと。ソースはいくつかありますが、たぶん
2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO_Baffalo.tar.gz
http://shino.pos.to/party/bridge.cgi?puppy/opt/

コンパイルには devx と kernelsourceが必要です。それらはここに揃ってます。
http://shino.pos.to/party/bridge.cgi?puppy/wary/opt/
走れパピー(新ブログ)https://shinobar.net/linux/blog
New Downloads https://shinobar.net/puppy/
杜仲茶
記事: 18
登録日時: 13/03/19(火) 00:10

「おまじない」で繋げました!

投稿記事 by 杜仲茶 »

シノバーさん、教えて頂いて有難うございます!
その上何故かこちらへお礼されていて恐縮です。重ねてですが、こちらこそ有難うございました。

「初心者」ではないのでは、とのことですが、本当に初心者です。一週間以上、あーでもないこーでもない、と試行錯誤しました。
が、とうとうWLI-UC-G300HP-V1のLEDが青く光りネットに繋がるときが来ましたァー!!
この文章も、Wary511-01jでWLI-UC-G300HP-V1を使って繋げて投稿しております。


さて、繋がったんならそれでいーじゃん、という話ですが、一週間以上に及ぶ初心者のダッチロールを記しておくことで、このフォーラムの他の初心者の方(とはいえ見渡す限り私より初心者の方はそう、いらっしゃらないようですが)と、初心者がどこで躓いているかを知りたいエキスパートの方が、もしいらっしゃったら、と思い、少々長くなるかもしれませんがこの間の苦闘(?)を書かせて頂きます。(勿論、興味ない方はとばして下さいね)


まず以って試してみたのは、シノバーさんが教えてくれた、カーネル2.6.32.28用pet
rt3370sta-k263228-2.4.0.1-w5.pet
をインストール後、「極楽はぜ」さんが紹介されている
「Puppylinux 無線LANアダプタ簡単設定方法」
http://ameblo.jp/gokurakuhaze/entry-11212328713.html
「Puppylinux 無線LANアダプタ簡単設定方法 第二弾」
http://ameblo.jp/gokurakuhaze/entry-11516879435.html
など、ベンダーID・プロダクトIDを螺旋込む方法でした。球磨川先輩風味に。

が、試してみても上手くいきませんでした。
何故かな? と素人初心者なりに、自分がしていることが何なのか? を考えてみました。
両、方法とも、/etcディレクトリに何やら「命令書」を書いて置いておく、ということは共通しています。では/etcディレクトリとはそもそも何なのか?
「Linuxのディレクトリ構成」で検索してみました。

/etc - ほとんどのシステム設定ファイルが入っているディレクトリ。また、サブディレクトリの/etc/rc.dには初期化スクリプトが入っている。
http://gigazine.net/news/20080104_linux ... structure/

ほうほう、つまり/etcディレクトリにあるのは設定なのですね。
ここでWindowsでよく見かけるダイアログを思い出しました。

「この変更を有効にするためには再起動が必要です 今すぐ再起動/後で再起動」(いまいち正確ではないと思われますが、大体こんな風な)

じゃあPuppyでも/etcディレクトリに何か書き込んだら、再起動しなくちゃ変更されないんじゃないのか? と思い再起動してみました。
けれどもやはりG300HP-V1は反応してくれませんし、ネットワークウイザードにもeth0しか現れませんでした。
自分のやり方がどこか間違ってるのかなぁ、と色々いじっているうちに、あることに気づきました。

/sys/bus/usb/drivers/rt2870 ディレクトリが・・・消えた・・・?

あっれ!? rt3370sta-k263228-2.4.0.1-w5.petをインストールした後、
/sys/bus/usb/drivers/rt2870 ディレクトリが出来ていたはずなのに?
lsmod | grep rt
と端末に入力してエンターで
rt3370sta
と表示されていたはずなのに?

再起動後にもう一度
lsmod | grep rt
と打ってみても
rt3370sta
は表示されません。
「Puppyパッケージマネージャ」の「インストール済みパッケージ」には
rt3370sta-k263228-2.4.0.1-w5
が載っているのですが、もう一度rt3370sta-k263228-2.4.0.1-w5.petをクリックすると
「インストールしますか?」
とダイアログが出て、OKをクリックするとインストールされます。そして
lsmod | grep rt
rt3370sta
と再び表示されました。

つまり再起動すると(正しくはシャットダウンすると)、rt3370sta-k263228-2.4.0.1-w5.petはアンインストールされてしまっているようです。私がFULLインストールしているからなのか? 理由は分かりませんが

設定の変更を反映させるために再起動→しかし再起動すると設定を反映させるべきpet(モジュール)がアンインストールされる

という「缶詰の中の缶切り」状態になるわけです。
(注:/etc ディレクトリのファイルに書き加えた設定が再起動しないと反映されないのでは? というのは、あくまで初心者の私の素人的推測です。全然本当とは違うかもしれません)


さて……じゃあ自分でドライバ作るしかないじゃぬいん。
腹を括りました、やってやるです!(CV:竹達彩奈)
必要なものは
・ドライバのソースコード
・devx(コンパイラなどが入っていると思われるsfs)
・kernelsource
と、シノバーさんに教えて貰っています。正直「sfs」というのがpetとどう違うかも分からないままですがやってやるです!(CV:(略))
devxとkernelsourceは、ドライバを作るPuppyと同じエディション番号のやつだよな? と
wary_devx_511.sfs
をダウンロードして
「メニュー」→「セットアップ」→「SFS-Load on-the-fly」
でロード。
そして
kernel_src-2.6.32.28-patched.sfs
をダウンロード中に異変発生。フルインストールしたWaryが弱音を吐いています。
「もう容量いっぱいですわ……これ以上無理っすわ……」
な、何を言ってんの?? キミが何を言ってるか分からないよカヲルくん!?
ふとconky画面を見てみると……「File systems」がインストールに使っている1GB分いっぱいいっぱい。おお……Linux Swapに1.8GBとってるのに何故……あ、そっか、Linux Swapってメモリの代わりにHDを使うんであって、ストレージの代わりにはならないんだ、きっと……
注:wary_devx_511.sfsをロードすると、たくさんHD容量を食うようです。気をつけましょう。

FULLインストールの弱点が露呈しました。
どうしよう? GPartedを使ってスワップを削ってWaryにもう1Gぐらい振り分けるか?
と考えましたが以前、OSを入れた後パーティションをいじって痛い目にあっているのでそれは極力避けたい。
考えに考えた挙句、あそっか、USBメモリに一時的にPuppyをインストールすればいいんだ、と気づきUSBメモリの整理・フォーマット・USBメモリにはフルインストールできないようだということを知って愕然とする・等のことはさすがに割愛します。

さて、USBにFRUGALインストールして個人保存ファイルをガッツリと2GBとりました。これで「File systems」が足りないよーとは言わせんぞ!
改めて
wary_devx_511.sfs
kernel_src-2.6.32.28-patched.sfs
をダウンロード&SFSロード。今度は大丈夫でした。
(それにしてもFRUGALインストールすると「File systems」がいっこうに使われないのが不思議です。どうなってるんだろう?)

さて待望のドライバ製作です。やり方はLubuntuのときと同じ手順でいいよな? じゃあ
# tar -vf 2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO.tar.bz2
したあと
# make 2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO
と、やってみると
「Nothing to be done for '2011_0719_RT3070_(略)」・・・だと・・・?
何でだ!? makeしろよぉ!さぼってんじゃねえよぉ! とひとしきりmakeコマンドを罵った挙句自分のアホさに気付きました……そりゃ2011_0719_RT3070_(略)ディレクトリに入ってからじゃないとmakeできませんよね……makefileの無いとこでmakeしろっていわれても困りますよね……すみません。
makeコマンドさんに謝ってから
# cd ./011_0719_RT3070_(略)
# make
すると端末画面にズラズラーっとコンパイルの様子が流れました。やった!
さらに
# make install
そして
# cd os/linux
# insmod rt3070sta.ko
でOK!……と思ったら「そんなファイルねえよ」と端末さんが仰います……ですよねー、rt3070sta.koなんてファイルありませんもんねー、そんな気してましたもん……
(でもどうしてLubuntuではこれが通ったんだろう?)


どうしよう? と途方に暮れたのでもう「おまじない」にすがることに割り切りました。
シノバーさんが教えてくれた記事

viewtopic.php?f=25&t=1639&start=15#p15283
viewtopic.php?f=25&t=1639&start=15#p15283

にしたがって
# new2dir make install
new2dirが何かも分かっていない上に、実はmakeした後何故にmake installが必要かも本当は知らないまま実行してみましたが
2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO-i486
というディレクトリが出来ました! 末尾の「-i486」が何やら怖いんですが中を覗いてみると /etc と /libディレクトリが出来ています。

>出来上がったドライバーディレクトリに pinstall.sh を作成

この「ドライバーディレクトリ」というのが何を指すのか分からなかったのですが、取り敢えず、2011_0719_RT3070_(中略)DPO-i486 の中に
----------
#!/bin/sh
depmod -a
sync
modprobe rt5370sta
----------
を書いて(何を書いたのか自分でもわからないまま。おそらくこれが「perlスクリプト」だとは思うのですが)「pinstall.sh」と名前をつけて保存。たまたまでしたが、この場所で良かったようです。
そして
# dir2pet
(これは名前から何となくpetパッケージを作成するコマンドと見当)を実行すると……おお、2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO-i486.pet とすごく長い名前のpetが出来ているじゃありませんか!
クリックしてインストール、そしておそるおそるネットワークウイザードを開いてみると……やったー!!

eth0の下に
「ra0 ワイヤレス usb」
と出現!!
G300HPの青いLEDも光りました!これならいけるんじゃないか? そりゃ青さ思い出せばまた見えるでしょう!
後は「ra0」→「ワイヤレス」→「スキャン」→自分のネットワークを探してクリック(この後「注意 あなたの選択したインターフェイスがが使うモジュールUSBはWPAをサポートしてません(中略)クリックして下さい。」と出ましたので、WPAを使うためによく分からないまま「ドライバ west」のままOKでクリック)→「自動DHCP」で……

繋 が り ま し た !!

はー。長かった。さらにこのペットをHDにフルインストールしたWary511-01jとWary(改)にインストールしても繋がりました!
ただ、再起動をした後、何故か杏仁豆腐もといアンインストールされていることがあったり、あまりにpetの名前が長いので(「2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO-i486.pet」はやはりジュゲムジュゲムですよね)「for G300HP-V1.pet」とリネームすると上手くいかないことがあったりと課題も残っていますが、ともかく繋がりました。やったー!!

結果:何とかインターネットに繋げることが出来ました。

何も分かってない初心者の初歩的質問に、丁寧なご回答を下さったシノバーさん、そしてpet作成の手順を書いて残しておいて下さったま〜ちゃんさん、本当に有難うございました!!

草々
アバター
シノバー
記事: 3328
登録日時: 09/03/21(土) 00:05
連絡する:

Re: 「おまじない」で繋げました!

投稿記事 by シノバー »

まずはおめでとうございます。
杜仲茶 さんが書きました:さて、繋がったんならそれでいーじゃん、という話ですが、一週間以上に及ぶ初心者のダッチロールを記しておく
これ大事です。「解決しました」の一言で終わられ、何をやって解決したのか分からない投稿がままあります。

たぶん抜けていた「おまじない」とは、 depmod ではないかと。新しいカーネル・モジュールをインストールしたら depmod で登録が必要です。コンパイルの場合
# ./configue ...
# make
# make install
# depmod
# modprobe ...
というぐあいです。

petでインストールしたものがPC再起動で消えるということは通常はないことです。パッケージあるいはシステム何らかのバグか、壊れている場合でしょう。FULLインストールの場合、もともとのシステムのバグなのか、途中でシステムのどこかが壊れてしまったのか、切り分けにくいことが難点です。RAMが256MB以上あれば Frugalインストールをお奨めしています。

杜仲茶さんの情報から、IDさえ合わせれば WLI-UC-G300HP-V1 も動くということなのでソースを修正しておきました。他のカーネルでは、このソースからコンパイルください。
2011_0719_RT3070_......_Linux_STA_V2.5.0.3_DPO_Baffalo_V1.tar.gz
viewtopic.php?f=25&t=1639
走れパピー(新ブログ)https://shinobar.net/linux/blog
New Downloads https://shinobar.net/puppy/
返信する