![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
usb
kenny_wju
这个作者很懒,什么都没留下…
展开
-
dwc3_gadget_init分析
int dwc3_gadget_init(struct dwc3 *dwc){ int ret, irq; struct platform_device *dwc3_pdev = to_platform_device(dwc->dev);//获取中断号 irq = platform_get_irq_byname(dwc3_pdev, "peripheral"); if (irq <= 0) { irq = platform_get_irq_byname(dwc3_p...原创 2022-05-08 17:38:55 · 1002 阅读 · 0 评论 -
linux dwc3 usb驱动分析
基于linux 4.9内核源码:drivers/usb/dw3/core.c主要完成DesignWare USB3.0 Controller phy初始化,以及模式选择。static struct platform_driver dwc3_driver = { .probe = dwc3_probe, .remove = dwc3_remove, .driver = { .name = "dwc3",...原创 2022-05-08 16:52:24 · 6278 阅读 · 1 评论 -
device descriptor read/64, error -71 - USB problem
[SOLVED] device descriptor read/64, error -71 - USB problem在插入SD卡时,无法识别,出现如下错误: device descriptor read/64, error -71解决方法:1.设置old_scheme_first echo Y > /sys/module/usbcore/paramete原创 2013-06-14 08:11:45 · 21489 阅读 · 2 评论 -
usb设备的probe全过程
本文将详细讲述2.6.22下的一个USB设备插上linux系统的PC后是如何一步一步调到我们的usb设备驱动的probe函数的, 我们知道我们的USB驱动的probe函数中的一个参数是interface结构, 因此一般来说, 一个USB设备中的任何一个接口都应该有对应的一个驱动程序,当然也有例外(如cdc-acm).我们知道USB设备都是通过插入上层HUB的一个Port来连入系统并进而被转载 2013-03-04 11:02:21 · 437 阅读 · 0 评论 -
understanding linux usb ehci device driver(2)
2. linux ehci device driver(ehci hcd)2.1. linux usb subsystem arch overview(host)2.2. ehci_hcd2.3. ehci 实现的接口2.3.1. ehci_pci_setup() (hc_driver->reset)2.3.2. ehci_run() (hc_driver->start)2转载 2013-03-04 10:17:14 · 1163 阅读 · 0 评论 -
USB协通讯议--深入理解
0. 基本概念 一个【传输】(控制、批量、中断、等时):由多个【事务】组成; 一个【事务】(IN、OUT、SETUP):由一多个【Packet】组成。 USB数据在【主机软件】与【USB设备特定的端点】间被传输。【主机软件】与【USB设备特定的端点】间的关联叫做【pipes】。一个USB设备可以有多个管道(pipes)。1. 包(Packet转载 2013-02-28 13:59:42 · 614 阅读 · 0 评论 -
USB设备被识别流程
USB模块包括usb core,host,hub,device驱动,其中hub会启动一个内核线程名曰:khubd(hub_events一直在查询(hub使用的是中断传输), 当usb 设备连接在 hub 的某个端口上,hub检测到有设备连接了进来,hub会去调用hub_port_status函数去获取hub端口状态,要是真有设备了,会调用hub_port_connect_change函数会调用us转载 2013-02-28 13:48:34 · 684 阅读 · 0 评论 -
usb 协议分析 -bus hound
Device Phase Data Description Cmd.Phase.Ofs(rep) Delta Date Time ------ ----- ------------------------ ---------------- ------------------ ----- -------转载 2013-02-28 09:51:22 · 1300 阅读 · 0 评论 -
DesignWare USB 2.0 OTG Controller (DWC_otg) Device Driver File List
• CIL: Core Interface Layer • HCD: Host Contoller Driver • PCD: Perpherial Contoller Driver DWC_otg文件列表及功能介绍如下所示: dwc_cfi_common.h[code]This file contains the CFI specific commo转载 2013-02-28 13:58:18 · 3970 阅读 · 0 评论 -
USB主机控制器(Host Controller)--深入理解
1. 主机控制器(Host Controller) • UHCI: Universal Host Controller Interface (通用主机控制接口, USB1.0/1.1) • OHCI: Open Host Controller Interface (开放主机控制接口,USB1.0/1.1) • EHCI: Enhanced Host Con转载 2013-02-28 14:00:46 · 1526 阅读 · 0 评论 -
USB协议架构及驱动架构
转自:http://blog.csdn.net/myarrow/article/details/82791561. USB协议1.1 USB主机系统 在USB主机系统中,通过根集线器与外部USB从机设备相连的处理芯片,称为USB主机控制器。USB主机控制器包含硬件、软件和固件一部分。1.2 USB设备系统 USB设备按功能分为两转载 2013-02-27 18:06:19 · 576 阅读 · 0 评论 -
图解USB协议之一 枚举过程
转自:http://blog.csdn.net/myarrow/article/details/82700600. 枚举流程 • 连接了设备的 HUB 在 HOST 查询其状态改变端点 时返回对应的 bitmap,告知HOST 某个PORT状态发生了改变。 • 主机向 HUB 查询该PORT的状态,得知有设备连接,并知道了该设备的基本特性。 • 主机等待(至转载 2013-02-27 16:45:23 · 504 阅读 · 0 评论 -
USB枚举过程
1. 枚举是什么? 枚举就是从设备读取一些信息,知道设备是什么样的设备,如何进行通信,这样主机就可以根据这些信息来加载合适的驱动程序。调试USB设备,很重要的一点就是USB的枚举过程,只要枚举成功了,那么就已经成功大半了。 USB架构中, hub负责检测设备的连接和断开,利用其中断IN端点(Interrupt IN Endpoint)来向主机(Host)报告。在系统转载 2013-02-27 16:43:22 · 329 阅读 · 0 评论 -
understanding linux usb ehci device driver(3)
3. 主要场景分析3.1. ehc如何发现设备的插拔3.2. 如何完成提交的urb3.3. unlink urb3.4. ehci如何支持fs/ls设备1. 主要场景分析1.1.ehc如何发现设备的插拔ehci_hub_status_data()会返回port的”change status”信息,hub driver会通过ehci_hub_status_dat转载 2013-03-04 10:18:08 · 1147 阅读 · 0 评论 -
understanding linux usb ehci device driver(1)
understanding linux usb ehci device driver(1) lm_tom@163.com 大概一年多前,曾经在linux下调试过VIA的一款ehci host controller,当时受项目进度以及知识积累所限,未能深入理解EHCI以及linux下的软件层面实现. 随着个人USB技术的不断积累, 近期在工作之余, 写了一些对EHCI以转载 2013-03-04 10:15:35 · 1859 阅读 · 0 评论