Linuxで無線LANのON/OFF
ディスプレイの切り替え等のFn+ファンクションキーの組み合わせは、ibm-acpiで利用できるようになりますが、Fn+F5キーに対する割り当てがBluetoothのON/OFFになっています。Bluetoothを搭載していないX40シリーズはFn+F5の割り当ては無線LANのON/OFFなのですが、ibm-acpiでは利用できない模様。(X60からは、無線LANのスイッチがあった気がします)
そもそも、Linuxの無線LANドライバでは、電波のON/OFFが出来ないのかと思っていたのですが、「ワイヤレスLANマネージャ」で無線のON/OFFができ、その際に
iwconfig 'eth1' 'txpower' 'off'
をしていることが分かりました。
acpi_listen
コマンドで、Fn+F5キーを押したときに、ibm-acpiが
ibm/hotkey HKEY 00000080 00001005
を送信していることを確認しました。さらに、ACPIのイベントが発生した時の動作は、/etc/acpi/events/*で設定できるようなので、早速、同ディレクトリにwlanonoffというファイルを作成し、以下のようにしました。
event=ibm/hotkey HKEY 00000080 00001005
action=/usr/sbin/wlanonoff.sh
/usr/sbin/wlanonoff.shは次のようなシェルスクリプトです。無線LANアダプタはeth1、無線LANの電波を止めるだけのスクリプトです。これだけで、Fn+F5で電波を止められます。
#!/bin/sh
#WLAN OFF
iwconfig 'eth1' 'txpower' 'off'
本当は、無線LANアダプタを自動的に取得したり、ON/OFFを切り替えられたりするようにするべきですが、シェルスクリプトを使いこなせていないので、今はこの辺で。/etc/acpi/events/*を編集した後は、
/etc/init.d/acpid restart
でACPIデーモンの再起動を忘れずに。
ThinkPadの調子が悪い
最近、ThinkPadの調子が悪い。こんな症状があります。
- ワイヤレスのアクセスランプが点灯したままで、AccessConnectionからNICが認識できないことがある(Intel Wireless Pro 2200GB)
- 有線LANが反応しないことがある(Broadcom NetXtreme)
- スタートメニュー等から「Windowsの終了」をクリックした後に表示される、シャットダウンダイアログが表示されるまでが遅い(2分ほどかかる)
前者2つは、ドライバーとAccessConnectionを削除して、再導入しても効果無し。WLANはIntelのドライバーを修復インストールすると一時的に良くなります。修復インストールも1回目はインストーラーが固まるので、2回に分けないと修復できません。
有線LANはケーブルの状態さえ検出できません。ipconfig
コマンドを叩くと、
Windows IP Configuration
と表示されるだけで、何も出てこない。デバイスを無効にしたりすると、シャットダウン等ができなくなります。
3つ目は、常駐やサービスを落としたりしても、発生するので、シャットダウン前にFile Monitorを走らせて見ました。そうするとWindowsUpdate.logへの大量のアクセスが…。開いてみると、
Shutdown FATAL: WUCheckForUpdatesAtShutdown failed, hr=80240FFF
とりあえず、Auto Updateサービスを落としてみると、改善されるので、WindowsUpdateが原因であることが分かりました。
あと、ソフトウェアの導入支援でインストールに失敗する「タブレット・ショートカットメニュー」は一度古いバージョンを手動で削除する必要があるようです。