USB CCID "复杂"命令拾零?】的更多相关文章

本文记录 USB CCID 标准中几个"复杂"的命令,复杂在于在这些命令身上花的时间较之简单的命令多许多或者是理解的时间比较晚,可能就是刚才.主要有以下几条:ccid_T0APDU();ccid_Secure();ccid_Escape();ccid_Abort();ccid_Mechanical();ccid_SetDataRateAndClockFrequency(); ccid_T0APDU(): 我们知道,当读卡器是APDU level时,并且卡片使用T=0协议进行通信,那么构…
CCID是USB Chip/Smart Card Interface Devices,也就是USB芯片智能卡接口设备,是USB规范下的一种设备类型.就像HID设备一样,需要参考USB规范来写固件程序来实现的.网上搜搜USB CCID的规范. PC/SC应该也是Personal Computer/Smart Card,即基于PC的Smart Card.…
USB设备请求命令 :bmRequestType + bRequest + wValue + wIndex + wLength 编号 值  名称 (0) 0  GET_STATUS:用来返回特定接收者的状态(1) 1  CLEAR_FEATURE:用来清除或禁止接收者的某些特性 (x) 2 为将来保留(2) 3  SET_FEATURE:用来启用或激活命令接收者的某些特性 (x) 2 为将来保留(3) 5  SET_ADDRESS:用来给设备分配地址(4) 6  GET_DESCRIPTOR:用…
试过3.0.3-0和3.0.3-1的recovery都无法使用“挂载USB大容量存储器”模式,这肯定让很多清掉系统(就是system分区)的小伙伴无力吐槽,因为这样子rom就无法在rec里面从电脑拷到我们手机里面,也差不多宣判我们手机只能刷回原系统才能救回来了.其实还有办法解救的:1.安装adb2.进入recovery,点击“挂载”,点击“关闭MTP模式”,这样子手机就会被我们的电脑识别了,我们可以打开命令窗口,输入“adb devices”,回车之后就会得到我们设备连接信息了: 我们完全可以使…
open:dd if=imx6dl-sabresd-usboc.dtb of=/dev/mmcblk0 bs=512 seek=1536 conv=fsyncclose:dd if=imx6dl-sabresd_no-usboc.dtb of=/dev/mmcblk0 bs=512 seek=1536 conv=fsync…
来源:Linux中国  原文:https://linux.cn/article-2448-1.html 通用串行总线(USB)被设计成为连接计算机外设的标准,如键盘.鼠标.打印机.数码相机.便携式媒体播放器.磁盘和网络适配器等等 - 来源:Wikipedia 它已经成为了一个工业标准,现在很难看到一个没有USB口的计算机了.USB闪存的使用使得它更加流行.在Linux上,我们可以使用lsusb来列出USB设备和它的属性. 什么是lsusb 在它的手册上,lsusb定义成: 显示系统中以及连接到系…
USB设备描述符和请求命令 介绍标准的USB设备描述符和请求命令. 标准的USB描述符 当USB设备第一次连接到主机上时,要接收主机的枚举和配置,目的就是让主机知道该设备具有什么功能.是哪一类的USB设备.需要占用多少USB的资源.使用了哪些传输方式以及传输的数据量多大等等.只有主机完全确认了这些信息后,设备才能真正开始工作.这些信息是通过存储在设备中的USB描述符来体现的. USB设备的属性包括很多内容,为了便于管理,USB协议1.1将这些信息做了分类,定义了很多种描述符,其中标准的描述符包括…
问题一:USB的传输线结构是如何的呢? 答案一:一条USB的传输线分别由地线.电源线.D+.D-四条线构成,D+和D-是差分输入线,它使用的是3.3V的电压(注意哦,与CMOS的5V电平不同),而电源线和地线可向设备提供5V电压,最大电流为500MA(可以在编程中设置的,至于硬件的实现机制,就不要管它了). 问题二:数据是如何在USB传输线里面传送的? 答案二:数据在USB线里传送是由低位到高位发送的. 问题三:USB的编码方案? 答案三:USB采用不归零取反来传输数据,当传输线上的差分数据输入…
别人总结的一个usb传输模式,保存一下 usb中的endpoint(端点)和传输模式 端点: 端点位于USB 外设内部,所有通信数据的来源或目的都基于这些端点,是一个可寻址的FIFO. 每个USB 外设有一个唯一的地址,可能包含最多十六个端点.主机通过发出器件地址和每次数据传输的端点号,向一个具体端点(FIFO)发送数据. 每个端点的地址为0 到15,一个端点地址对应一个方向.所以,端点2-IN 与端点2-OUT 完全不同. 每个器件有一个默认的双向控制端点0,因此不存在端点0-IN 和端点0-…
一 linux命令的格式 1.命令  [选项]  [参数] ls  list    显示目录下内容 ①  命令名称:ls 命令英文原意:list 命令所在路径:/bin/ls 执行权限:所有用户 功能描述:显示目录文件 ②  ls  名直接回车,显示目录下内容 ls  -l          长格式显示       (缩略选项用一个减号,完整选项用两个减号) -rw-------    1   root    root    1190    08-10 23:37     anaconda-ks…
复习: 判断题 1.fedora.redhat.Centos.suse.ubuntu.都是常见的linux 2./分区.swap分区./boot分区都是linux的必须分区 3./dev/sda5在linux中代表第一块硬盘的第五个分区 第一个逻辑分区 4./etc/目录是linux系统保存配置文件的目录 5.mkdir -p /11/22/33/44 会递归在家目录下建立一串目录 目录: 第三章 Linux常用命令 一 文件操作命令 二 文件和目录都能操作的命令 三 权限管理 四 帮助命令 五…
背景: 需要使用到USB协议,我一直尝试着去强记这个流程,现在看来,其实不用.看多了,把这个过程具象出来,就牢牢记住了. 正文: 正文转自:http://fangjian0518.blog.163.com/blog/static/5591965620116283232431/ 一 枚举过程: ◆ 用户将一个USB设备插入USB端口,主机为端口供电,设备此时处于上电状态. ◆主机检测设备. ◆集线器使用中断通道将事件报告给主机. ◆主机发送Get_Port_Status(读端口状态)请求,以获取更…
转自:http://blog.csdn.net/gatieme/article/details/49491325 目录 1. 问题 2. 驱动源码 3. 内核配置 4. 编译内核和模块驱动 5. 加载驱动 问题 这两天为了做gps和arm的通讯,不得不捣鼓这个东东.开发板是创维特jx2410,usb转串口线的芯片是pl2303.还好是这个芯片,让我没费多少力气,就达成了目的.因为linux对它已经支持了,我们只要编译.加载它的驱动就ok了. 驱动源码 一般来说USB转串口的驱动已经集成在内核中,…
本文转载自: 1.高速USB和USB2.0有区别吗?     高速USB和USB2.0是有区别的,区别在于USB2.0是一种规范,而"高速USB"仅指在USB2.0规范中数据传输率为480Mbps的那部分,某个设备可以是符合USB2.0的设备,同时还可以是全速设备 或低速设备.2.USB2.0设备与计算机的通信速度有多快?   USB2.0支持低速.全速和高速三种速度,分别为1.5Mbps.12Mbps.480Mbps3.USB规范定义了哪些数据传输机制(Endpoint Transf…
本文转载自:http://www.cnblogs.com/xidongs/archive/2011/09/26/2191616.html 一.应用场合 USB HID类是比较大的一个类,HID类设备属于人机交互操作的设备.用于控制计算机操作的一些方面,如USB鼠标,USB键盘,USB游戏操纵杆,USB触摸板,USB轨迹球.电话拨号设备.VCR遥控等等设备.另外,使用HID设备的一个好处就是,操作系统自带了HID类的驱动程序,而用户无需去开发很麻烦的驱动程序,只要直接使用API调用即可完成通信.所…
dscr51里放的是USB描述符表,EZ-USB在重枚举阶段会读取或设置相应的描述符: db    DSCR_DEVICE_LEN          ;; Descriptor length db    DSCR_DEVICE                  ;; Decriptor type dw   0002H                                 ;; Specification Version (BCD) db    00H                  …
转载请注明来源:cuixiaolei的技术博客 USB HID设备类的应用场合 USB HID类是USB设备的一个标准设备类,包括的设备非常多.HID类设备定义它属于人机交互操作的设备,用于控制计算机操作的一些方面,如USB鼠标.USB键盘.USB游戏操纵杆等.但HID设备类不一定要有人机接口,只要符合HID类别规范的设备都是HID设备. USB HID设备的一个好处就是操作系统自带了HID类的驱动程序,而用户无需去开发驱动程序,只要使用API系统调用即可完成通信. USB HID设备类的通信管…
把USB打印机映射到LPT端口(pos小票机测试成功)2010-12-23 18:11:00| 分类: 編程 | 标签: |字号大中小 订阅 注释:在DOS命令行下运行以下命令(以下为示例,根据实际情况要有所改动):NET USE LPT2 \\192.168.0.2\EPSONLQ635 /PERSISTENT:YES;以上这行的含义为将打印端口LPT2映射为共享主机192.168.0.2的共享打印机EPSONLQ635;这时本机应用程序把打印结果发送到LPT2就会在共享主机192.168.0…
1.系统插入USB设备后,从控制台界面有如下提示: 从控制台信息可以看出插入的USB设备名. 从上图可以看出,插入的USB设备为sde4. 但是,如果是CRT工具远程连接过去,可以使用下面的命令来查看USB设备. 2.使用lsblk命令查找USB设备名 lsblk命令用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息.块设备有硬盘,闪存盘,cd-ROM等等. 如下所示: [root@rhel7 ~]# lsblk --插入USB设备前的分区情况 NAME…
USB2.0通讯协议(spalish)   1.包(packet) 包是USB系统中信息传输的基本单元,所有数据都是经过打包后在总线上传输的.USB包由五部分组成,同步字段(sync).包标识符(PID).数据字段.CRC和包结尾字段(EOP).   包类型(由PID区分): 令牌:OUT   IN  SOF  SETUP 数据:DATA0  DATA1 握手:ACK  NAK  STALL 特殊:PRE   2.事务(transaction) USB系统上一次接收或发送的处理过程称为事务.事务…
枚举可以理解为主机按不定的顺序向USB设备讨要设备信息,好给它分配资源,若枚举不成功,就放弃分配资源,免得浪费资源.一般都是使用中断传输方式通信. 常用的描述符有以下几种:01H.设备描述符  02H.配置描述符  03H.字符串描述符  04H.接口描述符  05H.端点描述符 21H:HID描述符 22H:HID报告 一个设备只能有一个设备描述符,而一个设备描述符可以包含多个配置描述符(bNumConfigurations  ),一个配置描述符又可以包含多个接口描述符,一个接口使用了几个端点…
1. USB协议 1.1 USB主机系统 在USB主机系统中,通过根集线器与外部USB从机设备相连的处理芯片,称为USB主机控制器.USB主机控制器包含硬件.软件和固件一部分. 1.2 USB设备系统 USB设备按功能分为两部分:集线器(Hub)和功能部件.从下图可知,主机通过根集线器连接到各种外围设备(集线器和功能部件). 1.3 主机和设备之间通信模型     主机与设备之间的通信模型 上图展示了USB主机和USB设备之间的数据传输过程.在设备端,USB设备将非USB格式的数据进行打包处理,…
一.USB协议基础知识   前序:USB概念概述 USB1.0版本速度1.5Mbps(低速USB) USB1.1版本速度12Mbps(全速USB)  USB2.0版本速度480Mbps(高速USB). USB 分为主从两大体系,一般而言, PC 中的 USB 系统就是作主,而一般的 USB 鼠标, U 盘则是典型的 USB 从系统. USB主控制器这一块,我们至少要开发出 USB 的主控制器与从控制器,鼠标是低速设备,所需的是最简单的一类从控制器.主控制器则复杂得多,因为太过于复杂了,所以就形成…
以下是总结的USB的类,不同的USB类,主机询问的描述符格式和内容都不一样,具体的descriptor的内容可以查看 USB spec(http://www.usb.org/home/),如HID的spec里有关于鼠标键盘描述符的详细说明(在appendix E里) 1.宏定义 #define DEVICE_DESCRIPTOR 0x01 //设备描述符 #define CONFIGURATION_DESCRIPTOR 0x02 //配置描述符 #define STRING_DESCRIPTOR…
带U盘功能的的USB接口设备已经越来越常见了.如果能够把产品说明书或者产品设备驱动程序做成一个USB CDROM,那该多方便.假设:你已经有了USB mass storage驱动.你的任务是在此基础上增加一个USB CDROM.请在手边准备好:USB2.0协议,Mass storage协议,SCSI协议(可以忽略).此外,你需要一个debug工具:bushound.    步骤:        1,制作CDROM image文件:        2,处理usb device request:Ge…
USB On-The-Go 扩大了USB 的应用领域,将USB 从传统的PC 与外设通讯的模式,扩展到移动电子和嵌入式领域中,抛开主机PC,实现通常的外设与外设之间点对点(Point to Point)的数据传输模式. 1 什么是USB On-The-Go 我们先来回顾一下通用串行总线(Universal Serial Bus,简称为USB)发展的历史: i)1994 年11 月,以Intel 为首的7 家公司(Intel.Compaq.Microsoft.IBM.DEC.Northern Te…
http://www.amobbs.com/thread-901041-1-1.html 问题一:USB的传输线结构是如何的呢? 答案一:一条USB的传输线分别由地线.电源线.D+.D-四条线构成,D+和D-是差分输入线,它使用的是3.3V的电压(注意哦,与CMOS的5V电平不同),而电源线和地线可向设备提供5V电压,最大电流为500MA(可以在编程中设置的,至于硬件的实现机制,就不要管它了). 问题二:数据是如何在USB传输线里面传送的 答案二:数据在USB线里传送是由低位到高位发送的. 问题…
源:USB入门基础知识 相关名词: 主机(Host) 设备(Device) 接口(Interface) 管道(Pipe) 管道是主机与设备端点数据传输的连接通道,代表了主机的数据缓冲区与设备端点之间交换数据的能力.管道包括数据流管道和消息管道. Such associations between the host software and a USB device endpoint are called pipes. 端点(Endpoint) 端点,实际上是设备硬件上具有一定大小的数据缓冲区.U…
1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流 ffmpeg -i input_file -acodec copy -vn output_file_audio //分离音频流 2.视频解复用 ffmpeg –i test.mp4 –vcodec copy –an –f m4v test.264 ffmpeg –i test.avi –vcodec copy –an –f m4v test.264…
本文对应usb2.0协议的第八章Protocol Layer. 数据是由二进制数字串构成的,首先数字串构成域(有七种),域再构成包,包再构成事务(IN.OUT.SETUP),事务最后构成传输(中断传输.并行传输.批量传输和控制传输). (一)域:是USB数据最小的单位,由若干位组成(至于是多少位由具体的域决定),域可分为七个类型: 1.同步域(SYNC),是用来告诉USB的串行接口引擎数据要开始传输了,请做好准备.除此之外,同步域还可以用来同步主机端和设备端的数据时钟,因为同步域是以一串0开始的…