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

おすすめ記事