android usb 专题
文章平均质量分 77
tron
这个作者很懒,什么都没留下…
展开
-
浅析usbhid驱动如何源源不断的获取usb鼠标数据
浅析usbhid驱动如何源源不断的获取usb鼠标数据hid_probe==>usb_hid_configure pipe = usb_rcvintpipe(dev, endpoint->bEndpointAddress); usb_fill_int_urb(usbhid->urbin, dev, pipe, usbhid->inbuf, insize, // 首先申转载 2012-05-15 15:37:57 · 3629 阅读 · 0 评论 -
Linux USB subsystem --- EHCI host controller register
Linux USB subsystem --- EHCI host controller register[Linux 3.2] [driver/usb/host/ehci-hcd.c]函数:ehci_hcd_init()[cpp] view plaincopystatic int __init ehci_hcd_init(void) {转载 2012-05-15 18:10:23 · 1083 阅读 · 0 评论 -
Linux USB subsystem --- USBFS driver registration
Linux USB subsystem --- USBFS driver registration[Linux 3.2] [driver/usb/core/devio.c] 定义:usbfs_driver[cpp] view plaincopystruct usb_driver usbfs_driver = { .name = "usb转载 2012-05-15 18:13:35 · 695 阅读 · 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:转载 2012-07-05 10:31:04 · 1259 阅读 · 0 评论 -
Linux环境下USB的原理、驱动和配置
随着生活水平的提高,人们对USB设备的使用也越来越多,鉴于Linux在硬件配置上尚不能全部即插即用,因此关于Linux如何配置和使用,成为困扰我们的一大问题。本文由CSDN 特别约稿,作者为北京中科红旗软件技术有限公司 嵌入式工程师 梁国军 随着生活水平的提高,人们对USB设备的使用也越来越多,鉴于Linux在硬件配置上尚不能全部即插即用,因此关于Linux如何配置和使用转载 2012-06-25 11:12:56 · 518 阅读 · 0 评论 -
USB请求块(URB)
1.urb结构体USB请求块(USB request block,urb)是USB设备驱动中用来描述与USB设备通信所用的基本载体和核心数据结构,非常类似于网络设备驱动中的sk_buff结构体,是USB主机与设备通信的"电波"。代码清单20.13 urb结构体1 struct urb2 {3 /* 私有的:只能由USB核心和主机控制器访问的字段 */转载 2012-06-25 11:11:44 · 1328 阅读 · 0 评论 -
设备、配置、接口、端点
《Linux设备驱动开发详解》本书全面而详细地讲解了Linux设备驱动开发中涉及的理论以及多种设备驱动的框架。第20章主要讲解从主机侧角度看到的USB主机控制器驱动和设备驱动。本文写的是设备、配置、接口、端点。 设备、配置、接口、端点在USB设备的逻辑组织中,包含设备、配置、接口和端点4个层次。每个USB设备都提供了不同级别的配置信息,可以包含一个或多个配置,不同的配置使设转载 2012-06-28 14:39:43 · 2263 阅读 · 0 评论 -
图解USB 枚举
CATC的USB协议分析仪捕捉的。 原文地址 http://www.c51bbs.com/c51bbs/topic/c51bbs697282.htm转载 2013-05-03 18:02:17 · 801 阅读 · 0 评论 -
USB枚举过程
枚举就是从设备读取一些信息,知道设备是什么样的设备,如何进行通信,这样主机就可以根据这些信息来加载合适的驱动程序。调试USB设备,很重要的一点就是USB的枚举过程,只要枚举成功了,那么就已经成功大半了。 USB架构中, hub负责检测设备的连接和断开,利用其中断IN端点(Interrupt IN Endpoint)来向主机(Host)报告。在系统启动时,主机轮询它的根hub(R转载 2013-08-06 16:58:15 · 785 阅读 · 0 评论 -
linux usb鼠标(1)
一.前言众所周知,usb子系统是个庞然大物,这个里面涉及的东西很多,网上也有很好的资料,如复旦ABC的,堪称经典。不过这儿仅以此文来记录学习的历程,不能和那些大牛比啊,各位不要见笑。二.usb设备描述符usb子系统很大,从哪儿下手呢。以前学习过usb hub的注册,现在主要看一个设备插入hub后的种种特征。在这个之前需要理解部分usb协议,关于usb的电气等等都不管,只关注usb驱转载 2012-05-15 17:58:18 · 685 阅读 · 0 评论 -
USB multi gadget 支持问题
USB multi gadget 支持问题昨天,试了USB的gadget各项功能。当尝试USB multi gadget的时候,在加载驱动的时候出现了下面错误。-----------------------------------------------------------------------# insmod g_multi.ko file=test.imgg_转载 2012-05-15 18:20:34 · 1782 阅读 · 0 评论 -
Linux USB subsystem -- initialize
Linux USB subsystem -- initialize[Linux 3.2] [driver/usb/core/usb.c]USB作为Linux系统的一个子系统,其初始化函数被subsys_initcall修饰。其初始化代码如下:[cpp] view plaincopy/* * Init */ static int转载 2012-05-15 18:18:07 · 601 阅读 · 0 评论 -
linux usb 鼠标(2)
4.2.1 usb_endpoint_is_int_in判断端点是否为中断in类型static inline int usb_endpoint_is_int_in(const struct usb_endpoint_descriptor *epd){ return (usb_endpoint_xfer_int(epd) && usb_endpoint_dir_in(epd));转载 2012-05-15 17:59:20 · 771 阅读 · 0 评论 -
linux usb初始化
一.前言对于usb的普通驱动,我们了解了不少,但是对于usb的真正核心还是不是太理解。该文中对于usb的初始化进行一定的学习,如有不对之处,请各位多多指教。 二.usb子系统初始化。话说在linux启动之初,就会将usb子系统初始化完成,亦如input子系统和V4L2一样。usb_init就完成了初始化以及启动usb hub守护进程。那来看usb_init中的各个函数的实现。2转载 2012-05-15 18:01:06 · 905 阅读 · 0 评论 -
Linux USB subsystem --- USB create HCD
Linux USB subsystem --- USB create HCD[Linux-3.2][drivers/usb/core/hcd.c]函数:usb_create_hcd(const struct hc_driver *driver, struct device *dev, const char *bus_name)其中hc_driver是ehci_atmel_h转载 2012-05-15 18:09:23 · 892 阅读 · 0 评论 -
Linux USB subsystem --- register generic usb driver
Linux USB subsystem --- register generic usb driver[Linux 3.2] [driver/usb/core/driver.c]函数:usb_register_device_driver[cpp] view plaincopy/** * usb_register_device_driver转载 2012-05-15 18:11:40 · 533 阅读 · 0 评论 -
Linux USB subsystem --- USB Hub initialize
Linux USB subsystem --- USB Hub initialize[Linux 3.2] [driver/usb/core/hub.c] 函数:usb_hub_init [cpp] view plaincopyint usb_hub_init(void) { if (usb_register(&hub_driver)转载 2012-05-15 18:12:30 · 490 阅读 · 0 评论 -
Linux USB subsystem --- USB bus registration
Linux USB subsystem --- USB bus registration[Linux 3.2] [driver/usb/core/driver.c] 定义:usb_bus_type[cpp] view plaincopystruct bus_type usb_bus_type = { .name = "usb",转载 2012-05-15 18:15:04 · 443 阅读 · 0 评论 -
Linux USB subsystem --- USB File System initialize
Linux USB subsystem --- USB File System initialize[Linux 3.2] [driver/usb/core/inode.c]函数:usbfs_init()USB文件系统的初始化取决于是否CONFIG_USB_DEVICEFS. (make menuconfig ---> Device Drivers ---> USB sup转载 2012-05-15 18:16:19 · 1100 阅读 · 0 评论 -
Linux USB subsystem --- USB Debug File System Initialize
Linux USB subsystem --- USB Debug File System Initialize[Linux 3.2] [driver/usb/core/usb.c]首先来分析USB子系统初始化的第一个函数usb_debugfs_init()[cpp] view plaincopystatic int usb_debugfs_转载 2012-05-15 18:17:17 · 499 阅读 · 0 评论 -
图解USB协议之一 枚举过程
• 连接了设备的 HUB 在 HOST 查询其状态改变端点 时返回对应的 bitmap,告知HOST 某个PORT状态发生了改变。 • 主机向 HUB 查询该PORT的状态,得知有设备连接,并知道了该设备的基本特性。 • 主机等待(至少 100mS)设备上电稳定,然后向 HUB 发送请求,复位并使能该PORT。 • HUB执行PORT复位操作,复位完成后该PORT就使转载 2013-08-06 16:59:56 · 1601 阅读 · 0 评论