日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

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

USB主從架構(gòu)與端點模型詳解:從包結(jié)構(gòu)到枚舉流程 做了這么多年嵌入式我有個特別深的感觸搞單片機的朋友玩I2C、SPI、UART那叫一個得心應手示波器一夾、邏輯分析儀一掛幾分鐘就能定位問題??梢坏経SB就開始發(fā)怵總覺得這玩意兒像個黑盒子硬件上電就能用一旦出問題就不知道從哪里下嘴。上篇咱們把USB從誕生到普及的歷史捋了一遍這篇進入正題把USB的整體架構(gòu)和端點通信模型一層層剝開講清楚數(shù)據(jù)到底是怎么在一條總線上“排著隊”走的。這篇文章適合兩類人。一類是正在做USB設(shè)備端的固件工程師比如你要調(diào)一個自定義HID設(shè)備、一個USB轉(zhuǎn)串口或者一個U盤主控理解架構(gòu)能幫你少走很多彎路。另一類是寫上位機或者調(diào)試驅(qū)動時被USB問題折磨的工程師——你不需要會寫固件但你需要知道設(shè)備在枚舉時到底發(fā)生了什么才能從一堆抓包數(shù)據(jù)里找到蛛絲馬跡。我會盡量把話說得通俗但該給的技術(shù)細節(jié)一個也不會少。1. 整個總線只有一個“指揮官”USB主從架構(gòu)的真相1.1 為什么USB長得像一棵倒掛的樹USB的拓撲結(jié)構(gòu)說穿了就是一棵以主機Host為根、向下分叉的樹。主機里有根HubRoot Hub根Hub下面可以接設(shè)備也可以接外置Hub外置Hub再往下接更多設(shè)備。整個結(jié)構(gòu)是這樣的主機在最頂上Hub是中間的分叉節(jié)點設(shè)備是末端的葉子。理論上一個根Hub下面最多可以掛127個設(shè)備因為USB協(xié)議只給了7位地址空間地址0還留作默認地址所以實際可用地址是1到127。很多人第一次看這個拓撲會問為什么不用總線型或者星型這里有個物理上的硬約束——USB的電氣信號傳輸距離有限線纜一長信號就衰減而且一個端口驅(qū)動能力有限所以必須靠Hub做信號中繼和供電分發(fā)。Hub本質(zhì)上是一個“信號放大器端口擴展器”它把主機發(fā)下來的包廣播到所有下游端口又負責把下游設(shè)備返回的數(shù)據(jù)包轉(zhuǎn)發(fā)給主機。這就引出了USB一個極其重要的特性這條總線是共享的而且只有一個“指揮官”。任何設(shè)備都不能主動向總線上發(fā)數(shù)據(jù)所有通信都必須由主機發(fā)起。哪怕鼠標動了、鍵盤按了設(shè)備也只能干等著直到主機發(fā)一個IN令牌包來問它“你有沒有數(shù)據(jù)要給我”它才能把數(shù)據(jù)放上總線。這種模式叫“主機輪詢”Host Polling和以太網(wǎng)那種“誰想發(fā)就發(fā)沖突了再退避”的對等模型完全不是一回事。1.2 主從架構(gòu)的得與失簡單可靠但主動不了USB選擇這種嚴格的主從架構(gòu)我當時第一次接觸時覺得“這也太憋屈了”設(shè)備跟個受氣包似的。但后來仔細想想這恰恰是USB能做得這么便宜、這么皮實的關(guān)鍵。因為有了明確的主從關(guān)系總線上的沖突問題從根本上被避免了。以太網(wǎng)要搞CSMA/CD那一套來應對碰撞而USB根本不需要——主機統(tǒng)一調(diào)度同一時刻只會有一個設(shè)備在傳輸數(shù)據(jù)包不會“撞車”。這個特性帶來的直接好處是協(xié)議實現(xiàn)簡單設(shè)備端可以做得非常便宜一個幾毛錢的單片機都能掛USB不需要像以太網(wǎng)那樣復雜的仲裁機制硬件成本低確定性好主機可以精確控制帶寬分配這對音視頻等實時性要求高的場景特別關(guān)鍵但代價也很明顯——設(shè)備端永遠沒辦法主動發(fā)起通信。比如你想讓設(shè)備在某個事件發(fā)生時立刻通知主機在USB的世界里做不到“立刻”它只能等主機下一次輪詢到它時才能上報。所以USB的中斷傳輸本質(zhì)上也是輪詢只不過輪詢間隔可以設(shè)得很短讓人感覺像“中斷”一樣。這個特性在設(shè)計中會帶來一些連鎖反應。舉個例子很多USB設(shè)備需要“異步通知”功能比如一個USB轉(zhuǎn)串口芯片收到了串口數(shù)據(jù)它想趕緊告訴主機。但由于設(shè)備不能主動發(fā)數(shù)據(jù)它只能靠主機不斷輪詢它的中斷端點來取數(shù)據(jù)。所以你在寫上位機時會發(fā)現(xiàn)讀取這類設(shè)備時經(jīng)常要開一個線程循環(huán)去讀這個“主動讀”的動作本質(zhì)上就是在配合USB這種輪詢機制。1.3 帶寬是大家的超了就得排隊既然是一條共享總線帶寬就是所有人搶著用的。USB 2.0高速模式的理論帶寬是480Mbps注意這個數(shù)字是“總線帶寬”不是“某個設(shè)備的專享帶寬”。同一時刻總線上只能有一個傳輸在跑其他設(shè)備都得等著。這個感覺有點像老式電話線的“分時復用”——每個人都在一條線上說話輪到誰誰才能開口。這就帶來一個在系統(tǒng)設(shè)計上很重要的認知當你決定用USB連接多個設(shè)備時總帶寬是需要做預算的。一個USB攝像頭如果占了200Mbps一個U盤再跑個150Mbps留給其他設(shè)備的帶寬就不多了。尤其要注意的是USB協(xié)議為了保證實時性會優(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)。這樣做的最大好處是抗干擾能力強——共模噪聲會同時疊加在兩根線上做差之后噪聲就被抵消了。但這里有個更巧妙的設(shè)計USB數(shù)據(jù)線上沒有單獨的時鐘線時鐘是編碼在數(shù)據(jù)里的。USB用的是NRZI編碼Non Return to Zero Inverted規(guī)則是遇到邏輯0電平翻轉(zhuǎn)遇到邏輯1電平保持不變。也就是說接收端不是靠邊沿來對齊時鐘的而是靠數(shù)據(jù)的翻轉(zhuǎn)來恢復時鐘。但這就帶來一個問題——如果連續(xù)傳輸多個1電平就一直不變接收端沒法知道過了多少個位。所以USB規(guī)定了一個“位填充”Bit Stuffing機制連續(xù)出現(xiàn)6個邏輯1之后發(fā)送端必須強制插入一個邏輯0讓電平翻轉(zhuǎn)一下這樣接收端就能靠這個翻轉(zhuǎn)重新同步時鐘。我第一次看這個編碼機制的時候想到一個生活類比——這就像兩個人約好每隔一段時間必須say一句話哪怕沒話說也要“喂”一聲就是為了讓對方知道“我還活著、你還在線上”。USB的位填充就是這個“喂”一聲的動作。2.2 SYNC、PID、地址和端點號一次USB傳輸?shù)摹靶欧狻盪SB協(xié)議里所有數(shù)據(jù)傳輸都被封裝成“包”Packet。一個包的結(jié)構(gòu)從前往后大致是SYNC字段一串固定的同步序列讓接收端對齊時鐘和位流PIDPacket Identifier包類型標識告訴接收端“我是誰”——是令牌包、數(shù)據(jù)包還是握手包地址和端點字段令牌包才有包含7位設(shè)備地址和4位端點號數(shù)據(jù)字段數(shù)據(jù)包才有承載實際數(shù)據(jù)CRC校驗檢錯用的令牌包用CRC5數(shù)據(jù)包用CRC16這里要注意PID只有4位但因為后面還要跟一個逐位取反的副本用于校驗所以實際在線上是8位。協(xié)議的冗余設(shè)計比你想象中要多這也是USB可靠性高的重要原因。在USB世界里包一共分三大類類型常見PID誰發(fā)的作用令牌包IN、OUT、SETUP、SOF主機發(fā)起一個事務指定設(shè)備和端點數(shù)據(jù)包DATA0、DATA1、DATA2、MDATA主機或設(shè)備承載實際數(shù)據(jù)握手包ACK、NAK、STALL、NYET設(shè)備或主機確認/忙/錯誤/未就緒事務Transaction就是由這種包按固定順序拼出來的。主機先發(fā)一個令牌包“點名”然后數(shù)據(jù)階段傳數(shù)據(jù)最后握手階段告訴對方“收到了”或“沒收到”。三個包合起來才算完成一次事務。2.3 一個批量讀事務的完整過程拿最常見的批量讀來舉例。假設(shè)主機想從一個U盤讀取數(shù)據(jù)整個過程是這樣的主機發(fā)一個IN令牌包里面寫著“設(shè)備地址3端點號2我要向你要數(shù)據(jù)”設(shè)備收到后如果數(shù)據(jù)準備好了就把數(shù)據(jù)打包成DATA1包發(fā)回給主機主機正確收到數(shù)據(jù)后發(fā)一個ACK握手包告訴設(shè)備“數(shù)據(jù)完整收到你可以發(fā)下一批了”如果設(shè)備數(shù)據(jù)沒準備好它會回一個NAK握手包主機就知道“現(xiàn)在沒數(shù)據(jù)我改天再來”然后這個事務就結(jié)束了。NAK不是錯誤是設(shè)備在說“我現(xiàn)在忙但沒壞”。如果這個寄存器設(shè)備發(fā)現(xiàn)端點的Halt特性被設(shè)置了它就會回STALL這個就屬于錯誤狀態(tài)了需要主機介入處理。區(qū)分NAK和STALL是踩坑高發(fā)區(qū)很多人在抓包軟件里看到STALL就以為設(shè)備掛了其實很多時候是設(shè)備固件里設(shè)了STALL來表示“這個請求我不支持”比如HID設(shè)備收到一個它不認識的類特定請求時就可以回STALL。理解了這個“令牌-數(shù)據(jù)-握手”的三段式結(jié)構(gòu)后面看抓包就輕松多了因為你一眼就能看出哪段是主機發(fā)起的、哪段是設(shè)備響應的、哪段是確認收尾的。3. 端點是USB世界的“門牌號”理解端點與管道模型3.1 端點不是一根線而是設(shè)備內(nèi)部的一小塊“緩沖區(qū)”端點是USB協(xié)議里最核心、也最容易讓人誤解的概念。很多人習慣把端點想象成“物理引腳”或者“接口”其實完全不是。端點是設(shè)備內(nèi)部的一個數(shù)據(jù)緩沖區(qū)是設(shè)備與主機之間數(shù)據(jù)傳輸?shù)摹笆瞻l(fā)窗口”。主機通過端點號和數(shù)據(jù)方向來尋址這個窗口往里寫數(shù)據(jù)或從里面取數(shù)據(jù)。每個端點都有四個關(guān)鍵屬性端點號0~15、方向IN/OUT、傳輸類型控制/批量/中斷/等時、最大包大小。這些屬性不是憑空定的而是設(shè)備在枚舉時通過端點描述符告訴主機的。比如一個全速批量端點最大包大小通常是64字節(jié)一個高速批量端點最大包大小是512字節(jié)。這里要特別強調(diào)一個很多人都會踩的坑除了端點0一個端點號通常只對應一個方向。也就是說端點1的輸出和端點1的輸入實際是兩個不同的端點。你在寫固件時要是想做一個既能收又能發(fā)的功能得同時配置1-IN端點和1-OUT端點并分別分配緩沖區(qū)。我看到不少新手在配置寄存器時只配了一個方向然后調(diào)試半天發(fā)現(xiàn)數(shù)據(jù)通道不通其實就是沒搞清楚這個規(guī)則。用個生活化的方式來理解端點就像小區(qū)樓下的收件柜。每個柜子有編號端點號有的柜子是“只收件”O(jiān)UT有的是“只取件”IN有的柜子大批量能放大量包裹有的柜子小中斷一次只能放一個有的柜子有響應確認批量/中斷/控制收了要回執(zhí)有的柜子沒有等時放了就走丟件不管。3.2 管道已經(jīng)約定好傳輸方式的訪問通道管道Pipe是主機視角下的概念。主機不是直接往端點里讀寫數(shù)據(jù)的而是先跟端點建立一條“管道”之后的數(shù)據(jù)傳輸都沿著這條管道走。管道可以理解成“主機與設(shè)備端點之間的一條邏輯連接”它把端點的各種屬性端點號、方向、傳輸類型、最大包大小都封裝好了上層軟件只需要對著管道讀寫而不用每次都重復指定這些參數(shù)。管道分兩類控制管道雙向的專門走控制傳輸默認管道0在設(shè)備一上電時就建立好了用來做枚舉和標準請求流管道單向的可以是中斷、批量或等時傳輸數(shù)據(jù)按流的方式流動沒有命令語義“流管道”這個詞值得琢磨一下。它強調(diào)這幾種傳輸類型是“數(shù)據(jù)流模式”的一次發(fā)一批數(shù)據(jù)發(fā)了就完了沒有“請求-應答”的協(xié)議語義嵌套在里面。真正有命令語義的是控制傳輸它像一套“帶外信號”專門用來配置設(shè)備。3.3 端點0所有設(shè)備都必須有的“公共服務窗口”端點0是USB里最特殊的端點。它在設(shè)備上電、還沒有分配地址之前就已經(jīng)存在了主機通過默認地址0向端點0發(fā)送控制請求。USB規(guī)范要求所有設(shè)備必須支持端點0的控制傳輸端點0是雙向的只有它一個端點“既做IN又做OUT”。端點0的最大包大小是設(shè)備自己聲明的低速設(shè)備是8字節(jié)全速設(shè)備可以是8/16/32/64字節(jié)中的一個高速設(shè)備固定64字節(jié)。設(shè)備在枚舉最開始必須先響應一個請求讓主機知道“我的端點0最大包是多少”然后主機會重新復位設(shè)備給設(shè)備分配一個正式地址再繼續(xù)讀取完整的信息。把端點0想象成小區(qū)物業(yè)的“服務總臺”就很好理解了任何住戶主機搬進來之前先要到總臺報到登記基本信息讀設(shè)備描述符、領(lǐng)取門牌號設(shè)置地址、了解小區(qū)規(guī)定讀配置描述符然后才能正式入住。在入住之前所有溝通都只能通過總臺進行這個總臺就是端點0。4. 四種傳輸類型怎么選控制、批量、中斷、等時4.1 各有脾氣從可靠性、時延、帶寬三個維度看USB協(xié)議定義了四種傳輸類型每種都是在可靠性、時延、帶寬三個維度上做了取舍。理解這層關(guān)系你在選型時就能少走彎路??刂苽鬏旊p向、可靠性最高專門用來傳輸配置命令和狀態(tài)信息。它的特點是“請求-應答”式一次控制傳輸分為建立階段、數(shù)據(jù)階段可選和狀態(tài)階段。建立階段主機發(fā)SETUP包數(shù)據(jù)階段傳數(shù)據(jù)狀態(tài)階段確認結(jié)束??刂苽鬏斦加脦拑?yōu)先級最高但數(shù)據(jù)量通常很小基本就是枚舉時和發(fā)命令用的。批量傳輸單向、可靠性高保證數(shù)據(jù)一定送達出錯會重傳但不保證時延。適合U盤、USB轉(zhuǎn)串口、MSC類存儲設(shè)備這類對數(shù)據(jù)完整性要求極高、對實時性不敏感的場景。批量傳輸在所有傳輸里優(yōu)先級最低只能排在控制和等時后面“撿剩飯”。如果你的批量設(shè)備發(fā)現(xiàn)速率不穩(wěn)定大概率就是總線上有其他實時傳輸在占用帶寬。中斷傳輸單向、可靠性高且保證輪詢間隔。雖然名字叫中斷但它其實是主機按固定周期輪詢設(shè)備。適合鼠標、鍵盤、游戲手柄這類數(shù)據(jù)量小但希望延遲可控的設(shè)備。全速中斷端點的輪詢間隔可以設(shè)置為1~255ms高速可以按微幀來算最短125us輪詢一次。注意低速設(shè)備只支持控制傳輸和中斷傳輸而且低速中斷端點最大包只有8字節(jié)。等時傳輸單向、不保證可靠性出錯不重傳但保證帶寬和時延。適合USB攝像頭、USB聲卡、麥克風這類對實時性要求極高、丟一兩幀無所謂的場景。等時傳輸沒有ACK/NAK握手數(shù)據(jù)包發(fā)了就完了丟了也不補。所以你在設(shè)計和調(diào)試這類設(shè)備時一定要在應用層做容錯處理。4.2 對照真實設(shè)備選型我整理了一個平時做項目時常用的對照表基本覆蓋了常見設(shè)備類型設(shè)備類型傳輸類型為什么這么選U盤、移動硬盤批量數(shù)據(jù)量大、完整性要求極高延遲不是關(guān)鍵USB鼠標、鍵盤中斷數(shù)據(jù)量小、希望快速響應輪詢機制夠用USB串口/CDC批量數(shù)據(jù)流可靠性優(yōu)先延遲可接受USB攝像頭等時/批量高帶寬實時性優(yōu)先掉幀可以通過上層補償USB聲卡等時音頻流實時性要求極高偶爾丟一幀影響不大自定義HID設(shè)備中斷雙向小數(shù)據(jù)交換延遲可控有一個比較典型的誤區(qū)是很多人以為“中斷”傳輸比“批量”傳輸更快。實際恰恰相反在USB 2.0高速模式下批量傳輸?shù)膯未瓮话l(fā)數(shù)據(jù)量遠大于中斷端點能達到每秒幾十MB而中斷傳輸靠的是“實時性”不是“吞吐量”。所以如果你的需求是傳輸大批量數(shù)據(jù)不要選中斷傳輸它一幀微幀能傳的數(shù)據(jù)有限整體帶寬遠不如批量。反過來說如果你需要低延遲的周期性數(shù)據(jù)上報批量傳輸就不合適因為它在帶寬調(diào)度時可能被其他傳輸擠到后面延遲不可控。4.3 帶寬分配幀與微幀里的時間片游戲USB 2.0在時間上把總線劃分成“幀”Frame和“微幀”Microframe。全速模式是1毫秒一個幀高速模式是125微秒一個微幀一個幀等于8個微幀。每個幀/微幀開始主機都會發(fā)一個SOFStart of Frame令牌包相當于“新的一輪調(diào)度開始”。然后主機根據(jù)當前各個端點的需求在這段時間片里安排各種事務。調(diào)度策略大致是控制和等時傳輸優(yōu)先級最高先安排中斷傳輸其次批量傳輸最后只能占用剩余時間USB規(guī)范還給批量傳輸設(shè)定了一個限制在高速模式下批量傳輸不能占用超過80%的總帶寬。這個限制其實是為了保證控制傳輸永遠不會被餓死。因為如果批量設(shè)備持續(xù)滿負荷傳輸把總線占滿了控制傳輸就沒機會執(zhí)行了設(shè)備連“急剎車”的指令都收不到整個總線就失控了。理解這個調(diào)度邏輯對排查性能問題特別有幫助。比如你在同一個USB Hub上掛了一個U盤和一個USB攝像頭如果U盤拷貝速度明顯變慢不要急著懷疑U盤壞了先看看是不是攝像頭的等時傳輸把微幀里的時間片占了留給批量的只剩一小塊。5. 設(shè)備“報到”全過程枚舉怎么把設(shè)備家底問清楚5.1 五個標準請求主機和設(shè)備靠這些“對話”USB枚舉Enumeration就是設(shè)備插入后、驅(qū)動加載前主機與設(shè)備之間的一系列控制傳輸對話。這個對話主要是通過一組標準請求來完成的比較核心的有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-電平變化向主機報告“有設(shè)備插入”主機讓Hub給設(shè)備復位設(shè)備進入默認狀態(tài)地址為0主機向地址0端點0發(fā)GET_DESCRIPTOR(Device)但只讀前8字節(jié)目的就是拿到端點0的最大包大小主機再次復位設(shè)備發(fā)SET_ADDRESS(新地址)設(shè)備從此用新地址通信主機發(fā)GET_DESCRIPTOR(Device)讀完整18字節(jié)設(shè)備描述符主機發(fā)GET_DESCRIPTOR(Config)讀配置描述符包括接口描述符和端點描述符主機根據(jù)識別到的類代碼加載對應驅(qū)動驅(qū)動發(fā)SET_CONFIGURATION(1)設(shè)備進入配置狀態(tài)開始正常工作整個過程通常在毫秒級完成肉眼是感覺不到的但抓包看每一步都非常清晰。5.2 描述符鏈設(shè)備的“簡歷”是怎么組織的描述符是USB設(shè)備“自我介紹”的數(shù)據(jù)結(jié)構(gòu)主機的驅(qū)動識別設(shè)備全靠它。它的組織方式是嵌套的樹形結(jié)構(gòu)設(shè)備描述符Device Descriptor └── 配置描述符Configuration Descriptor └── 接口描述符Interface Descriptor └── 端點描述符Endpoint Descriptor設(shè)備描述符是整個設(shè)備的“封面頁”包含USB版本號、設(shè)備類代碼、廠商IDVID、產(chǎn)品IDPID、端點0的最大包大小、設(shè)備版本等。其中VID和PID是驅(qū)動匹配的重要依據(jù)你在設(shè)備管理器里看到的“VID_1234PID_5678”就是從這里來的。配置描述符描述一個配置的總體信息包括接口數(shù)量、供電方式自供電還是總線供電、最大電流消耗。一個設(shè)備可以有多個配置但同一時刻只能啟用一個。比如一個USB設(shè)備可以有一個“高功耗高性能”配置和一個“低功耗低性能”配置根據(jù)供電情況切換。接口描述符描述一個“功能”。一個配置可以包含多個接口每個接口對應一個獨立的功能。這個概念在復合設(shè)備Composite Device上特別重要比如一個USB設(shè)備既做鍵盤又做鼠標又做串口它就可以有三個接口每個接口對應一種功能。Windows會對每個接口枚舉成一個獨立的設(shè)備節(jié)點所以你會在設(shè)備管理器里看到“USB輸入設(shè)備”和“COM口”同時出現(xiàn)。端點描述符定義端點的各項參數(shù)端點號、方向、傳輸類型、最大包大小、輪詢間隔。一個全速設(shè)備最多可以有16個端點端點0 15個IN 15個OUT但實際上大多數(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這里能看到鼠標的中斷端點屬性端點2 IN、中斷傳輸、最大包8字節(jié)、輪詢間隔10ms。字段都寫得明明白白。5.3 枚舉失敗怎么查我踩過的三個典型坑做USB設(shè)備調(diào)試最痛苦的就是枚舉失敗。這里分享三個我真正踩過、也幫別人排查過的問題。第一個D/D-接反了。聽著像是低級錯誤但實際操作中特別容易發(fā)生因為有些板子的D/D-絲印不明顯或者轉(zhuǎn)接板標注不統(tǒng)一。癥狀就是主機完全檢測不到設(shè)備dmesg里什么都沒有。排查辦法很簡單用示波器看D/D-有沒有波形或者干脆量一下設(shè)備端的D上拉電阻是否連接到了正確的那根線。USB 2.0全速/高速設(shè)備要求在D上接1.5kΩ上拉電阻到3.3V低速設(shè)備在D-上接。如果上拉接錯了線主機就識別不了設(shè)備速度。第二個端點描述符的配置和固件實際行為不一致。有一次我調(diào)一個復合設(shè)備描述了三個接口但固件里只初始化了兩個。Windows在枚舉時按描述符去找對應的端點和接口結(jié)果找不到直接報“設(shè)備描述符請求失敗”Code 43。這個坑很隱蔽因為設(shè)備本身能響應控制請求枚舉流程前一半都正常但到了配置階段就崩潰。排查方法是把描述符導出來一字節(jié)一字節(jié)對確認bNumInterfaces和實際固件里初始化的一致。第三個供電不足導致設(shè)備反復復位。設(shè)備插入后如果瞬間電流需求超過了端口能供給的上限Hub會切斷供電設(shè)備掉電重啟然后又被檢測到又掉電形成一個死循環(huán)?,F(xiàn)象是設(shè)備在設(shè)備管理器里閃爍不停dmesg里能看到反復的“USB disconnect”和“USB connect”消息。解決方法是改用帶外部供電的Hub或者獨立供電的開發(fā)板。5.4 Linux上的USB調(diào)試三板斧既然我們寫技術(shù)文章Linux下的USB調(diào)試工具還是得熟悉一下這比Windows下用Bus Hound要輕量得多。第一板斧是lsusb -v。它能列出所有USB設(shè)備以及完整的描述符。當你想確認設(shè)備到底上報了哪些描述符或者想查看設(shè)備是不是進入了異常狀態(tài)用這個命令非常方便。第二板斧是dmesg。內(nèi)核的USB子系統(tǒng)會打印非常詳細的枚舉過程信息包括設(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太小導致緩沖區(qū)溢出而不是串口芯片的硬件問題。用usbmon抓包的簡要步驟sudo modprobe usbmon sudo wireshark在Wireshark的接口列表里選擇usbmon1對應USB bus 1就能開始抓了。抓包時如果想縮小范圍可以在過濾器里寫usb.addr 3.2只看地址3設(shè)備端點2相關(guān)的流量非常精準。這里要給一個實際建議如果產(chǎn)品在Windows和Linux下表現(xiàn)不一致優(yōu)先抓包對比。很多時候是Windows驅(qū)動和Linux驅(qū)動對描述符某些字段的解釋不同導致的抓包一看就能看出來。6. 寫在最后的調(diào)試心得這篇講了架構(gòu)、物理層編碼、包結(jié)構(gòu)、端點模型、四種傳輸類型和枚舉流程其實核心邏輯串起來就一句話USB是一個嚴格的主從式共享總線所有通信都由主機發(fā)起通信的基本單元是事務事務由包組成端點是通信的窗口管道是通信的通道四種傳輸類型的取舍決定了設(shè)備的實時性和可靠性。把這個思維框架建好后面不管是看協(xié)議文檔還是調(diào)Bug你都有了一個定位坐標系——先分清當前是枚舉階段還是數(shù)據(jù)傳輸階段再從“主機/設(shè)備/線纜/Hub”四個環(huán)節(jié)去排查很多問題瞬間就清晰了。我個人的經(jīng)驗是調(diào)USB問題最忌諱的就是“瞎試”。這個板子換一下、那個參數(shù)改一下不如老老實實抓一次包。因為USB協(xié)議雖然復雜但它是完全確定的——總線上每一個包都有明確的目的地和含義問題一定能從抓包里找到蛛絲馬跡。所以下次遇到USB設(shè)備不工作別慌先抓包再說別的。下一篇我們聊USB的class類是怎么定義的尤其是HID和CDC這兩個最常用的類它們的協(xié)議細節(jié)和實際項目里的配置方法。到時候見。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
97久久资源| 精品久久久av无码免费| 国产无马在线| 男人夜色天堂ss| 啊啊啊好疼| 国产色图乱伦| 亚洲五月丁香花狠狠干一区二区三区| 天天干夜夜肏| 在线视频 亚洲精品| 天天色播亚洲综合网站| 欧美韩国你懂得在线| 久久久极品| 午夜啪啪片| 欧美黑人猛交春色影视大全| 偷拍亚洲视频一区二区三区四区| 国产成人手机视频激情| 日本 免费 一区二区三区 久久香蕉| 91精品人妻五十路| 亚洲制服aⅴ中文字幕| 天天摸夜夜摸| 无码不卡八戒| 久久欧洲| 亚洲A曰本VA欧美VA视频| 五月丁香在线| 骚熟女AV网| 综合欧美日本三级| 99AV| 亚洲色欲天天人妻无码系列专区| 成人九九| 日韩无码专区| 大香蕉伊人网WWWn0n| 性一级黄色录像片网站导航 | 久久啊啊| 亚洲.欧美.丝袜.中文.综合| 青青色在线观看| 五月天婷婷色色| 97chaopenrihan| 热99这里只有精品| 高潮9999外国| 国产欧美伊人| 久久超碰97| 五月丁香激情综合网| 强乱老妇中文字幕| 五月综合久久| 中文字幕久久婷婷丁香五月天| 性爱动态120秒| 久久男人的天堂| 久久本道| 另类 日韩 熟女| 日本大香蕉| 性暴力欧美猛交在线直播| 超碰爽人妻熟女Av| 在线有码中文字幕| 青青伊人这里只有精品| 亚洲男人综合| 婷婷五月天色网| 91热| 久久伊人五月天| 天啪| 亚洲视频小说| 人人爱人人操人人性| 大香蕉日韩欧美| 91亚洲人电影| 逼操网站| 男人天堂久久精品不卡| 欧美日韩丝袜 | 人妻精品一区二区在线| 欧美小说区视频区| 久久久不能久久久久| 色在线综合| 亚洲欧洲色情高清| 97天天爽| 在线欧美69V免费观看视频| 208天天久久九九九| 久久国产性爱| 久久精品成人一区二区三区蜜臀| 亚洲欧美激情在线视频| 夜夜躁狠狠躁日日躁av| 美国久久一二三四| 91精品人妻电影| 97久久超碰日韩精品| juliaann精品熟女一区| 操逼啊啊啊91| 少妇色| 性欧美精| 天天爽天天操| 国产黄片在线免费观看| 97Ai亚洲| 国产尤物在线三区| 中文字幕一区二区三四五区日日骚| 超碰狠狠操| 日韩精品国产一区二区| 亚洲人成在线放东京热| 91综合国产精品| 精品区9| 国产又黄又爽又刺激久久久久久| 久久久久久久久久久久97 | 蜜乳成人AV| 国产97在线播放| 久草精品热视| 91精品丝袜在线观看| 97色碰| 欧美97se| 偷拍综合亚洲| 99热99re超碰精品| 制服乱伦| 人妻精品视频一区二区| 国产91乱伦| 久久专区| 好属操| 激情文学亚洲| 91AV天美在线视频| 久久9亚洲| 99婷婷| 国产探花精品在线| 蜜乳中文字幕a在线| 日本久久超碰| 欧美高清色| 97热视频在线观看| 美美91成人国产精品欧美精品久久久久久久 | 欧美色图第一页| 骚逼自拍99| 九九九九九九成人| 久久超碰、| 天天综合站| 欧美九九爱| 亚洲欧洲综合av在线| 人妻铁牛TV| 老熟乱一区二区三区四区| 日本免费不卡二区| 亚洲有码 欧美精品| 免费A V在线播放| 69XX一中文字幕人妻91 | 综合一区中亚洲国产成人综合精品| 国产精品不卡一区二区电影| 日本成人免费一区二区三区| 黄色免费网| 亚州男人天堂| 久久久久亚洲Av无码专区老牛影视 | 天天操女人| 97在线精品| 亚洲高清无码在线桃色| 精品午夜福利国产一区二区在线观看| 中文字幕三四区| 天美91| 午夜一区| 97九色| 1区2区3区视频| 欧美一级在线观看成人| 国产精品99精品视频网站| 日韩国产精品人妻无码久久久| 99热在线播放| 岛国片在线播放| 成年女人黄网站| 久久久亚洲欧美综合| 新婚人妻扶着粗大强行坐下| 精品国产久热在线观看| 九九成人| yiren97| 久久成年精品| 亚洲人码13| 欧美天天综合站| 超碰精品人妻狠狠干| 亚洲蜜臀精品视频久久| 东京热双插| 激情小说在线视频| 免费自拍三级综合| 大香蕉婷婷| 欧美色棕合| 黑丝日韩av丝袜av| 九九五月天| 校园春色五月天| 国产在线视频午夜精华在| 熟妇综合一区二区三区| 可能人人看人人摸| 婷婷成人五月天| 超AV色女| 九九九九一级| 亚洲情欲| 国产在线精品偷| 翔田千里av一区二区三区| 日本天天人人狠狠在线日美女 | 成人性爱电影一区二区| 人人插人人搞人人操| 欧美日韩青操| 亚洲丝袜二区在线| 日韩免费中文字幕视频| 日韩A优精品在线观看| 日韩AC| 人妻碰碰碰碰碰碰| 97精品网站| 色五月av| 人妻日日干| 日韩成人午夜精品久久高潮| 97超碰公开| 粉嫩av久久一区二区三区| 欧美v亚洲v日韩v最新在线二区| 91oumei| 东京热av男人的天堂| 亚洲久草AV色图| 国产亚洲日韩欧| 精品人人插人人操| 女人的天堂大香蕉网| 色亚洲欧美| J?P?NESEHD熟女熟妇伦| 国产1769在线| 97超碰天天爱天天爱| 死我十八禁| 呦呦影院| 激情综合97| 美国久久一二三四| 91丝袜美女视频| 久久欧美性爱视频| 青青伊人久久| 日韩免费簧片| 一区二区三区 丝袜 高跟 美腿| 亚洲色图综合网| 99热在线观看| 丁香五月天堂| 色色青青久久| 四虎影视永久在线免费| 欧美专区第一页| 欧美色吧综合| 国产一级αv免费看片| 国产精品又黄又猛又粗| 九九热五区| 国产成人网站在线观看| 秋霞午夜成人福利片片| 九九久久精品| 九九久精品| 国产中文大片资源中文字幕| 欧美五区| 国产品精品自在在线午夜免费| 日韩AV无码中文一区二区| 欧美色图片91| 日熟女| 日本免费专区| 日本精品免费一区二区三区四区| 人人模人人看| 亚洲最大黄网| 欧美黄页| 伊人97色天使| 国产AAAAAABBBBB| 人人摸人人干| 国产一区二区成人av在线播放| 99老司机精品视频在线观看| 久久欧美激情| 伊人色综合网电影| 中国的操老妇女| 熟女这里只有精品6| 亚洲色图激情小说| 无码人妻一区二区三区色欲aⅴ| 狠狠中文字幕| 欧美在线播放| 欧美亚洲20p| AV麻豆免费一区| 亚洲精品丝袜| 韩国免费播放一级毛片| 丝袜性亚洲| 秋霞怕怕片| 中文字幕视频一区视频二区| 操逼片国产| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 人妻夜夜爽天天爽麻豆三区网站 | 韩国手机不卡无码三级视频| 欧美成97爱| 国产又粗又长又大的视频| 97超碰免费人人性爱| 久久久麻豆精品| 国产乱人伦AVA麻豆软件.| 色男人色天堂东京热| 久久久久亚洲av综合波多野制衣| 狠色婷婷久久一区二区三区_| 国产欧美日韩一区二区三区| rivers-china.com| 日韩黄色成人性爱| 日日夜夜国产综合| 乱伦图av| 另类小说欧美激情校园春色| 小草三级久久观看| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 婷婷久月| 日韩欧美操逼xxx| 久久超碰爱| 青青草日逼视频| 99视频内射三四| 色综合久| 看免费的黄片| 在线综合 亚洲 欧美中文字幕| 午夜福利 成人 91| 志村玲子视频一区二区| 亚洲一级特黄大片在线播放91| 在线人成亚洲视频免费观看| 日本一级特级毛片视频| 射丝袜高跟鞋99| 大香蕉伊利av| 综合熟妇一区二区三区| 成人av在线播放| 十八禁视频网站| 亚州中文字幕超碰97| 欧美日韩美女精品久草一区二区三区 | 亚洲人妻AV| 熟女AV一区| 91精品人| 日本精品88888888| av网站免费看| 熟妇视频一区二区三区在线观看| 国产97在线播放| 国产精品不卡一区二区电影| 亚洲天堂第一页| 国产无码成人无码| 五月天丁香欧洲日韩| 9.1小视频| 国产精品永久免费10000| 色天使大香蕉| 日欧操屄| 狠色婷婷久久一区二区三区_| 97超碰磁| 97国产伦理| 国产a片操逼| 人妻少妇视频在线播放| 天天综合色图| 美欧老女人97| 97人妻碰碰中文无码久热丝袜| 午夜精品人妻二区三区| 日韩三级视频一区二区三区| 久久久久免费看少妇A片特黄| 日韩不卡网操逼中文字幕日韩| 国产精品成人AV片免费看网站 | 97免费视频在线观看视频| www亚洲免费| 超碰97久久国| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 中国小夫妻勾搭露脸淫荡对白| 欧美黄色手机在线观看| 白丝AV网站| 欧美精品一区二区少妇免费A片 | 99热97| 欧亚日韩中文在线| 后入内射蜜桃臀| 日韩在线观看字幕精品| 欧美成人免费在线观看| 啊啊啊啊啊啊啊啊啊啊在线观看| 五月综合激情| 国产精品白领在线观看| 91天天综合在线观看| 精爱久久| 久草成人福利导航| 午夜免费福利视频一区| 亚洲制服aⅴ中文字幕| 亚洲国产日韩精品久久久| 中国小夫妻勾搭露脸淫荡对白| 先锋精品av色鲁| 日本女优在线视频福利| 欧美精品23| 99re这里只有| 亚洲人久久久网| 用力操死我| 艹我哪美一区无码| 久久婷婷亚洲| 日本亚洲熟女视频| 777AV电影| 色吧 综合| 亚洲色欧| 欧美综合自拍亚洲综合图| 欧美日日夜夜| 在线啊啊啊啊| 97九色人妻| 日逼国产| 国产精品视频白浆免费| 性暴力欧美猛交在线直播| 天天综合-91入口| 91老司机精品| 国产91 丝袜在线播放 | 欧美18老人禁| 中文字幕97| 亚洲欧洲自拍| 九九九九AV| 91欧美经典| 97色碰| 大香蕉综合网| 日韩国产不卡在线视频| av毛片aaaaa免费看| 亚洲精品人体| 午夜精品久久一区二区| 午夜无遮挡男女啪啪视频| 久久青青草原免费视频| 亚洲人妻中文高清| 久久老子无码午夜伦不卡| av片在线观看免费播放| 内射老妇BBWX0C0CK| 亚洲乱码精品一区二区| 91成人久久 | 亚洲色电影在线| 欧美亚洲综合色| 欲香欲色| 日本狂喷奶水在线播放212| 国产欧美一级在线观看| www.色操逼| 青青草视频久久| av大香蕉网站| 超碰97欧美日韩| 超碰人人干天天射| 久久精品国产精品一区 | 男人的天堂2018.| 久久久99999久网站| 加勒比久久av| 粉嫩av平台| 秋霞蝌科网日本一区| 日日爱99| 超清中文乱码字幕| 麻豆成人影音在线| 国产精品国产精品国产| 黄色av一区二区在线| 97综合激情| 久久精品国产Aⅴ| 国产精品suv一区| 美女淫穴| 亚洲中文字幕网| 日人妻视频91| 国产精品久久天天干| 婷婷探花久久精品一区| 久久久久久国产成人| 极品白嫩美女白浆成人福利在线看| 人妻天天夜夜爽一区二区| 中文字幕久久精品一区| 99热在线观看| 精品999日本| 亚洲AV无码久久精品蜜桃小说| 日韩伦理久 久久 清纯| 国产一区二区视频在线播放| 97色碰| 啪啪自拍九九综合| 国产后入| 日韩二区三四区五区六区在线看| 亚洲妇色| 天天综合网~91入口| 97精品中文字幕| 伊人国产成人av网站| aaa淫乱视频| 91四海无码日韩欧美| 变态另类专区| 亚洲综合草草| 黄色无码高清黄色无码网站| 天美久久久久| 日本免费专区| 欧色综合| 少妇综合| 精品久9| 视频一区二区免费在线| 睡产熟女乱伦| 91亚洲不卡一区| 日本加勒比无码专区一二三| 六月丁香网| 最新亚洲人成网站在线影院| 91精品综合久久久久久五月丁香| 人妻丰满熟妇av无码区蜜桃| 激情小说亚洲| 日韩av无码网站| 亚洲高清在线| 欧美中文字幕男人天堂久久精品| 精品无码一区二区三区| 亚洲色婷婷久久91| 国产精品一区二区在钱播放| 欧美人体性爱互联网第一页婷婷日本| 五月激情综合网| 日日AAvv| 99成人| 综合啪啪| 国产欧美在线观看免费观看| 99热亚洲| 久9综合在线| 国产91亚洲精品一区二区三区| 91久久国产综合精品| 伊蕉97蜜桃97狠狠综合干| 无遮挡男女激烈动态图| 蜜臀在线看片| 亚洲色图亚洲无码强奸乱伦| 91无摭挡| 精品成人动漫一区二区| 中出789在线视频| 久久av无码| 亚洲综合码| 婷婷精品国产一区二区三区日韩| 一级二级三级黑人无码| 天天天天干| 亚码激情| 不卡av在线中文字幕| 91站街按摩店老熟女熟女| 蜜臀中文无码午夜| 开心五月深爱五月| 国产亚洲日本| 97在线精品| 人妻喷水| 澳门特级毛片免费观看| 久热99| 青青青青操国内视频在线| 久99| 加勒比海色香蕉婷婷| 少妇天堂网络| 亚洲乱码国产乱码精网站| 东京热AV男人的天堂| 六月丁香网| 国产亚洲色婷婷久久99精品91 - 百度| 一区黄二区黄| 国产91啪| 凌辱美少妇久久aV| 日韩99神马视频播放| 熟女人妇一区二区三区| 丰满人妻一区二区三区免费| 色欲人妻一区二区在线| 99久在线精品99re8热| 久久久久久久强迫| 青青草无码视频| 亚洲男人的天堂网| 久久精品店| 超碰97丝袜| 国产精品乱码久久久久久久久久久久| 色色五月婷| 操逼视频国产无套| 国产女人91精品嗷嗷嗷嗷| 99久草| 欧美色图片91| 新版天堂中文资源8在线| 超碰97网站| 99色骚| 大香樵伊人网| 久久无码一区二区二三区性色| 免费99精品国产自在在线| 日韩精品99999| 人人艹亚洲| 女色综合| 性欧美91| 国产精品另类一区大香蕉| 青青操在线亚洲视频观看欧美在线 | 国产AV天美传媒一区二区三区| 少妇诱惑视频| 9/A片| 精品国产肉丝袜在线拍国语| 亚洲欧美中文日韩视频中国语 | 欧美日韩操逼动图| 躁躁躁日日躁2020| 亚洲欧洲无码一区夜| 久久9精品视频| 伊人五月天激情| 久久精品国产精品一区| 一本色道人妻久久| 亚洲偷91色| 澳门特级毛片免费观看| 亚洲精品久久久久毛片A片拉屎| 麻豆精品一区二区三区四区免费观看| 99色色网| 偷拍精品一区二区三区| 亚卅熟女乱色| 亚洲女毛多水多21P| 96精品久久久久久久久| 精品无码欧美三级| 3PAV乱伦视频| 热的中文 热的有码 热的国产| 久草视频观看视频在线| 日韩在线欧美精品一区二区| 日本在线观看网址| 国产操逼网站亚洲一级黄色| 视频不卡中文字幕| 国产精品久久久| 欧美天天射| 亚洲欧美伦综合| 外国免费性情大片| 超碰碰97资源站| 久久精品无码专区| 97Ai亚洲| 欧美色女人| 91Chinese在线| TS人妖另类精品视频系列| 日韩免费av片高清无码| 精品久久久久久中文| 日韩激情中文字幕有码| 人妻另类| 久久粉色| 国产又黄又爽| 欧美片第一页| 一区二区三区高清天码| 亚欧无码在线| 欧美很很操视频| 91丨九色丨东北熟女| 激情五月天婷婷| 最新加勒比丝袜在线| 91丝袜美腿网站| 69人妻精品丰满熟女区| 色在线69堂| 欧美97av| 测评在线观看AV| 免费少妇一区二区| 日韩黄色电影网站| 99久久9| 国产精品电影大全| 亚洲色堂免费视频| 色香天天| 丁香五月天啪啪| 大香蕉在线SuP| 成人一道本免费视频| 亚洲男人bt天堂| 懂色av中文字幕一区二区三区天美 | 五十路三区在线| 91AV天堂| 高颜值美女口爆高潮浪叫| 91老熟妇| 天堂无码精品国产久| 99re在线| 18一区二区三区| 人人弄人人摸| 精品人妻一区二区三区-国产| 欧美熟妇成人一区二区| 青草成人免费视频一COm| 欧美精品精品一区二区| 亚洲精品啪视频| 亚洲少妇色| 91欧美另类| 男人的天堂久久| 最新av中文字幕高清| 黄色高清无码无码破解免费暗网 | 亚洲图片欧美另类综合免费视频大大香| 欲香欲色综合天天伊人| 亚洲第一免费视频| 日日狠狠久久偷偷色综合免费| 久婷婷一区| 亚洲人综合19| 亚洲1区2区三区高清中文字幕| 97九色人妻| 精彩久久中文| 国产狂喷潮在线精品| 国产一级αv免费看片| 亚洲狼狼干综合1| 麻豆色99999| 美女啊啊啊啊啊啊啊| 亚洲成人一区二区精品| 国际精品久久久| 啊好大好舒服| 国产精品久久久久中文字幕| 国产又粗又长又大的视频| 校园春色欧美色图| 亚洲欧美激情小说| 国产性爱在线视频一区二区| 91ise欧美| 玖玖大干人妻| 亚洲一曲日韩精品| 极品丝袜无码| 91精品人妻一品二品三品| 自拍视频一区在线观看| 99re8超碰| 老妇女91| 九九综合色| 少好三P| 一区二区三区高清天码| 麻豆久久久久久久久丝袜| 久久午夜神马| 美女黄频a美女大全免费皮| 日本欧美色| 啪啪性爱免费视频| 久久天天摸| 97碰碰色| 91狠狠综合久久久久久| www.久久超碰| 人妻熟女av国产网站| 天天日少妇逼AV| 国内精品999| 色999偷自拍拍| 丁香九月激情| 亚洲人妻在线一区| 国产精品视频自拍在线| 97超碰碰| 日韩国产成人自拍视频| 日本色婷婷| 噜噜瑟| 日韩av一级黄片| 偷拍色图| 国产大学生口爆吞精合集| 亚洲大色堂| 久久伊人亚洲AV无码网站| 久久久久久久久久久久久久久乱码| 偷拍亚洲| 91亚洲青青草原精品1区| 欧亚日韩中文在线| 欧美久久九九| 精品一级毛片在线观看| 99热超碰| 亚洲精品一二牛牛| 一区二区三区蜜桃成人撸久久东京热 | 欧美日韩国产另类综合| 热久久国产精品视频大陆精品| 中字幕人妻一区二区三区| 成人A片男人的天堂| 看大黄色大片原件| 欧美久久伊人| 国产一级黄色片在线观看| blacked精品一区国产| 操逼操逼逼操操逼91| 手机看片1024你懂的国产| 极品尤物在线观看| 五月天婷婷色色| 日韩美女久久一区二区三区| 亚洲欧美另类激情小说| 欧美少妇内射| 日本熟女中文字幕一区| 四虎影视永久在线观看精品免费网站 | 久久久9品一区二区三区| 91爽啪| 中文字幕精品人妻丝袜| 91黑丝美女| 噜噜噜亚洲精品| 99久在线精品99re8| 熟妇色99| 欧美一级久久久久久久大片动画| 一区二区三区 日韩欧美| 99精品成人免费看| 啊啊啊com| 日本亚洲熟女视频| 97免费免费视频网| 亚洲情色中文字幕一区| 欧美亚洲激情小说| 一二三四视频中文字幕在线看| 91AV天美在线视频| 色九月婷婷| 无遮挡又黄又刺激的视频| v91av| 国产探花日韩援交| 91精品啪在线观看国产城中村| 97干在线视频| 久久超碰98| 国产精品久久久九九九| 99操逼| 亚洲中文字幕精品一区| 国产一| 亚洲综合春色| 99热99在线播放激情| 人人澡人人干| 老女人碰碰在线碰碰视频| 丁香五月天激情| 老熟女乱伦一区| 久99在线免费观看视频| 精品亚洲俞拍视频一区| 人人操av| 一级黄色性爱A级片| 超碰欧美97| 伊人视频| 久久99手机免费视频| 大香蕉AV在线| 国产极品99热在线播放69| 久热一区二区| 操操碰| 欧美伦乱| 日本一级二级三级网站| 色悠久久久av| 欧美精品久久久久久久久88| 久热网| 97亚洲中文| 丁香婷婷激情五月天无毒不卡 | 中文字幕欧美日韩三级| 天天爱综合网| 情色五月天久久久| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 五月天综合网| 亚洲色 国产 欧美 日韩| 国产精品国产亚洲区艳妇糸列| 麻豆天天躁天天揉揉AV| 新精精品久久精品| 综合久欧洲| 亚洲综合网电影91| 日韩在线观看中文字幕视频| xxx0国产在线播放| 国产精品久久久久久久电影渣男| 极品白嫩美少妇在地板上位骑射淫水泛滥| 极品少妇久久久久| AV色五月| 欧美的性爱网站免费| 成人熟女区| 久久精品中文字幕观看| 97在线日韩中文字幕| 超碰99在线| 夜色综合| 日韩欧美天天爽爽爽天天爽爽| 狠狠操使劲操| 男人天堂新在线| 欧美最婬乱婬爆婬牲视频| 亚洲综合69| 三级网站超变态精品| 夜夜操老骚逼视频网站| 97人妻色| 97国产色综合| 亚洲色图激情小说| 大香樵伊人网| 蜜臀av一区二区三区免费观看| 五月丁香六月婷综合成人综合 | 日韩三级久久久| 另类小说五月天| 亚洲久热| 91校园春色长篇| 黄污污污污| 天天插天天插| 欧美 亚洲 综合 制服| 天天操狠狠日夜夜干超碰撸com视频在线观看 | 青青草AV色| 日本不卡免费二区| 日韩欧美久久婷婷网站| 成人草草视频| 怡红院成人视频| juliaann丝袜| 白嫩少妇| 日本性爱视频一级| 国内精品久久人妻性色av| 伊人欧美大香蕉视频| 97欧美精品综合| 综合熟女| 色五月丁香五月| 精品人妻av在线播放| 日本三级A片网站com| 久久9久| 中文操逼字幕| 国产馆| 国产真实子伦对白| 八戒午夜福利理论片| 亚洲精品xxx| 久久亚洲精品成人av| 丁香九月激情| 天天干2019| 亚洲情色图片区| 亚洲偷91色| 精品免费囯产一区二区三区| 91无遮挡| 亚洲第一狼人丝袜美女另类| 国产91久久九九免费精品无码| 丁香六月综合激情| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 国产精品交换一区二区| 欧美在线色图| 天美传媒av一区二区| 亚洲激情在线| 久久亚洲国产成人| 亚洲乱码国产乱码精网站| 婷婷爱五月| 91伊人大香蕉| 伊人久大| 亚洲春色一区二区三区| 懂色天天爱天天日天天射天天澡| 98人妻精品一区二区色欲| 免费啪啪av| 97色五月天完| 久久久久久久久久久999| 天综合网欧美| 欧美自拍网| 国产欧美在线观看免费观看| 操www| 婷婷综合激情| 日韩无码第3页| 国产精品九九九| 亚洲日韩美女中文字幕乱| 狠狠欧美| 97国产精品久久久久| 蜜桃av色偷偷av老熟女| 午夜寂寞欧美| 日本美女性生活久久久久久久| 风骚少妇视频中文字幕| 欧美激情综合| 九九黄色视频在线观看| 久久久久久性爱视频| 亚洲交换| 樱花蜜乳av| 97超碰美国| 骚日日av| 日韩精品国产一区二区| 天天色黄色影院天天操| 日本精品不卡一二三区| 欧美天天谢综合网| 99国产精品久久久在线播放| 久久↗↗| 国产v片在线免费观看| 成人无遮挡毛片免费看| 婷婷成人久久久精品| 日本999精品| 欧美亚洲情色| 超碰99在线| 超碰97欧美日韩| 在线观看高清AV| 后入 亚洲 美女 射| 热热色AV| 亚洲诱惑| 91综合在线| 中文字幕 国产区| 裸体美女久久久| 欧美日本成人一区二区| 亚洲夜夜欢无码一区二区 | 综合伊人激情| 精品视频久久久久九九九九9999| 蜜桃臀一区二区三区久久| 亚洲无码太久| 91N综合在线| 久久男人精品| 中文字幕女同在线| 伊人久久综合精品欧美| 99久热精品99re6热| 日韩性爱毛片操骚逼| 国产精品久久久999| 国产成年精品高清在线观看91| 日韩人妻少妇 一区二区三区| 久久精品国产亚洲5555| 97色插| 国内一区二区三区| 一级性爱啪啪视频| 二三四区精品| 天天干少妇| 久久色人体| 91色综合激情| 国产精品爆乳懂色蜜乳| 中文字幕在线24| 久久久久久加勒比| www狠狠| 国产嫩草精品A88AV| 女人久久久| 天天看天天综合成人网| 激情 欧美 亚洲 小说| 97超碰久久色| 日本三级R| 久9无限国产| 亚洲男人的天堂一区二区| 欧美18 在线观看| 大香久久| 色婷婷狠狠18禁| 韩国一区二区精品亚洲| 99久在线精品99re8蜜桃| 91丨九色丨大屁股| 青青草一区二区高清无码视频| 欧美性爱在线无码| 婷婷人妻激情| AV九九| 午夜精品久久久久久久久久久久久 | 91动漫操逼视频| 很狠操| 久久精品国产免费观看99| 精品国产乱码久久久久久免费| 日韩成人综合网| 国产激情在线| 久久综合18p| 久久狠狠色噜噜狠狠狠狠97| 欧美少妇第一页| 日韩亚洲精品一区二区| 性交一区二区在线播放| 91麻豆va国产精品| 99999re| 91色图片| 亚洲国产一级精品毛一级精品看免费视频| 十八禁电影伊人网| www.99热| 国产乱伦搜索结果91P| 区二区亚洲婷| 亚洲第一在线视频| 亚洲se91| 青娱乐蜜桃臀AV色婷| 性色av网站| 日本天天干天天操一区| 伊人网在线观看| 亚洲精品中文字幕一区在线视频| JuliaAnn丝袜熟女系列| 亚洲 欧美 另类 综合 偷拍| 深夜国产一区二区三区在线看| 插插综合网天天影视网| 2018天天干在线视频| 久热在线精品免费观看| 日本性感人妻91| 国产精品美女| 免费a v| 日本精品五区| 麻豆天美91| 东京热一区二区中文字幕| 亚洲91射| 96精品久久久| 一区超碰一区| 日韩中文9| 国产91专区| 国语精品对白| 噜噜噜亚洲精| 放黄片放3级黄片没穿衣服| 亚洲。日韩。欧美| 五月天婷婷综合网| 精品熟妇视频一区二区| 最新av在线| 精品人妻一区二区三区四区石在线| 精品九九九九九九九九九| 色婷婷成人| 影音先锋新男人| 一区二区三区在线日韩影院观看| 超碰97起碰| 国产精品亚洲高清在线| 日韩欧美女求操每天更新| 天天插天天插| 日韩三级久久久| 日韩欧美丝袜诱惑| 98福利在线视频| 怡红院成人视频| 翔田千里AV无码秘 三区| 91麻豆天美传媒在线| 日韩免费av片高清无码| 强奸a片网| 精吧天堂| 久7色| 最新中文字幕在线亚洲| 欧美视频一| 熟妇人妻一二三区免费| 亚洲 欧美 另类 日韩 人妻一区| 天天摸,夜夜摸| 国产操偷| 久久久久久久九九九九九九| 亚洲一区二区AV| 日韩欧美天天爽爽爽天天爽爽| 欧美亚洲第1页| 一区二区三区在线资源| 狠狠色噜噜狠狠狠狠狠色综合久久| 成年人黄色视频免费| 精品国产乱码久久久| 欧美大香蕉在线观看| 日日爽熟女| 成人午夜视频免费播放| 天天日少妇逼AV| 久久久久久久久久久久黄色| 黑人在线91| 五月丁香综合啪啪| 亚洲最大黄网| 一起草视频在线| juliaann欧美丝袜办公室| 欧美亚洲丝袜美女电影| 亚洲国产精品久久久久久久久久| 丁香九月激情啪| 人妻乱仑一区二区三区| 九九综合九九综合| 任你爽视频| 国产自产91区13区| 97美日韩视频| 亚洲人妻中文高清| 伊色综合天堂色97| 粉嫩av一区二区三区四季| 天天躁日日躁xxxxx| 天美国产三级传媒| 三四中文字幕| 国产欧洲精品亚洲午夜拍精品| 欧美淫穴| 精品人妻视频入口| 男人的天堂网页| 久草看看看| 台湾佬大香蕉| 亚洲毛片久久| 东京热综合久久一区二区| 密臀成人视频久久久| 中日韩久久久免费看| 久久久久久中文| 综合性视频99| 久久久96精品| 校园春色美腿丝袜| 久久9免费视频| 麻豆天天躁天天揉揉AV| 欧美日韩人妻精品系列一区二区三区| 欧美在线第五页| 大香蕉手机在线| 亚洲视频精选| 大香蕉欧美| 国产无马在线| 在线观看不卡一区二区三区| 久久久久久久97| 色妹子A V| 久久久久久久九九九九九九| 超碰九7| 欧美操逼视频二区| 色色福利| 国产400孕妇孕交群| 热天堂一区二区| 国产色精品午夜大片| 啊啊啊啊无码| 亚洲欧美setu| 日韩成人人妻网站| 亚洲天堂日本| 视频在线97| 欧美性夜| 91精品人妻偷情| 在线无码视频| 亚洲一区二区性爱电影| 亚洲色五月| 亚洲欧洲精品成人| 色综合超碰超| 天天日夜干| 1000部熟女视频在线观看| 国内毛片婷婷六月色| 亚洲成人综合在线| 日韩美女久久一区二区三区| 亚熟hd视频在线| 伊人伊人LD| 国产伊人精品在线| 亚洲无码精品AV久久久| 国产操偷| 亚洲性爱高潮影院| 级品肉射| 亚洲蜜臀精品视频久久| 翔田千里AV无码秘 三区| 国产高清免费不卡av| 色99视频| 久久精品72| 蜜区区视频79| 蜜乳视频网站| 天美麻花大全视频| 天天操天天射青青草| 亚洲综合伊人| 亚洲精品一区二区日本| 久久久久久久久成人av解说| 天天综合精品| 国产乱码精品久久久久久| 96久久久久久久| 清纯唯美亚洲综合| 免费在线黄片视频| 殴美,日韩国产伦精品| 欧美亚洲激情一二三| 亚州男人天堂| 五月天黄色激情视频| 亚洲色9| 欧美日韩色| 国产视频一区二区三区在线免费观看 | 大香网站| 欧美一区二区观看在线| 成人美女av| 另类 日韩 熟女| 中文字幕精品区先锋资源| 370p日韩欧美亚洲精品| 三级精品三级在线观看| 在线毛片片免费观看| 精品日韩人妻视频| 国产高清精品一区二区三区毛片| 日本www操操操| 大干人妻| 被窝影院午夜看片无码| 翔田千里av一区二区三区| 国产精品suv一区| 国产精品久久久| 五月丁香激情啪啪| 午夜无码熟妇丰满人妻| 超碰精品日韩欧美国产| 五月丁香成人网| 激情久久日韩精品中文字幕麻豆| 黄人人操人人操| 99这里有精品| 天天综合站| 免费精品人妻一区二区三| 中文字幕在线观看第二页| 中文字幕av一区二区三区人妻少妇| 三级精品三级在线观看| 久久国产精品91| 国产精品乱码久久久久久| 中文字幕乱偷人妻久久艾草网| 国产午夜精品一区二区三区牛牛| 91五十路| 欧美啪啪女女| 制服诱惑亚洲一区二区三区在线观看| 中文字幕人妻色偷偷久久皮| 中文字幕色AV| 久久久久久精|