2009年12月14日

431jp 無線LAN @SS DS50C/1N8M

ノーマル(2.6.30.5)とSTD(2.6.25.16)とRetro(2.6.21.7) そして ネットワークウィザードとその旧版、/etc/rc.d/rc.localとの設定の違いをいじれる範囲でまとめてみた。(091215追記)

Pci(プラネックス) GW-NS54CW
ath5k AR5005G Atheros
Normal STD Retro
ウイザード NG(DHCPで失敗) NG(デバイス不明の表示) NG(保存できない)
旧版 NG(DHCPで失敗) NG(デバイス不明?) OK!!
rc.local OK NG OK(デバイス名はath0)
STD版のデバイスドライバは上手く動かないようだ。PCMCIAではなくPCIと表示されるし(もともと無いのか?)

BUFFALO WLI-CB-G54
Broadcom B43 Wirless driver
Normal STD Retro
ウイザード NG NG(DHCPでアドレスを取得するが使用できず) NG(保存できない)
旧版 NG NG OK(※1)
rc.local OK OK OK(デバイス名はeth0)

※レトロで旧版をセットアップした後、PCを再起動したらXが起動しなかった。OSを再インストールし、LANなど何も設定しないまま、2度再起動(OSインストール後の2回目の起動時にでる次回は高速に起動する旨のメッセージが気になったので)、この時は正常にセットアップできた。(保存もOK)
4.2のときはSTDのウィザードですんなり行ったと思ったが…

rc.localの追記分は以下のとおり

ifconfig wlan0 up
sleep 5
iwconfig wlan0 essid "・・・・・"
iwconfig wlan0 mode managed
iwconfig wlan0 key open ・・・・・
iwconfig wlan0 bit 54M
dhcpcd wlan0


essid と key は動作環境に応じて設定のことっと。
sleep は3秒でも起動したが、2秒ではだめだった。余裕をみて5秒にしてある。今のところこれで失敗は無い。異なるマシンでは要調整なのかも。レトロの時はwlan0をath0/eth0に変更する。
posted by タロ兵衛 at 05:56| Comment(0) | TrackBack(0) | 無線LAN

2008年12月06日

無線LAN再び(4.1.1版)その7 そろそろ終りに…

なんとなく不安定の原因が分かってきたような気はするが解決には至っていない。ただ、確実に設定できるようにはなってきた。他のこともやりたいので、この辺で終わりにしようと思う。
一律に不安定と書いてきたが整理すると何通りかある。

(1) スキャンで目的のAPが見つからない
デスクトップのconnect(接続)からnetworkwizardで無線LANを設定する最初の操作はAP探しが必要。で、どういう訳か一番電波の強い自宅のAPが検出されない(ご近所のAPは出る)。
検出されていたとしてもESSIDもAPのMACアドレスも電波強度も表示されないので(ESSIDは隠しになっているから)、ご近所のAPなのか自宅のAPなのかわからない。
キャンセルとスキャンを何度か繰り返すうちに表示されることもあるし、その日は何度やっても検出されない時もある。コールドスタートさせて検出することもある。

(2) プロファイルをSAVEできない
スキャン後、自宅APとおぼしきAPを指定してSAVEしようとしてもErrorとなりSAVEできない。keyの合わないご近所のAPだったのではないかと推測している。(1)同様、何度かスキャンして成功する場合があった。

(3) プロファイルが設定できても接続できない
PCを再起動したとき、(翌日電源を入れたときとか)ルータのチャンネルが変更されていると接続に失敗する。試験的にプロファイル内のチャンネルと周波数を強制的に変えて、ルータのチャンネルが変わったふりをしても、再起動で接続される場合がある。プロファイルのチャンネル指定で固定されるわけではなさそう。
ホットスタートとコールドスタートでは挙動が違うような気がするが、分析するほどデータが正確でない(操作の手順や回数などが正確に記録して無い)。

(4) 一旦チャンネルを指定すると再設定できない?
wizardとは別にコマンドラインからiwconfigでチャンネルを変えてしまうとifconfig wlan0 down程度では初期化されないらしい。wizardがこれを初期化が出来て要るのかは不明

(5) PwirelessからはProfileが作れない
メニューのネットワークからPwirelessでスキャンして接続すると確実に接続できる(現在のところ100%)。ここからもProfileがつくれるのだがまともに作れたためしがない。その場限りの接続ならこれが確実でよいのだが…


などなど未整理の(不正確な)NG情報が増え発散の一途。しかし、設定方法しだいでは良い結果が出ている。設定後はwizard起動厳禁。これが最善、最良ではないのだろうが兎に角失敗は今のところ無い。経過観察は良好なり
----
Pwirelessで接続しておき、NetworkWizardでスキャンする。この組み合わせだとNetworkWizardでもスキャンがうまくいく。ESSIDなどを入力しSAVE。このプロファイルを使うをクリックし、自動DHCPからIPを取得。この設定を保存しますかでYesをクリック。
Profileを開き、Channel番号、周波数が設定されていたら削除する。
結局これなのだが、このあと実験的にコマンドを打ったり、いたずらにWizardを起動しない方がよい。これで引っかかると何処かにその設定が残るようで不安定に見える…ような気がする。
詳細は備忘録編にて。
posted by タロ兵衛 at 01:52| Comment(2) | TrackBack(0) | 無線LAN

2008年11月25日

無線LAN再び(4.1.1版)おまけ

無線LANの設定を調べているうちに、接続当初は1MBPSという超低速で接続されることが分かった。(なんか遅いなぁとは思っていたが、ここまで落ちているとは)
無線ルータとの距離も見通しも悪いコンディションとは思えないのだが…、希に54MBPSまで上がっていたりするが、最後まで上がらないこともある。
iwconfigのヘルプをみたときに通信レートが指定できることを知ったので試しに54Mになるようにコマンドラインから叩いてみた

 # iwconfig wlan0 bit 54M

効果抜群だった。使用感は劇的回復
なんであんなに落ちるのだろう。クオリティ80は切ることはないし(これじゃ足らないのか?)、54Mで使っていても不都合は起きないし・・・

それよか、接続できない現象が出にくくなった。このまま沈黙されるのも気持ち悪いなぁ…
posted by タロ兵衛 at 21:09| Comment(0) | TrackBack(0) | 無線LAN

2008年11月21日

無線LAN再び(4.1.1版)その6 安定せず

最近購入した無線NICを試すも変化なし。自動接続したりしなかったり不安定のまま。(WLI3-CB-G54L)
SSが悪いのか??。
Puppy4.00と異なり、4.1.1ではスクリプトファイルが生成されるのではなく、設定ファイルだけのようだ。原因が例のWaitにあるならお手上げである。
しかし、スクリプトを書けば済むのなら、rclocal辺りに書けばできそうだが上手くいかない。4.00のコマンドでは足らないようだ。
それとも自動設定がなまじ働いていて、4.00のコマンドを書いても設定を壊されてしまうのだろうか。それともデバイスドライバ自体が違うのか?4.00の入れられないかな。
謎は深まるばかり。
posted by タロ兵衛 at 01:46| Comment(0) | TrackBack(0) | 無線LAN

2008年11月19日

無線LAN再び(4.1.1版)その5 失敗

一昨日は何度でもインストールできたが今日、再確認したらNGだった。しかも成功率は10%ぐらい
なんとも不安定。いったいどうなっているのだ…。Puppyが悪いのでは無いことを祈りつつ、新しい無線NICで挑戦しなおそう。
フォーラムに無線LANの設定のバグ修正版が上がっていたなぁ。日本語化だけの問題なのかもしれないけど。
インストールは何度かやれば設定できるので、設定ができた時点で、通常の再起動の試験にしよう。俺の能力では追い切れないし。
(今日は携帯からのUPテスト)
posted by タロ兵衛 at 20:24| Comment(0) | TrackBack(0) | 無線LAN

2008年11月18日

無線LAN再び(4.1.1版)その4一応完了

よくはわからないがWLI-CB-G54+puppy4.1.1での無線LAN設定はプロファイルを手動設定することで落ち着いた。
これなら、OS初期インストール状態からでも、設定後の再起動でも確実に接続できるようになった。
たぶんもう少し新しい無線NICなら自動的に設定OKな気がする。4.0よりは随分よくなったと思う。
手順は別途備忘録としてまとめるとして、プロファイルはこんな感じ(hogeは適時変更)
TITLE="hoge"
WPA_DRV=""
WPA_TYPE=""
WPA_AP_SCAN=""
ESSID="hoge"
NWID=""
KEY="hoge"
MODE="managed"
SECURE="open"
FREQ=""
CHANNEL=""
AP_MAC="hoge"

posted by タロ兵衛 at 01:02| Comment(0) | TrackBack(0) | 無線LAN

2008年11月17日

無線LAN再び(4.1.1版)その3

どうにもこうにも安定しない。4.0のときと同じでどこかでwaitを入れないといけないのかもしれない。
手打ちでコマンド(iwconfig)をコツコツ打って変化を確認してみた。
特にエラーは発生しないが最期のdhcpcdは接続失敗となる。IPを決め打ちしてpingを試みるがNG
成功時と失敗時の大きな違いは周波数のようだ(成功時:失敗時:この時の無線ルータの設定は:)…というかチャンネルである。チャンネルか?
これの初期値はだれが決めるのか?初期化時にスキャンするのでは?してないのかな…
むりやりスキャンする方法はないのだろうか。wirlesswizradにあるがイマイチ捕まえないような気がする。
ルータの設定を4.0ご推奨に固定すれば良いのか?
posted by タロ兵衛 at 00:00| Comment(0) | TrackBack(0) | 無線LAN

2008年11月13日

無線LAN再び(4.1.1版)その2

なんだか長引きそうな気配。
pup_save.2fs を削除して、まったくの初期状態から再設定する。
今回はDHCPとの接続も失敗しているようで、NICの初期化としては上手くいっていない様子。Network wizradもやり方を変えて何度か試すが変化はない。
ifconfigの結果もお寂しい限り。
昨日の接続成功は何だったのだろうか?とにかく設定の組み合わせ方が分かれば解決できるのだが。

puppyインストール直後は高速起動のための準備があるからかもしれない。(ブート時に次回から高速起動の旨のメッセージが出るように)
次回はもう一度 pup_save.2fs を削除して、ブート条件が落ち着いてからNetwork wizradを掛けてみよう。
posted by タロ兵衛 at 00:00| Comment(0) | TrackBack(0) | 無線LAN

2008年11月12日

無線LAN再び(4.1.1版)

puppy 4.1.1本体のインストールも一段落したので、無線LANの設定に着手。
4.1は無線LAN強化と聞いていたが、dynabook SS とPCMCIAの無線LANカードは相性が悪いのかアクセスランプどころかPOWERランプも点灯しない。4.00のときは通信できなくても点灯ぐらいはしたのだが。
振り出しに戻るかと思ったがifconfigを見てみると、DHCPからのIPアドレスがしっかり設定されている。試しにルータ宛てにpingを打って見たが何故か応答は無かった。どうやってDHCPからアドレスもらったのだろう?…
活線でPCMCIAカードを抜くと、ちゃんと無効に変化。再度挿入したが、無効のまま。プラグアンドプレイとはいかないようだ。
試しに違う無線LANカードを挿して再起動し、wizardで設定してみるとDHCPからの新しいIPアドレスが設定された。このカードもLEDは点かない。
こちらはpingも通るので、SeaMonkeyを起動すると普通に使えた。
もとのカードに戻し、ネットワークのwizardで設定しなおすとこちらもSeaMonkeyまで普通に使えるようになった。しかも、再起動でもちゃんと使える。最初のトラブルは設定ミスだろうか。それとも違うカードで成功して何かが変化したのだろうか…
ここはpup_save.2fsを 削除 して初期状態から再度やってみよう。
posted by タロ兵衛 at 00:00| Comment(0) | TrackBack(0) | 無線LAN

2008年09月06日

無線LANあるべき姿(その7)最終回

最後は大団円とタイトルに書きたかったが、今日で最終回とした。本家の4.10alpha7のrc.networkを覗いてみたら、全部書き直されていた。
条件は多いがキレイなコーディングになっていた。その中にはeth0modeは無かった(もしかしてwizrad流すと出来るのかな?)。
これ以上4.00のrc.networkをいじる意味が薄れてしまった。
さておき。昨日見つけたifconfig eth0 downのコメントアウトの結果はってえと、効果抜群。再起動でもキッチリ動いてくれた。いじりまわしていたので念のためクリーンインストールしなおして2箇所だけ修正してみた。問題なく動作した。
実験中はバックグランドを止めていたがバックのままでも動く(sleep)ようだ。dateは時計が止まっているのか?

(1) eth0wirelessのkey設定の前にsleep 1を挿入
(2) ifconfig eth0 down をコメントアウト(↓このコメント行で検索)
#i think should bring ${INTERFACE} down first, then bring up again...
#ifconfig ${INTERFACE} down ←これ

まぁ、追い込んで動かなくしているところを修繕したが何であそこでeth0をdownするのかはさっぱり分からなかったなぁ。コメント読んでも関連が良く分からなかった。
posted by タロ兵衛 at 00:00| Comment(0) | TrackBack(0) | 無線LAN

2008年09月04日

無線LANあるべき姿(その6)追跡

残ったssidをeth0modeから出して、rc.networkの中で少しずつ位置を変えてみた。
if文が沢山あり、その条件を机上で確定しきれないので(デバッガのトレースが欲しい^^;)、thenとelseの直後にechoを入れてログでトレースすることにした。結果は全部elseだった(つまり、IF文の殆どは例外用ってことか?)。
足跡を逆に辿り、ssidが効かなくなるポイントを追跡して漸く捉えた。んで、そこには ifconfig eth0 down と書かれていた。
このコマンドの勢力範囲は不明だが、downはいかんだろうと思う。しかもこの後、upしている様子もない。まぁこれで動くのも如何なものかと…。
今日はおいらの電池切れた。ここまで。
posted by タロ兵衛 at 00:00| Comment(0) | TrackBack(0) | 無線LAN

2008年09月03日

無線LANあるべき姿(その5)多重の障害

keyの消える件は2度目のiwconfigで再書込に成功するので、1度目のkey設定とその前のmode設定の間にスリープを入れてみる。
-------------
#Configure the wireless interface
echo "Configuring wireless interface eth0"

ifconfig eth0 up
sleep 3
iwconfig eth0 essid "000000000000"
iwconfig eth0 mode managed
sleep 1 # ←これ
iwconfig eth0 key open 00000000000000000000000000
-------------
成功。keyが消えることは無くなった。
eth0mode 側に入れたiwconfig eth0 keyをコメントアウト
これも成功。これでeth0mode側の記述は不要と考え、残りもコメントアウト。
これは再起動には耐えられなかった。
どうやら、障害は2重に起きていたようだ。いままでの組み合わせの中には動いたものがあったのかもしれない。
とにかく、複数あった問題の一つは片付いた。
eth0mode 側に入れたiwconfigを一つずつコメントアウト。essidだけが有ればいいことが分かった。
今日はここまで。次はssidをeth0modeから出して、少しずつ位置を変えてみよう。
posted by タロ兵衛 at 00:00| Comment(0) | TrackBack(0) | 無線LAN

2008年09月02日

無線LANあるべき姿(その4)書かれないkey

リダイレクションによるログ取りが結構効率が良いので、次はiwconfigのログをとってみる。
(なんでこれ最初に気がつかなかったんだろう…)
結果は信じられないことになっていた。途中で無線LANのkeyが消えている。設定されない時がある。と書くのが正確な表現か。これでeth0wirelessとeth0modeの両方に入れれば動作する訳がわかった(と、思った)。eth0mode側の4行をコメントアウトして、eth0wireless側で2組iwconfigを呼ぶようにしてみる。…NG!。でもログにはきちんとkeyが記録されている。wifiのアダプタに書けないときがあると言うことだ。keyの設定を残して、再び eth0mode 側のiwconfigを復活させてみる。
繋がる。いったいどうなっているだ…
posted by タロ兵衛 at 00:00| Comment(0) | TrackBack(0) | 無線LAN

2008年09月01日

無線LANあるべき姿(その3)不安定

eth0wirelessの4行を切ったり貼ったりするが、不安定で特定できない。一つ言えるのは4行とも、eth0wirelssとeth0modeにあれば安定して起動するということである。
読めないスクリプトを頑張って読んでみる。
eth0modeとeth0wirelessはそれぞれrc.networkから呼ばれていた。
条件のネストはさほど深くないが複雑。過去の変更の記録が書かれているのは良いが、初めての人間がこのコードを追うにはうっとうしいばかり。
大雑把にはこんな感じ。

rc.network
いろいろ


いろいろ

if(〜wirelessが合った場合)
〜wirelessを実行

いろいろ


いろいろ
〜modeを実行

本来の実行文は少ないようだが、どの条件が効いているかわからん。

時間的にも不安定で起動時間やXの起動時のグレー画面の時間が伸び縮みする。date コマンドをリダイレクトしてテキストに動作時間のログを残してみる。
殆どあっという間であんなに沈黙時間が長いとは思えない。iwconfigだけが長引かせているわけではないようだ。
試しに所々sleepを入れてみた。なんと1秒たりとも眠った形跡がない。みんなすっぽ抜け状態。
いろいろいじるが変化なし。みんなすっぽ抜け。
起動時のテキスト表示を見ていると、[background]の表示が目に付く。もしかして裏側ではタイマー利かんか?。rc.confのネットワークの設定を表に持ってくる。再起動してログを見るとsleepが利き始めた。
元のスクリプトにもsleep使ったところがあるが大丈夫なのだろうか。
さて、これで落ち着くかと思いきや不安定は続く。
posted by タロ兵衛 at 00:00| Comment(0) | TrackBack(0) | 無線LAN

2008年08月31日

無線LANあるべき姿(その2)eth0wirelessは生きていた

再起動でもちゃんと接続できるdynabookとそうでないssの違いを調べているが、これといった違いは見つからない。
eth0modeもeth0wiarlessも内容はほぼ一緒。
比較作戦は失敗のようだ。
問題のssのeth0modeにはeth0wirelessの内容を書いてある訳で不要なはず。eth0wirelessを削除して見る。起動しなかった。つまりどこからも呼ばれていない訳ではなく、それなりに機能していて必要なものであった。たかだか4行の情報の何が悪さをしているのか少しずつコメントアウトして実験して見た。
簡単に分かると思いきや、動作が安定しない。どうも再起動ではだめで、電源からの再起動でないと再現性が無いようだ。これは設定不良というより、ハード的に不安定なのか?と思うようになった。
posted by タロ兵衛 at 00:00| Comment(0) | TrackBack(0) | 無線LAN

2008年08月30日

無線LANあるべき姿

dynabook-ssの無線LANは強引な方法で起動時、自動で接続させているが、世の中のPuppyすべての無線LANがそうである訳が無い(フォーラムの書込は結構あるけど)。ちゃんと動いているのも沢山あるはず。その設定を真似ればあるべき姿になるのだろう。
てなわけでもう一台のdynabookでやって見ることにした。パーティションに余裕がないのでCDブート+USBメモリに記録のスタイルとした。
このマシンは4年ほど前の機種でセレロンMの1.4Gだが、puppyにかかっては動作サクサク。でも家族用なので飛ばすと偉いことになるので少々緊張。
インストールは極めてスムーズ。無線LANもpuppyの「おまかせ」で設定完了。
さて問題の無線LANの再起動はってぇと。…しっかり再設定されて普通に使えるではないか。答えは身近なところにあった。
これで何処に違いがあるかを調べれば答えがでるはず。(の前に、こんな場当たりじゃなくてドキュメントが欲しいなぁ。あってもやっぱ英文かな)

この臨時PC、最初はCDでブートで、途中からUSBメモリにバトンタッチ。ここからは静かにXが立ち上がる。
どうやらこのマシン、PCカードのHDDからもブート出来るらしく、ここからCF起動しても面白いかも。ただし、Puppyの方が、すっぴんではPCカードを認識しないだろうから、途中からはUSB引き継ぎかな。
今日はここまで。
posted by タロ兵衛 at 08:55| Comment(0) | TrackBack(0) | 無線LAN

2008年07月23日

無線LAN自動接続成功

(迷惑書き込みのため、このページにはコメントが付けられません)
無線LANの設定が保存されておらず、起動の毎に再設定していたが、無謀な(多分真っ当ではないだろう)方法で、起動時に自動再接続が出来るようになってしまった。
「一丁やってみよう!」のネットワークのWizardで普通にLANに接続できるまで無線LANを設定する。
すると/etc/に eth0mode なるファイルに設定されるとのこと。確かにタイムスタンプが今日付になって鎮座ましましておられる

目を横にやると、無線LANに関係するらしいファイルもできている。eth0wireless だ。
中をみるとessidとかkeyとか見覚えのある内容だ。Wizardでセットした内容そのものが見れる(…見れて良いのか?はちょっと置いとく)

Linuxは素人で、検証するすべもないが、このファイルがさっきのeth0modeから呼ばれていないのか、元の/etc/rc.d/rc.networkから呼ばれていないのでは?と推察できる。

どちらからか呼び出したいが、その技量もないので、内容をそのままテキストで埋め込んでみようと。
rc.networkは複雑でいじれそうもないので、eth0modeの頭からマージすることにした。
こんな感じ↓(このDynabook-SSの場合。条件の異なるPCではどうなるかはわからない)

# eth0wireless の内容ここから
# ssidやkeyは公開するものではないので仮のデータ(0000・・・)。

#Configure the wireless interface
echo "Configuring wireless interface eth0"
ifconfig eth0 up

iwconfig eth0 essid "000000000000"
iwconfig eth0 mode managed
iwconfig eth0 key open 00000000000000000000000000

# eth0wireless の内容ここまで
# 以降は eth0mode の元々の内容

echo "Trying to get IP address from DHCP server (60sec timeout)..."
echo "Trying to get IP address from DHCP server (60sec timeout)..." > /dev/console
rm /etc/dhcpc/dhcpcd-eth0.pid 2>/dev/null #if left over from last session, causes trouble.
rm /etc/dhcpc/dhcpcd-eth0.cache 2>/dev/null #ditto
rm /etc/dhcpc/dhcpcd-eth0.info 2>/dev/null #ditto
if [ ! -f /root/.dhcpcd.duid ];then
[ -d /etc/dhcpc ] && dhcpcd eth0 || dhcpcd -I '' eth0
else
#[ ! -d /var/lib/dhcpcd ] && mkdir /var/lib/dhcpcd
#[ -s /root/.dhcpcd.duid ] && cp /root/.dhcpcd.duid /var/lib/dhcpcd/dhcpcd.duid
dhcpcd eth0
fi

先頭にマージしたのは、eth0modeの中にDHCPの記述があって、無線部分が動いていなくては、DHCPもNGだろうと思ったから。

再起動や電源OFFからの再起動を数回やったが、全部上手く接続できた。
ここでもう一度、接続 Wizard を使うとこの設定が上書きされて消えてしまうと思う。
posted by タロ兵衛 at 00:00| 無線LAN