您現在的位置:首頁 > 新聞資訊 > 行業動态
USB中CDC-ECM的了解和配置
發(fā)布時(shí)間:2022/4/14 17:42:鐘新15
 

USB中典型類及子類:

類别

解釋

子類

典型應用

IC芯片

備注

UVC

視頻類

  志不

免驅USB攝像頭

 

  公票

CDC

通訊類

RNDIS

 

 

 

ECM(p24)

免驅USB網卡   SR9900A


 

EEM

 

 

 

......

  玩友

 

 

 

     外笑   以前接觸過(guò)UVC,今天接觸了CDC-ECM原理上是一樣(yàng)的,定義一套呢鐵标準協議主從機都(dōu)遵守了就(jiù)飛聽不需要額外的驅動程序。

        簡單翻譯(其實用Google的多一些)一下usbcdc11的第3.8.2關于CDC-ECM的章節。

 

3.8.2 Ethernet Networking&n明數bsp;Control Model

    外能   &n商子bsp;以太網控制模型是用在主從設備間的以太網幀數據的交換。通信類接口用于機海配置和管理以太網程序,程序中包含的以太網控制模型子類碼是通信類接口描述定義。

        數據接口男她則用于在USB總線上交換USB數據包,這(zhè)些USB數以的包封裝了完整的以太網包。CRC校驗和不能(néng)包含在以太網收發(fā)數據包什微中。檢驗失敗的幀數據不能(néng)再發老學(fā)送到主機。這(zhè)意味著(zhe)設備必須能(néng)夠緩沖至少一個完整的以太網幀數據。

 

 

    化兵    盡管USB虛拟網絡接口通常一直保持連接狀态,一些網絡設黑件備管理的要求,需要正确地初始化設備和主機網絡堆棧兩(liǎng)者。也姐業可能(néng)是偶然的變化配置或狀态,例如,增加組播過(guò)濾資近器。

        黃能這(zhè)是有效的通信類接口與通信類子類乙太網路熱河控制模型的唯一一類特定的請求代碼列于表10

 

 

 

Linux内核配置支持CDC-ECM


[python] view plain copy
  1. Device Drivers&nbs風房p; --->  
  2.    &nb科些sp;[*] Network d技計evice support 看算; --->  
  3.     &n木慢bsp;   USB&這海nbsp;Network Adapt公美ers  ---> &機我nbsp;
  4.     也哥;     &n車很bsp;  &頻刀lt;*> Multi-purpose&nbs放厭p;USB Network章到ing Framework &nb務跳sp;
  5.    &書資nbsp; &nbs飛理p;  &雪去nbsp;   -*-&nb土文sp;  CDC Ethernet 子友;support (smart devices&nb說道sp;such as cable modems日道)  



匹配CDC-ECM設備的LOG信息:

usb 1-1: new full 計年;speed USB 跳土device using s3c2410-o長雪hci and addr業北ess 3

usb 1-1: New USB 亮火device found, idVendor=0bd看上a, idProduct=8152

usb 1-1:&nbs作現p;New USB device&nb可鐵sp;strings: Mfr=1, Product=友北2, SerialNumber=3

usb 1-1: Produc也又t: USB 10/1雜腦00 LAN

usb 1-1: Ma白報nufacturer: Rea廠唱ltek

usb 1-1: 村工;SerialNumber: 00E04C3數明6004F

usb 1-1: configuration 能分;#2 chosen&nbs窗你p;from 2 choices

eth1: register 'cdc_坐商ether' at usb-s3c24遠校xx-1, CDC Ethernet De暗低vice, 00:e0:4c:36:00:4f

 

然後(hòu)就(jiù)完事河了(shì)了,它就(jiù)是一個普通的網卡了。

 

       &nbs信長p;總結:ECM的驅動源碼文件是drivers/net/usb/cdc_ether.c。不需要添加Vid Pid等等任何操作就(jiù)可以使用。cdc_ether.c與傳統的以太網芯片的驅動程序并不一樣(yàng),并明間不是實現xxx_open(),xxx_s煙子top(),xxx_tx(),&就報nbsp;xxx_hard_header(), 靜店xxx_get_stats, xxx_tx_timeou機謝t()而是實現了:usbnet_generic_cdc_bind(), 問購;usbnet_cdc_unbind(), usbnet_cdc_bind(),&nbs長銀p;usbnet_cdc_st店高atus()4API

 

USB中典型類及子類2:


| Class |  Description | Example        計照; |
|:-----: |:------------:|----------------- |
|  00h   |       -  國妹    | -       &nb校空sp;     &制跳nbsp; |
|  01h   |     Audio   &短舞nbsp;| USB Audio Card  電年 |
|  08h   | Mass Storage | USB Flash(UPan) |




For Audio Class:話路
```
Device Drivers --->算都
Sound card support--通從->
<*> Sound ca畫人rd support
  <*> Advance讀雨d linux Sound Architec鄉章ture  --->
      [*] USB so書笑und devices  --->
         數藍<*>   USB Audio/MI路時DI driver
```
then run `cat /proc/cards` you wi日鐵ll see what like this
```
$ cat /proc/asound/cards亮司 
 0 [Intel &nbs煙知p;     &n理視bsp;  ]: H間你DA-Intel - HDA 電就Intel
     車影;     &nb錢唱sp;      冷快;     HDA Int他拿el at 0xfebf4000 irq 44
 1 [Set    費窗;        對近;]: USB-Audio - C-Media USB Headp女年hone Set
    &nbs那西p;           &老從nbsp;   &nbs睡務p; C-Media USB Headphone Set at 男物usb-0000:00:1d.2-1, ful舞朋l speed

```
the [Set] is a USB au離分dio card.

手機信号放大器