小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

USB中CDC

 XeonGate 2015-08-03
USB中CDC-ECM的了解和配置

USB中典型類及子類:

類別

解釋

子類

典型應(yīng)用

IC芯片

備注

UVC

視頻類

 

免驅(qū)USB攝像頭

 

 

CDC

通訊類

RNDIS

 

 

 

ECM(p24)

免驅(qū)USB網(wǎng)卡

RTL8152B

 

EEM

 

 

 

......

 

 

 

 

        以前接觸過UVC,今天接觸了CDC-ECM原理上是一樣的,定義一套標(biāo)準(zhǔn)協(xié)議主從機(jī)都遵守了就不需要額外的驅(qū)動(dòng)程序。

        簡單翻譯(其實(shí)用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ù)以的包封裝了完整的以太網(wǎng)包。CRC校驗(yàn)和不能包含在以太網(wǎng)收發(fā)數(shù)據(jù)包中。檢驗(yàn)失敗的幀數(shù)據(jù)不能再發(fā)送到主機(jī)。這意味著設(shè)備必須能夠緩沖至少一個(gè)完整的以太網(wǎng)幀數(shù)據(jù)。

 

 

        盡管USB虛擬網(wǎng)絡(luò)接口通常一直保持連接狀態(tài),一些網(wǎng)絡(luò)設(shè)備管理的要求,需要正確地初始化設(shè)備和主機(jī)網(wǎng)絡(luò)堆棧兩者。也可能是偶然的變化配置或狀態(tài),例如,增加組播過濾器。

        這是有效的通信類接口與通信類子類乙太網(wǎng)路控制模型的唯一一類特定的請(qǐng)求代碼列于表10。

 

 

 

Linux內(nèi)核配置支持CDC-ECM

Device Drivers  --->
    [*] Network device support  --->
        USB Network Adapters  --->
            <*> Multi-purpose USB Networking Framework
            -*-   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 3

usb 1-1: New USB device found, idVendor=0bda, idProduct=8152

usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3

usb 1-1: Product: USB 10/100 LAN

usb 1-1: Manufacturer: Realtek

usb 1-1: SerialNumber: 00E04C36004F

usb 1-1: configuration #2 chosen from 2 choices

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

 

然后就完事了,它就是一個(gè)普通的網(wǎng)卡了。

 

        總結(jié):ECM的驅(qū)動(dòng)源碼文件是drivers/net/usb/cdc_ether.c。不需要添加Vid Pid等等任何操作就可以使用。cdc_ether.c與傳統(tǒng)的以太網(wǎng)芯片的驅(qū)動(dòng)程序并不一樣,并不是實(shí)現(xiàn)xxx_open(),xxx_stop(),xxx_tx(), xxx_hard_header(), xxx_get_stats, xxx_tx_timeout()而是實(shí)現(xiàn)了:usbnet_generic_cdc_bind(), usbnet_cdc_unbind(), usbnet_cdc_bind(), usbnet_cdc_status()4個(gè)API。

 

參考:《基于USB+CDC的虛擬以太網(wǎng)接口研究與設(shè)計(jì)

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多