2009年10月13日火曜日

NetWalkerのBluetoothアダプタがスリープで動かなくなる

人の話を良く聞かないという悪い癖を持っています。ものすごく為になる話を聞いているのに、「俺のとは違うな...」とか。
それで、NetWalkerでサスペンドすると、Bluetoothが無効になってしまう、すなわちLEDがピコピコしない件で、やっぱり人の話はちゃんと聞くべきだなと深く思ったんですが、最初から順を追って説明します。
直接関係ないんですが、どうも最近、いつ本題にはいるのか自分でも予測できなくなっています。そこで、こまけぇ事はいいんだよ!の人に為に文中リンクも付けときました。スキップはこちら

では最初は私のNetWalkerの通信環境からですかねやっぱり。
viliv S5とかVAIO Type Pとか(あと、LOOX UとかLOOX Pとか、あと片手位ですが他のはあんまり電源入れてないな。VAIO Uはもう使って無いけど名機だよね。あ、あとU100)複数のPCを持ち歩いているとモバイルでインターネットにつなぐときにどうやって繋ぐかが問題となります。つなぎ放題の回線契約にはイーモバイルでも5000円位かかります。機種毎に通信カードとか差しっ放しにするのは廃人のやることで、私は廃人ではありませんのでちゃんと考えてあります。
便利なのはBluetooth接続です。例えばイーモバイルTouch Diamond S21HTにはBluetoothが付いています。S21HT付属のインターネット共有というのを起動して接続ボタンを押しておけば、PC側からBluetooth PANでインターネット接続できます。速度は1M以下とBluetooth無線部分で遅くなってしまいますが、差し替え無しで複数のPCから利用できる無線の便利さには代えがたいものがあります。

途中ですが言わせて下さい。私が「すみません。すみません。降ります。降ります。」と言って一生懸命満員電車中3席めから降りようとしているのに、私の前塞いで黙って降りる素振りだけでみんなが空けてくれると思ってるおじさん、勘弁してください。どかない下々の者が悪いとか思ってるんでしょうか。ちゃんと降りようとするか、一度避けて黙ってフォローミーするか、どっちかにしてください。

続けます。さらに、S21HTにどっかからもってきたDUN(ダイヤルアップネットワーク)のソフトを入れると、S21HTを常時待ち受けにしておいて、PC側からの操作のみでインターネット接続が出来ます。これまた快適。Bluetoothは目的毎にプロファイル(PANとかDUNとか)が用意されていて、目的のプロファイルが機器に無いとお手上げですが、逆にプロファイルがあればPC側に追加のデバイスドライバーとかが要らないのもいいですね。
さて、私も以前はS21HTの標準のインターネット共有だけで運用していました。掲示板等で「DUN最高」「PANで満足してる奴は情弱」(いずれも意訳)と言われているのを見て「携帯の片手程度の操作が省略出来ないといかんって、どんだけ面倒くさがり屋さんだよ...」と思っていたのですが、実際やってみるとこりゃ便利。目からウロコが落ちまくりです。やっぱり人の言うことはちゃんと聞いた方がいいですね。必要な人はWM6_BT_DUNでググって下さい。

それではここでやっとNetWalkerの話へ。

いや、しかし平日の更新はしんどいですな。さっきまで朝電車の中で書いていたんですが、既に退社して京王新宿で電車待ってます。昼休みとかも眠くて書けないし。
さっき会社の人にマックのタダ券をもらったので、クォーターパウンダーというのを食べたんですが、いやはやすごい油で、NetWalkerを打つどころかカバンから出すことも出来ません。垂直に立てて端から食べていて、ふと気づくとパンの間に挟まった肉が、その肉の重みだけでずるずると下に下がっており、握ったバーガーの後ろ半分はバンズが無くて肉だけになってしまっています。いや、途中で気付いてよかった。それから、つい新宿ヨドバシに寄ったりして、いやホント平日の更新は大変です。
でも、なんとか電車に座れたので、ここからはゆっくり落ち着いて書けそうです。

さて、朝の話でS21HTを使ってBluetooth DUNが出来る所まで書いてる訳ですが、NetWalkerからもバッチOKです。Bluetoothアダプタは適当なのを挿せば再起動で勝手に認識するし、Bluetoothスタックは追加と削除でbluetoothで検索して適当に入れればbluezというのが入るようです。私はBluetooth Analyzerというのを入れました。
それからpppの設定とかググりながら色々やって目出度くNetWalkerがDUN接続可能になるわけですが、すみません。ちょっとはしょります。はしょりまくって、いや~もうNetWarkerからBluetooth DUNすごい快適! ってところから。

さて、目出度くNetWalkerからさくさくインターネットにつながっている訳ですが、一つ問題があります。NetWalkerをスリープしてまた入れると、なぜかBT-MicroEDR2のLEDがピコピコしない。tail /var/log/syslog見るとbluetoothd[11717]: Can't init device hci0: Connection timed out (110) とか出てるじゃないすか。sudo /etc/init.d/bluetooth restartとかsudo /usr/sbin/hciconfig hci0 resetとかやっても、直ったり直らなかったり直らなかったり、いややっぱり直らなかったりします。
いや、これは苦労しました。
個体差かと思って同じBTアダプタもう一個買ったり、さらに別のBTアダプタを二個買ったり、USBハブをかますと何故か認識するので出先でバスパワーUSBハブを買いに走ったりして、なんとかかんとか快適なNetWalker生活を送っていたですよ。
そのころTwitterで耳にしたのが、「スリープ時にデバイスをちゃんと終了するようにすれば直る」という噂です。聞いたのはだいぶ前だったと思います。しかし私は「なんかsyslog見るとhci0終了してるみたいだし、再起動しても直らなかったりするし」...「俺のとは違うな...」と思って、相変わらずスリープにしてBTアダプタ一旦抜いて電源入れてからアダプタさしてこれで復活!あれ?光んないぞ? とかやっておりました。

さて、昨日の夜分かり易くまとめたブログ http://nockforager.blogspot.com/2009/09/netwalker_21.htmlを見つけたので、ふっと素直な気持ちになってその通りやってみました。
ピコピコピコ(LEDの光る音。心の中の) スリープ ウェイクアップ ピコピコピコ スリープ ウェイクアップ ピコピコ 光る、光るぞ!
その後、今日テストした限りでは、ppp切らずに(poffせずに)スリープすると、さすがに次回光らないが、それ以外はほぼ固い感じがします。


それではここから本題です。ショートカッターなみなさん、ここからこんにちは。
Bluetoothアダプタのスリープ復帰問題を改善する設定ですが、先程のブログはLinuxな人向けだと思うので、私の手順でご紹介したいと思います。
手順短いです。
まずsudo geditで

#! /bin/sh
/usr/sbin/hciconfig hci0 down >/dev/null

こんなファイルを作って、例えば
/etc/acpi/suspend.d/50-netwalker.sh
という名前で保存します。
後でググって知ったのですが、ここでファイル名の先頭が数値でないと実行してくれないそうです。最初はここで失敗しました。
しかし、天性の非IT系企業内インチキユーザーSEである私は、頭が数値必須である事を知る前に既に、20091012-netwalker.shと、ちゃんと頭が数値のファイル名を付けていたのですが、実行されず。数値デカすぎ。素直に既にあるファイルの前後の数値をつけましょう。
その後、sudo chmod 755 /etc/acpi/suspend.d/50-netwalker.sh で設定終わりです。
サスペンド試したら、grep down /var/log/syslog
でdownを検索して、
Oct 13 21:01:49 XXX bluetoothd[12157]: HCI dev 0 down
みたいに、サスペンドした時間にログが見つかれば実行成功です。

いや、話は長いけど手順は短いね。でも手順が長いよりはいいよね?
あ、今気付いたけどpoffもやっとくか。でもpoffからdownまでの時間待ちの入れ方が判らないや。

0 件のコメント:

コメントを投稿