欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

USB主從架構(gòu)與端點(diǎn)模型詳解:從包結(jié)構(gòu)到枚舉流程

USB主從架構(gòu)與端點(diǎn)模型詳解:從包結(jié)構(gòu)到枚舉流程 做了這么多年嵌入式我有個特別深的感觸搞單片機(jī)的朋友玩I2C、SPI、UART那叫一個得心應(yīng)手示波器一夾、邏輯分析儀一掛幾分鐘就能定位問題??梢坏経SB就開始發(fā)怵總覺得這玩意兒像個黑盒子硬件上電就能用一旦出問題就不知道從哪里下嘴。上篇咱們把USB從誕生到普及的歷史捋了一遍這篇進(jìn)入正題把USB的整體架構(gòu)和端點(diǎn)通信模型一層層剝開講清楚數(shù)據(jù)到底是怎么在一條總線上“排著隊”走的。這篇文章適合兩類人。一類是正在做USB設(shè)備端的固件工程師比如你要調(diào)一個自定義HID設(shè)備、一個USB轉(zhuǎn)串口或者一個U盤主控理解架構(gòu)能幫你少走很多彎路。另一類是寫上位機(jī)或者調(diào)試驅(qū)動時被USB問題折磨的工程師——你不需要會寫固件但你需要知道設(shè)備在枚舉時到底發(fā)生了什么才能從一堆抓包數(shù)據(jù)里找到蛛絲馬跡。我會盡量把話說得通俗但該給的技術(shù)細(xì)節(jié)一個也不會少。1. 整個總線只有一個“指揮官”USB主從架構(gòu)的真相1.1 為什么USB長得像一棵倒掛的樹USB的拓?fù)浣Y(jié)構(gòu)說穿了就是一棵以主機(jī)Host為根、向下分叉的樹。主機(jī)里有根HubRoot Hub根Hub下面可以接設(shè)備也可以接外置Hub外置Hub再往下接更多設(shè)備。整個結(jié)構(gòu)是這樣的主機(jī)在最頂上Hub是中間的分叉節(jié)點(diǎn)設(shè)備是末端的葉子。理論上一個根Hub下面最多可以掛127個設(shè)備因?yàn)閁SB協(xié)議只給了7位地址空間地址0還留作默認(rèn)地址所以實(shí)際可用地址是1到127。很多人第一次看這個拓?fù)鋾枮槭裁床挥每偩€型或者星型這里有個物理上的硬約束——USB的電氣信號傳輸距離有限線纜一長信號就衰減而且一個端口驅(qū)動能力有限所以必須靠Hub做信號中繼和供電分發(fā)。Hub本質(zhì)上是一個“信號放大器端口擴(kuò)展器”它把主機(jī)發(fā)下來的包廣播到所有下游端口又負(fù)責(zé)把下游設(shè)備返回的數(shù)據(jù)包轉(zhuǎn)發(fā)給主機(jī)。這就引出了USB一個極其重要的特性這條總線是共享的而且只有一個“指揮官”。任何設(shè)備都不能主動向總線上發(fā)數(shù)據(jù)所有通信都必須由主機(jī)發(fā)起。哪怕鼠標(biāo)動了、鍵盤按了設(shè)備也只能干等著直到主機(jī)發(fā)一個IN令牌包來問它“你有沒有數(shù)據(jù)要給我”它才能把數(shù)據(jù)放上總線。這種模式叫“主機(jī)輪詢”Host Polling和以太網(wǎng)那種“誰想發(fā)就發(fā)沖突了再退避”的對等模型完全不是一回事。1.2 主從架構(gòu)的得與失簡單可靠但主動不了USB選擇這種嚴(yán)格的主從架構(gòu)我當(dāng)時第一次接觸時覺得“這也太憋屈了”設(shè)備跟個受氣包似的。但后來仔細(xì)想想這恰恰是USB能做得這么便宜、這么皮實(shí)的關(guān)鍵。因?yàn)橛辛嗣鞔_的主從關(guān)系總線上的沖突問題從根本上被避免了。以太網(wǎng)要搞CSMA/CD那一套來應(yīng)對碰撞而USB根本不需要——主機(jī)統(tǒng)一調(diào)度同一時刻只會有一個設(shè)備在傳輸數(shù)據(jù)包不會“撞車”。這個特性帶來的直接好處是協(xié)議實(shí)現(xiàn)簡單設(shè)備端可以做得非常便宜一個幾毛錢的單片機(jī)都能掛USB不需要像以太網(wǎng)那樣復(fù)雜的仲裁機(jī)制硬件成本低確定性好主機(jī)可以精確控制帶寬分配這對音視頻等實(shí)時性要求高的場景特別關(guān)鍵但代價也很明顯——設(shè)備端永遠(yuǎn)沒辦法主動發(fā)起通信。比如你想讓設(shè)備在某個事件發(fā)生時立刻通知主機(jī)在USB的世界里做不到“立刻”它只能等主機(jī)下一次輪詢到它時才能上報。所以USB的中斷傳輸本質(zhì)上也是輪詢只不過輪詢間隔可以設(shè)得很短讓人感覺像“中斷”一樣。這個特性在設(shè)計中會帶來一些連鎖反應(yīng)。舉個例子很多USB設(shè)備需要“異步通知”功能比如一個USB轉(zhuǎn)串口芯片收到了串口數(shù)據(jù)它想趕緊告訴主機(jī)。但由于設(shè)備不能主動發(fā)數(shù)據(jù)它只能靠主機(jī)不斷輪詢它的中斷端點(diǎn)來取數(shù)據(jù)。所以你在寫上位機(jī)時會發(fā)現(xiàn)讀取這類設(shè)備時經(jīng)常要開一個線程循環(huán)去讀這個“主動讀”的動作本質(zhì)上就是在配合USB這種輪詢機(jī)制。1.3 帶寬是大家的超了就得排隊既然是一條共享總線帶寬就是所有人搶著用的。USB 2.0高速模式的理論帶寬是480Mbps注意這個數(shù)字是“總線帶寬”不是“某個設(shè)備的專享帶寬”。同一時刻總線上只能有一個傳輸在跑其他設(shè)備都得等著。這個感覺有點(diǎn)像老式電話線的“分時復(fù)用”——每個人都在一條線上說話輪到誰誰才能開口。這就帶來一個在系統(tǒng)設(shè)計上很重要的認(rèn)知當(dāng)你決定用USB連接多個設(shè)備時總帶寬是需要做預(yù)算的。一個USB攝像頭如果占了200Mbps一個U盤再跑個150Mbps留給其他設(shè)備的帶寬就不多了。尤其要注意的是USB協(xié)議為了保證實(shí)時性會優(yōu)先分配等時傳輸和中斷傳輸?shù)膸捠O碌牟沤o批量傳輸用。所以如果你接了一個不間斷傳輸數(shù)據(jù)的等時音頻設(shè)備U盤的讀寫速度會明顯被壓下來。這不是故障而是協(xié)議本身的帶寬調(diào)度策略。2. 數(shù)據(jù)在線上長什么樣從差分信號到包封裝2.1 一根線怎么既傳數(shù)據(jù)又傳時鐘看USB 2.0的線序四根線VBUS、GND、D、D-其中D/D-是一對差分信號線。數(shù)據(jù)不是用“高低電平”單端傳輸?shù)亩怯谩皟筛€上的電壓差”來表示邏輯狀態(tài)。這樣做的最大好處是抗干擾能力強(qiáng)——共模噪聲會同時疊加在兩根線上做差之后噪聲就被抵消了。但這里有個更巧妙的設(shè)計USB數(shù)據(jù)線上沒有單獨(dú)的時鐘線時鐘是編碼在數(shù)據(jù)里的。USB用的是NRZI編碼Non Return to Zero Inverted規(guī)則是遇到邏輯0電平翻轉(zhuǎn)遇到邏輯1電平保持不變。也就是說接收端不是靠邊沿來對齊時鐘的而是靠數(shù)據(jù)的翻轉(zhuǎn)來恢復(fù)時鐘。但這就帶來一個問題——如果連續(xù)傳輸多個1電平就一直不變接收端沒法知道過了多少個位。所以USB規(guī)定了一個“位填充”Bit Stuffing機(jī)制連續(xù)出現(xiàn)6個邏輯1之后發(fā)送端必須強(qiáng)制插入一個邏輯0讓電平翻轉(zhuǎn)一下這樣接收端就能靠這個翻轉(zhuǎn)重新同步時鐘。我第一次看這個編碼機(jī)制的時候想到一個生活類比——這就像兩個人約好每隔一段時間必須say一句話哪怕沒話說也要“喂”一聲就是為了讓對方知道“我還活著、你還在線上”。USB的位填充就是這個“喂”一聲的動作。2.2 SYNC、PID、地址和端點(diǎn)號一次USB傳輸?shù)摹靶欧狻盪SB協(xié)議里所有數(shù)據(jù)傳輸都被封裝成“包”Packet。一個包的結(jié)構(gòu)從前往后大致是SYNC字段一串固定的同步序列讓接收端對齊時鐘和位流PIDPacket Identifier包類型標(biāo)識告訴接收端“我是誰”——是令牌包、數(shù)據(jù)包還是握手包地址和端點(diǎn)字段令牌包才有包含7位設(shè)備地址和4位端點(diǎn)號數(shù)據(jù)字段數(shù)據(jù)包才有承載實(shí)際數(shù)據(jù)CRC校驗(yàn)檢錯用的令牌包用CRC5數(shù)據(jù)包用CRC16這里要注意PID只有4位但因?yàn)楹竺孢€要跟一個逐位取反的副本用于校驗(yàn)所以實(shí)際在線上是8位。協(xié)議的冗余設(shè)計比你想象中要多這也是USB可靠性高的重要原因。在USB世界里包一共分三大類類型常見PID誰發(fā)的作用令牌包IN、OUT、SETUP、SOF主機(jī)發(fā)起一個事務(wù)指定設(shè)備和端點(diǎn)數(shù)據(jù)包DATA0、DATA1、DATA2、MDATA主機(jī)或設(shè)備承載實(shí)際數(shù)據(jù)握手包ACK、NAK、STALL、NYET設(shè)備或主機(jī)確認(rèn)/忙/錯誤/未就緒事務(wù)Transaction就是由這種包按固定順序拼出來的。主機(jī)先發(fā)一個令牌包“點(diǎn)名”然后數(shù)據(jù)階段傳數(shù)據(jù)最后握手階段告訴對方“收到了”或“沒收到”。三個包合起來才算完成一次事務(wù)。2.3 一個批量讀事務(wù)的完整過程拿最常見的批量讀來舉例。假設(shè)主機(jī)想從一個U盤讀取數(shù)據(jù)整個過程是這樣的主機(jī)發(fā)一個IN令牌包里面寫著“設(shè)備地址3端點(diǎn)號2我要向你要數(shù)據(jù)”設(shè)備收到后如果數(shù)據(jù)準(zhǔn)備好了就把數(shù)據(jù)打包成DATA1包發(fā)回給主機(jī)主機(jī)正確收到數(shù)據(jù)后發(fā)一個ACK握手包告訴設(shè)備“數(shù)據(jù)完整收到你可以發(fā)下一批了”如果設(shè)備數(shù)據(jù)沒準(zhǔn)備好它會回一個NAK握手包主機(jī)就知道“現(xiàn)在沒數(shù)據(jù)我改天再來”然后這個事務(wù)就結(jié)束了。NAK不是錯誤是設(shè)備在說“我現(xiàn)在忙但沒壞”。如果這個寄存器設(shè)備發(fā)現(xiàn)端點(diǎn)的Halt特性被設(shè)置了它就會回STALL這個就屬于錯誤狀態(tài)了需要主機(jī)介入處理。區(qū)分NAK和STALL是踩坑高發(fā)區(qū)很多人在抓包軟件里看到STALL就以為設(shè)備掛了其實(shí)很多時候是設(shè)備固件里設(shè)了STALL來表示“這個請求我不支持”比如HID設(shè)備收到一個它不認(rèn)識的類特定請求時就可以回STALL。理解了這個“令牌-數(shù)據(jù)-握手”的三段式結(jié)構(gòu)后面看抓包就輕松多了因?yàn)槟阋谎劬湍芸闯瞿亩问侵鳈C(jī)發(fā)起的、哪段是設(shè)備響應(yīng)的、哪段是確認(rèn)收尾的。3. 端點(diǎn)是USB世界的“門牌號”理解端點(diǎn)與管道模型3.1 端點(diǎn)不是一根線而是設(shè)備內(nèi)部的一小塊“緩沖區(qū)”端點(diǎn)是USB協(xié)議里最核心、也最容易讓人誤解的概念。很多人習(xí)慣把端點(diǎn)想象成“物理引腳”或者“接口”其實(shí)完全不是。端點(diǎn)是設(shè)備內(nèi)部的一個數(shù)據(jù)緩沖區(qū)是設(shè)備與主機(jī)之間數(shù)據(jù)傳輸?shù)摹笆瞻l(fā)窗口”。主機(jī)通過端點(diǎn)號和數(shù)據(jù)方向來尋址這個窗口往里寫數(shù)據(jù)或從里面取數(shù)據(jù)。每個端點(diǎn)都有四個關(guān)鍵屬性端點(diǎn)號0~15、方向IN/OUT、傳輸類型控制/批量/中斷/等時、最大包大小。這些屬性不是憑空定的而是設(shè)備在枚舉時通過端點(diǎn)描述符告訴主機(jī)的。比如一個全速批量端點(diǎn)最大包大小通常是64字節(jié)一個高速批量端點(diǎn)最大包大小是512字節(jié)。這里要特別強(qiáng)調(diào)一個很多人都會踩的坑除了端點(diǎn)0一個端點(diǎn)號通常只對應(yīng)一個方向。也就是說端點(diǎn)1的輸出和端點(diǎn)1的輸入實(shí)際是兩個不同的端點(diǎn)。你在寫固件時要是想做一個既能收又能發(fā)的功能得同時配置1-IN端點(diǎn)和1-OUT端點(diǎn)并分別分配緩沖區(qū)。我看到不少新手在配置寄存器時只配了一個方向然后調(diào)試半天發(fā)現(xiàn)數(shù)據(jù)通道不通其實(shí)就是沒搞清楚這個規(guī)則。用個生活化的方式來理解端點(diǎn)就像小區(qū)樓下的收件柜。每個柜子有編號端點(diǎn)號有的柜子是“只收件”O(jiān)UT有的是“只取件”IN有的柜子大批量能放大量包裹有的柜子小中斷一次只能放一個有的柜子有響應(yīng)確認(rèn)批量/中斷/控制收了要回執(zhí)有的柜子沒有等時放了就走丟件不管。3.2 管道已經(jīng)約定好傳輸方式的訪問通道管道Pipe是主機(jī)視角下的概念。主機(jī)不是直接往端點(diǎn)里讀寫數(shù)據(jù)的而是先跟端點(diǎn)建立一條“管道”之后的數(shù)據(jù)傳輸都沿著這條管道走。管道可以理解成“主機(jī)與設(shè)備端點(diǎn)之間的一條邏輯連接”它把端點(diǎn)的各種屬性端點(diǎn)號、方向、傳輸類型、最大包大小都封裝好了上層軟件只需要對著管道讀寫而不用每次都重復(fù)指定這些參數(shù)。管道分兩類控制管道雙向的專門走控制傳輸默認(rèn)管道0在設(shè)備一上電時就建立好了用來做枚舉和標(biāo)準(zhǔn)請求流管道單向的可以是中斷、批量或等時傳輸數(shù)據(jù)按流的方式流動沒有命令語義“流管道”這個詞值得琢磨一下。它強(qiáng)調(diào)這幾種傳輸類型是“數(shù)據(jù)流模式”的一次發(fā)一批數(shù)據(jù)發(fā)了就完了沒有“請求-應(yīng)答”的協(xié)議語義嵌套在里面。真正有命令語義的是控制傳輸它像一套“帶外信號”專門用來配置設(shè)備。3.3 端點(diǎn)0所有設(shè)備都必須有的“公共服務(wù)窗口”端點(diǎn)0是USB里最特殊的端點(diǎn)。它在設(shè)備上電、還沒有分配地址之前就已經(jīng)存在了主機(jī)通過默認(rèn)地址0向端點(diǎn)0發(fā)送控制請求。USB規(guī)范要求所有設(shè)備必須支持端點(diǎn)0的控制傳輸端點(diǎn)0是雙向的只有它一個端點(diǎn)“既做IN又做OUT”。端點(diǎn)0的最大包大小是設(shè)備自己聲明的低速設(shè)備是8字節(jié)全速設(shè)備可以是8/16/32/64字節(jié)中的一個高速設(shè)備固定64字節(jié)。設(shè)備在枚舉最開始必須先響應(yīng)一個請求讓主機(jī)知道“我的端點(diǎn)0最大包是多少”然后主機(jī)會重新復(fù)位設(shè)備給設(shè)備分配一個正式地址再繼續(xù)讀取完整的信息。把端點(diǎn)0想象成小區(qū)物業(yè)的“服務(wù)總臺”就很好理解了任何住戶主機(jī)搬進(jìn)來之前先要到總臺報到登記基本信息讀設(shè)備描述符、領(lǐng)取門牌號設(shè)置地址、了解小區(qū)規(guī)定讀配置描述符然后才能正式入住。在入住之前所有溝通都只能通過總臺進(jìn)行這個總臺就是端點(diǎn)0。4. 四種傳輸類型怎么選控制、批量、中斷、等時4.1 各有脾氣從可靠性、時延、帶寬三個維度看USB協(xié)議定義了四種傳輸類型每種都是在可靠性、時延、帶寬三個維度上做了取舍。理解這層關(guān)系你在選型時就能少走彎路??刂苽鬏旊p向、可靠性最高專門用來傳輸配置命令和狀態(tài)信息。它的特點(diǎn)是“請求-應(yīng)答”式一次控制傳輸分為建立階段、數(shù)據(jù)階段可選和狀態(tài)階段。建立階段主機(jī)發(fā)SETUP包數(shù)據(jù)階段傳數(shù)據(jù)狀態(tài)階段確認(rèn)結(jié)束??刂苽鬏斦加脦拑?yōu)先級最高但數(shù)據(jù)量通常很小基本就是枚舉時和發(fā)命令用的。批量傳輸單向、可靠性高保證數(shù)據(jù)一定送達(dá)出錯會重傳但不保證時延。適合U盤、USB轉(zhuǎn)串口、MSC類存儲設(shè)備這類對數(shù)據(jù)完整性要求極高、對實(shí)時性不敏感的場景。批量傳輸在所有傳輸里優(yōu)先級最低只能排在控制和等時后面“撿剩飯”。如果你的批量設(shè)備發(fā)現(xiàn)速率不穩(wěn)定大概率就是總線上有其他實(shí)時傳輸在占用帶寬。中斷傳輸單向、可靠性高且保證輪詢間隔。雖然名字叫中斷但它其實(shí)是主機(jī)按固定周期輪詢設(shè)備。適合鼠標(biāo)、鍵盤、游戲手柄這類數(shù)據(jù)量小但希望延遲可控的設(shè)備。全速中斷端點(diǎn)的輪詢間隔可以設(shè)置為1~255ms高速可以按微幀來算最短125us輪詢一次。注意低速設(shè)備只支持控制傳輸和中斷傳輸而且低速中斷端點(diǎn)最大包只有8字節(jié)。等時傳輸單向、不保證可靠性出錯不重傳但保證帶寬和時延。適合USB攝像頭、USB聲卡、麥克風(fēng)這類對實(shí)時性要求極高、丟一兩幀無所謂的場景。等時傳輸沒有ACK/NAK握手?jǐn)?shù)據(jù)包發(fā)了就完了丟了也不補(bǔ)。所以你在設(shè)計和調(diào)試這類設(shè)備時一定要在應(yīng)用層做容錯處理。4.2 對照真實(shí)設(shè)備選型我整理了一個平時做項目時常用的對照表基本覆蓋了常見設(shè)備類型設(shè)備類型傳輸類型為什么這么選U盤、移動硬盤批量數(shù)據(jù)量大、完整性要求極高延遲不是關(guān)鍵USB鼠標(biāo)、鍵盤中斷數(shù)據(jù)量小、希望快速響應(yīng)輪詢機(jī)制夠用USB串口/CDC批量數(shù)據(jù)流可靠性優(yōu)先延遲可接受USB攝像頭等時/批量高帶寬實(shí)時性優(yōu)先掉幀可以通過上層補(bǔ)償U(kuò)SB聲卡等時音頻流實(shí)時性要求極高偶爾丟一幀影響不大自定義HID設(shè)備中斷雙向小數(shù)據(jù)交換延遲可控有一個比較典型的誤區(qū)是很多人以為“中斷”傳輸比“批量”傳輸更快。實(shí)際恰恰相反在USB 2.0高速模式下批量傳輸?shù)膯未瓮话l(fā)數(shù)據(jù)量遠(yuǎn)大于中斷端點(diǎn)能達(dá)到每秒幾十MB而中斷傳輸靠的是“實(shí)時性”不是“吞吐量”。所以如果你的需求是傳輸大批量數(shù)據(jù)不要選中斷傳輸它一幀微幀能傳的數(shù)據(jù)有限整體帶寬遠(yuǎn)不如批量。反過來說如果你需要低延遲的周期性數(shù)據(jù)上報批量傳輸就不合適因?yàn)樗趲捳{(diào)度時可能被其他傳輸擠到后面延遲不可控。4.3 帶寬分配幀與微幀里的時間片游戲USB 2.0在時間上把總線劃分成“幀”Frame和“微幀”Microframe。全速模式是1毫秒一個幀高速模式是125微秒一個微幀一個幀等于8個微幀。每個幀/微幀開始主機(jī)都會發(fā)一個SOFStart of Frame令牌包相當(dāng)于“新的一輪調(diào)度開始”。然后主機(jī)根據(jù)當(dāng)前各個端點(diǎn)的需求在這段時間片里安排各種事務(wù)。調(diào)度策略大致是控制和等時傳輸優(yōu)先級最高先安排中斷傳輸其次批量傳輸最后只能占用剩余時間USB規(guī)范還給批量傳輸設(shè)定了一個限制在高速模式下批量傳輸不能占用超過80%的總帶寬。這個限制其實(shí)是為了保證控制傳輸永遠(yuǎn)不會被餓死。因?yàn)槿绻吭O(shè)備持續(xù)滿負(fù)荷傳輸把總線占滿了控制傳輸就沒機(jī)會執(zhí)行了設(shè)備連“急剎車”的指令都收不到整個總線就失控了。理解這個調(diào)度邏輯對排查性能問題特別有幫助。比如你在同一個USB Hub上掛了一個U盤和一個USB攝像頭如果U盤拷貝速度明顯變慢不要急著懷疑U盤壞了先看看是不是攝像頭的等時傳輸把微幀里的時間片占了留給批量的只剩一小塊。5. 設(shè)備“報到”全過程枚舉怎么把設(shè)備家底問清楚5.1 五個標(biāo)準(zhǔn)請求主機(jī)和設(shè)備靠這些“對話”USB枚舉Enumeration就是設(shè)備插入后、驅(qū)動加載前主機(jī)與設(shè)備之間的一系列控制傳輸對話。這個對話主要是通過一組標(biāo)準(zhǔn)請求來完成的比較核心的有GET_DESCRIPTOR讀取設(shè)備的各類描述符SET_ADDRESS給設(shè)備分配一個正式地址GET_CONFIGURATION / SET_CONFIGURATION查詢/設(shè)置設(shè)備的配置GET_STATUS / CLEAR_FEATURE / SET_FEATURE讀寫設(shè)備的某些狀態(tài)和特性SET_INTERFACE / GET_INTERFACE切換接口的Alternate Setting如果你在抓包工具里看到這些請求的交互過程那就是典型的枚舉階段。前幾步幾乎是固定的設(shè)備插入Hub檢測到D/D-電平變化向主機(jī)報告“有設(shè)備插入”主機(jī)讓Hub給設(shè)備復(fù)位設(shè)備進(jìn)入默認(rèn)狀態(tài)地址為0主機(jī)向地址0端點(diǎn)0發(fā)GET_DESCRIPTOR(Device)但只讀前8字節(jié)目的就是拿到端點(diǎn)0的最大包大小主機(jī)再次復(fù)位設(shè)備發(fā)SET_ADDRESS(新地址)設(shè)備從此用新地址通信主機(jī)發(fā)GET_DESCRIPTOR(Device)讀完整18字節(jié)設(shè)備描述符主機(jī)發(fā)GET_DESCRIPTOR(Config)讀配置描述符包括接口描述符和端點(diǎn)描述符主機(jī)根據(jù)識別到的類代碼加載對應(yīng)驅(qū)動驅(qū)動發(fā)SET_CONFIGURATION(1)設(shè)備進(jìn)入配置狀態(tài)開始正常工作整個過程通常在毫秒級完成肉眼是感覺不到的但抓包看每一步都非常清晰。5.2 描述符鏈設(shè)備的“簡歷”是怎么組織的描述符是USB設(shè)備“自我介紹”的數(shù)據(jù)結(jié)構(gòu)主機(jī)的驅(qū)動識別設(shè)備全靠它。它的組織方式是嵌套的樹形結(jié)構(gòu)設(shè)備描述符Device Descriptor └── 配置描述符Configuration Descriptor └── 接口描述符Interface Descriptor └── 端點(diǎn)描述符Endpoint Descriptor設(shè)備描述符是整個設(shè)備的“封面頁”包含USB版本號、設(shè)備類代碼、廠商IDVID、產(chǎn)品IDPID、端點(diǎn)0的最大包大小、設(shè)備版本等。其中VID和PID是驅(qū)動匹配的重要依據(jù)你在設(shè)備管理器里看到的“VID_1234PID_5678”就是從這里來的。配置描述符描述一個配置的總體信息包括接口數(shù)量、供電方式自供電還是總線供電、最大電流消耗。一個設(shè)備可以有多個配置但同一時刻只能啟用一個。比如一個USB設(shè)備可以有一個“高功耗高性能”配置和一個“低功耗低性能”配置根據(jù)供電情況切換。接口描述符描述一個“功能”。一個配置可以包含多個接口每個接口對應(yīng)一個獨(dú)立的功能。這個概念在復(fù)合設(shè)備Composite Device上特別重要比如一個USB設(shè)備既做鍵盤又做鼠標(biāo)又做串口它就可以有三個接口每個接口對應(yīng)一種功能。Windows會對每個接口枚舉成一個獨(dú)立的設(shè)備節(jié)點(diǎn)所以你會在設(shè)備管理器里看到“USB輸入設(shè)備”和“COM口”同時出現(xiàn)。端點(diǎn)描述符定義端點(diǎn)的各項參數(shù)端點(diǎn)號、方向、傳輸類型、最大包大小、輪詢間隔。一個全速設(shè)備最多可以有16個端點(diǎn)端點(diǎn)0 15個IN 15個OUT但實(shí)際上大多數(shù)設(shè)備只用到幾個。在Linux下用lsusb -v可以看到完整的描述符樹格式非常直觀Bus 001 Device 004: ID 046d:c534 Logitech, Inc. Unifying Receiver Device Descriptor: idVendor 0x046d Logitech, Inc. idProduct 0xc534 bcdDevice 32.00 iManufacturer 1 Logitech iProduct 2 USB Receiver ... bNumConfigurations 1 Configuration Descriptor: bNumInterfaces 3 Interface Descriptor: bInterfaceClass 3 Human Interface Device bInterfaceSubClass 1 Boot Interface Subclass bInterfaceProtocol 2 Mouse Endpoint Descriptor: bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Transfer Type Interrupt wMaxPacketSize 0x0008 1x 8 bytes bInterval 10這里能看到鼠標(biāo)的中斷端點(diǎn)屬性端點(diǎn)2 IN、中斷傳輸、最大包8字節(jié)、輪詢間隔10ms。字段都寫得明明白白。5.3 枚舉失敗怎么查我踩過的三個典型坑做USB設(shè)備調(diào)試最痛苦的就是枚舉失敗。這里分享三個我真正踩過、也幫別人排查過的問題。第一個D/D-接反了。聽著像是低級錯誤但實(shí)際操作中特別容易發(fā)生因?yàn)橛行┌遄拥腄/D-絲印不明顯或者轉(zhuǎn)接板標(biāo)注不統(tǒng)一。癥狀就是主機(jī)完全檢測不到設(shè)備dmesg里什么都沒有。排查辦法很簡單用示波器看D/D-有沒有波形或者干脆量一下設(shè)備端的D上拉電阻是否連接到了正確的那根線。USB 2.0全速/高速設(shè)備要求在D上接1.5kΩ上拉電阻到3.3V低速設(shè)備在D-上接。如果上拉接錯了線主機(jī)就識別不了設(shè)備速度。第二個端點(diǎn)描述符的配置和固件實(shí)際行為不一致。有一次我調(diào)一個復(fù)合設(shè)備描述了三個接口但固件里只初始化了兩個。Windows在枚舉時按描述符去找對應(yīng)的端點(diǎn)和接口結(jié)果找不到直接報“設(shè)備描述符請求失敗”Code 43。這個坑很隱蔽因?yàn)樵O(shè)備本身能響應(yīng)控制請求枚舉流程前一半都正常但到了配置階段就崩潰。排查方法是把描述符導(dǎo)出來一字節(jié)一字節(jié)對確認(rèn)bNumInterfaces和實(shí)際固件里初始化的一致。第三個供電不足導(dǎo)致設(shè)備反復(fù)復(fù)位。設(shè)備插入后如果瞬間電流需求超過了端口能供給的上限Hub會切斷供電設(shè)備掉電重啟然后又被檢測到又掉電形成一個死循環(huán)。現(xiàn)象是設(shè)備在設(shè)備管理器里閃爍不停dmesg里能看到反復(fù)的“USB disconnect”和“USB connect”消息。解決方法是改用帶外部供電的Hub或者獨(dú)立供電的開發(fā)板。5.4 Linux上的USB調(diào)試三板斧既然我們寫技術(shù)文章Linux下的USB調(diào)試工具還是得熟悉一下這比Windows下用Bus Hound要輕量得多。第一板斧是lsusb -v。它能列出所有USB設(shè)備以及完整的描述符。當(dāng)你想確認(rèn)設(shè)備到底上報了哪些描述符或者想查看設(shè)備是不是進(jìn)入了異常狀態(tài)用這個命令非常方便。第二板斧是dmesg。內(nèi)核的USB子系統(tǒng)會打印非常詳細(xì)的枚舉過程信息包括設(shè)備速度、地址分配、配置選擇、驅(qū)動綁定等。設(shè)備插入后跑一下dmesg | tail -20基本能看到問題出在哪個環(huán)節(jié)。第三板斧是usbmon Wireshark。加載usbmon內(nèi)核模塊后Wireshark可以直接抓USB總線上的所有包。抓包能讓你看到每一個控制請求、每一次批量傳輸?shù)奈帐智闆r。之前調(diào)一個USB轉(zhuǎn)串口不定時丟數(shù)據(jù)的問題就是靠這個抓包發(fā)現(xiàn)設(shè)備在數(shù)據(jù)壓力大時頻繁回NAK從而定位到是固件里FIFO太小導(dǎo)致緩沖區(qū)溢出而不是串口芯片的硬件問題。用usbmon抓包的簡要步驟sudo modprobe usbmon sudo wireshark在Wireshark的接口列表里選擇usbmon1對應(yīng)USB bus 1就能開始抓了。抓包時如果想縮小范圍可以在過濾器里寫usb.addr 3.2只看地址3設(shè)備端點(diǎn)2相關(guān)的流量非常精準(zhǔn)。這里要給一個實(shí)際建議如果產(chǎn)品在Windows和Linux下表現(xiàn)不一致優(yōu)先抓包對比。很多時候是Windows驅(qū)動和Linux驅(qū)動對描述符某些字段的解釋不同導(dǎo)致的抓包一看就能看出來。6. 寫在最后的調(diào)試心得這篇講了架構(gòu)、物理層編碼、包結(jié)構(gòu)、端點(diǎn)模型、四種傳輸類型和枚舉流程其實(shí)核心邏輯串起來就一句話USB是一個嚴(yán)格的主從式共享總線所有通信都由主機(jī)發(fā)起通信的基本單元是事務(wù)事務(wù)由包組成端點(diǎn)是通信的窗口管道是通信的通道四種傳輸類型的取舍決定了設(shè)備的實(shí)時性和可靠性。把這個思維框架建好后面不管是看協(xié)議文檔還是調(diào)Bug你都有了一個定位坐標(biāo)系——先分清當(dāng)前是枚舉階段還是數(shù)據(jù)傳輸階段再從“主機(jī)/設(shè)備/線纜/Hub”四個環(huán)節(jié)去排查很多問題瞬間就清晰了。我個人的經(jīng)驗(yàn)是調(diào)USB問題最忌諱的就是“瞎試”。這個板子換一下、那個參數(shù)改一下不如老老實(shí)實(shí)抓一次包。因?yàn)閁SB協(xié)議雖然復(fù)雜但它是完全確定的——總線上每一個包都有明確的目的地和含義問題一定能從抓包里找到蛛絲馬跡。所以下次遇到USB設(shè)備不工作別慌先抓包再說別的。下一篇我們聊USB的class類是怎么定義的尤其是HID和CDC這兩個最常用的類它們的協(xié)議細(xì)節(jié)和實(shí)際項目里的配置方法。到時候見。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
狠狠色成人影片| 日日夜夜天天综合| 五月婷免费视频| 色五月婷婷久久| 色婷婷国色天香综合| 色婷婷丁香社综合| 亚洲黄网AV| 五月天激情国产综合婷婷婷| 99色最新在线视频网站| 99精品在| 丁香六月视频| 久热这里只有精品在线观看| 97干免费视频| 91丁香五月| 超91热| 色99热| 欧美熟女乱又伦| 99干日本| 任你爽精品免费视频6| 国产内射婷婷| 久久R激情| 综合色图区| 亚洲VA口| 91久久| 亚洲六月色| 南京搡BBBB搡BBBB| 人人色AV| 开心日韩丁香婷婷五月| 综合色天天| 人人操人人操919999| 97久久精品视频| 91狠狠色丁香婷婷综合久久精品| 国产成人+综合亚洲+天堂| 久久久久人妻精品| 开心五月综合激情网| 色99网| 天天天天天操| 天天爽综合| 99re思思精品视频在线观看| www,色中色| 激情深爱婷婷网| 婷婷综合激情| 婷婷激情五月天在线视频| 五月婷婷激情性爱| 天天日天天舔天天摸| 婷婷终合色图| 五月婷婷影院| 狠狠va| 久久黄色免费视频| 不卡影院午夜理论片| 天天干天天日日| 九九免费视频在线| 五月婷六月天| 色偷偷色婷婷| 亚洲V国产V欧美V久久久久久| 六月丁香五月天| 久久亚洲激情五码| 97人妻超级碰碰碰碰碰| 热996精品在线观看| 日本在线观看aaa 99| 9999热免费视频视频| 丁香亭亭激情四射| 97操碰碰无码视频| 婷婷六月综合在线| 亚洲a色| 亚洲免费99| 婷婷丁香人妻天天| 激情五月天色播| 超碰精品在线| 狠狠色综合网站久久久久| 婷婷五月丁香综合桃花色网| 丁香六月婷婷一区| 天天舔天天摸| 婷婷五月天影院| 亚洲日韩操B| 青青久久五月| 色婷婷丁香五月天| 久久性爱视频这里只有精品| 操碰97| 免费看欧美成人A片无码| 国产一区二区三区影院| 超碰在线观看成人视| 欧美色宗和激情| 丁香婷婷五月天亚洲| 97婷婷丁香五月| 六月丁香综合| 中文毛片无遮挡高潮免费| 久久久亚洲精品一区二区三区浴池| 亚洲熟妇AV乱码在线观看| 婷婷五月丁香综合网| 丁香五月天社区婷婷| 久久 无毛。| 五月天激情综合在线| 天天综合亚洲综合| 日本色色网| 任你爽在线视频| 五月婷婷五月天| 欧美色五月| 色综合九九| 五月丁香啪啪综合| 91一起操| 亚洲无码成人| 五月丁香亚洲综合| 国产无遮挡又黄又爽免费网站| 天堂va久久久噜噜噜久久Va| 99er6| 99热这里只有的精品视| www.超碰在线| 婷婷久久久| 中文国产五月天| 综合激情在线观看| 亚洲精| 精品婷婷| 色婷婷在线播放| 激情五月天之五月婷婷| 精品婷婷| eeuss人妻| 婷婷五月天第三页| 人人操9| 婷婷六月丁香激情| 操碰91| 婷婷五月天渟渟| 激情五月天婷婷激情| 色播播五月| 欧美性生交XXXXX无码小说| 99丁香五月婷婷在线| 婷婷五月丁香高清无码| 激情小说五月天| 91ncm视频| 亚洲另类噜噜| OUMEIRIHANCHENGREN| 久久996re热这里只有精品无码| 亚洲欧美婷婷五月色综合| 婷婷综合国产| 六月综合在线| 亚洲狠狠婷婷| 日本系列_4页_777FP| 九九在线91| 秋霞电影理论| 丁香婷婷激情网站| 色五月在线观看| 激情综合网激情五月婷婷| 丁香月五月天婷婷久久| 一起草AV入口| 5月丁香六月情| 国产成人网| 99热都是精品| 九色自拍| 狠狠狠狠狠| 伊九九三级区| 97精品人人A片免费看| 日韩无码专区| 中国丰满熟女A片免费观| 思思99热这里只有精品| 五月色综合| 亚洲一个色| 狠狠干在线| 99ri久久| 99激情| 99婷婷五月天| 黄色av高清| 九九热精品6| 人妻免费网站| 99热亚洲| 五月丁香在线婷婷蜜桃| 1024在线视频| 99精品在线播放| 99色视频在线观看最新| 天天爽天天爽| 成人精品亚洲性爱| 操91| 丁香五月婷婷社区| 国产97色在线 | 日韩| 亚洲婷婷激情综合激情999精品| 久久五月天网| 香蕉久久国产AV一区二区| 中文字幕婷婷五月天| 女人天堂AV| 久久这有这里精品| 色色热日| 五月天开心网| 狠狠激情五月天| 日本三日本三级少妇三级66| 久久性视频| 丁香五月天天哦| 天天弄天天操| 天天干狠狠| 超碰人人射| 激情丁香五月| 激情丁香五月| 五月丁香六月欧美综合| 色情五月天丁香社区| 97色婷婷| 婷婷射丁香| 激情黄色小说色五月| 公的粗大挺进了我的密道| 区区欧美你爱| 亚洲午夜精品久久久久久人妖| 嫩BBB搡BBBB榛BBBB| 亚洲热热视频| 婷婷激情丁五月| 日日操夜夜操中国无码| 天天天天干| 另类五月激情| 日韩六六久久电影| 99热 在线观看| 丁香五月婷婷香| WWW久久久| 91视屏在线观看com.wwwvv| 久色激情| 成人在线观看一区| 99riAV成人在线视频| 九月激情网| 丁香五月av在线| 久久婷婷91| 日比网免费国产| 六月丁香综合| 先锋资源91| 丁香五月大片| 九九热只有这里精品| 97偷拍对白视频| 91色久| 久久大香蕉同僚| 五月花丁香婷婷| 色性综合| 婷婷五月丁香综合| 五月丁香啪啪综合网| 影音 五月 婷婷 久久| 97天堂| 我去色色网五雨天| 色色日本| 人妻久久久久久久 | 婷婷久久久| 激情性爱网站| www.一起草av| 成人VAV视频在线观看| 欧类av怡春院| 久九男女天堂| 一级黄在线| 亚洲色婷婷| 日韩999| 激情久久丁香| 综合一区二区三区| 超碰操网| 天天射影| 丁香六月婷婷激情综合| 九九热这里只有精品556| 熟女啪啪视频| 国产1区2区3区| 婷婷激情五月视频| 七七九色| 啪啪色激情五月天| 3pAV| 色综合久久天天综合网| 激情九九综合网| 色婷婷丁香五月天激情综合网| 九九综合精品| 天天插天天干天天舔| 久色成人| 99精品视频免费| 五月精品免费XXX| 久热这里只有精品在线| 天天插综合网| 超碰亚洲天堂| 极品少妇高潮啪啪AV无码| 国产亚洲精品久久久久久郑州| 欧美交换配乱吟粗大25P| 免费视频99| 婷婷久久综合| 91在线97视频| 无码区婷婷五月花开| 婷婷va| 色狠狠色综合久久久绯色AⅤ影视| 激情中文在线| 丁香五月色综合色播五月| 婷婷色五月亚洲| 麻豆五月丁香婷婷| 五月丁香成年黄色| 大香蕉五月天婷婷| 新男人天堂人妻| 91艹人| av久热| 久久婷婷激情五月天一区二区| 婷婷六月丁香在线| 色五月在线播放| 伊人网大香| 婷婷爱五月| 国产片XXXXA片国语对白| 五月 婷 久| 日本乱论99| 色综合久| 99热这里有精力| 丁香五月手机在线| 久热一区| 欧美久热| 亚洲天堂aaa| 九九热自拍| 国产激情综合五月久久| 大香蕉狠狠爱主页| 嫩BBB槡BBBB搡BBBB视频| 99色免费观看全部| 深爱五月天| CAOBIBI| 美女五月激情| 91无码视频| 欧美日韩精品人妻狠狠躁免费视频| 99热伊人综合| 色天天久婷婷| 啪啪91| 色五月亚洲| 色色五月天丁香婷婷| 99热精品在线播放观看| 婷婷久久五月丁香| 99免费青青蜜臀| 久久丁香五月婷婷激情综合网| 五月天深爱激情网| 亚洲亚洲人成综合网络| 久久99网站| 人人操人av| 成人va在线播放| 另类图片五月天激情| 综合激情啪啪| 色吧五月| 国产精品成人AV在线| 五月开心婷婷| 精品一二三区久久AAA片| WWW免费视频碰碰碰碰| 丁香五月天激情小说| 五月丁香久久久久| 人妻激情视频| 色五月在线播放| 久久久久久久久久久久久9| 黄网在线免费观看| 久久婷婷色| 欧美日韩日韩成人| 狠狠做婷婷| 熟妇人妻中文字幕无码老熟妇| 丁香色五月 97干| 婷婷十月激情综合网| 五月丁香久久| 九九视频精品这里只有| 亚洲AV免费在线| 婷婷五月激情图片| 我爱大香蕉| 另类激情五| 亚洲操b| 操操操B| 丁香五月天激情五月天激情五月天激情网 | 丁香五月手机在线| 99久久精彩视频| 色色五月婷婷丁香| 日本久久极品| 99久久五月婷婷| 色婷婷亚洲综合天堂| 97色伦另类图片小说视频| 天天射影院| 色婷婷手机在线| 亚洲精品午夜国产va久久成人| 91婷婷伊人牛牛| 婷色五月天| 9999综合99综合人| 久碰婷婷视频| 久久99婷婷| 97碰碰视频在线观看| 婷婷五月电影| 97综合在线| 九九99视频精品| 免费观看18视频网站| 午夜美女人啪最红院| 丁香五月电影| 新激情五月天色播| 婷婷久久图片| 婷婷五月天久久| 夜夜夜天天操| co超碰在线观看| 五月香六月婷| 色私五月婷婷| 99精品在线播放| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 草操AV在线| 国产精品久久久久久妇女6080| 99视频精品8 | 婷婷在线日韩综合| 久久玖玖综合| 久热这里这里有精品| 97日韩无套内| 久久综合影院 | 少妇人妻丰满做爰XXX| 久久精品小视频| 五月停性愛| 五月婷婷婷婷| 五月激情丁香五月| 无码人妻一区二区一牛影视| 久久XX| 密臀久久| 99丁香五月婷| 99热在线观看| 五月丁香激情四射| 日日日影院| 婷婷色吧| 亚洲乱码日产精品BD| 国产在这里只有精品| 色9999日韩国产| 欧美日韩精品人妻狠狠躁免费视频| 蜜桃五月天| 欧美色99| 亚洲精品第一国产综合亚AV | 91精品久久久久久77777| 丁香五月精品| 视频这里只有精品| 超碰99热精品| 超91热| 97人人干人人操| 激情综合网 激情五月天| 操日视频| 高清 码 免费看片短视频| 婷婷五月花| 热99这就是精品视频| 热的五码久久精品| 丁香 久久| 欧美成人AAA片一区国产精品| 色色a| 激情播丁香| 成人av在线网址| 九九精品免费视频99| 久久99综合| 天天插AV丝袜中| 青青草a在线| 五月天社区婷婷丁香社区| 亚洲欧洲中文日韩久久AV乱码 | 99热国产| 激情五月婷婷五月| 久婷婷| 久久99激情丁香婷婷小说网| 婷婷六月天精品| 久久激情综合| www一起操| 激情综合五月丁香六月婷婷| 欧类av怡春院| 双性美人被调教到喷水A片| 天堂中文国产| 色色热| 久久黄色片| 激情小说五月天中文字幕| 日本啪啪网| 国内久久亭亭| 日本九九网| 91色碰| 婷婷伊人综合| 大鸡巴伊人网| 伊人超碰在线| 色九月丁香婷婷蜜桃在线观看| 久久久GOGO无码啪啪艺术| 在线观看的av| 婷婷五月天色| 五月天成人免费视频| 丁香色五月 97干| 九九99久久| 丁香婷婷激情网站| 久久久久久久久人妻| 5月丁香六月情| 五月婷婷丁香五月婷婷| 蜜乳中文字| 武汉美女啪啪视频免费一级片| 色婷綜合网| 精品综合久久久久久五月天| 玖玖资源网站最新站| 天天色五月| 美女100%露全身无挡网站| 久久婷婷六月| HD久久精品视频| 亚洲九区| 激情六月天| 亚洲V国产V欧美V久久久久久| 成人在线日韩| 五月天婷婷色播综合在线| 亚洲愉拍99热成人精品| 欧美日韩婷婷五月天| 日韩啪啪视品| 九九久久99精品免费观看www| 日韩在线视频中文字幕| 亚洲综合在线伊人婷| 入口五月婷婷六月香| 99人这里只有精品| 日日狠狠久久偷偷四色综合免费| 六月丁香婷婷综合在线| 九九久久精品| 狠狠色综合五月人人| 五月刺激丁香月综合| 色色丁香色五月| 开心五月婷婷婷美女| 色色色婷婷五月天| 色五月丁香激情视频| www.lingjunshare.com| 热99在线精品| 久久婷婷五月天| www.丁香黄色五月天人与| 综久久久| 丁香五月激情天AV无码| 激情99在线视频| 91干在线| 婷婷中合| 9久国产精品| 琪琪秋霞| 91久女| 亚洲国产另类av| 欧美色宗和激情| 欧美色色色色色色色色色色影视| 日韩三级高清无码| 精品一二三区久久AAA片| 在线sebiav精品视频| 九热免费视频| 婷婷四色成人综合色视| AV九九| 亚洲偷| 综合AV在线| 热的无码综合视频| 91碰碰碰| 玖玖婷婷色| 色播播之激情五月婷婷| 六月婷久久| 丰满少妇乱A片无码| 色婷婷国产精品综合在线观看| 五月丁香va| 久re热视频| 青青草伊人婷婷| 成人丁香色| 人妻 性久久久久久| 激情四射五月天| 99精品丰满| 五月色婷婷亚洲| 丁香六月婷婷综合缴| 国产看真人毛片爱做A片| 超碰色综合| 丁香色五月婷婷91桃色| 深爱五月天| 久热91精品| 婷婷五月无码| 五月丁香六月停停停| 激情深愛五月視頻| 久久99网站| 一区二区三区XXXXXX| 色婷婷六月精品| 婷婷深爱五月| 久久激情网| 97色欧美| 婷婷五月天黄色网址| 开心五月激情婷婷| 激情性爱五月天网页| 久久婷婷激情五月天一区二区| 丁香五月婷婷大香蕉| 99青青草99| 狠狠草婷婷| 伊人久久婷婷| 99精品视频在线6| 亚洲永久四色| 91色久| www.99精品在线| 狠狠久久婷| 五月天综合影院| 免费黄网不卡AV| 777久久综合视频| 久久激情视频| 婷婷五月天伦理| 婷婷五月天激情小说| 热99这里只是精品| 婷婷在线精品| 综合网激情五月天| 五月天社区婷婷| 激情都市五月天| 婷婷五月综合国产精品| 婷婷五月天综合中文| 九九成人电影婷婷| 99乱视频| 亚洲视频操| 大香蕉啪啪| 丁香九月婷| 五月婷婷丁香六月| 五月天婷婷久久综合| 4438亚洲欧美| www.狠狠艹| 国产综合81p| 成人版视频在线观看| 五月婷婷天堂| 六月丁香网| 天天干天天日天天插| 超碰在线观看三级片| 丁香 婷婷 亚洲 熟女| 99久久偷拍视频| 丁香五月天堂网| 99日本黄站| 婷婷五月激情网| 丁香婷婷久久激情| 婷婷激情四射五月天| 成人欧美日韩| 亚洲综合丁香婷婷六月天| 东京热五月婷婷| 色导航色婷婷五月天在线观看| 第四色五月婷婷| 99热这里只有精品2| 狠狠色性| 九九色院| 色噜噜狠狠色综无码久久合欧美| 综合网亚洲| 狠狠色色| 国产av第一专区| 九九精品综合| 天天舔天天插天天干| 4438国产免费看| 日狠狠| 五月天婷网| 中文字幕不卡+婷婷五月| 99热这里只有精品9| 欧美激情综合色丁香婷婷五月天| 超碰99热| 五月天婷婷激情四射综合| 91操人视频| 狠色狠色综合久久| 久久黄A片| 久久精99| 777精品久无码人妻蜜桃| 色五月婷婷影院| 亚洲激情亚洲激情| 日本123区日韩欧美不卡在线看| 色99网站| 免费亚洲婷婷| 久久这里只有精品16| 欧美日本黄色| 丁香五月婷婷国产在线| 久久9视频| 精品色色| 色情综合网| 五月天丁香啪啪综合| 琪琪色影音先锋| 天天日天天久久青青| 国产免费AV网站| 婷婷五月丁香网| 综合久久婷婷五月丁香| 久久婷婷五月综合精品蜜芽| 精品99*| 六月丁香五月婷婷| 天天看A片| 狠狠xx| 久久久人人人妻丝丝丝| 九九热只有精品6| 人妻久热| 97久久五月丁香婷婷| 九九九九热99超碰| 尤物一区二区| 狠狠精品干练久久久无码中文字幕| 色综合色五月| 99热网址| 玖玖五月| 成人AV中文字幕| 色小说五月天| 婷婷久久亚洲| 色五月丁香伊人| 白天AV月月| 影音先锋女人av鲁色资源网小说免费 | www.97视频| 色综合久久久久| 丁香六月五月天| 久久婷婷综| 五月天婷婷免费| 五月婷婷激情日本| 午夜成人综合| 一起草Av| 91九色网| 五月丁香综合| 天天爽天天操| ..真实国产乱子伦对白在线_欧| 可以看的av| 五月丁香色| 九九热精品视频在线观看| 欧美人妻一区二区| 丁香九月激情| 国外亚洲成AV人片在线观看| 牛牛热这里只有jingpin| 青柠影视免费高清电视剧| 国产精品18久久久| 久草丁香婷婷1024| 无码人妻一区二区一牛影视| 丁香六月综合激| 伊人五月婷婷国产视频| 婷婷激情人妻| 激情五月天婷婷图| 丁香五月日本| 九九热思思| 色噜噜五月天| 久久九色| 日韩啪啪视品| 九月综合| 色情·com| 色综合久久88色综合中文字幕| 青青草原精品久久| 狠狠色五月| AA丁香综合激情| 国产精品涩涩涩视频网站| www.97视频| 九九精品婷| 综合久久综合久久| 日日天天操| 性生活久久朋友人妻| 婷婷五月天av| 婷婷久草| 午夜福利8055| www,8050,午夜三级| 久久这里只有精品网| 欧美黄色韩日网| 婷婷久久五月天| 午夜无码熟熟妇丰满人妻 | 可以免费观看的av网址| 伊人久久丁香婷婷六月五月综合| 色玖玖导航| 久热免费视频| 99玖玖人人| 五月丁香激情五月天| 色久五月天| 99婷婷| 色婷婷五月综合激情中文字幕| 国产资源在线视频| 激情图片婷婷| 成人网址在线观看| 91熟妇大香蕉| 爱之国产色情综合| 丁香五月AV| 欧美顶级少妇做爰HD| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 欧美视频五区| 久久久久99精品成人片| 综合色播| 综合www色| 青草久久五月婷伊人| 久99热在线观看| 超pen个人视频97| 色婷婷综合久久久久| 五月天激情开心网| 91婷婷| wWW九九在线播放| 国产色五月婷婷| 岛国av网站| 天天色99| 五月婷婷AV| 日本欧美成人片AAAA| 9 1超碰九色| 思思热视频| 久热一区| 激情综合网婷婷久久| 97操操操| 91ncm视频| 天天综合中文| 日比视频91| 颜射 精品性爱av| 五月婷婷色五月| 亚洲综合在线播放| 婷婷婷婷婷婷婷婷| 国产人人操| 五月丁香六月婷婷在线播放| 99ER热精品视频| 色亚洲无码| 成人精品在线| 日韩不卡DvD| 日韩在线一级| 玖玖精品婷婷| 日日操夜夜撸| 99啪在线视频| 99热6色| 久9热插入| 丁香五月婷婷色| seuuu婷婷| 丁香五月婷婷成人网| 91肏肏肏| 色噜噜在线| 日本V在线观看不卡视频网站| 激情综合五月色在线| 五月婷婷六月丁香| 在线,国产,色,热视频| 色偷偷五月天| 丁香丁香激情网| 九九色综合| 日本色婷婷久久99精品91| 九九精品热| 婷婷六月网| 激情图片亚洲| jiqingliuyuetian| 亚洲成人九九九| 天天操夜夜操| 丁香五月婷婷啪啪啪| 九九av| 538在线| 熟女少妇内射日韩亚洲| 婷婷天天综合| 国产原创视频91九色| 色爱亚洲| 亚洲综合婷婷五月| 99热这里只有精品99| 三区激情四射av| 亚洲网站观看视频| 99精品在这里| 91色五月| 国产肥白大熟妇BBBB视频| Va另类视频| 99视频在线看| 五月丁香福利| 日日色五月天| 色色综合热| 亲子乱AV一区二区三区下载| 久久色五月天| www.夜夜爱.com| 91九色视频在线观看| 婷婷色婷婷亚洲成人| 免费视频WWW在线观看网站| 激情综合色| 99热狠狠操| 91超碰人人操| 欧美日本va| 激情综合久久| 丁香婷婷老熟女综合网| 五月天婷综合| 最新激情五月天| 卡视频1区2区| 激情五月综合| 五月婷婷啪啪啪啪| 人妻久久久久| 91丁香婷婷综合久久欧美| 天天肏夜夜肏| 色五月婷婷五月丁香五月| 色99色| 五月天婷婷综合网| 天天爽天天操| 思思热思在线精品视频| AVV黄| 欧美成人精品A片免费一区99| 五月激情六月婷婷| 日韩免费乱轮网站| 丁香五月天堂网AV| 亚洲亚洲人成综合网络| 色色无码| 五月天色网站| 激情图片亚洲| 久久一级片| 熟妇内谢69XXXXXA片| 日本一毛片| 色婷婷综合网站| 激情婷婷丁香五月天小说| 变态另类色图| 九九在线视频| 99久视频| 色久综合| 五月天综合图片| 欧洲亚洲最新精品| 中文字幕婷婷| 成人在线观看一区| 色一色综合| 99热综合| 久99视频在线观看| 婷婷五月天无码| 五月天婷婷丁香花| 人妻性操逼中文字幕 国产| 婷婷色六月| 中文字幕无码AV| 六月丁香五月天| 激情五月天色播| 亚洲AAAA网| 亚洲婷婷丁香五月在线| 一起草Av| 黄色片精品| 操比激情五月| 五月婷婷影视| 精品亚洲国产成人A片在线鸭王| 色婷操逼| 国产激情在线| 狠狠狠狠狠| 精品无吗va视频免费观看| 日本精品人妻无码77777| 久久总和99| 《蜘蛛女》梁铮1995| 操熟女成人网| 九玖欧洲亚洲| 五月色丁香激情| 激情五月丁香激情综合网| 五月婷婷色播视频| 99热这里在线精品| 激情色播| 天天狠狠婷婷在线| 26UUU一区二区| 国产片天天爽夜夜爽| 亚洲综合在线视频| 婷婷五月天成人在线视频| 久久超级碰碰| 亚洲第一黄网| 99re最新地址视频| 色之综合网| 91操色| 四五月婷婷| www,五月丁,com| 亚洲精品五月| 色色色色色色色色网站| 丁香六月在线| 综合久久99| 激情AV在线| 丁香婷婷基地| 丁香五月AV| 久久AV无码精品人妻系列试探| 97超碰婷婷五月天| 日本A片一区| 人人插9| 97人人操在线| 色五月无码| 亚洲 在线 性爱 | 婷婷视频网| 99国产在线精品视频| 五月停性愛| www.com色播五月天| 99热新网址| 婷婷激情丁香五月婷婷激情丁香五月婷婷 | 激情五月四色| WWW,五月| 五月天偷拍| 操碰色一区就去操| 91综合在线观看首页| 久热99热| 乱女乱妇熟女熟妇综合网站| 五月天婷婷成人资源站| 天天做天天爽| 丁香五月天之婷婷影院| 免费三级黄色| 99九九视频精彩在线| 婷婷五月激情四月综合| 久99久热只有精品国产99| 色色网站在线| 99色免费观看全部| 精品九九九久| 玖玖色综合网| 久久这里只有国产精品视频| 五月婷婷丁香五月 | 色五月婷婷综合在线| 蜜桃婷婷五月| 久久偷拍综合五月天| 六月丁香啪啪| 综合在线观看99| 97在线视频人妻九色| 天天拍夜夜爽日日| 一级二级色大片| 另类少妇人与禽zOZZ0性伦| 五月婷婷丁香综合,亚洲天堂| 欧美日综合| 丁香五月亚洲婷婷| 九九碰九九爱97超碰| 日本大人久久| 538午夜激情| 99热6色| 另类天堂| 六月婷婷综合激情| 久久九九蜜| 天天天干夜夜夜操| 99热官网精品在线| 视色网在线播放| 欧美五月婷婷| 97伦色婷婷| 色99视| 国产色网站| 久久九九激情五月天 | 国产一级婬片毛片| 婷婷五月丁香五月| www.刺激色网站www.| 人色五月天婷婷| 激情五月天色网站| 日韩人人操| 五月亚洲激情| 久久99网站| 激情婷婷九月| www.99成人视频| 久久精品一区二区三区四区| 色婷婷综合久久久久| 综合色色色| 亚洲精品第一国产综合亚AV | 九九在线视频| 9色视频在线| 狠狠穞A片一區二區三區| 婷婷五月丁香激情| 婷婷丁香成人在线视频| 这里只有精品免费| 伊人网碰碰| 婷婷成人五月天成人文学| 五月丁香综合精品欧美| 亚洲精品操一操、噜一噜、摸一摸、爽 | 日本色色影院| 亚洲无码九九| 激情网 久久| 亚洲色爽| 伊人久久婷婷| 色婷婷基地在线| 激情五月天丁香| 99热爱爱干干日| 99热亚洲精品| 五月天婷婷AV| 九九在线视频| 婷婷五月色惰| AA丁香综合激情| 五月伊人婷婷999| 欧美丁香婷婷五月天| ai97re99一本| 99热国产在线| 伊人大香蕉毛片| 中文国产五月天| 免费一区二区三区| 五月草影视| 色色9 9| 丁香激情综合| 久婷视频| 激情第四色| 九九大香蕉黄色影院| 色五月激情综合| 综合久久高清| 激情小说五月天| 五月综合亚洲色| 五月丁香激情综合| 亚洲天堂AAA| 伊人婷婷99热精品| 欧美爆乳一区二区三区| 中文字幕在线不卡视频| 色99在线视频| 人人操人人操919999| 激情五月婷婷综合| 亚洲精99| 3p九色在线| 九九这里有精品| 五月天丁香成人社| 五月天激情久久| 啪啪啪啪五月天| 在线看AV| 免费AV在线| 久久久人妻久久久| 青青草视频免费观看| 人妻精品久久久久久| 色婷婷色| 五月天色婷婷综合| 婷婷播播五月天| 国产色99| 性色五月天| 国产热精品| 综合激情在线观看| 26uuu最新地址| 99精品爱| 1024婷婷综合久久五月天| 五月丁香色婷婷| 五月丁香六月婷婷在线播放| 色婷婷91| 五月色网| 五月天五月天成人网亭亭成人色网站| 婷婷五月网图片区| 色五月婷婷五月天| www,av好吊操| 9久久婷婷国产综合精品性色| 九月色婷婷| 青草少妇激情| 99这里有精品久久97| 67194线路二在线观看| 曰曰久久| 狠狠操在线视频| 色v综合网| 五月日韩中文字幕| 中文成人在线| 丁香伊人激情| 天天日夜夜欢| 亚洲黄网AV| 黄色AV日韩| 5月婷婷五月天| 亚洲成人在线播放| www.91AV.com| 中文字幕在线日亚洲9| 色五月影视| www.主妇. com| 丁香久久九九99| 国产精品久久久久久久久久| 色综合另类| 激情合网婷婷| 亚洲操人| 午夜日日| 偷拍丁香九月激情| 第五色婷婷| 五月丁香五月婷婷| 99惹精品视频| 久久狠狠欧美| 久久五月综合| 丁香六月婷| 插插五月天| 国产色色视频| 婷婷深爱色五月| 久久久久婷婷| 日本欧美啪啪| 亚洲成人无码专区| 高清无码视频网址| 五月综合久久| 337午夜福利| 精品久久婷婷五月天| 91丁香五月| 色综啪啪| 九九一区| 99热色精品| 99精品视频网站| 97超碰在线免费观看| 五月综合缴情网| 五月天播播综合| 九九99在线免费在线观看视频| 人人操操| 丁香五月婷婷高清| 婷婷五月丁香综合网| 激情丁香五月| 婷婷五月婷婷| 丁香婷婷性爱| 中文字幕av在线播放| www.99热这里精品| 99久久免费精品| 婷婷五月综合在线视频| 色婷婷六月激情| 五月花综合网| 婷婷五月天激情四射五月天激情| 久久久8| 激情六月丁香| 激情综合在线观看| 欧美色色色色色色色色色色| 婷婷五月天午夜激情影院| 超碰在线94| 怡红院91a√| 日韩无码乱轮| 久久丁香婷婷五月| 丁香天堂夜| 五月丁香久久丝袜啪啪| www.com色播五月天| 9久久精品视频| 91视频综合网| 久久精品99久久久久久| 97视频.干com| 婷婷综合网| 九月丁香婷婷| 另类色视频| 人人色性网| 这里只有精品视频看看| 五月欧美色色五月| 人人视频色| 色色色色五月| 婷婷综合五月天| 97干网站| 精品久久久人妻| 九九色影院| 九九99九九精品免费 | 成人版视频在线观看| AV在线观看网站| 思思热视频在线| 中文字幕无码人妻少妇免费视频| 亚洲成av人影院| 99@久久@99精品视频| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 色九九一二| 91.com男女操| 日韩色色色99| 五月婷综合性中心| 九九精品网| 九九人人精品| 97香蕉碰碰人妻国产欧美| 亚洲精品又粗又大又爽A片 | 超碰2021| 五月天婷综合| 丁香六月狠狠| 久久久久久五月天| 夜夜躁婷婷AV| 91久久久久久| 丁香婷婷五月天成人| www.97碰碰com| 色婷婷视频| 成年人看Va免费视频| 51XX午夜影福利| 国产午夜精品AV一区二区麻豆 | 国产偷人爽久久久久久老妇APP| 123日本不卡在线| 综合另类视频| 综合在线丁香五月| 99视频这里有精品| 99这里只有精品| 超碰国产一区| www久久99| 天天免费日日夜夜夜夜| 91九色丨国产丨爆乳| 国产做爰视频免费播放| 色婷婷色综合激情91| 五月丁香综合激情在线观看| 免费看欧美成人A片无码| 国产精品A片| 91丨九色丨熟女丰满| 中文字幕无码人妻少妇免费视频| 婷婷天天五月天| 美日韩成人| 97色色在线视频| 性色五月天| 热996精品在线观看| 久久久久婷婷五月热综合| 色色色色色色色色网站| 婷婷六月色| 日本欧特黄色刺激一区影视久精品无码| 亚洲婷婷在线播放十月| 婷婷激情社区| 亚洲激情AV| 国产激情av| 婷婷五月天亚洲综合| 五月激情小说网| 亚洲AV另类| 九九婷婷五月天影视| 碰碰91| 在线色婷婷| 欧美在线骚货| 五月激情网站| 亚洲永远av在线播放| 激情综合网之激情五月| 丁香五月色网| 五月婷婷综合色啪首页| 26UUU成人网| 色色五月丁香婷婷| 欧美碰碰碰| 日本噜噜色网| 精品人妻一区二区| 偷拍91九色| 79色色| 国产精品18久久久| 免费成人va| 色婷婷伊人| 激情五月婷婷啪啪| 色婷婷五月天不卡| 欧美性生交XXXXX无码小说| 天天日天天做天天舔| 99超级碰碰| 9精品一区| 五月婷AV| 国产精产国品一二三在观看| 婷婷激情丁香五月婷婷激情丁香五月婷婷 | 超碰人人99| 国产中文字幕在线视频免费观看| 五月婷婷中文网| 99这里有精品| 五月天婷基地| 色色色网站| 婷婷丁五月| 美日韩成人| 欧美色色色色色色色| 久草a片| 五月天婷婷色情| 色五月女| 人人草碰| 欧洲激情精品婷婷| 中文字幕成人日韩| 五月激情偷拍| 奇米四色五月天| 激情欧美五月丁香| 亚洲人成网站999久久久综合| 可以免费看AV网站| 丁香亭亭激情四射| 色噜噜婷婷| 丁香五月停停av| 直接看的AV网站| 五月婷婷之综合激情在线| 五月丁香六月婷婷视频| 99艹精品在线观看| 色 色 色综合com| 97日在线视频| www久久99|