Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 现在如何将设备恢复到操作系统中?一旦我执行命令,它就永远消失了_Linux_Bash_Ubuntu_Linux Kernel_Usb - Fatal编程技术网

Linux 现在如何将设备恢复到操作系统中?一旦我执行命令,它就永远消失了

Linux 现在如何将设备恢复到操作系统中?一旦我执行命令,它就永远消失了,linux,bash,ubuntu,linux-kernel,usb,Linux,Bash,Ubuntu,Linux Kernel,Usb,我连接了一个USB摄像头,我需要重置它或关闭电源再打开电源,因为它经常在/dev/video0或1中丢失 在尝试了以下代码之后,它似乎对我的目标起到了作用 它正确关闭usb设备的电源,然后正确打开电源 一切似乎都很好,除了现在面临的大问题,从我重新启动系统的那一刻起,现在使用lsusb,我再也看不到我的usb设备了。(当我尝试使用另一台电脑、同一个操作系统或不同的操作系统时,该设备仅在这台电脑上工作正常,因为我运行了下面的代码,所以它完全死掉了) 有人能解释一下为什么会发生这种情况,以及我现在如

我连接了一个USB摄像头,我需要重置它或关闭电源再打开电源,因为它经常在/dev/video0或1中丢失

在尝试了以下代码之后,它似乎对我的目标起到了作用

它正确关闭usb设备的电源,然后正确打开电源

一切似乎都很好,除了现在面临的大问题,从我重新启动系统的那一刻起,现在使用lsusb,我再也看不到我的usb设备了。(当我尝试使用另一台电脑、同一个操作系统或不同的操作系统时,该设备仅在这台电脑上工作正常,因为我运行了下面的代码,所以它完全死掉了)

有人能解释一下为什么会发生这种情况,以及我现在如何在这台机器上取回这个
“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

您是否添加了任何udev规则(但忘记删除它们)?…:)另外,请确保您将设备连接到的usb主机(
usbX
)默认授权设备。运行以下命令
echo 1>/sys/bus/usb/devices/usbX/authorized_default
,然后断开并重新插入usb-camera。在步骤1:摄像头正在工作,如lsusb中所示步骤2:由于驱动程序不兼容,我需要关闭和打开电源,以便脚本对我起作用步骤3:应用该脚本的那一刻否更多现在lsusb显示步骤4:我已经重新启动了几次,但没有运气相机不显示。对于你的问题,不,我不一定使用udev,echo 1在这个系统中永远消失之前就已经应用了。摄像机本身在其他系统中工作,仅在该系统上工作。任何其他想法?正如您也可以看到的,我的所有文件都已授权\u默认值是1个示例:$
cat/sys/bus/usb/devices/*/authorized\u默认值1
插入相机时,您可以共享
dmesg
的输出吗?。。。