Win8タブのコネクト スタンバイ時にBluetoothやWIFIを自動的に無効にする

Miix2くんはゲーム専用機

この間 Lenovo Miix 2 8 を買いまして、美少女紙芝居ゲーム専用機としてぼちぼち設定していたのですが、Bluetoothオーディオレシーバと接続した後、スリープにするとバッテリをものすごい勢いで消費して、全然スリープじゃなかったのでその対策を書いておきます。

接続先のBluetoothオーディオレシーバ

この光デジタル出力をアンプに接続しています。ノベルゲーで遊ぶ限りでは遅延も感じられませんし、(Miix2側の都合で)SBCでの接続になりますが、音も悪く無いです。

ゲーム用のストレージとして。64GBもあれば安心…なはず。

注意

Miix 2 8とBluetoothオーディオレシーバに関係した不具合として、スリープ後にペアリングは維持されているものの、本体側から音が出る、という症状があります。Bluetoothのオンオフで直るのですが、大変煩わしいので、必要であれば、原因である「Lenovo Bluetooth with Enhanced Data Rate Software」を削除してください。

デバイスの有効にしたり無効にしたりするにはDevConが使える

Win8.xで機内モードCUIから操作する方法を見つけられなかったので、DevConを使います。

デバイス マネージャーとして機能する DevCon コマンド ライン ユーティリティ

僕の環境でBluetoothを無効にするには

BT-down.vbs

CreateObject("WScript.Shell").Run "devcon\i386\devcon.exe disable ""BCMBTBUS\BLUETOOTH""", 0

有効にするには

BT-up.vbs

CreateObject("WScript.Shell").Run "devcon\i386\devcon.exe enable ""BCMBTBUS\BLUETOOTH""", 0

ちなみにWIFIを無効にするには

WIFI-down.vbs

CreateObject("WScript.Shell").Run "devcon\i386\devcon.exe disable ""SD\VID_02d0&PID_4324&FN_1""", 0

有効にするには

WIFI-up.vbs

CreateObject("WScript.Shell").Run "devcon\i386\devcon.exe enable ""SD\VID_02d0&PID_4324&FN_1""", 0

みたいな感じです。

タスクを登録する

タスクスケジューラーで、Kernel-Powerの506, 507イベントにスクリプトをフックします。

オンにするフック

f:id:ruby-U:20141104135351p:plain

f:id:ruby-U:20141104135353p:plain

f:id:ruby-U:20141104135352p:plain

f:id:ruby-U:20141104135354p:plain

オフにするフック

f:id:ruby-U:20141104135347p:plain

f:id:ruby-U:20141104135348p:plain

f:id:ruby-U:20141104135349p:plain

f:id:ruby-U:20141104135350p:plain

以上で、コネクト スタンバイ中に自動的にBluetoothデバイスをオフにできるようになるはずです。切断されたBluetoothデバイスは、スタンバイからの復帰後、自動的に再接続されます。

ただし、Bluetoothで何らかのデバイスを使用していると、DevConでの操作が反映されないことがあります。この例だと、Bluetoothオーディオレシーバーで音楽を再生していると、DevConでBluetoothをオフにすることができません。「変更は再起動後に反映されます」というやつです。 ゲームを終了させる→スリープにする という手順が必要になります。

うまくLow Power Activityに落ちるとバッテリ消費量は5%/dayぐらい

このぐらいのバッテリー消費量だと、AndroidタブレットiPadに近い感覚で扱えますね。

f:id:ruby-U:20141104135345p:plain

f:id:ruby-U:20141104135346p:plain