Problem Statement
在windows服务器中,提供对USB设备的访问是由GFI管理的。在Linux中是否有任何开源工具可以完成同样的工作。我想阻止基于设备类的USB设备。我在找add-on或some set of commands。我希望在Linux服务器中安装外接程序,并根据组提供对客户端系统的访问。
tried out
我看过关于“如何在linux中阻止usb存储设备”的文章。如图所示。
我已经安装了Debian6.0操作系统(Linux内核2.6.32 )来测试我的USB应用程序以及驱动程序。
我的USB设备在USB2.0端口上运行良好,没有任何问题。
但是,当我试图在USB3.0端口上连接相同的设备时,它被列举为USB2.0,而不是我从dmesg输出中看到的USB3.0设备。
下面是我的设备的dmesg输出日志,它被枚举为USB2.0设备,而不是USB3.0,即使在USB3.0端口上也是如此。
[ 945.271232] usb 3-1.2: new high speed USB device using ehci_hcd and address 4
这是带有xhci支持
我是一个C编程新手,在这里我想检测一下Linux中是否插入了USB,我想在我的嵌入式linux设备上检测这个东西。它们都有定制的linux。所以我想要检测USB的块,在那里我必须挂载这个块。比如sda,sdb or sdc。我想用linux下的C编程来解决这个问题。
这里我有usb设备的路径/sys/bus/usb/devices,我可以看到usb的信息在这里,/sys/bus/usb/devices/1-x,所以我想获取这个usb插入位置的地址,比如sda,sdb or sdc。因此,在获取这个地址名称之后,我必须在特定的路径上挂载usb。
那么,有谁可以建议我如何检测usb是否插入?如果插
我正在寻找一种方法,使USB设备显示好像它有不同的供应商和产品it。我试图让一个专有的软件与USB设备一起工作,USB设备应该被支持,但是仅仅因为它的ID而被拒绝。
该软件适用于Windows,但我可以在Linux中的VM中运行它。所以我对任何一种方法都没意见,不管怎么做都行:
在Linux中更改USB ID
在Windows中更改USB
使Qemu (或其他一些类似的)更改直通中的USB ID
我创建了一个包含Android的Docker映像,并试图在运行此映像的容器中公开我的Android手机。因此,我使用了--privileged标志并按以下方式安装了USB设备:
$ docker run --privileged -v /dev/bus/usb:/dev/bus/usb -d -P my-android:0.0.1
但是,当我运行亚行设备时,它没有向我展示USB设备:
ubuntu@d56b666be455:~/Android/Sdk/platform-tools$ ./adb devices
* daemon not running. starting it now on p
在我的Python程序中,我需要不断地检查是否有一个新的USB驱动器连接到我的设备上,运行x86 Linux (Ubuntu)。其他USB设备不应被误认为是USB驱动器,如键盘、鼠标或其他任何设备。做这件事最好的方法是什么?
在我的特殊情况下,我有一个自定义的媒体播放器设备,由运行Linux的x86单板PC驱动。
我试图匹配使用udev的设备,并在设备每次连接时(通过RUNS)运行一个命令。设备(一个V4L2 USB摄像头)总是连接到同一个USB端口,所以我想我可以依靠KERNELS属性来匹配它。我一直认为设备的sysfs路径将是持久的,但是对于连接到同一个USB端口的同一设备,我看到了不同的路径和KERNELS值:
$ udevadm info -a /dev/video0
...
looking at device '/devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1.4/3-1.4:1.0/video4linux/video0':
我正在尝试检测USB插入,而不管它是什么设备。例如:一个电话,一个电池组,一个生物识别系统等,这可能是或不可能被Linux所识别(没有驱动器,也没有任何“驱动/运行”)。据推测,Linux将检测USB插入(独立于设备),然后继续注册并仅对已识别的设备进行操作。例如,它将在/dev/bus/ USB / etc中列出已识别的USB设备详细信息。相反,我想捕获/处理插入到USB插槽中的所有内容。这大概意味着,我不能依赖像udevadm这样的东西,因为它只会影响到公认的设备。这也意味着我需要在曲线的早期捕获插入事件。我该怎么做?
我有一个名为(AverMedia C875 USB-07ca:0875)的HDMI捕获设备,它有用于Windows和Mac的驱动程序,但没有为Linux提供驱动程序。由于它有Mac支持,在Linux下可以从这个设备访问原始数据吗?
当设备以PC模式连接时,这就是在dmesg中显示的内容:
usb 3-3: new high-speed USB device number 3 using xhci_hcd
usb 3-3: Device not responding to set address.
usb 3-3: Device not responding to set address.
us
我正在System76 Galago上运行Artix。当我插入USB设备时,它显示为/dev/usb/003/00X。
示例lsusb输出:
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 5986:9102 Acer, Inc BisonCam,NB Pro
Bus 003 Device 002: ID 05dc:a815 Lexar Media, Inc. JumpDrive V10
Bus 003 Device 004: ID 8087:0026 Intel Cor
当插入USB设备时,dmesg记录Linux内核识别它,这里dmesg还描述了prosa中的产品(在下面的示例中是“USB2.0摄像机”)
[ 12.621009] Linux video capture interface: v2.00
[ 12.685253] uvcvideo: Found UVC 1.00 device USB 2.0 Camera (0c45:6340)
[ 12.712522] input: USB 2.0 Camera as /devices/pci0000:00/0000:00:1d.7/usb1/1-1/1-1:1.0/input/input8
我
我想要使用的外部USB键盘被识别为USB设备,但是当Linux被引导时,它就没有功能了。它在插入Windows桌面时工作,在grub中工作,但在系统启动时不起作用。
该设备可在USB端口上看到(05a4:8003):
$ lsusb
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 002: ID 046d:c078 Lo