luckywang1103
每天多一点思考
展开
-
usb suspend
global suspend host停止一切传输(包括SOF token),在总线上的每一个usb device看到usb bus上空闲状态超过3ms,就会进入suspend状态。selective suspend usb总线通过向hub的某个port发送SetPortFeature(PORT_SUSPEND),这样,这个port上的usb device看到port上空闲状态超过3ms,就会进原创 2016-10-08 17:03:32 · 4317 阅读 · 0 评论 -
usb transaction与transfer
transaction概念一个transfer中有一个或者多个transactionbulk传输中的transaction 一个bulk transfer out transaction由OUT token, DATA token和ACK token构成 一个bulk transfer in transaction由IN token, DATA token和ACK token构成control传原创 2016-05-23 11:32:43 · 4070 阅读 · 1 评论 -
USB core(二) - root_hub设备和usb device设备
网上有一副图基本就是整个usb匹配识别的流程框架了 usb_bus_type总线linux设备模型由3部分构成,设备、驱动、总线。 先来看看总线,在usb/core/driver.c文件中定义struct bus_type usb_bus_type = { .name = "usb",原创 2015-12-09 19:28:14 · 5298 阅读 · 0 评论 -
USB core(三) - hub.c
core/hub.c文件中主要分为两块去理解: 一是hub_thread这个线程,当被唤醒后会调用hub_events 另外一个是root_hub经过与usb_device_driver匹配后添加的intf->dev,intf->dev与hub_driver匹配进入hub_probe函数。hub_threadhub_threadstatic int hub_thread(void *__unus原创 2015-11-04 22:43:17 · 2442 阅读 · 0 评论 -
USB core(一) - rh_queue_status与rh_call_control
rh_call_control为了说明rh_call_control,先来看看是如何通过usb_control_msg,接着usb_submit_urb,然后rh_urb_enqueue,最终在调用rh_call_control的过程。hub信息获取函数get_hub_descriptor(struct usb_device *hdev, void *data) usb_control_ms原创 2015-11-03 18:11:57 · 1840 阅读 · 0 评论 -
OHCI(二) - OHCI控制器驱动
OHCI初始化struct hc_driver一个重要的结构体struct hc_driverstatic const struct hc_driver ohci_platform_hc_driver = {... .reset = ohci_platform_reset,//里面调用了ohci_init .start原创 2015-11-03 15:37:43 · 3563 阅读 · 0 评论 -
OHCI(一) - OHCI spec
OHCI寄存器与端口power控制相关的寄存器:HcRhDescriptor.NPS NoPowerSwitchiingHcRhDescriptor.PSM PowerSwitchingModeHcRhStatus.LPS ClearGlobalPowerHcRhStatus.LPSC SetGlobalPowerHcRhDescript原创 2015-10-30 21:36:04 · 2685 阅读 · 0 评论 -
usb ohci
目录:一.OHCI驱动框架二.OHCI的数据结构三.HCD的初始化四.OHCI的相关代码 The purpose of OpenHCI(Open Host Controller Interface) is to accelerate the acceptance of USB in the marketplace by promoting the use of a com转载 2014-11-18 11:45:14 · 3119 阅读 · 0 评论 -
读书笔记 <Bootstrap Yourself with Linux USB Stack>
读书笔记 第一章 USB and Linux Introduction关于USB的硬件三种类型:USB Transceiver, 通常包含一个USB core在芯片上Standalone USB Controller, transceiver + digital portionIntegrated USB Controller, 第二章 USB:转载 2014-11-01 09:18:58 · 2457 阅读 · 0 评论 -
libusb API入门
synchronous I/O interface你只要一个函数就能进行USB传输原创 2014-09-17 22:02:18 · 24794 阅读 · 5 评论 -
linux下的"BusHound"——usb_mon
ubuntu下已经内置了usb抓包工具——usb_mon,位置:/lib/modules/3.13.0-24-gener原创 2014-09-16 20:00:59 · 7022 阅读 · 6 评论 -
Embeded USB Host controller之USB-IF测试
对于USB-IF的测试,主要需要关注http://www.usb.org/一、full speed Electrical compliance test二、high speed Electrical compliance test需要治具HSEHET<!---->(High Speed Embeded Host Electrical Test Board)通原创 2014-09-13 18:23:59 · 5952 阅读 · 0 评论 -
lichee 内核配置支持usb storage
1、到原创 2014-08-27 22:12:20 · 1566 阅读 · 0 评论 -
USB驱动骨架usb_skeleton
在/drivers/usb/下有一个usb_skeleton.c文件,转载 2014-06-23 21:50:36 · 2493 阅读 · 0 评论