Your present posi美大tion:HOME PAGE > NEWS > Industry dynamics
USB中CDC-ECM的了解和配置
The release date:2022/4/14 17日開:42:15
  

USB中典型類及子類:

類别

解釋

子類

典型應用

IC芯片

備注

UVC

視頻類

 

免驅USB攝像頭

 

 

CDC

通訊類

RNDIS

 

 

 

ECM(p24)

免驅USB網卡   SR9900A


 

EEM

 

 

 

......

 

 

 

 

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

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

 

3.8.2 Ethe聽區rnet Networki答草ng Control Mo子書del

       票見 以太網控制模型是用在主從設備間的以太網幀數據的亮山交換。通信類接口用于配置和管理以太網日有程序,程序中包含的以太網控制模型子類碼是通信類接口描述定義。

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

 

 

      &n鄉店bsp; 盡管USB虛拟網絡接口通常一直保持連接狀态,一些網問放絡設備管理的要求,需要正确地初始化設備場從和主機網絡堆棧兩(liǎng)者。也可能(néng報舊)是偶然的變化配置或狀态,例如頻我,增加組播過(guò)濾器。

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

 

 

 

Linux内核配置支持CDC-ECM


[python] view plain copy
  1. Device Drivers &nbs從輛p;--->  如長
  2.    &nb一道sp;[*] Network de河術vice support  ---務車>  
  3.     道跳;    USB 購空;Network Adapters&道著nbsp; --->綠見  
  4.     &nb水個sp;     &美兵nbsp; <*>&老工nbsp;Multi-purpose USB Netw明看orking Framew河日ork  
  5.      &nbs用也p;     &n商公bsp;-*-   CDC 時還Ethernet support (smart 兵裡;devices such as 些外;cable modems) &nb藍木sp;



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

usb 1-1: new fu事離ll speed USB device 個又;using s3c2410-ohci 低車and address 3

usb 1-1: N子森ew USB device found,&我黑nbsp;idVendor=0bda, idP去子roduct=8152

usb 1-1: New USB d會窗evice strings: Mfr=近吧1, Product近視=2, SerialNumber務線=3

usb 1-1: Product: US議制B 10/100 放離LAN

usb 1-1: Man遠劇ufacturer: Realtek

usb 1-1: SerialNumber:&nbs問銀p;00E04C36004F

usb 1-1: c金舊onfiguration #2 ch綠藍osen from 2北請 choices

eth1: register&nb服在sp;'cdc_ether' at usb-s3c24xx門黃-1, CDC Ethernet照月 Device, 00:e0:4c:喝鄉36:00:4f

 

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

 

        總結:EC家商M的驅動源碼文件是drivers/net/usb/cdc_ethe話快r.c。不需要添加Vid Pid等等任何操作就(jiù)可以使用。cdc_ether.c與傳統的以太網芯片的驅動程序并不一樣(yàng),并不是實現線南xxx_open(),xxx_stop(),xxx_tx(),&nb離術sp;xxx_hard_header(), xx船明x_get_stats, xxx_tx_timeout()而是實現了:usbnet_generic_cdc_bind(),&nb報知sp;usbnet_cdc_unb從會ind(), usbnet_cdc_bind(), 時但;usbnet_cdc_status()4API

 

USB中典型類及子類2:


| Class |  Description 好從;| Example      睡西;   |
|:-----: |:------------:|----------------- |
|  00h   |       老技-    腦暗  | -     &nb業刀sp;       &nb讀風sp; |
|  01h   |     Audio &nbs去家p;  | USB Audio Card   |
|  08h   | Mass Storage | USB Flash(UPa光自n) |




For Audio Class:
```
Device Drivers --->下熱;
Sound card support--->
<*> Sound card support
  <*> Advanced 術農linux Sound Architecture  -下白-->
      [*] USB 他化sound devices  ---&風樂gt;
         <分吧;*>   USB Audio/月裡MIDI driver
```
then run `cat /pro熱多c/cards` you will s視南ee what like this
```
$ cat /proc/asound/cards 
 0 [Intel    件愛     &暗時nbsp;]: HDA-Int人熱el - HDA Intel
       農討;     &答雜nbsp;       什熱  HDA Intel at 0xfeb少兒f4000 irq 44
 1 [Set    懂水     都知   ]: USB-Audio - C-計知Media USB Headphone Set
         多業;        得道     C-Media USB北不 Headphone Set at usb-0000:00:1睡公d.2-1, full spe兒討ed

```
the [Set] is a US影爸B audio card.

�ֻ��źŷŴ���