Как возобновить работу USB-устройства после выборочной приостановки конфигурации на хосте Ubuntu

Как возобновить работу USB-устройства после выборочной приостановки конфигурации на хосте Ubuntu

У меня есть плата разработки на базе Linux, на которой присутствует драйвер контроллера USB DWC3. Я реализовал Link Power Management (состояние L2) в драйвере USB. Ubuntu — это хост, к которому через USB подключена моя плата разработки.

Мне нужно провести регрессионное тестирование USB suspend-resume с помощью скрипта оболочки. Мне удалось написать некоторую его часть,

**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

Связанный контент