トップ «前の日記(2005年08月20日 (土)) 最新 次の日記(2005年08月22日 (月))» 編集

*Messages*

Search

書いてる人: しまだみつのぶ (aka. simm, saica)

最新情報URL: https://gouketsu.net/simm/d/

"8024402C"でたどり着かれた方はこちら: 「壁の内側からWindowsUpdateに失敗する


2005年08月21日 (日) [長年日記]

1 [comp][Linux] Debian で CG-WLCB54GL を認識させる (後編)

昨日の時点では、カードの抜き差しでネットワークの有効・無効を切り替えることができなかったので、切り替えられるように設定。

hotplug

interfaces(5) によると、どうやら、/etc/network/interfaces に

allow-hotplug eth1

の1行を入れておけばいいらしい。これは、hotplug をインストールしておく必要があるが、最初からインストールされているらしいので、とくに何もせず*1上の1行を追加し、カードを挿してみたところ、うまく接続できた。

ifplugd

上の結論に至るまで、いろいろネット上での調べものをしながら行ったのだが、その際、最初のうちは

  1. PC(DynaBook G5/X16PME)内蔵の有線LANにケーブルを接続する
  2. ifup eth0
  3. ネットを利用
  4. ifdown eth0
  5. ケーブルを抜く

という手順をとっていたのだが、どうやら、ifplugd を使えばケーブルの抜き差しだけで有効・無効の切り替えが可能だ、ということがわかったので、設定する。

# apt-get install ifplugd

でインストールする際、最初の質問に eth0 と入力しておくことで実現できた。

今回は使用していないが waproamd

ifplugd の無線LAN版のようなものとして、waproamd というものがある模様。これを用いると、見つかったESSID毎にWEPキーを切り替えて接続しにいくことができるらしいが、そのような使い方をする予定がないのと、なぜかうまく動かなかったので、今回は使用しない。

「うまく動かなかった」

うまくうごかない原因をちょこっと調査。

まず、設定スクリプトに echo をあちこちはさんで動かしたところ、何も出力がない。試しに、スクリプトの先頭に echo をはさんだが、やはり何も出力がなかった。

そこで、出力ログとソースを見比べたところ、どうやら、iw_set_hostroam() の中の

    if(ioctl(i->fd, SIOCGIWPRIV, &req) < 0)
        return -1;

    if (req.u.data.length <= 0)
        return -1;

    for (j = 0; j < req.u.data.length; j++)
        if (!strcmp(pa[j].name, "host_roaming"))
            break;

    if (j >= req.u.data.length)
        return -1;

の部分のいずれかの条件にひっかかり、エラー扱いとなって、先にすすんでいない模様。req.u.data.length の調査は行っていないが、ここから先は手がだせそうにないので、調査打ち切り。

参考資料

今回の設定の際、いろいろGoogleで調査しながらすすめていったが、とくに、最も参考にした資料は、Debian リファレンス第10章 - ネットワークの設定

*1 インストールされていない場合は apt-get install hotplug でインストールすべし。


Information

更新情報取得方法

*Messages* の更新情報取得には、antenna.lirs もしくは index.rdfをご利用ください。 豪傑アンテナLIRSからも取得可能です。