昨日の時点では、カードの抜き差しでネットワークの有効・無効を切り替えることができなかったので、切り替えられるように設定。
interfaces(5) によると、どうやら、/etc/network/interfaces に
allow-hotplug eth1
の1行を入れておけばいいらしい。これは、hotplug をインストールしておく必要があるが、最初からインストールされているらしいので、とくに何もせず*1上の1行を追加し、カードを挿してみたところ、うまく接続できた。
上の結論に至るまで、いろいろネット上での調べものをしながら行ったのだが、その際、最初のうちは
という手順をとっていたのだが、どうやら、ifplugd を使えばケーブルの抜き差しだけで有効・無効の切り替えが可能だ、ということがわかったので、設定する。
# apt-get install ifplugd
でインストールする際、最初の質問に eth0 と入力しておくことで実現できた。
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 でインストールすべし。
*Messages* の更新情報取得には、antenna.lirs もしくは index.rdfをご利用ください。 豪傑アンテナ の LIRSからも取得可能です。