0

/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
4

0 に答える 0