USB
文章平均质量分 76
linux usb 驱动
wmail-yh
ing
展开
-
usb hub events
这个函数主要分成二部分,第一部分是向usb device侧获取设备的配置,接口,端口信息,这部分由第1-79行完成,首先,它为这些信息申请存放空间,然后像之前获取设备描述符一样,先发送一个9 个字节的请求,用来获取配置,接口,端口等描述符的总长度,最后根据得到的总长度去得到完成 的设备配置,接口,端口信息;如果不能在inums里找到与当前接口与相同项,表示这是一个新的接口,如果接口数n没有超过最大接口数32,则将当前接口号保存到inums数组里,并设置对应的接口设置数为1;转载 2024-07-23 14:20:31 · 19 阅读 · 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 · 423 阅读 · 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 · 984 阅读 · 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 · 499 阅读 · 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 · 1443 阅读 · 1 评论