当需要使用usb bulk传输,想让设备像串口通讯那样和PC主机通信, 通常需要自己做一个PC端的驱动,比较麻烦. 为避免在pc上编写usb设备驱动的麻烦,可以将设备做成mass storage 类的设备,使用通用的驱动. 在通讯之前设备端需要先做两件事: 1,实现mass storage 类的描述符和类请求. 2,实现必要的SCSI命令,让PC认为该设备已正常运作. 我利用修改linux中的gadget zero设备做了一个简单的设备. 如果是在裸机程序下面做,应该也差不多,直接拿芯片厂商BS…
usb_bulk_msg函数 当对usb设备进行一次读或者写时,usb_bulk_msg 函数是非常有用的; 然而, 当你需要连续地对设备进行读/写时,建议你建立一个自己的urbs,同时将urbs 提交给usb子系统. 转载于此http://os.chinaunix.net/a2003/0630/1056/000001056933.shtml Linux下的硬件驱动——USB设备(上)(驱动配置部分) USB设备越来越多,而Linux在硬件配置上仍然没有做到完全即插即用,对于Linux怎样配置和…
一.背景: 最近在做的一个项目需要使用USB传递数据,对USB理解不是很深,USB的系统驱动编写则更是天方 夜谭,因此将设备配置成HID类设备成为了首选.其最大的好处在于,LINUX/Windows系统中均自带HID 设备驱动,免除了USB系统驱动的困扰,同时HID配置为高速设备与全速设备时,其每笔事务传输的最大 字节大小分别为64bytes.1024bytes,亦符合当前开发需求. 二.正文: 安装及使用方法在"HIDAPI"文件夹中的"Readme"有了详细说明…
如何实现Linux下的U盘(USB Mass Storage)驱动 版本:v0.7 How to Write Linux USB MSC (Mass Storage Class) Driver Crifan Li 摘要 本文主要介绍了USB Mass Storage的相关的各种协议之间的关系,以及如何在Linux的USB驱动框架下实现U盘驱动 本文提供多种格式供: 在线阅读 HTML HTMLs PDF CHM TXT RTF WEBHELP 下载(7zip压缩包) HTML HTMLs PDF…
如何实现Linux下的U盘(USB Mass Storage)驱动 版本:v0.7 How to Write Linux USB MSC (Mass Storage Class) Driver Crifan Li 摘要 本文主要介绍了USB Mass Storage的相关的各种协议之间的关系,以及如何在Linux的USB驱动框架下实现U盘驱动 本文提供多种格式供: 在线阅读 HTML HTMLs PDF CHM TXT RTF WEBHELP 下载(7zip压缩包) HTML HTMLs PDF…
这一节主要把在实现“linux模拟U盘功能”过程中的一些调试过程记录下来,并加以解析. 一.背景知识     1.USB Mass Storage类规范概述        USB 组织在universal Serial Bus Mass Storage Class Spaceification 1.1版本中定义了海量存储设备类(Mass Storage Class)的规范,这个类规范包括四个独立的子类规范,即:        1. USB Mass Storage Class Control/B…
http://www.crifan.com/files/doc/docbook/usb_disk_driver/release/htmls/ch02_msc_basic.html 目录 2.1. USB Mass Storage相关的协议 2.1.1. USB Mass Storage相关协议简介 2.1.1.1. USB MSC Control/Bulk/Interrupt (CBI) Transport 2.1.1.2. USB MSC Bulk-Only (BBB) Transport 2…
Android USB Connections Explained: MTP, PTP, and USB Mass Storage Older Android devices support USB mass storage for transferring files back and forth with a computer. Modern Android devices use the MTP or PTP protocols — you can choose which one you…
目录 简介 指令数据和状态协议 CBW指令格式 CSWCommand Status Wrapper状态格式 SCSI命令集 Format Unit Inquiry MODE SELECT 简介 USB Mass storage Device协议即海量存储设备协议适用于硬盘,U盘等大容量存储设备.协议使用的接口端点有BulkIn.BulkOut和Interrupt端点.该设备类又包含6个独立的子类以及3种传输协议. bInterfaceSubClass 命令集 描述 01h RBC 通常,Flas…
再次遇到android  mUsbManager.getDevicelist() 得不到usb 设备的问题.于是深入去探讨android 与usb 外围设备通信的问题.第一篇文章写的有点乱,本质就是需要加入系统的usb操作权限(需要root权限,这种指导国内外的网站上都已经有很多了). 前面做的项目usb设备是标准的HID设备,使用USBtrace可以看到是setup class支持HIDclass(如下图1),因此在root android加入权限之后可以通过getDeviceList()得到…