https://blog.csdn.net/xuzhina/article/details/43969499 有的时候,开发时需要用到设备的pci ID,如用dpdk来绑定某个网卡,需要用网卡的...pci ID。...下面有一些方法是可以获取pci ID的。 1.使用lspci命令。...如 02:00.0 USB controller: Intel Corporation 82371AB/EB/MB PIIX4 USB 02:01.0 Ethernet controller: Intel...controller: VMware USB2 EHCI Controller 第一列就是PCI ID,后面就是设备名和供应商名称。
根据USB规范的规定,所有的USB设备都有供应商ID(VID)和产品识别码(PID),主机通过不同的VID和PID来区别不同的设备,VID和PID都是两个字节长,其中,供应商ID(VID)由供应商向USB...或Flash)的设备固件中,当USB设备连接主机时,如果固件中有设备生产商的VID和PID,会将该VID和PID报告给主机,而忽略主控生产商的VID和PID。...所以理论上一个USB存储设备的VID应该是设备生产商的VID,而不是主控生产商的VID,这两个VID应该是不同的(主控生产商自己生产的设备除外)。...,这个问题大家在使用USB设备的过程中需要注意。...Windows下的USB设备信息查看工具UsbView http://download.csdn.net/detail/pzm/4116971 。 USB线对连两台电脑传数据
Linux 内核源码:include\linux\usb.h Linux 内核源码:drivers\hid\usbhid\usbmouse.c 1....BUS/DEV/DRV 模型 "USB 接口"是逻辑上的 USB 设备,编写的 usb_driver 驱动程序,支持的是"USB 接口": USB 控制器或 Hub 识别出 USB 设备后,会创建、...左边的 usb_driver 和右边的 usb_interface 如果匹配,则调用 usb_driver.probe 2....接口函数 在 USB 设备驱动程序中,能使用的 USB 函数都在这个头文件里:include\linux\usb.h。...2.1 pipe 使用这些接口函数的主要目的是传输数据,传输数据的对象是 USB 设备里的某个 endpoint,这被称为 pipe: /* Create various pipes... */ #define
通过扫描以下目录获取物理节点所有 USB 设备: /sys/bus/usb/devices/usb* /sys/bus/usb/devices/usb*/$busnum-* 从该文件系统收集某一个设备的主要信息如下...(该总线的第几台设备) speed: 速率 bDeviceClass: 设备类型 idVendor: 设备的生产商ID,由USB设备生产商向USB-IF官方来统一管理和申请 idProduct: 该生产商生产的产品编号...# 定位某一个 USB 设备的方法有两种: busnum + devnum idVendor + idProduct 设备类型bDeviceClass# 类代码 用法 描述 00h 设备描述符 Use...参考文献# USB设备类bDeviceClass、bDeviceSubClass、bDeviceProtocol By USB 中文网 USB设备描述符中的idVendor、idProduct和bcdDevice...By USB 中文网 USB 硬件设备的序列号 By IBM 注:本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。
相信很多人都有一个疑问,就是:电脑是怎么知道插入电脑的usb设备的产品名的? 其中一种方法就是,根据usb设备的vendor_id和product_id,然后从数据库中查找产品名称。...这种方法可行的原因是,usb设备的制造商id和产品id是由usb组织分配的,因此可以通过这两个id来查数据库,从而获取设备名称。...比如,在DragonOS中,一个USB3设备的设备描述符如下: Found USB Device: port: 6 len: 18 ...: 0x0951 product id: 0x1666 release ver: 01.10 manufacture index: 1 (index to a...http://www.linux-usb.org/usb.ids 转载请注明来源:https://longjin666.cn/?p=1539
Linux3.11版本引入了基于configfs的usb gadget configfs。...(gadget_strings, gadget_info); [include/linux/usb/gadget_configfs.h] #define USB_CONFIG_STRINGS_LANG(...下面是获取usb_function_instance的过程。...3.2.3.获取function 下面是获取usb_function的过程。...将获取到的uac2的usb_function挂到config_usb_cfg的func_list链表。
为了消除这种可能性,机构会限制和监测访问互联网,同时禁用 USB 存储设备。 在本教程中,我们将讨论三种不同的方法来禁用 Linux 机器上的 USB 存储设备。...方法 2:删除 USB 驱动 这种方法要求我们将 USB 存储的驱动程序(usb_storage.ko)删掉或者移走,从而达到无法再访问 USB 存储设备的目的。...方法 3:将 USB 存储器纳入黑名单 我们也可以通过 /etc/modprobe.d/blacklist.conf 文件将 usb-storage 纳入黑名单。...usb-storage 保存文件并退出。...usb-storage 就在就会被系统阻止加载,但这种方法有一个很大的缺点,即任何特权用户都可以通过执行以下命令来加载 usb-storage 模块, $ sudo modprobe usb-storage
当USB设备插上主机时,主机就通过一系列的动作来对设备进行枚举配置(配置是属于枚举的一个态,态表示暂时的状态),这些态如下: 1、接入态(Attached):设备接入主机后,主机通过检测信号线上的电平变化来发现设备的接入...; 2、供电态(Powered):就是给设备供电,分为设备接入时的默认供电值,配置阶段后的供电值(按数据中要求的最大值,可通过编程设置); 3、缺省态(Default):USB在被配置之前,通过缺省地址...0与主机进行通信; 4、地址态(Address):经过了配置,USB设备被复位后,就可以按主机分配给它的唯一地址来与主机通信,这种状态就是地址态; 5、配置态(Configured):通过各种标准的USB...请求命令来获取设备的各种信息,并对设备的某此信息进行改变或设置; 6、挂起态(Suspended):USB总线处于空闲状态的话,该设备就要自动进入挂起状态,在进入挂起状态后,总的电流功耗不超过280UA...是 是 __ __ __ __ __ __ 是 设备在至少3毫秒以内探测不到总线活动,自动进如挂起.设备功能不可用. 下图为设备状态转化图:
起因 近期,学校开始对研究生实验室这边进行设备安全大检查,需要我们每个人填写自己的实验室设备信息并上报。我顺手把获取设备的过程记录了下来。...获取设备信息 硬盘序列号 查看台式机上的硬盘情况: sudo fdisk -l 可看出我的台式机上有 /dev/sda1 和 /dev/sdb1 两块硬盘: WARNING: GPT (GUID Partition...Device Boot Start End Blocks Id System /dev/sda1 1 976773167 488386583...Device Boot Start End Blocks Id System /dev/sdb1 2048 312580095 156289024...83 Linux 接下来,直接查看 指定硬盘 的 序列号(有的人是 /dev/hda): sudo hdparm -i /dev/sda SerialNo 字段 即为 硬盘序列号: /dev
2.音频复合设备驱动 从前面的分析中可以看出,复合设备驱动围绕usb_composite_driver和usb_composite_dev两个数据结构展开,legacy方式的复合设备驱动也不例外。...(audio_driver); // 注册audio_driver [include/linux/usb/composite.h] #define module_usb_composite_driver...[include/linux/device.h] #define module_driver(__driver, __register, __unregister, ...) \ static int...USB gadget configfs根据名称查找USB设备控制器,而legacy方式只匹配第一个USB设备控制器,无法匹配指定的USB设备控制器。...若要使用音频设备,则只能通过g_audio驱动构造复合设备,若使用USB虚拟网卡,则只能通过g_ether驱动构造复合设备,若需要多个功能的USB设备,则需要重新构造复合设备,编码定义usb_composite_driver
不同设计里,Linux DRM子系统里设备ID不一样。每次修改,费时费力,也容易出错。 因此写了以下脚本,自动查找encoder_id,crtc_id,connector_id等。...=`modetest -D $display_device | grep -i TMDS | cut -f 1` echo "encoder_id: $encoder_id" export crtc_id...=`modetest -D $display_device | grep "0,0" | grep 0x00000001 | cut -f 1` echo "plane_id: $plane_id" overlay_plane_id...=`echo $plane_id | cut -d " " -f 1` echo "overlay_plane_id: $overlay_plane_id" prime_plane_id=`echo $...plane_id | cut -d " " -f 2` echo "prime_plane_id: $prime_plane_id"
最近 VMware 莫名其妙的卡,开机一会就开始卡死了,找了好多办法也不行,暂时先换 VirtualBox,已安装但在使用网银 U 盾等 USB 设备时,无法识别 USB 设备。
当OTG设备检测到接地的ID引脚时,表示默认的是A设备(主机),而检测到ID引脚浮空的设备则认为是B设备(外设)。...只有而言支持USB OTG的设备(即可以做USB Host有可以做Slave的设备),USB_ID信号才有意义。...当设备检测到USB_ID信号为低时,表该设备应作为Host(主机,也称A设备)用。 当设备检测到USB_ID信号为高时,表示该设备作为Slave(外设,也称B设备)用。...实际的USB连接线中,是没有USB_ID这根线的。 都是在接口部分直接拉死的的。...对于Host端,只需将连接线的USB_ID pin和地短接即可, 对于Slave端,USB连接线的USB_IDpin是悬空的。(设备内部上拉)。
2.Gadget Function驱动 Linux内核的USB Gadget Function驱动都在drivers/usb/gadget/function/目录下,有通讯设备类(Communication...中的alloc_inst回调函数获取usb_function_instance,然后将usb_function_driver的指针设置到usb_function_instance中,最后返回usb_function_instance...usb_get_function函数通过回调alloc_func函数获取并初始化usb_function。其他API可参考源代码。...*fd) // 从Gadget Function API层获取usb_function_instance struct usb_function_instance *usb_get_function_instance...Linux 3.11版本引入了USB Gadget Configfs。在用户层可以通过暴漏出来的API定义USB Gadget设备的任意功能和配置,极大的方便了USB复合设备的配置和使用。
有的用户需要大批量的获取EasyGBS在线设备的国标编号,也就是设备的ID值,从EasyGBS前端是无法调用的,该功能可以通过接口调用来实现。下面我们讲一下实现方法。...1.首先在EasyGBS内调用登录接口 2.调用查询国标设备列表接口,注意此处必须加上online参数 3.调用出来的国标设备列表接口会将在线的设备展示出来,并且会返回一个ID值,此ID值就是设备编号...4.我们将此接口在linux内进行运行,会得到一个list文件 5.使用linux命令获取指定的id值参数 6.查看1.txt里面就是所有在线设备的国标编号了 除了以上这种接口的调用之外,EasyGBS
一、USB设备状态 在USB 2.0协议中第 9.1 USB Device States 章节规定了USB设备的6种状态,包括: Attached/Powered/Default/Address/Configured...在 Linux Kernel ch9.h 文件中用 enum usb_device_state 来标记这几种状态。...// /include/uapi/linux/usb/ch9.h enum usb_device_state { /* NOTATTACHED isn't in the...其中struct usb_gadget是用来标记一个USB设备的信息。此时USB设备的状态就可以确定了。...比如说在USB设备的枚举阶段,在composite_setup()函数中USB设备接收到了USB Host发过来的USB_REQ_SET_CONFIGURATION命令后调用set_config()设置相应的配置
一.背景: arm linux的内核版本是3.13.0 二.准备工作 添加alsa驱动到内核中,也就是在编译内核的时候加入以下选项: ?...接下来就重新编译内核即可 三.交叉编译alsa-lib和alsa-utils (alsa-utils是一系列的音频设备控制工具,而alsa-lib是alsa-utils依赖的库,所以先将alsa-lib...从5.3可以获取到”numid=8,iface=MIXER,name='Mic Volume‘“这条信息,从Mic Volume可以得知是Mic的音量 amixer cget numid=8,iface...,注意fat32是不支持软链接的,此时需要直接复制一个aplay并将名称改为arecord: cp aplay arecord 总结 以上所述是小编给大家介绍的arm linux利用alsa驱动并使用...usb音频设备 ,希望对大家有所帮助!
从started_list链表中获取一个USB请求。...若端点空闲,则获取端点资源索引,用于辨别是那一次传输。...2.7.map和unmap USB请求 dwc3驱动在发送USB请求的时候需要调用usb_gadget_map_request映射缓冲区,获取缓冲区的DMA地址。...获取DMA的操作函数集合dma_map_ops,RK3399上使用swiotlb_dma_ops。...获取DMA的操作函数集合dma_map_ops,rk3399上使用swiotlb_dma_ops。
USB 设备就必须回答"我是 xxx", 并且回答的格式是固定的。USB 总线驱动程序会 发出某些命令想获取设备信息(描述符),USB 设备必须返回"描述符"给 PC。 问 5....一个 USB 设备: 只有一个设备描述符:用来表示设备的 ID、它有多少个配置、它的端点 0一次最大能传 输多少字节数据 可能有多个配置描述符:用来表示它有多少个接口、供电方式、最大电流...: Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Device Descriptor: bLength...0xff power power power power power power Device Status: 0x0001 Self Powered Bus 002 Device 003: ID...power power power power power power power Device Status: 0x2909 Self Powered Bus 002 Device 002: ID
一系列相互独立的端点在一起构成了USB逻辑设备,在系统结构中,位于下方红色方框内: 二、端点的分类 每个USB设备都有一个唯一的设备地址,设备地址是设备连接上主机时由主机分配的,主机主要依靠这个设备地址对...USB设备进行访问。...但是需要注意其中的一个特殊端点--端点0,每个USB设备必须要有一个端点0,其作用为对设备枚举和对设备进行一些基本的控制功能,端点0也被称为控制端点。...五、端点与管道 1、管道的概念 管道是主机软件(数据缓存区),和USB设备各各端点之间的数据传输连接,他是两者之间通信流的抽象(实际上数据传输是USB总线接口完成)。...首先,主机向USB设备发出一个请求;接着,就是数据的传送;最后,是一个状态阶段(这部分即一次命令请求的过程)。
领取专属 10元无门槛券
手把手带您无忧上云