6.4 Device Error Handling The device may not be able to fully satisfy the host's request. At the point when the device discovers that it cannot fully satisfy the request, there may be a Data-In or Data-Out transfer in progress on the bus, and the hos…
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…
一.内容概述  采用STM32内部自带USB控制器外加大页NAND FLASH K9F1G08U0A实现一个128M的U盘. 1.STM32的USB控制器 STM32F103的MCU自带USB从控制器,符合USB规范的通信连接:PC主机和微控制器之间的数据传输是通过共享一专用的数据缓冲区来完成的,该数据缓冲区能被USB外设直接访问.这块专用数据缓冲区的大小,由所使用的端点数目和每个端点最大的数据分组大小所决定,每个端点最大可使用512字节缓冲区,最多可用于16个单向或8个双向端点.USB模块同P…
目录 简介 指令数据和状态协议 CBW指令格式 CSWCommand Status Wrapper状态格式 SCSI命令集 Format Unit Inquiry MODE SELECT 简介 USB Mass storage Device协议即海量存储设备协议适用于硬盘,U盘等大容量存储设备.协议使用的接口端点有BulkIn.BulkOut和Interrupt端点.该设备类又包含6个独立的子类以及3种传输协议. bInterfaceSubClass 命令集 描述 01h RBC 通常,Flas…
这一节主要把在实现“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…
如何实现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…
http://blog.csdn.net/xgbing/article/details/7002558 USB Mass Storage 6.7 The Thirteen Class章节的理解 Case(1), case(6), case(12)状态下是正常的数据传输,被称为“The thin diagonal”.其它的状态是协议外的内容,是一些判断. 6.7.1 主机期望发起一次无数据传输的命令 CBW包中的dCBWDataTransferLength字段=0,Direction位不考虑. 主…
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…
Problem adding USB host device to KVM Windows guest machine. Status: CLOSED CURRENTRELEASE   Aliases: None   Product: Fedora Component: qemu (Show other bugs) Version: 18 Hardware: x86_64 Unspecified   Priority unspecified Severity unspecified Target…
http://social.msdn.microsoft.com/Forums/windowsdesktop/zh-CN/35620a05-43be-46a8-8cbe-846bc8295d85/usb-mass-storage-cWe have an USB mass storage / Memory Stick device with an additional device on it. We communicate with PassThrough mechanism to the de…
前面总结了usb hid keyboard,现在总结usb mass storage,在枚举阶段没什么好总结的,hid和mass storage差不多,都是同样的枚举过程,但是在他们的配置描述符.接口描述符.端点描述符,也许还有之类描述符是不同的,需要按照usb mass storage的协议来配置,下面是列出usb的相关描述符. const usb_device_descriptor device_desc = { .length = USB_DEVICE_DESC_SIZE, .type =…
http://www.ezblog.idv.tw/Download/USBStorage.rar 這是一個不透過檔案系統,去讀寫USB Mass Storage 任何位置(包含FAT)的方式 首先需安裝微軟的DDK並include "usbioctl.h" , "usbdi.h" , "ntddscsi.h" 有幾個資料結構要定義 typedef struct _SCSI_Device_Info_ { SCSI_PASS_THROUGH Spt;…
使用otg端口进行usb slave的测试,需要安装g_file_storage.ko或者g_mass_storage.ko模块. 参考链接 http://blog.csdn.net/freeman1975/article/details/46364319 http://linux-sunxi.org/USB_Gadget/Mass_storage http://xlon.de/wiki/index.php?title=USB_Mass_Storage_Gadget_(or_MSG) http:…
当需要使用usb bulk传输,想让设备像串口通讯那样和PC主机通信, 通常需要自己做一个PC端的驱动,比较麻烦. 为避免在pc上编写usb设备驱动的麻烦,可以将设备做成mass storage 类的设备,使用通用的驱动. 在通讯之前设备端需要先做两件事: 1,实现mass storage 类的描述符和类请求. 2,实现必要的SCSI命令,让PC认为该设备已正常运作. 我利用修改linux中的gadget zero设备做了一个简单的设备. 如果是在裸机程序下面做,应该也差不多,直接拿芯片厂商BS…
http://stackoverflow.com/questions/14363152/send-custom-commands-to-mass-storage-device I have developed a mass-storage device, and I'd a like a PC application to send/receive some custom commands to it. Normally one would create a composite USB devi…
9.1 Mass Storage设备介绍 USB的Mass Storage类是USB大容量储存设备类(Mass Storage Device Class).专门用于大容量存储设备,比如U盘.移动硬盘.USB CD-ROM.读卡器等.在日常生活中经常用到.USB Mass Storage设备开发相对简单. 9.2 MSC数据类型 usbdmsc.h中已经定义好MSC设备类中使用的所有数据类型和函数.下面介绍MSC设备类使用的数据类型. typedef enum { //设备加入 USBDMSC_M…
上位机:ubuntu14.04 64bit 下位机:qq2440 交叉编译器:arm-linux-gcc 3.4.1 下位机使用的linux内核版本:kernel2.6.13 1.插入u盘时错误信息如下: [root@FriendlyARM /home]# usb 1-1: new full speed USB device using s3c2410-ohci and address 6usb 1-1: device descriptor read/64, error -110usb 1-1:…
早上上班,同事反应服务上不去,后台看了一下,发现tomcat挂掉了,重新启动tomcat时报错. ERROR: transport error 202: bind failed: Address already in use 可能是异常关闭,系统没有正常关闭应用的运行环境. 各种调整server.xml里的参数都没有用. 在网上查到两个解决方法,不过都和我实际情况不一致.最后结合二种方法解决问题. 启动tomcat时ERROR: transport error 202: bind failed:…
解决 webservice 调用之后报错:调用异常:Transport error : 401 Error:Unauthorized 授权失败. 加入如下代码 //Sap需要ws-security的认证,调用sap webservice的认证信息需要输入用户名和密码: HttpTransportProperties.Authenticator sapAuth = new HttpTransportProperties.Authenticator(); sapAuth.setUsername("h…
异常信息: ERROR: transport error : bind failed: Cannot assign requested address ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT() JDWP exit error AGENT_ERROR_TRANSPORT_INIT(): No transports initialized [debugInit.c:] 如何解决: 将服务器/etc/h…
FATAL ERROR in native method:JDWP No transports initialized,jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197) ERROR: transport error 202: connect failed:Connection timed out ERROR: JDWP Transport dt_socket failed toinitialize, TRANSPORT_INIT(510) JDWP exit…
I need to use foursquare API to search venues. Of course it is cross-domain. It has no any problems in Firefox but in Internet Explorer (7, 8, 9 I've tested). My javascript code looks like: searchVenues: function(searchQuery) { $.ajax({ url: 'https:/…
昨天在服务器上拷贝了一个tomcat项目,修改了server.xml之后启动居然报错ERROR:transport error 202:bind failed:Address already,应该是远程调试的端口重复占用了,打开startup.sh,把以下行注释掉即可: //linux declare -x CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,ser…
Use Exceptions Rather Than Return Codes Back in the distant past there were many languages that didn't have exceptions.In those languages the techniques for handling and reportiing errors were limited.You either set an error flag or returned an error…
14.20.4 InnoDB Error Handling Error handling in InnoDB is not always the same as specified in the SQL standard. According to the standard, any error during an SQL statement should cause rollback of that statement. InnoDB sometimes rolls back only par…
Erlang error handling Contents Preface try-catch Process link Erlang-way error handling OTP supervisor tree Restart process 0. Preface 说到容错处理,大概大家都会想到 try-catch 类结构,对于绝大多数传统语言来说,确实是这样.但是对于Erlang来说,容错处理是其一个核心特性,真正涉及到的是整个系统的设计,与 try-catch 无关:其核心是Erlang…
Summary: this tutorial shows you how to use MySQL handler to handle exceptions or errors encountered in stored procedures. When an error occurs inside a stored procedure, it is important to handle it appropriately, such as continuing or exiting the c…
目录 . 应用场景 . Use Case Code Analysis . 和setjmp.longjmp有关的glibc and eglibc 2.5, 2.7, 2.13 - Buffer Overflow Vulnerability 1. 应用场景 非局部跳转通常被用于实现将程序控制流转移到错误处理模块中:或者是通过这种非正常的函数返回机制,返回到之前调用的函数中 . setjmp.longjmp的典型用途是异常处理机制的实现:利用longjmp恢复程序或线程的状态,甚至可以跳过栈中多层的函…