モブ沢工房

プログラミングとかLinux関連(特にOSSのグラフィックツール関連)とかレトロゲームとか3Dプリンタやら日曜大工等、色々。

Ubuntu 14.04でのサスペンド障害について(無理矢理に解決編)

何故かうちの環境(Asrock H77M)では起きていたUbuntu Linux 14.04でのUSB3.0がらみのサスペンド障害。

どういう症状かというと、

  1. USB3.0なHDDなどを使う
  2. thunarやnautilusなどで「取り出す」
  3. サスペンドに入る

すると何もしなくても勝手に復帰してしまう、という。

どうもかなりレアな現象の模様…(というかまさかハードウェアの故障ではあるまいなぁ) 検索するとどうも、AsrockではWindowsでも起きているっぽいのですが…

解決しますた!(キリッ

いままでは

#!/bin/bash

cmdstr="disabled"

while [ "$1" != "" ];do

    case $1 in
    -e | --enable)
        cmdstr="enabled"
        shift 1
        ;;
    -h | --help)
        show_helpdoc
        exit 0
        ;;
    * )
        echo $1 is unrecognized option
        shift 1
        ;;
    esac

done


function exec_disable
{
    local syspath=/sys/bus/pci/devices/0000\:00\:${1}.0/power/wakeup
    local state=`cat $syspath`

    if [ "$state" != "$cmdstr" ];then
        echo "echo '${cmdstr}' >  $syspath"
        echo "${cmdstr}" >  $syspath
    else
        echo $syspath has been already set as $cmdstr
    fi
#echo "echo '${cmdstr}' >  /sys/bus/pci/devices/0000\:00\:${1}.0/power/wakeup"
#echo "${cmdstr}" >  /sys/bus/pci/devices/0000\:00\:${1}.0/power/wakeup
}

exec_disable 1d
exec_disable 1a
exec_disable 14

などというスクリプトを書き、これを/etc/pm/sleep.d/においた自分用設定から呼び出してUSBからのリジュームを不能にするという強制的手段を使っておりました *1、が。

↓コイツを買って取り付けました。エアリアの4WING2。

さすがは名門ルネサスのD720201チップ搭載品、そしてLinuxゆえに面倒なドライバインストールは不要。まさにプラグしてプレイするだけ。

うむ、問題なく機能しております。って実家のPCがルネサスUSB3.0サスペンドに問題なかったんで、多分大丈夫だろうとは思っていましたがw

わずか2000円ぽっちで解決♪

Linuxって逆に金使う気がしなくもない、今日このごろ(便利だからいいけど)

*1:USBキーボードからのレジュームができなくなるが、PC本体のパワーボタンで代用可能