USB
文章平均质量分 83
linux usb 驱动
wmail-yh
ing
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux usb主机控制器HC阅读
一种usb主机控制器的接口规范,遵守它的硬件称为UHCI主机控制器,Linux中,把这种硬件叫做HC,host controller,与之对应的软件,叫做HCD,hc driver,它的内核软件模块代码是uhci-hcd.cuhci_hcd_init初始化开始:usb_disable函数:在启动参数cmdline,加入nousb参数可以禁止usb模块。原创 2024-09-24 19:56:37 · 1190 阅读 · 0 评论 -
Linux usb mass-storage 阅读
usb core:实现核心的功能,为别的设备驱动程序提供服务,比如申请内存,比如实现一些所有设备都会需要的公共的函数,初始化整个usb系统,初始化root_hubusb host 控制器:控制所有的usb设备的通信,CPU不是直接和usb设备通信,而是和控制器通信,CPU要对设备做什么动作,它会告诉控制器,HC再去负责处理。原创 2024-09-24 19:50:44 · 1657 阅读 · 0 评论 -
Linux usb hub阅读
可以阅读usb-skeleton.c文件,简单的一个usb设备驱动程序的框架。原创 2024-09-24 19:47:52 · 1196 阅读 · 0 评论 -
Linux usb core阅读
OHCI和UHCI支持的是usb1.1的控制器,支持的硬件范围不一样;EHCI支持的是usb2.0控制器的高速模式,它本身并不支持全速或者低速模式,硬件上通过TT电路来兼容CPU不会直接和usb设备通信,而是通过主机控制器HC去控制所有usb设备的通信usb总线是一种轮询方式的总线,所有的数据传输都必须由主机发起,HC初始化所有的数据传输,各种设备围绕再主机周围usb通信是通过endpoint,主机和endpoint之间数据传输是通过pipe;usb主机到设备是OUT端点,设备到主机是IN端点;原创 2024-09-24 19:44:06 · 1008 阅读 · 0 评论 -
usb hub events
这个函数主要分成二部分,第一部分是向usb device侧获取设备的配置,接口,端口信息,这部分由第1-79行完成,首先,它为这些信息申请存放空间,然后像之前获取设备描述符一样,先发送一个9 个字节的请求,用来获取配置,接口,端口等描述符的总长度,最后根据得到的总长度去得到完成 的设备配置,接口,端口信息;如果不能在inums里找到与当前接口与相同项,表示这是一个新的接口,如果接口数n没有超过最大接口数32,则将当前接口号保存到inums数组里,并设置对应的接口设置数为1;转载 2024-07-23 14:20:31 · 248 阅读 · 0 评论 -
USB学习——12、usb初始化和插拔驱动软件流程大致框架描述
1、xhci-plat.c主机控制器驱动那里,__usb_creat_hcd创建usb主机数据结构,main_hcd(primary_hcd)和shared_hcd,前者usb2.0,后者usb3.0,然后通过usb_add_hcd添加一个新的主机设备。4、之后hub_probe开始,hub_event 和 hub_configure ,hub的端口上有事件时去处理事件读取配置usb设备接口的描述符等配置,hub控制传输,hub状态变化,hub中断,hub port状态变化,原创 2024-06-19 15:14:06 · 973 阅读 · 0 评论 -
usb协作驱动
如果dr_mode为host,需要初始化xHCI驱动。在dwc3_host_init函数的最后调用platform_device_add(xhci)添加platform device(xhci-hcd),用于匹配xHCI driver(xHCI driver为platform driver),1)在xhci_plat_init中调用platform_driver_register(&usb_xhci_driver)注册platform driver(“xhci-hcd”)原创 2024-06-13 17:32:41 · 1223 阅读 · 0 评论 -
原子量的妙用--保护usb时序
usb使用musb控制器,展锐的平台处理代码是musb_sprd.c,在这个文件中对usb mode做检测和切换,log级别跳到最高,在probe中的关键函数前后添加log,确定出现问题的上下文,最终确定是在vbus和id检测的回调函数上下文有问题,musb_sprd_vbus_notifier回调函数 和 musb_sprd_id_notifier检测回调函数之间的顺序概率性的错误。正常的顺序是,先做vbus的检测,检测到cable vbus之后,再做id的检测,确定extcon设备mode。原创 2022-12-12 19:54:45 · 641 阅读 · 0 评论 -
Usb rndis,mtp等function添加,config配置
linux usb驱动原生功能代码一般可以直接使用,添加进去参与编译就能继续往下做调试了,、在设备侧,通过ping 192.168.70.5 up, 设置设备侧的ip地址。在linux中usb驱动代码中添加rndis或者mtp等功能驱动代码,要保证pc侧和设备侧ip在同一网段,然后互相ping通算成功。、在pc侧设置此网络的ip的地址。然后切换到对应的usb 功能。在pc侧出现rndis网口之后。原创 2022-12-12 19:50:21 · 2035 阅读 · 1 评论
分享