USB中典型类及子类:

类别

解释

子类

典型应用

IC芯片

备注

视频类

免驱USB摄像头

ECM(p24)

免驱USB网卡

......

以前接触过UVC,今天接触了CDC-ECM原理上是一样的,定义一套标准协议主从机都遵守了就不需要额外的驱动程序。

简单翻译(其实用Google的多一些)一下usbcdc11的第3.8.2关于CDC-ECM的章节。

3.8.2 Ethernet Networking Control Model

以太网控制模型是用在主从设备间的以太网帧数据的交换。通信类接口用于配置和管理以太网程序,程序中包含的“以太网控制模型”子类码是通信类接口描述定义。

数据接口则用于在USB总线上交换USB数据包,这些USB数据包封装了完整的以太网包。CRC校验和不能包含在以太网收发数据包中。检验失败的帧数据不能再发送到主机。这意味着设备必须能够缓冲至少一个完整的以太网帧数据。

尽管USB虚拟网络接口通常一直保持连接状态,一些网络设备管理的要求,需要正确地初始化设备和主机网络堆栈两者。也可能是偶然的变化配置或状态,例如,增加组播过滤器。

这是有效的通信类接口与通信类子类乙太网路控制模型的唯一一类特定的请求代码列于表10。

Linux内核配置支持CDC-ECM:

1 Device Drivers --->

2   [*] Network device support --->

3       USB Network Adapters --->

4          Multi-purpose USB Networking Framework

5         -*-CDC Ethernet support (smart devices such as cable modems)

匹配CDC-ECM设备的LOG信息:

usb 1-1: new full speed USB device using s3c2410-ohci and address 3usb1-1: New USB device found, idVendor=0bda, idProduct=8152usb1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3usb1-1: Product: USB 10/100LAN

usb1-1: Manufacturer: Realtek

usb1-1: SerialNumber: 00E04C36004F

usb1-1: configuration #2 chosen from 2choices

eth1: register'cdc_ether' at usb-s3c24xx-1, CDC Ethernet Device, 00:e0:4c:36:00:4f

然后就完事了,它就是一个普通的网卡了。

总结:ECM的驱动源码文件是drivers/net/usb/cdc_ether.c。不需要添加Vid Pid等等任何操作就可以使用。cdc_ether.c与传统的以太网芯片的驱动程序并不一样,并不是实现xxx_open(),xxx_stop(),xxx_tx(), xxx_hard_header(), xxx_get_stats, xxx_tx_timeout()而是实现了:usbnet_generic_cdc_bind(), usbnet_cdc_unbind(), usbnet_cdc_bind(), usbnet_cdc_status()等4个API。

USB中典型类及子类2:

| Class |  Description | Example         |

|:-----: |:------------: |----------------- |

|  00h   |       -       | -               |

|  01h   |     Audio     | USB Audio Card   |

|  08h   | Mass Storage | USB Flash(UPan) |

For Audio Class:

```

Device Drivers --->

Sound card support--->

Sound card support

Advanced Linux Sound Architecture  --->

[*] USB sound devices  --->

USB Audio/MIDI driver

```

then run `cat /proc/cards` you will see what like this

```

$ cat /proc/asound/cards

0 [Intel          ]: HDA-Intel - HDA Intel

HDA Intel at 0xfebf4000 irq 44

1 [Set            ]: USB-Audio - C-Media USB Headphone Set

C-Media USB Headphone Set at usb-0000:00:1d.2-1, full speed

$

```

the [Set] is a USB audio card.

ecm工作原理 usb_(转)USB中CDC-ECM的了解和配置相关推荐

  1. ecm工作原理 usb_“好玩具”来了!往你的USB端口里藏入一个小开发板...

    大家好,我是小月月,今天又带来新玩具啦. Tomu是一块可编程的小开发板,可以藏进USB端口.它可以自由编程,提供两个按键和两个LED灯,你能用它实现各种创意功能,比如自定义鼠标键盘.USB数据下载. ...

  2. ecm工作原理 usb_USB中CDC-ECM的了解和配置

    USB中典型类及子类: 类别 解释 子类 典型应用 IC芯片 备注 视频类 免驱USB摄像头 ECM(p24) 免驱USB网卡 ...... 曾经接触过UVC.今天接触了CDC-ECM原理上是一样的, ...

  3. ecm工作原理 usb_ECM的工作原理.ppt

    ECM的工作原理.ppt 麦克风基础知识教程 议 程 声音的概念 麦克风的分类 麦克风的结构 麦克风的工作原理 麦克风的应用领域 麦克风的工艺流程 麦克风的标注命名规则 驻极体电容传声器结构 EM60 ...

  4. 结合 category 工作原理分析 OC2.0 中的 runtime

    绝大多数 iOS 开发者在学习 runtime 时都阅读过 runtime.h 文件中的这段代码: struct objc_class {Class isa OBJC_ISA_AVAILABILITY ...

  5. 《涨知识啦29》-DBR的工作原理及其在VCSEL中的作用

    分布式布拉格(Distributed Bragg Reflection,简称DBR)反射镜是垂直腔面发射激光器(Vertical-Cavity Surface-Emitting Laser,简称VCS ...

  6. usb中cdc dfu hid msc的区别

    cdc : communication device class,CDC是通信设备级方案,是USB 转其他的接口的一类设备,比如USB转RS232,USB转Ethernet等 dfu : Device ...

  7. camera理论基础和工作原理【转】

    转自:http://www.cnblogs.com/fjutacm/p/220631977df995512d136e4dbd411951.html 写在前面的话,本文是因为工作中需要编写摄像头程序,因 ...

  8. 15.学习Camera之——camera理论基础和工作原理

    导读: 一.摄像头模组CCM 二.摄像头工作原理一.摄像头模组(CCM)1.camera特写摄像头模组,Camera Compact Module,简写为CCM,是影响捕捉的重要元器件,我的理解就是硬 ...

  9. (译)UEFI 启动:实际工作原理

    转载地址:http://www.tuicool.com/articles/NNf26jB 本文是我翻译自国外技术博客的一篇文章,其中讲述了 UEFI 的一些基本概念和细节. 本文的原始链接位于: ht ...

最新文章

  1. MeanShift 目标跟踪
  2. 集成 websocket 的四种方案
  3. win7删除微软拼音输入法
  4. iOS开发之网络编程--6、NSURLSessionConfiguration笔记
  5. vscode beautify sass 格式化_最强编辑器 VSCode 系列之插件推荐【不定期更新】
  6. 苹果召回部分产品;罗永浩锤子商城并入字节跳动;美团打车上线上海南京 | 极客头条...
  7. android:inputType 参数详解
  8. java runnable接口 sleep_java Runnable接口如何创建线程
  9. java案例代码13--斗地主部分代码--静态ArrayList的使用
  10. R语言大作业(全国2000-2019年人口各项数据分析)
  11. 国内ERP系统和SAP系统架构存在哪些差异?
  12. html多重阴影,CSS3多重阴影特效
  13. openwrt reboot流程
  14. 用C#编写HMI界面,用USB转485和PLC通讯,PLC用的是台达的DVP-12SE系列
  15. 猪大肠怎么清洗才干净无异味
  16. 备战2022高考,贺阳衡水一中高级中学高三师生全力以赴
  17. 韩国仁川机场乐天免税店买买买!
  18. BUUCTF 金3p
  19. vcs+verdi Debug记录
  20. LCD 硬件原理(TN,STN,TFT之间的差别)

热门文章

  1. LeetCode简单题之棒球比赛
  2. 硬件平台上深度学习自动内核优化
  3. TensorFlow实现多层感知机MINIST分类
  4. 深度学习-智能视频监控
  5. 客快物流大数据项目(二十五):初始化业务数据
  6. python 删除list 里面的一个空集合
  7. Android Handler sendMessage和 sendMessageDelayed的使用
  8. Android 自定义Dialog 的使用
  9. Unix/Linux/Mac os下 文件互传
  10. .net平台性能很不错的轻型ORM类Dapper(转)