
我有一個基於 Linux 的開發板,上面有 DWC3 USB 控制器驅動程式。我已經在 USB 驅動程式中實現了鏈路電源管理(L2 狀態)。 Ubuntu是我的開發板透過USB連接的主機。
我需要使用 shell 腳本執行 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