我有一个运行的嵌入式设备。我需要检测一个USB驱动器。因此,当插入USB驱动器时,我需要自动将数据从USB复制到嵌入式设备的内部内存。
为了检测USB,我使用以下代码:
DIR* dir = opendir("/media/sda1/");
if (dir)
{
printf("USB detected\n");
//rest of the code
//to copy data from the USB
}
这正常工作,但有时复制完成后,我删除USB,但挂载点(sda1)的名称仍然在那里。因此,移除USB后,它再次尝试复制数据(因为sda1在
在中用于USB的任何API或库(我将在其中编写的函数)将不需要更改它们运行的平台?这样,我的应用程序无论在Windows、Linux和Mac?上都能运行。
我的应用程序将完成的工作基本上是
获取USB设备的名称
能够在用户注销之前判断设备是否仍然停靠在计算机上。
很好地弹出usb设备,而不是从字面上说,这将是荒谬的,比如安全地删除Windows。
实时检测usb设备上所消耗的空间和空闲空间的数量。
我在上找到了,但在他们的页面上说:
javax-usb-ri-windows : This is an ABANDONED Windows implementation. i
我试图在我的Windows 10笔记本电脑上的VM上运行Kali。我已经尝试了几乎所有的教程,我可以找到使适配器工作,但没有任何效果。
以下是我迄今为止所做的
创建了一个USB过滤器
弹出适配器
VM中的引导Kali
把适配器插回去了。
我已经检查了设备下的设备> USB。Windows也没有使用该设备。当我运行lsusb时,我得到了以下输出:
Bus 001 Device 002: ID 0bda:b711 Realtek Semiconductor Corp. 802.11n WLAN Adapter
Bus 001 Device 001: ID 1d6b:0002 Linux F
我已经安装了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是否插入?如果插
Problem Statement
在windows服务器中,提供对USB设备的访问是由GFI管理的。在Linux中是否有任何开源工具可以完成同样的工作。我想阻止基于设备类的USB设备。我在找add-on或some set of commands。我希望在Linux服务器中安装外接程序,并根据组提供对客户端系统的访问。
tried out
我看过关于“如何在linux中阻止usb存储设备”的文章。如图所示。
我正在寻找一种方法,使USB设备显示好像它有不同的供应商和产品it。我试图让一个专有的软件与USB设备一起工作,USB设备应该被支持,但是仅仅因为它的ID而被拒绝。
该软件适用于Windows,但我可以在Linux中的VM中运行它。所以我对任何一种方法都没意见,不管怎么做都行:
在Linux中更改USB ID
在Windows中更改USB
使Qemu (或其他一些类似的)更改直通中的USB ID
我有一个名为(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
我正在编写Powershell脚本,用于卸载连接好的USB磁盘,之后它将运行一些PS代码,然后它应该再次挂载USB驱动器。
Powershell脚本用于上面的Windows 7和上面的MS Server 2012。我认为安装弹出式USB磁盘的最佳方法是在设备管理器中禁用/启用USB海量存储设备,因为此后可以重新安装USB磁盘。当USB磁盘从主板上卸下后,设备管理器中的USB海量存储设备就会将其状态更改为安全删除(错误47),因此根据这一“错误”,USB磁盘很容易识别。
#Identify connected USB disk/s and dismounting
$usbDrives = @
在我的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这样的东西,因为它只会影响到公认的设备。这也意味着我需要在曲线的早期捕获插入事件。我该怎么做?
我正在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