Articles of USB

查找哪个驱动器对应于Linux中的哪个USB大容量存储设备

我有几个USB大容量存储闪存驱动器连接到Ubuntu Linux计算机(Ubuntu 10.04.1,内核2.6.32-25-386),我需要以编程方式分开(如果可能的话,从bash中分离出来,但我不害怕编译) – 我需要find哪个块设备对应哪个物理设备(例如/dev/sdb1 – >设备在USB端口1;在我的情况下,一个设备〜一个卷)。 换句话说,我知道我有三个硬件设备插入USB端口, 它们中的每一个都作为USB大容量存储设备(如lsusb所示)显示在系统中,作为块设备( /dev/sdb1 )创build,并由UUID( /media/1234-5678 )自动挂接。 USB device block device mountpoint USB device in port 2.2 <-> /dev/sdb1 <-> /media/1234-5678 我没有试图find块设备和挂载点之间的关系; 我试图find块设备和USB设备之间的关系,有没有办法? 为什么? 在磁盘上会有一些写操作,并有不可预知的完成时间。 我需要给操作员一些指示,例如“现在可以移除端口2(这是从左边的第二个)的磁盘”。 我发现哪个物理端口对应于该特定机器上的哪个端口号,并且从挂载点查找块设备是简单的; 现在我卡住逻辑USB端口映射到块设备。 我可以看到与lsusb的磁盘: Bus 001 Device 058: ID 067b:2517 Prolific Technology, Inc. Mass Storage Device Bus 001 Device 060: ID 067b:2517 Prolific Technology, […]

SetupDiGetDeviceInterfaceDetail仅为所有USB HID对象的path返回“\”

我可以告诉我有多less个USB HID设备(7),但是每次尝试获取任何设备上的详细信息时,返回的path始终为“\”,使得我根本无法访问设备。 我使用的代码在过程中与此代码非常相似: HANDLE connectDeviceNumber(DWORD deviceIndex) { GUID hidGUID; HDEVINFO hardwareDeviceInfoSet; SP_DEVICE_INTERFACE_DATA deviceInterfaceData; PSP_INTERFACE_DEVICE_DETAIL_DATA deviceDetail; ULONG requiredSize; HANDLE deviceHandle = INVALID_HANDLE_VALUE; DWORD result; //Get the HID GUID value – used as mask to get list of devices HidD_GetHidGuid (&hidGUID); //Get a list of devices matching the criteria (hid interface, present) hardwareDeviceInfoSet = SetupDiGetClassDevs (&hidGUID, NULL, […]

监视(嗅探)/ dev / ttyUSB0由FTDI USB串行转换器创build

我想监视(嗅探)由FTDI USB串行转换器创build的/ dev / ttyUSB0的stream量。 我已经在Windows中编写了自己的应用程序,现在我尝试将它移植到linux并使用/ dev / tty / USB0。 我想debugging实际发生的通信。 软件strace不是我的select,因为它只显示ioctl的系统调用。 使用Windows软件“Free Serial Port Monitor”通过嗅探COM1来完成。 dmesg的输出: [16975.000221] usb 7-1: new full-speed USB device number 5 using uhci_hcd [16975.193543] usb 7-1: New USB device found, idVendor=0403, idProduct=6001 [16975.193548] usb 7-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [16975.193552] usb 7-1: Product: FT232R USB UART […]

Linux USB编程

我是Linux内核编程的新手。 我希望开发一个程序来读取USB驱动器信息,如制造商名称,容量等。我知道描述符及其属性。 但我不明白如何枚举连接到系统的USB驱动器。 我正在寻找启动内核和USB端口之间连接的function。 这怎么可能?

如何在C,C ++的Linux操作系统上启动进程

我有无线USB适配器,我使用“pstree”命令来监视所有进程。 当我将USB适配器插入Linux操作系统时,使用“pstree”命令查看新进程“wpa_supplicant”。 我用C / C ++语言。 我知道Linux操作系统将使用“NetworkManager”守护进程来监控networking(eth,蓝牙,wifi等),但我不知道如何启动“wpa_supplicant”? 我可以使用dbus或systemd吗? 感谢Thong LT

寻找embedded式Linux HID设备代码示例

我想将我的embedded式应用程序设置为HID设备,并使用独立的进程来控制HID接口以允许与PC进行dynamic连接。 在那里似乎有很多人已经做了,但我想要做的是: a)了解如何configuration我的版本(使用ltib的飞思卡尔i.MX Linux)以包含USB API并包含在我的版本(即g_hid.h)中。 b)我在哪里可以find一个类似于移动鼠标的示例应用程序来演示HID的操作? 感谢您的帮助!

如果设备已经插入,Linux USB驱动程序探测器不会被调用

如果我在Linux上使用经过修改的usb骨架驱动程序,并使用已插入的USB设备对模块进行insmod,则不会调用探测function。 我需要拔下并重新插入设备才能激活驱动程序。 这不是例如串口驱动程序,我做了一些testing。 是否有一个原因? 如何获取调用函数来调用?

/ dev / input文件已创build,但不包含数据stream

所以,我试图在全新安装的Linux Mint中读取USB设备。 我之前完成的方法是读取/ dev / input / by-id中find的原始stream 该设备正在被检测到,它正在生产预期的设备: $ ls /dev/input/by-id/ usb-Generic_WebCam_SC-13HDL11939N_200901010001-event-if00 usb-Logitech_Logitech_Buzz_tm__Controller_V1-event-if00 但是当我看着使用的文件 tail -f /dev/input/by-id/usb-Generic_WebCam_SC-13HDL11939N_200901010001-event-if00 当我按下某些键时,没有数据输出到terminal。 我试过用sudo,我试过改变文件的权限。 它基本上等待在哪里,不变。 有很多关于设备没有出现的问题,或者在读取文件时IO错误的问题,但是我找不到其他问题的人。 为什么Linux Mint可能会检测到设备,但不能从中读取数据? 其他要求的信息: # ls -lRa /dev/input/by-id /dev/input/by-id: total 0 drwxr-xr-x 2 root root 80 Jul 2 21:38 . drwxr-xr-x 4 root root 360 Jul 2 21:38 .. lrwxrwxrwx 1 root root 9 […]

一个USB2.0集线器上的两个networking摄像头 – 在Windows而不是Linux下工作

下面的openCV代码可以从两台摄像机获取同步图像。 它在Windows中工作正常,相机都连接到一个USB 2.0集线器。 当我在linux上尝试相同的代码时,一次只有一个摄像头的带宽足够大。 我也试着用guvcview同时查看这两个stream。 我需要的是一些强制摄像头一起工作的方式,可能是通过设置驱动程序请求的带宽量。 capture = cv.CaptureFromCAM(0) capture2 = cv.CaptureFromCAM(1) while True: frame = cv.QueryFrame(capture) frame2 = cv.QueryFrame(capture2) cv.ShowImage("w1", frame) cv.ShowImage("w2", frame2) if cv.WaitKey(10) != -1: break

USB驱动程序编译错误

我目前正在编译一个Linux USB UART驱动程序,在这里提供: http : //www.exar.com/connectivity/uart-and-bridging-solutions/usb-uarts/xr21v1410 该驱动程序由2个头文件和一个大C文件组成。 这些是Makefile的内容: obj-m := vizzini.o KERNELDIR ?= /lib/modules/$(shell uname -r)/build PWD := $(shell pwd) EXTRA_CFLAGS := -DDEBUG=0 all: $(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install: $(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install clean: rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions vtty 这是运行make时编译器抛出的错误: [sj755@localhost xr21v141x-lnx-2.6.35-pak]$ make make -C /lib/modules/3.4.9-2.fc16.x86_64/build M=/home/sj755/Downloads/xr21v141x-lnx-2.6.35-pak make[1]: […]