vine-users ML アーカイブ



[vine-users:063451] Re: about (wireless) LAN setup script

  • From: Hisao Yamada <yy@xxxxxxxxxxxxxxxx>
  • Subject: [vine-users:063451] Re: about (wireless) LAN setup script
  • Date: Thu, 11 Dec 2003 18:40:39 +0900
MURASE, Masaki wrote:

>村瀬と申します。
>
>Vine Linux 2.6r3 がリリースされたのを機に、
>DELL Latitude CPi D266XT というノートに 
>Vine Linux を載せました。
>
>ネットワークに接続するために、 無線 LAN カードを利用して
>DHCP サーバから IP アドレスを取得しようとしたのですが、
>起動時、並びに、カードを PCMCIA スロットに差した時に自動的に
> IP アドレスを取得することができませんでしたので
>報告致します。
>(昨晩にこの ML を購読したばかりですが、
>既に報告済みでしたらすみません。)
>
>LAN カードを差した直後の log には、
>-----------------------------------------------------------------
>cardmgr[657]: socket 0: MELCO WLI-PCM-L11
>cardmgr[657]: executing: 'modprobe orinoco_cs'
>cardmgr[657]: executing: './network start eth0'
>murasaki.net[3865]: net device is registered
>murasaki.net[3865]: Dependence(net) was found
>murasaki.net[3865]: Executing "net" "start"
>-----------------------------------------------------------------
>というようなメッセージが出力されていました。
>
>調べたところ、 murasaki が net スクリプト -> /sbin/ifup を
>呼び出した時に、 /etc/sysconfig/network-scripts/network-functions
>で定義されている関数 is_available () が 0 と 1 以外を返している
>ことが分かりました。
>仮想端末上で
>$ INTERFACES=eth0 /etc/murasaki/bin/net eth0
>と打ち込むと、 is_available が速やかに  0 を返し、
>DHCP サーバから IP アドレスを取得できました。
>
>  
>
私も、今年の1月に Vine Linux 2.6r1 をノートパソコンにインストールしたときに
同じ現象に悩まされました。問題なのは、is_available ()の中の grep -q $1 の
終了コードが0にならずに1になることですが,kernel から実行されるために,
ifup の実行中に標準出力がないことが原因ではないかと想像しています.
この部分をgrep "$1" >/dev/null に変えると正常に動作するようになります。

% diff network-functions network-functions.new
85c85
< LC_ALL= LANG= ip -o link | grep -q "$1" && return 0
---
> LC_ALL= LANG= ip -o link | grep "$1" >/dev/null && return 0
92c92
< LC_ALL= LANG= ip -o link | grep -q "$1" && return 0
---
> LC_ALL= LANG= ip -o link | grep "$1" >/dev/null && return 0
%

そのときに、このことはすでに解決されていたことを、このメーリングリストで
教えていただきました。
[vine-users:057894] ifup の異常終了
[vine-users:057895] Re: ifup の異常終了
[vine-users:057897] Re: ifup の異常終了
を見て下さい。

横須賀市 山田尚雄
yy@xxxxxxxxxxxxxxxx