usb
雨落风暖晴
这个作者很懒,什么都没留下…
展开
-
udc设备控制器
这些数据结构包括描述一个USB设备控制器的usb_gadget、UDC操作usb_gadget_ops、描述一个端点的usb_ep以及描述端点操作的usb_ep_ops结构体。手机要成为U盘,在UDC驱动之上需要另外一个驱动,对于USB大容量存储器而言,这个驱动为File Storage驱动,USB设备控制器(UDC)驱动指的是作为其他USB主机控制器外设的USB硬件设备上底层硬件控制器的驱动,例如,当某运行Linux系统的手机作为PC的U盘时,手机中的底层USB控制器行使USB设备控制器的功能,原创 2023-06-29 18:24:52 · 564 阅读 · 0 评论 -
rndis
基于USB实现RNDIS实际上就是TCP/IP over USB,就是在USB设备上跑TCP/IP,让USB设备看上去像一块网卡。RNDIS数据传输模型很复杂,每个USB消息都包含了多个以太网包, RNDIS默认期待自己作为USB配置中的唯一功能,这个规范规定的比较宽,从物理层到应用层都有涉及,(也就是介绍中说的:横跨传输层、网络层和数据链路层)所以对于USB复合设备需要注意,RNDIS它期待自己是第一个usb配置。rndis是一种技术,将tcp/ip封装在usb报文,实现网络通信。原创 2023-06-27 18:18:42 · 2632 阅读 · 0 评论 -
acm/ncm/ecm
通过dmesg内核消息查看设备连接信息及驱动匹配情况usb wmc无线移动通信,usb上网卡(连接移动通信网络)ncm是ecm协议的改进版,将多个以太网包组成一个ntb包在usb总线上传输,提高带宽利用率将多个报文集成到一个buffer中,即实现一次收发多个数据报文(具体收发多少个需要参见cdc_ncm_bind -> cdc_ncm_setup)如果是QMICM建立的data call,不走router的,所以它的IP地址获得的是公网IP。因此流控制可以控制数据传输的进程,防止数据的丢失。原创 2023-06-27 18:17:57 · 1099 阅读 · 0 评论 -
bulk only
Bulk-Only:USB与设备之间的数据传输都是通过Bulk-In和Bulk-Out来实现的。有三种类型数据在USB和设备传送,它们是命令块包(CBW),命令执行状态包(CSW)和普通数据包。当设备从主机收到CBW块以后,它会把SCSI命令从CBW中分离出来,然后根据要求执行,执行的结果又以CSW的形式发给主机。在Bulk-Only的命令块包(CBW)中,有一段CBECB内容,是SCSI命令块描述符http://blog.sina.com.cn/s/blog_4ec8232f0100rp57.html。原创 2023-06-27 18:16:52 · 161 阅读 · 0 评论 -
f_mass_storage
mass_storage.c – Mass Storage USB Gadgetfile_storage.c – File-backed USB Storage Gadget, for USB developmentf_mass_storage.c – Mass Storage USB Composite FunctionU盘的功能,分别对应着file_storage.c和mass_storage.c,前者,本身就实现了对应的功能,后者,包含了f_mass_storage.c,而f_mass_storage原创 2023-06-27 18:14:44 · 156 阅读 · 0 评论 -
lun概念
lun mapping是lun与存储设备的主机端口进行绑定,工作站连接不同的主机端口所能访问的lun不同。lun是由存储的控制系统给定,是存储系统的某部分存储资源。lun 逻辑单元号,是scsi的概念。原创 2023-06-27 18:13:41 · 79 阅读 · 0 评论 -
device descriptor read/64, error -71
64ep0 maxpacket值存储在中初始8个字节的设备描述符,但读取设备。现在是Windows的工作方式:插入新设备时,系统首先向设备描述符发出64字节的读取请求,然后重置设备,然后为其分配地址,然后读取实际的18字节设备描述符。Linux在2.6.10之前的工作方式:当一个新设备被插入,系统首先分配地址,然后读取设备描述符的初始8个字节,然后读取整个18字节的设备描述符。lsusb枚举不成功,插上usb显示未知设备,usb主控制器错误。可能usb供电不足,可能usb端口线长。可能usb驱动能力不够。原创 2023-06-13 19:07:13 · 5028 阅读 · 0 评论 -
linux下rndis网卡拨号不成功原因
【代码】linux下rndis网卡拨号不成功原因。原创 2023-03-25 15:30:46 · 294 阅读 · 0 评论 -
linux下进不去adb
方法1: https://patchwork.kernel.org/project/linux-usb/patch/20180723140220.7166-1-romain.izard.pro@gmail.com/2.gedit 51-adb.rules (编辑rules文件,文件名随意,如gedit会自动打开一个文本,且将文本命名为51-adb.rules)3.在51-adb.rules文件里添加设备的PID和VID信息。4.保存并关闭51-adb.rules。首先查看adb是否被识别成串口。原创 2023-03-09 19:42:45 · 570 阅读 · 0 评论 -
rndis/ecm/ncm
USB serialUSB serial,虚拟 USB 串口,主要包括 AT 接口,实现通过 AT 控制 modemRNDIS 是一种 USB 虚拟的网卡设备,主要实现 TCP/IP 数据业务ECM, Ethernet Control Model Devices ,主要为了在于 USB bus 基础之上,实现 支持Ethernet(IEEE802.3)通信协议的,与 NCM 的区别:一个 USB 传输只能承载一个以太网报文。Network Control Model Devices,主要为了在于原创 2023-02-22 18:39:33 · 2979 阅读 · 0 评论 -
usb NRZI
usb的编码方式NRZIRZ归零编码正电平代表逻辑1,负电平代表逻辑0。每传完一次数据,信号回到零电平。在归零后重新采样,不需要单独的时钟信号,称自同步信号。NRZ不归零编码NRZI反向不归零编码:用翻转来表示一个逻辑,而信号保持不变来表示另一个逻辑。而在USB传输的编码中采用的是NRZI格式,电平翻转代表逻辑0,电平不变代表1。...原创 2021-12-04 15:33:32 · 3088 阅读 · 0 评论 -
usb驱动相关
设备描述符: struct usb_device_descriptor{ _ _u8 bLength; //描述符长度 _ _u8 bDescriptorType; //描述符类型编号 _ _le16 bcdUSB; //USB版本号 _ _u8 bDeviceClass; //USB分配的设备类code _ _u8 bDeviceSubClass;// USB分配的子类code _ _u8 bDeviceProtocol; //USB分配的协议code _ _u8 bMaxPack原创 2021-11-23 17:05:51 · 4289 阅读 · 0 评论 -
usb传输类型
令牌包用来启动一个事务,总是由主机发送。数据包传送数据,可以从主机到设备,也可以从设备到主机,方向由令牌包决定。握手包的发送者通常为数据接收者,当数据接收正确后,发送握手包。设备也可以用NAK握手来决定数据还未准备好。批量传输:使用批量事务传输数据。三阶段:令牌包、数据包、握手包。批量传输分为批量读和批量写。应用在数据量大、对数据的实时性要求不高的场合。批量输入事务:IN OUT 令牌包含设备地址和端点地址。如果设备解码令牌包时出错,直接进入空闲状态。PING令牌用来探测设备是否有空间接收数原创 2021-11-18 20:05:28 · 2169 阅读 · 0 评论 -
usb 包
一个传输由多个事务组成一个事务由一个或多个包组成数据在主机和端点之间被传输,逐渐与端点的关联叫pipes。一个usb设备可以有多个管道。包只能在帧内传输。高速usb总线的帧周期位125us,全速和低速位1ms。帧起始为SOF,帧末尾为EOF。EOF不是一个包,是一种电平状态,EOF期间不允许有数据传输。包不能被打断或干扰。属于一次事务传输的几个包必须连续,不能跨帧完成,一次传输由一次到多次事务传输构成,可以跨帧完成。包组成:同步字段SYNC、包标识符字段PID、数据字段、循环冗余校验字段CRC、包原创 2021-11-18 20:03:53 · 3208 阅读 · 0 评论 -
usb基础
usb:universal serial busCRC:循环冗余EOP:end-of-packetHub:集线器(一个结点发送数据,所有结点都可收到),为主机提供一个或多个附属点。usb支持主机与各种外设之间的数据交换usb连接:设备连接主机bus topology:总线拓扑usb通信通过usb的Endpoint端点主机与端点之间的数据传输通过pipe主控制器是硬件、固件、软件的整合pulled bus轮询总线pipe:stream、message。message要求进出进出方向必须要原创 2021-11-18 19:59:41 · 2418 阅读 · 0 评论