FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Ubuntu 無線LAN WLI-UC-GNHP 再起動

Ubuntu 11.04でWLI-UC-GNHPを使っているのですが、結構な頻度でra0:avahiが起動してしまいます。
avahiとは、ネットワークが見つからない時にどうにかネットワークを構成しようとするプログラムらしく、一定時間以内にネットワークが見つからないと起動してしまうようです。

そんなわけで、ra0:avahiが出てきてしまったときはネットワークの再起動を行います。
$sudo ifconfig ra0 down
$pidof wpa_supplicant | sudo kill
$sudo /etc/init.d/networking restart
これで大抵の場合、接続出来ます。またra0:avahiが出てしまったら、再度行います。何度やっても無理ならネットワークが本当におかしいかもしれないので、ルータなどを見直してみてください。

pidof~の部分ですが、ネットワークマネージャー等を削除していないとwpa_supplicantが二つ以上存在して、実行できませんので、ご注意下さい。要は以下のことがやりたいわけです。
$ps -A | grep wpa
1003 ? 00:00:00 wpa_supplicant
1121 ? 00:00:00 wpa_supplicant
$sudo kill 1003
$sudo kill 1121

一々手動で再起動するのが面倒になってきたので、自作のネットワーク通知スクリプトに書き加えてみました。

追記:sudoは対話的処理のため、スクリプト中に書くと失敗するようです。root権限で実行するなりしないと無理そうです・・・。
修正版はこちら → http://ragranje.blog73.fc2.com/blog-entry-192.html

#!/bin/bash

exec 3> >(zenity --notification --window-icon /usr/share/pixmaps/gnome-irc.png --listen --text 'ネットワーク接続中...')

count=0
# check
while test $count -lt 100
do
# check IP
r="`ifconfig | grep 192.168.113.`"
if test -n "${r}"
then
echo "message:ネットワークに接続しました。" >&3
break
else
if test `expr ${count} % 20` -eq 0
then
echo "message:ネットワークに接続中..." >&3
fi
fi
# check ra0:avahi
r="`ifconfig | grep ra0:avahi`"
if test -n "${r}"
then
echo "message:network restart..." >&3
`sudo ifconfig ra0 down`
`pidof wpa_supplicant | sudo kill`
`sudo /etc/init.d/networking restart`
count=0
fi
# count
count=`expr ${count} + 1`
sleep 1
done

if test $count -eq 100
then
echo "message:ネットワークの接続に失敗しました。" >&3
fi

exec 3>&-

コメントの投稿

管理者にだけ表示を許可する

プロフィール

sin

ニックネーム:sin

趣味でプログラムの作成などをしています。

Google+1
最新記事
カテゴリ
検索フォーム
リンク
最新コメント
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。