![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
USB
nwpu053883
这个作者很懒,什么都没留下…
展开
-
usb休眠唤醒相关
usb 休眠唤醒包括两种:1. system suspend/resume 系统休眠唤醒 如果不支持usb remote wakeup, 则usb控制器, phy都可以进入休眠状态。 关闭相关clock时钟, 甚至断电。 如果需要支持usb remote wakeup, 则不能完全断电, 需要留下部分底电流, 当usb外设发出request wakeup请求后, 能...原创 2020-04-30 13:41:13 · 17234 阅读 · 0 评论 -
usb协议
http://www.usbmadesimple.co.uk/index.html原创 2020-01-19 23:03:31 · 191 阅读 · 0 评论 -
USB3.0 detection
No, USB SS enumeration does not require D+/D- wires, technically.The priority of connect process in USB 3.0/3.1 framework is as follows: USB plug is connected; SS Tx and Rx pairs are connected to...原创 2020-01-14 22:21:38 · 2259 阅读 · 1 评论 -
usb描述符之接口关联描述符(IAD)
usb描述符, 存在于usb设备端, 用于描述该设备, 配置, 接口, 端点, 名称等信息。如- Device Decriptor- Configuration Descriptor- Interface Association Descritor (IAD)- Interface Descriptor- Endpoint Descriptor- String Descri...原创 2019-11-28 11:16:37 · 2983 阅读 · 0 评论 -
uvc协议相关
记录点uvc协议相关...uvc: USB Video Class如 usb webcam, digital camcorders, analog video converts, analog and digital televisions tuners等等。常见的就usb摄像头/webcam。* 按功能/接口分, 通常一个uvc设备, 必定有包含1个VideoControl...原创 2019-11-26 21:20:24 · 1682 阅读 · 0 评论 -
制作gpt分区sd卡镜像, 并使用fastboot烧写升级
现在很多开发板可以使用sd卡作为存储及启动。如树莓派, 橙子派, xilinx开发板等等。但通常sd卡都是利用fdisk, mkfs等命令制作成传统mbr分区格式的镜像。常见命令如下:river@river-VirtualBox:~/image/sdcard$ sudo dd if=/dev/zero of=sdcard.img bs=1M count=1000[sudo] pas...原创 2019-10-25 18:38:08 · 2106 阅读 · 0 评论 -
fastboot烧写sd卡mbr类型分区
fastboot有快速启动的意思, 但这里指的是安卓系统的线刷模式。安卓手机刷机一般使用两种模式, fastboot 线刷, recovery 卡刷,通常: 一个使用usb线连接电脑, 另一个使用sd卡。fastboot相对更底层点, 是启动过程中进入的一种模式。uboot最新代码就集成了fastboot模块。故只要使用uboot作为引导程序且支持usb接口(从设备模式)的...原创 2019-10-24 17:38:17 · 2707 阅读 · 0 评论 -
USB四种传输相关
温故而知新, 记录点usb四种传输相关的内容。根据usb协议ch8, ch9等章节, 传输分四种,控制, 批量,中断, 等时。* 一个传输由多个事务组成。如建立(setup)事务, 读数据(IN)事务, 写数据(OUT)事务等等。* 一个事务一般有三个阶段(三种包), 即令牌->数据->握手, 这三个阶段有些是可选的。令牌包打头: 说明我(主机)要干什么, 有...原创 2019-10-19 16:09:20 · 3463 阅读 · 0 评论 -
小米随身wif linux平台配置
小米随身wifi及360随身wifi 使用的都是mt7601u芯片, 是ralink的产品线迭代产品。2011年被联发科收购后, ralink作为mtk的无线技术事业群。官网驱动可于https://www.mediatek.com/products/broadbandWifi/mt7601u下载如果你使用的是Linux v4.2以后的内核, 主线分支里就含有mt7601u的驱动了...原创 2019-10-15 11:03:42 · 1818 阅读 · 0 评论 -
继续写usb gadget驱动(还是遇到坑了...传输不通...)
哎, 还是遇到坑了...传输不通...直接贴代码记录下吧, 后面继续调...#include <linux/module.h>#include <linux/kernel.h> /* min() */#include <linux/printk.h>#include <linux/slab.h>#include <linux...原创 2019-09-27 18:59:07 · 1477 阅读 · 2 评论 -
继续写usb gadget驱动(解决枚举失败问题)
上个小patch吧...关于昨天的usb枚举失败(获取配置描述符失败)简要描述下:1. 我的gadget配置成了usb3.2版本, (设置成1.0, 2.0也遇到一些问题, 暂表不论)Protocols Supported:USB 1.1: noUSB 2.0: no...原创 2019-09-26 17:57:44 · 2118 阅读 · 1 评论 -
继续写usb gadget驱动
继续写usb gadget驱动...枚举都没过...(只添加设备描述符, 配置描述符和接口描述符时可以完成枚举..., 一添加端点描述符后枚举就不过了...win10报错获取配置描述符失败...)先贴代码吧, 换台ubuntu主机试着枚举看看......#include <linux/module.h>#include <linux/kernel.h...原创 2019-09-25 21:25:38 · 431 阅读 · 0 评论 -
usb hid驱动 - usb鼠标
usb鼠标符合usb hid协议,一般是单一功能(即一个usb 接口)该接口下有一个默认的双向控制端点, 以及1个中断in端点bulk in端点读取数据定义: (具体定义需参考hid report描述符,https://eleccelerator.com/tutorial-about-usb-hid-report-descriptors/)通常大部分usb鼠标数据描述如下...原创 2019-09-17 16:33:11 · 2457 阅读 · 0 评论 -
usb gadget multi-function驱动
通常情况下, usb设备是一些简单的, 单一功能的装置。如鼠标, 键盘, U盘等。 这些设备相对简单, 故主控制器一般使用单片机即可。如U盘的组成结构一般如下:1. usb设备控制器 + usb phy2. 单片机主控3. nand存储接口芯片4. ROM, RAM5. 供电模块当然, 有些芯片厂家把这些功能都集合在了一个芯片当中, 如台湾的群联电子(phi...原创 2019-09-18 11:33:52 · 2733 阅读 · 0 评论 -
使用configfs配置usb gadget设备
Linux支持usb主机驱动, 同时也支持从设备驱动。其主要使用gadget api框架实现。 软件一般分为三个层次,1. gadget function 对应于usb function, 即按照协议, usb设备需要实现的功能。(如HID, MSC, UVC等)2. gadget api(framework) 即linux提供的usb gadget驱动框架3. UDC Dri...原创 2019-09-18 16:54:34 · 12411 阅读 · 2 评论 -
使用configfs配置usb mass storage设备
前面使用configfs配置了一个usb虚拟网卡设备. (cdc ecm)这里使用configfs配置一个 mass storage设备1. 准备文件系统, 可以使用实际的本地磁盘分区, 如/dev/mmcblk0p1, 也可以使用自己制作的loop回环块设备。 前提是有做过格式化, 且文件系统主机端能识别。 比如fat格式。 回环块设备制...原创 2019-09-18 19:13:56 · 3869 阅读 · 1 评论 -
尝试写gadget zero驱动
gadget zero驱动可以用于usb通道测试, 也可以用于gadget 驱动参考。他的功能如下:1. 他是个双配置的usb设备 配置1: 有一个接口, 一个altsetting(即没有备选设置) 接口内有两个bulk端点, 分别对应in/out 配置2: 一个接口, 两个altsetting,即有两种设置 ...原创 2019-09-19 20:54:39 · 1819 阅读 · 1 评论 -
win10无法挂载g_mass_storage盘符
好记性不如烂笔头...今天遇到个小问题, 记录下:usb设备端挂载mass_storage驱动,使用以下两种方式:1. configfs 配置 (/sys/kernel/config/usb-gadget/*)2. 直接insmod或modprobe g_mass_storage.ko 命令如下: modprobe g_mass_storage.ko ...原创 2019-09-21 10:26:12 · 1980 阅读 · 0 评论 -
开始写usb gadget驱动
usb主机端class驱动比较简单, 利用usb_register_driver, 向usb core子系统注册相应的class驱动即可。主要填充usb_driver数据结构, 主要的包括id_table为设备-驱动匹配的依据(如pid, vid或class, protocol等),其次就是probe, disconnect等回调函数, probe即匹配驱动后的探测函数, 需要做class...原创 2019-09-21 17:14:05 · 1429 阅读 · 1 评论 -
大小端, 字节序
计算机内存的存储方式分为大端模式和小端模式,例如intel x86芯片, 使用的是小端模式,arm的芯片, 默认使用小端模式, 但可以配置大小端.mips以前全用大端模式, 现在也可以大小端配置.1. 如何查看本机 是大端还小端模式, lscpu, 可查看2. 何谓大小端 总是记不住, 所以再捋一遍看能记住不...8位, 16位, 32位数据...原创 2019-09-23 16:01:23 · 291 阅读 · 0 评论 -
usb hid report descriptor
usb 设备固件中通常会烧写一些描述信息。根据usb设计规范, 通常描述符信息包含以下几类:设备描述符 |-- 配置描述符 |-- 接口描述符 |--端点描述符 | -- 字符串描述符分别描述该usb设备的厂商, 类别, ID, 配置, 接口, 端点等等。对于usb hid设备来说, 比较特殊的是其...原创 2019-09-17 19:08:20 · 2248 阅读 · 0 评论