usb
蓝白天际线
本人从事linux的嵌入式开发.
展开
-
linux下的"BusHound"——usb_mon非常好
ubuntu下已经内置了usb抓包工具——usb_mon,位置:/lib/modules/3.13.0-24-generic/kernel/drivers/usb/mon/usb_mon.ko(ubuntu14.04)使用方法如下:sudo mount -t debugfs none /sys/kernel/debug 一般linux已经默认挂上了sudo modprobe u转载 2016-11-29 11:13:08 · 3970 阅读 · 0 评论 -
USB协议架构及驱动架构
1. USB协议1.1 USB主机系统 在USB主机系统中,通过根集线器与外部USB从机设备相连的处理芯片,称为USB主机控制器。USB主机控制器包含硬件、软件和固件一部分。1.2 USB设备系统 USB设备按功能分为两部分:集线器(Hub)和功能部件。从下图可知,主机通过根集线器连接到各种外围设备(集线器和功能部件)。1.转载 2016-12-19 15:12:25 · 1976 阅读 · 0 评论 -
usb驱动的层次结构简述
1、背景知识 Linux kernel2.6以上的版本中,USB设备驱动的接口改为了gadget,包括做主和做从的驱动内容。Linux支持连接各种USB从设备,同时也支持自己作为设备插入到其他主机当中。最典型的例子就是AndroidOS的手机,插入电脑可以被识别为U盘之类的设备。为了避免与作为主机时支持的"设备驱动(USB Device Driver)"一词混淆,Linux给这部原创 2016-12-21 16:27:24 · 2247 阅读 · 0 评论 -
Linux 下使用USB 网络
Andrew Huang 转载请注明作者及联络方式. 在介绍USB的驱动开发时,我通常会用用Linux的的USB网络来演示,它兼容RNDIS网络,一台Linux即可充当USB的device端,也可以由另一台Linux来充当USB的Host端,Host端的也可以由安装的微软的标准的Rndis驱动来充当. 这种网络有相当强的实用价值,而且完整实现的Linux转载 2016-12-16 16:04:13 · 4910 阅读 · 0 评论 -
android作为主usb设备,加载流程
android手机或平板,作为主设备,对usb的加载流程如下,这时外围设备是usb从设备,例如:usb的hub或者u 盘。软件版本:android 6.0.11. 开机后,usb功能正常初始化;这时插入usb的U盘,或者hub;则首先调用如下代码。 static int hcd_pci_runtime_resume(struct device *dev){ int r原创 2016-12-12 15:58:38 · 3981 阅读 · 0 评论 -
android的usb作为从设备的程序流程
android手机或着平板,作为从设置的时候,也就是链接PC电脑的时候,这时PC机是主设备,android手机或平板是从设备。作为从设备,是不主动发送命令或数据的;只是被动的接收命令或者数据,接收命令的代码是作为一个中断程序来处理的;代码入口如下:1、代码位置:/kernel/cht/drivers/usb/dwc3/gadget.c 初始化中断函数:原创 2016-11-30 23:29:48 · 3460 阅读 · 2 评论 -
[RK3288][Android6.0] USB 枚举过程小结
Platform: ROCKCHIPOS: Android 6.0Kernel: 3.10.92前面小结了U盘枚举成功后驱动加载流程,这里对U盘插入后枚举过程做小结.先看hub初始化:usb_hub_init -> hub.c usb_register //注册到usb core中. kthread_run(hub_thread, NUL转载 2016-11-29 16:29:46 · 710 阅读 · 0 评论 -
android之通过USB插拔流程来了解android UEvent
UEvent,全称User Space Event,是kernel通知用户空间的一种机制;在Android中很多地方使用到了UEvent机制,如图:像HDMI,Battery,USB相关等;当我们需要接受底层的UEvent的时候,我们就需要注册一个UEventObserver,上层是如何处理这一过程的呢?来看看先;比如当我们插拔usb的时候,手机的notification通知是如何转载 2016-11-29 14:38:59 · 2687 阅读 · 0 评论 -
linux usb枚举过程分析【host】
当守护程序第一次运行或usb port上状态发生变化,守护进程被唤醒都会运行hub_events函数,这个函数在usb系统中处理核心位置,usb的枚举过程就是由它完成,usb枚举过程流程图如图1所示;图1 usb枚举流程图 由于hub_events函数比较长这里分几个部分进行讲解:[html] view plaincopy转载 2016-11-29 13:49:25 · 966 阅读 · 0 评论 -
usb BC1.2的三种端口
► BC1.2规范颁布之前 在2007年第一个电池充电规范颁布之前,尝试为电池充电本质上是一种冒险——结果非常难以预测。当2000年 出现USB 2.0时,外设默认吸收100mA电流,除非明确协商将电流增大至最高500mA。如果总线上经过一段延迟后 没有数据活动,总线将进入“挂起”模式,将允许吸收电流限制到2.5mA。如果便携设备的电池转载 2016-11-26 21:21:35 · 12450 阅读 · 0 评论