首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux USB 设备基础理论

通过扫描以下目录获取物理节点所有 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 国际许可协议 进行许可。

38230
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux 上如何禁用 USB 存储设备

    为了消除这种可能性,机构会限制和监测访问互联网,同时禁用 USB 存储设备。 在本教程中,我们将讨论三种不同的方法来禁用 Linux 机器上的 USB 存储设备。...方法 2:删除 USB 驱动 这种方法要求我们将 USB 存储的驱动程序(usb_storage.ko)删掉或者移走,从而达到无法再访问 USB 存储设备的目的。.../user 现在在默认的位置上无法再找到驱动程序了,因此当 USB 存储器连接到系统上时也就无法加载到驱动程序了,从而导致磁盘不可用。...usb-storage 保存文件并退出。...usb-storage 就在就会被系统阻止加载,但这种方法有一个很大的缺点,即任何特权用户都可以通过执行以下命令来加载 usb-storage 模块, $ sudo modprobe usb-storage

    10K10

    用于监控USB设备连接事件的取证工具

    usbrip(是“USB Ripper”的简写,而不是“USB R.I.P.”)是一个带有CLI接口的开源取证工具,可用于跟踪/监控Linux机器上的USB设备连接事件(即USB事件历史记录,“已连接”...和“已断开连接”事件)。...)USB设备,这些设备出现在历史记录中但不会出现在auth.json中; 当使用-s标志安装时创建加密存储(7zip存档)以在crontab调度程序的帮助下自动备份和积累USB事件; 根据特定USB设备的...启用-s开关后,不仅会安装usbrip项目,还会创建受信任的USB设备,历史记录和违规存储列表。 注意:在安装期间使用-s选项时,请确保系统日志至少包含一个外部USB设备条目。...events history -ql -n 100 显示外部USB设备的事件历史记录(-e,--external,实际上已断开连接),表示为包含“Connected”,“VID”,“PID”,“Disconnected

    2.3K30

    USB设备状态

    0与主机进行通信; 4、地址态(Address):经过了配置,USB设备被复位后,就可以按主机分配给它的唯一地址来与主机通信,这种状态就是地址态; 5、配置态(Configured):通过各种标准的USB...下表汇集这些外置设备状态之间的转化关系: 连接 加电 缺省 编址 配置 挂起 说 明 不 __ __ __ __ __ __ __ __ __ __ 设备尚未连接至接口.其他特性无关 是 不 __...__ __ __ __ __ __ __ 设备连接至接口,但未加电....是 是 是 不 __ __ __ __ 设备连接至接口,已加电. 并被复位. 是 是 是 是 不 __ __ 设备连接至接口,已加电. 并被复位.且分配了唯一地址. 尚未被配置....是 是 是 是 是 不 设备连接至接口,已加电. 并被复位.且分配了唯一地址,并被配置.设备功能可被使用.

    1.7K20

    USB总线-Linux内核USB3.0设备控制器复合设备之legacy方式分析(八)

    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

    4K40

    USB总线-Linux内核USB3.0设备控制器驱动框架分析(四)

    USB设备控制器通过USB线缆连接USB主机控制器,负责USB数据的发送和接收。...2.Gadget Function驱动 Linux内核的USB Gadget Function驱动都在drivers/usb/gadget/function/目录下,有通讯设备类(Communication...Linux 3.11版本引入了USB Gadget Configfs。在用户层可以通过暴漏出来的API定义USB Gadget设备的任意功能和配置,极大的方便了USB复合设备的配置和使用。...使用usb_del_gadget_udc删除UDC驱动,首先回调pullup断开连接,然后回调udc_stop停止USB设备控制器,最后从udc_list链表中删除usb_udc。...ep_list; // 该usb设备驱动所需的所有端点链表 enum usb_device_speed speed; // 当前连接usb主机的速度 enum usb_device_speed

    10K20

    解决SecureCRT连接网络设备console口失败的问题

    在Windows 10下使用SecureCRT连接交换机控制口即Console口时始终连接不上,其实万事不离其中,今天咱们就来聊聊怎么解决吧!...2、打开SecureCRT,连接交换机的console口,各项配置如下 ? 3、点击连接之后,有的电脑就可以正常连接了,但有的电脑却失败,如果失败请看如下的配置 ? ? ?...4、最后点击确定,最后再重新试着连接,基本上就可以了。 当然也有人失败失败的话建议各位小伙伴看看你的串口线的标准是多少,通常串口线可以有三种标(RS232,RS485,RS424)。...网络设备的标准是RS232,如果你的串口线不是RS232的话也会连接失败。串口线的标准会写在串口线的头上,如果有小伙伴遇到这种情况,可以看看自己的串口线的标准。

    7.1K20

    USB总线-Linux内核USB3.0设备控制器之UDC驱动分析(六)

    STALL(失败) 表示不被支持的控制请求、控制请求失败或端点失败设备在收到不支持的控制请求时,将在数据或状态阶段返回STALL。...2.10.连接和断开 软件可以通过usb_gadget_connect和usb_gadget_disconnect函数控制设备连接主机和设备和主机断开。...将DWC3_DCTL寄存器第31位设置为0时,USB设备停止运行,会和主机断开连接,在将第31位设置为0之前,需要将所有传输的USB请求清空,将31位设置为0之后,需要等待设备和主机断开连接的操作完成,...Function驱动和UDC驱动绑定的时候,实质上是通过usb_udc_connect_control函数控制设备和主机连接和断开。...控制USB设备控制器连接主机,connect-连接,disconnect-断开连接 /sys/devices/platform/usb0/fe800000.dwc3/udc/fe800000.dwc3/

    9.2K20

    arm linux利用alsa驱动并使用usb音频设备

    一.背景: arm linux的内核版本是3.13.0 二.准备工作 添加alsa驱动到内核中,也就是在编译内核的时候加入以下选项: ?...接下来就重新编译内核即可 三.交叉编译alsa-lib和alsa-utils (alsa-utils是一系列的音频设备控制工具,而alsa-lib是alsa-utils依赖的库,所以先将alsa-lib...设置录音时的音量大小 amixer cset numid=8,iface=MIXER,name='Mic Volume' 255 六:注意事项: 如果将编译好的alsa-utils中的工具复制到fat32格式的存储设备的时候...,注意fat32是不支持软链接的,此时需要直接复制一个aplay并将名称改为arecord: cp aplay arecord 总结 以上所述是小编给大家介绍的arm linux利用alsa驱动并使用...usb音频设备 ,希望对大家有所帮助!

    6.2K31

    第4章_USB 设备编程

    4.3.2 硬件线路 下图是兼容高速模式的 USB 收发器电路图: USB 连接涉及 Hub Port 和 USB 设备,硬件连接如下: 4.3.3 电子信号 USB 连接线有 4 条: 5V、D+、D...4.3.4 低速/全速信号电平 4.3.5 高速信号电平 4.3.6 设备连接与断开 1. 连接 Hub 端口的 D+、D-都有 15K 的下拉电阻,平时为低电平。...高速设备一开始也是作为全速设备被识别的。 全速设备、高速设备连接时, D+引脚的电平由低变高: 低速设备连接时,D-引脚的电平由低变高: 2....: 4.3.7 复位 从状态切换图上看,一个 USB 设备连接后,它将会被供电, 然后被复位。...如果 USB 设备原来处于"non-suspend"状态, 并且处于高速模式,它会切换回到全 速模式(重新连接 D+的上拉电阻),然后发出"a high-speed detection handshake

    16910

    linux usb端点

    一系列相互独立的端点在一起构成了USB逻辑设备,在系统结构中,位于下方红色方框内: 二、端点的分类 每个USB设备都有一个唯一的设备地址,设备地址是设备连接上主机时由主机分配的,主机主要依靠这个设备地址对...USB设备进行访问。...但是需要注意其中的一个特殊端点--端点0,每个USB设备必须要有一个端点0,其作用为对设备枚举和对设备进行一些基本的控制功能,端点0也被称为控制端点。...五、端点与管道 1、管道的概念 管道是主机软件(数据缓存区),和USB设备各各端点之间的数据传输连接,他是两者之间通信流的抽象(实际上数据传输是USB总线接口完成)。...首先,主机向USB设备发出一个请求;接着,就是数据的传送;最后,是一个状态阶段(这部分即一次命令请求的过程)。

    9.9K30

    C# 获得设备usb信息

    本文告诉大家如何获得设备usb来进行判断是否有哪些usb和找不到usb可能是什么。...需要在项目右击引用,点击程序集,搜索 System.Management 然后安装他 然后使用下面的代码就可以获得设备usb 请看代码 static List<(string DeviceID...} collection.Dispose(); return devices; } 如果需要判断是否存在某个 usb...,就通过 pid vid 判断,判断的方法是拿PNPDeviceID字符串比较 参见:c# 获取移动硬盘信息、监听移动设备的弹出与插入事件 - Chris Cheung - 博客园 如果发现找不到 usb...,可能是在开机的时候进行找usb,一般需要开机之后很久才会把所有的设备添加,所以如果找不到,就看开机的时间,如果太短,那么可能是因为程序太快去查。

    2.1K30

    C# 获得设备usb信息

    本文告诉大家如何获得设备usb来进行判断是否有哪些usb和找不到usb可能是什么。...需要在项目右击引用,点击程序集,搜索 System.Management 然后安装他 然后使用下面的代码就可以获得设备usb 请看代码 static List<(string DeviceID...} collection.Dispose(); return devices; } 如果需要判断是否存在某个 usb...,就通过 pid vid 判断,判断的方法是拿PNPDeviceID字符串比较 参见:c# 获取移动硬盘信息、监听移动设备的弹出与插入事件 - Chris Cheung - 博客园 如果发现找不到 usb...,可能是在开机的时候进行找usb,一般需要开机之后很久才会把所有的设备添加,所以如果找不到,就看开机的时间,如果太短,那么可能是因为程序太快去查。

    2K10
    领券