Ubuntu ホストで選択的サスペンド構成後に USB デバイスを再開する方法

Ubuntu ホストで選択的サスペンド構成後に USB デバイスを再開する方法

DWC3 USB コントローラー ドライバーが搭載された Linux ベースの開発ボードがあります。USB ドライバーにリンク電源管理 (L2 状態) を実装しました。Ubuntu は、開発ボードが USB 経由で接続されているホストです。

シェルスクリプトを使用してUSBサスペンド・レジュームの回帰テストを実行する必要があります。その一部を書き上げることができました。

**usb suspend-resume.sh**

path=1-10
echo auto > /sys/bus/usb/drivers/usb/$path/power/control 
echo 10 > /sys/bus/usb/drivers/usb/$path/power/autosuspend

sleep 10

iteration="10"
count="0"

while [ $count -lt $iteration ]
do
    rs=$(cat /sys/bus/usb/drivers/usb/$path/power/runtime_status)

    if [ "$rs" = "suspended" ]  
    then    
        echo usb is suspended
        sleep 5     
        count=$((count+1))
    fi
done

Ubuntu 14.04 上のデバイス: /dev/ttyACM0 /dev/ttyACM1 /dev/ttyACM2 /dev/ttyACM3

上記のスクリプトはサスペンド(10秒ごと)のみ実行できましたが、デバイスを再開する方法に進むことができません。

答え1

一時停止したデバイスを再開するには

echo on > /sys/bus/usb/devices/$path/power/control

これにより、停止中のデバイスがアクティブになります。デバイスの状態を確認するには、

cat /sys/bus/usb/devices/$path/power/runtime_status

関連情報