ubuntu 13.10 サスペンド後 Wi-Fi が無効のままの対応

http://ubuntuforums.org/showthread.php?t=2182128&p=12830153#post12830153

acer Aspire 1830Z 上の Ubuntu 13.10 でサスペンドさせた後など、高頻度でWi-FiがOffになったまま、有効化できない状態になる。

Windows とデュアルブートにしているので、そのたびにWindowsで立ち上げなおして、Wi−Fiを有効にして、再度再起動してUbuntuに入りなおしている

 

2014/4/29 追記

rfkill コマンドで、有効/無効化することができる。

http://docs.fedoraproject.org/ja-JP/Fedora/14/html/Power_Management_Guide/RFKill.html

多くのコンピュータシステムが、Wi-Fi、Bluetooth、及び 3G のデバイスを含む電波発信器を格納しています。これらのデバイスは電力を消費し、 使用されない時には無駄になります。

Linux カーネル内のサブシステムである RFKill は、コンピュータシステム内の電波発信器が、クエリ、アクティベート、 そしてディアクティベートされる土台のインターフェイスを提供します。発信器がディアクティベートされていると、それらはソフトウェアが 再アクティベートできる状態(ソフトブロック)に置かれるか、又はソフトウェアが再アクティベートできない状態 (ハードブロック)に置かれます。

電波を発信するI/Fのリスト取得

$ rfkill list
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
1: i2400m-usb:2-1.4:1.0: WiMAX
Soft blocked: yes
Hard blocked: no
2: acer-wireless: Wireless LAN
Soft blocked: no
Hard blocked: no

サスペンドさせる場合

block {id}|all

$ rfkill block 0

復帰させる場合

unblock {id}|all

$ rfkill unblock 0

 

スクリプトでも作成して、デスクトップに置いておく

とりあえず、以下のようなスクリプトを作成し、デスクトップに置いておいて、wifi 切れてたら実行する。

#!/bin/bash
rfkill unblock wifi

 

chmod +x ファイル名 で実行可能にしておく。

 

2014/4/30 追記

結局、上記の対応では、Softwareブロック の ON/OFF しかできず、これは、Fn + F3 のキーボードショートカットでできることと変わらなかった。。。

以下の状態になってしまったら、rfkill ではONにできなくなってしまう

0: phy0: Wireless LAN
        Soft blocked: no
        Hard blocked: yes

以下を参考に再度対策をとる

  1. http://yanagisawa.hatenablog.com/entry/20101230/p1
  2. http://ubuntuforums.org/archive/index.php/t-1745317.html

/etc/modprobe.d/blacklist.conf に以下の一行を追加

blacklist acer-wmi

↑これで解決!

acer-wireless が、表示されなくなり、Fn + F3 で、Softblockedではなく、Hard blockedが切り替わるようになった。

$ rfkill list
0: phy0: Wireless LAN
	Soft blocked: no
	Hard blocked: no
1: i2400m-usb:2-1.4:1.0: WiMAX
	Soft blocked: yes
	Hard blocked: no

↓ ↓ ↓ ↓ 以下の対応では、解決せず。ここまで、2014/4/29 追記

 

いい加減うっとおしくなってきたので、対策をさがして対応。

sudo touch /etc/pm/sleep.d/wakenet.sh
sudo chmod +x /etc/pm/sleep.d/wakenet.sh
sudo gedit /etc/pm/sleep.d/wakenet.sh

以下の内容を記述して保存

#!/bin/bash
case "$1" in
thaw|resume)
nmcli nm sleep false
;;
*)
;;
esac
exit $?

一度サスペンドさせて復帰してもWi-Fi生きていた。しばらく様子見。