Como retomar o dispositivo USB após a configuração de suspensão seletiva no host Ubuntu

Como retomar o dispositivo USB após a configuração de suspensão seletiva no host Ubuntu

Eu tenho uma placa de desenvolvimento baseada em Linux na qual o driver do controlador USB DWC3 está presente. Implementei Link Power Management (estado L2) no driver USB. Ubuntu é o host ao qual minha placa de desenvolvimento está conectada via USB.

Preciso realizar testes de regressão de suspensão e retomada de USB usando script de shell. Eu consegui escrever uma parte dele,

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

Dispositivos no Ubuntu 14.04: /dev/ttyACM0 /dev/ttyACM1 /dev/ttyACM2 /dev/ttyACM3

O script acima poderia executar apenas suspensão (a cada 10s), mas não consigo continuar como retomar o dispositivo.

Responder1

Para retomar o dispositivo suspenso

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

Isto deve ativar o dispositivo suspenso. Você pode verificar o estado do dispositivo usando

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

informação relacionada