![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
usb
JDSH0224
这个作者很懒,什么都没留下…
展开
-
USB枚举参数配置
【代码】USB枚举参数配置。原创 2024-03-31 17:46:12 · 245 阅读 · 0 评论 -
2021-02-03
1. 内核配置usbmonhttps://blog.csdn.net/zmnqazqaz/article/details/504977332. USB抓包操作https://www.cnblogs.com/listenerln/p/7263481.html原创 2021-02-03 10:48:18 · 106 阅读 · 0 评论 -
USB设备接入报文分析
linux系统路径:/sys/bus/usb/devices1-0:1.0 2-1.1:1.0 2-1.5:1.0 2-1.5:1.4 3-0:1.0 usb32-0:1.0 2-1.1:1.1 2-1.5:1.1 2-1.6 4-0:1.0 usb42-1 2-1.1:1.2 2-1.5:1.2 2-1.6:1.0 usb...原创 2020-04-02 23:53:29 · 2622 阅读 · 0 评论 -
usb描述符
1. usb总线枚举过程,usb host主机控制器通过各种描述符信息感知usb driver的能力和特性,从而实现usb枚举。usb描述符包括设备描述符、配置描述符、接口描述符、端口描述符、以及字符串描述符,描述符具有类似的格式,结构体的第一个字段是长度,第二个字段是描述符的类型值,标准描述符的类型值如下:2. 设备描述符2.1 设备描述符字段2.2 设备描述符样例3...原创 2019-06-21 00:10:07 · 554 阅读 · 0 评论 -
USB描述符适配
1. usb描述符层次结构如下描述符 描述符值 设备描述符 0x01 配置描述符 0x02 接口描述符 0x03 端点描述符 0x04 字符串描述符 0x05 2. usb描述符详解2.1 设备描述符字段(0x01)2.2 ......原创 2019-04-11 10:32:43 · 193 阅读 · 0 评论 -
usb抓包工具
在windows上有不少抓取USB包的工具,但有种情况程序是基于linux开发的,所以。这里内核的一个工具usbmon 和 tcpdump,这里在Ubutu下测试,其他嵌入式设备并没有测试,相信只要内核支持了问题就不大。1. 配置内核Device Driver ----> [*] USB support ---> <M> USB Mo...原创 2018-12-21 09:34:38 · 3005 阅读 · 0 评论 -
linux cdc_ether
1. 前言RNDIS: Remote Network Driver Interface Specification,既是RemoteNDIS,既是远程网络驱动接口规范。基于USB实现RNDIS实际上就是TCP/IP over USB,就是在USB设备上跑TCP/IP,让USB设备看上去像一块网卡。cdc_ether驱动在枚举时相对usb-serial要简单的多,因为usb-serial驱动在枚举时...原创 2018-04-18 22:35:35 · 12970 阅读 · 5 评论 -
linux options
1. 前言 2.1的流程图主要完成两项工作,第一,将当前option驱动注册到usb总线上;第二,将当前option驱动注册usb-serial总线上,我原来不清楚这里为什么要分两次注册到不同的总线上(usb、usb-serial总线),其实这是当usb口接入一个设备时,设备是如何从usb总线跨到usb-serial总线。我们知道usb上的设备注册流程大概是:先是设备匹配-->接口匹配...原创 2018-04-15 16:42:21 · 3250 阅读 · 0 评论 -
linux usb-serial options
1. 前言...2. 流程图3. usb serial源码分析3.1 usb serial驱动加载module_init(usb_serial_init);module_exit(usb_serial_exit);3.2 usb serial初始化static int __init usb_serial_init(void){ int i; int result; usb_seria...原创 2018-04-01 23:31:02 · 2411 阅读 · 0 评论 -
usb主机控制器ehci
1. 主机控制器流程图device_add()上图和下图的连接!关于hub_probe()内部的具体实现,详见:点击打开链接2. echi设备注册static struct platform_device *nuc970_public_dev[] __initdata = { &&nuc970_device_ehci,};static u64 nuc970_dev...原创 2018-03-25 23:34:13 · 4410 阅读 · 0 评论 -
usb通用设备驱动注册
1. usb设备驱动注册流程图......2. usb设备驱动注册usb_register_device_driver(&usb_generic_driver, THIS_MODULE);usb通用驱动usb_generic_driver结构体struct usb_device_driver usb_generic_driver = { .name = "usb", .probe = ...原创 2018-03-25 22:59:25 · 693 阅读 · 0 评论 -
hub_thread
1. 流程图2. usb_hub_init()int usb_hub_init(void){ //1. 注册usb hub驱动 if (usb_register(&hub_driver) < 0) { //注册hub驱动到usb子系统总线上 printk(KERN_ERR "%s: can't register hub driver\n", usbcore_name)...原创 2018-03-25 22:58:12 · 1886 阅读 · 0 评论 -
hub_probe()
1. 前提: 在前面这边博客详细介绍了ehci驱动是如何创建usb主机控制器,最终调用hub驱动的hub_probe()探测函数,关于ehci驱动注册感兴趣的可以参考点击打开链接,本文主要讲述接口驱动最终调用hub_probe函数的处理。2. hub_probe()流程图3. hub驱动注册retval = usb_hub_init();int usb_hub_init(void){...原创 2018-03-25 22:57:33 · 3240 阅读 · 0 评论 -
usb hub驱动
1. hub驱动流程图2. hub驱动初始化 retval = usb_hub_init(); int usb_hub_init(void){ if (usb_register(&hub_driver) < 0) { //注册hub驱动到usb子系统总线上 printk(KERN_ERR "%s: can't register hub driver\n", usbcor...原创 2018-03-25 00:32:29 · 5196 阅读 · 0 评论 -
usbfs文件系统
usb_register(&usbfs_driver)、usb_devio_init()、usbfs_init()都是usbfs相关的初始化。usbfs为咱们提供了在用户空间直接访问usb硬件设备的接口,但它需要内核的大力支持,usbfs_driver就是用来完成这个光荣任务的。1. usbfs简介:点击打开链接2. usbfs驱动retval = usb_register(&us...原创 2018-03-24 12:20:23 · 7812 阅读 · 2 评论 -
linux USB描述符结构体定义
struct usb_device_descriptor { __u8 bLength;//设备描述符的字节数大小,为0x12 __u8 bDescriptorType;//描述符类型编号,为0x01 __le16 bcdUSB;//USB版本号 __u8 bDeviceClass;//USB分配的设备类代码,0x01~0xfe为标...原创 2018-03-14 00:39:43 · 742 阅读 · 0 评论 -
usb总线注册、设备模型、通知链
1. usb设备模型图1.1 kobject kset kobject_type三者关系1.2 总线子系统内部结构本文以usb子系统为例分析:1.2.1 注册usb总线类型为bus_type的子系统;1.2.2 在usb子系统上创建devices_kset设备集合;1.2.3 在usb子系统上创建drivers_kset设备驱动集合;关于devices_kset、drivers_kset集合,他们...原创 2018-03-19 23:35:25 · 694 阅读 · 0 评论 -
linux usb(1)
1. 前言 先发下感慨,linuxUSB驱动堪称驱动中的难点,曾几何时拿起书来啃,最终还是放弃了...这次由于要做一个项目,即USB转串口通讯,迫于鸭梨,还是继续啃...2. USB体系架构usb通讯采用主从结构,实现了主机与外围设备之间的通讯。3. USB三种模式主机控制器,包括UHCI、OHCI、EHCI设备控制器,相当于U盘;OTG设备,OTG控制器4. 总线速度目前usb传输的速...原创 2018-03-04 23:02:20 · 373 阅读 · 0 评论