ecm工作原理 usb_(转)USB中CDC-ECM的了解和配置
USB中典型類及子類:
類別
解釋
子類
典型應(yīng)用
IC芯片
備注
視頻類
免驅(qū)USB攝像頭
ECM(p24)
免驅(qū)USB網(wǎng)卡
......
以前接觸過UVC,今天接觸了CDC-ECM原理上是一樣的,定義一套標(biāo)準(zhǔn)協(xié)議主從機都遵守了就不需要額外的驅(qū)動程序。
簡單翻譯(其實用Google的多一些)一下usbcdc11的第3.8.2關(guān)于CDC-ECM的章節(jié)。
3.8.2?Ethernet?Networking?Control?Model
以太網(wǎng)控制模型是用在主從設(shè)備間的以太網(wǎng)幀數(shù)據(jù)的交換。通信類接口用于配置和管理以太網(wǎng)程序,程序中包含的“以太網(wǎng)控制模型”子類碼是通信類接口描述定義。
數(shù)據(jù)接口則用于在USB總線上交換USB數(shù)據(jù)包,這些USB數(shù)據(jù)包封裝了完整的以太網(wǎng)包。CRC校驗和不能包含在以太網(wǎng)收發(fā)數(shù)據(jù)包中。檢驗失敗的幀數(shù)據(jù)不能再發(fā)送到主機。這意味著設(shè)備必須能夠緩沖至少一個完整的以太網(wǎng)幀數(shù)據(jù)。
盡管USB虛擬網(wǎng)絡(luò)接口通常一直保持連接狀態(tài),一些網(wǎng)絡(luò)設(shè)備管理的要求,需要正確地初始化設(shè)備和主機網(wǎng)絡(luò)堆棧兩者。也可能是偶然的變化配置或狀態(tài),例如,增加組播過濾器。
這是有效的通信類接口與通信類子類乙太網(wǎng)路控制模型的唯一一類特定的請求代碼列于表10。
Linux內(nèi)核配置支持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設(shè)備的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
然后就完事了,它就是一個普通的網(wǎng)卡了。
總結(jié):ECM的驅(qū)動源碼文件是drivers/net/usb/cdc_ether.c。不需要添加Vid?Pid等等任何操作就可以使用。cdc_ether.c與傳統(tǒng)的以太網(wǎng)芯片的驅(qū)動程序并不一樣,并不是實現(xiàn)xxx_open(),xxx_stop(),xxx_tx(),?xxx_hard_header(),?xxx_get_stats,?xxx_tx_timeout()而是實現(xiàn)了: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.
總結(jié)
以上是生活随笔為你收集整理的ecm工作原理 usb_(转)USB中CDC-ECM的了解和配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 现在红枫树为什么也不值钱了?
- 下一篇: 这图。。。求这图的出处。。。?