/dev/video0または1から頻繁に失われるため、USBカメラを接続してリセットするか、電源をオフにしてからオンにする必要がありました。
この次のコードを試した後、私の目標のために機能しているようです。
USBデバイスの電源を正しくオフにしてから、正しく電源をオンにします。
現在直面している大きな問題を除いて、すべて問題ないようです。システムを再起動した瞬間、lsusb を使用すると、USB デバイスが表示されなくなりました。(別のPC、同じOS、または別のOSで試してみると、次のコードを実行したため、この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