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

관련 정보