我连接了USB相机,我需要将其重置或关机并打开电源,因为它经常会从/ dev / video0或1中丢失。
尝试以下代码后,似乎正在实现我的目标。
正确关闭USB设备,然后正确启动。
除了现在面临的重大问题外,一切似乎都很好,我重启系统的那一刻,现在使用lsusb我再也看不到我的USB设备了。 (当我尝试使用另一台PC,相同的操作系统或不同的操作系统时,该设备仅在此PC中完美运行,因为我运行了以下代码,它完全死了)
有人可以解释为什么会发生这种情况吗?如何在这台机器上取回这个"046d:082d"
设备?
#!/bin/bash
usb="046d:082d"
cam=$(lsusb | awk "/$usb/ {print $6}")
echo $cam
if [ ! -z "$cam" -a "$cam" != " " ]; then
for X in /sys/bus/usb/devices/*;
do
a=$(cat "$X/idVendor" 2>/dev/null)
b=$(cat "$X/idProduct" 2>/dev/null)
c="$a:$b"
if [ ! -z "$c" -a "$c" != " " ] && [ "$c" == "$usb" ]; then
d=$(echo $X | sed "s/\/sys\/bus\/usb\/devices\///g")
echo "[FOUND] $d"
# Power down
echo ROOT_PASS | sudo -S sh -c "echo 0 > /sys/bus/usb/devices/$d/authorized"
sleep 2
# Power up
echo ROOT_PASS | sudo -S sh -c "echo 1 > /sys/bus/usb/devices/$d/authorized"
lsusb
break
fi
done;
fi