乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      linux下類似Bus Hound的工具

       lchjczw 2012-03-28
      0
      推薦在linux大家有時(shí)候需要調(diào)試usb接口的串口消息,但是沒有類似于windows下的bus hound工具,感覺比較痛苦,其實(shí)linux內(nèi)核提供了usbmon這個(gè)工具,可以收集串口信息。

      1.準(zhǔn)備:

      掛接debugfs (這個(gè)可以在內(nèi)核配置中使能),加載usbmon模塊(如果usbmon編譯成模塊). 如果usbmon編譯到內(nèi)核中的話,第二步可以省略

      # mount -t debugfs none_debugs /sys/kernel/debug
      # modprobe usbmon
      #

      確定bus數(shù)據(jù)已經(jīng)準(zhǔn)備就緒

      # ls /sys/kernel/debug/usb/usbmon
      0s  0u  1s  1t  1u  2s  2t  2u  3s  3t  3u  4s  4t  4u
      #

      現(xiàn)在你就可以選擇要么使用'0u'(抓bus上的所有包),并且直接跳到第三步,或者進(jìn)行第二步找到你設(shè)備所在的bus,這樣就過濾掉很多煩人的信息

      2. 查找設(shè)備所在的bus
      運(yùn)行"cat /proc/bus/usb/devices", 就會(huì)發(fā)現(xiàn)設(shè)備T開頭的行.T行有一個(gè)bus口,如下所示
       T:  Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12  MxCh= 0
       D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
       P:  Vendor=0557 ProdID=2004 Rev= 1.00
       S:  Manufacturer=ATEN
       S:  Product=UC100KM V2.00
       Bus=03 說明它在bus3口上

      3. 開始查看信息
      # cat /sys/kernel/debug/usb/usbmon/3u > /tmp/1.mon.out

      命令用來監(jiān)聽某個(gè)bus口,要么你可以監(jiān)聽所有的bus口

      # cat /sys/kernel/debug/usb/usbmon/0u > /tmp/1.mon.out
      * 數(shù)據(jù)格式
      現(xiàn)在支持兩種數(shù)據(jù)格式: '1t'格式和'1u'格式. '1t' 在內(nèi)核 2.6.21上不支持. '1u'數(shù)據(jù)格式增加了一些數(shù)據(jù)項(xiàng),如:ISO框架信息,間隔時(shí)間等.它產(chǎn)生了稍微多余的行,但是確實(shí)是'1t'格式的有效補(bǔ)充.
      數(shù)據(jù)內(nèi)容的詳細(xì)說明(從左到右)
      - URB Tag. URB地址

      - Timestamp, 間隔時(shí)間

      - Event Type. 時(shí)間類型.
      支持的類型是: S - submission, C - callback, E - submission error.

      - "Address" (通常是一個(gè)"管道").它包括4項(xiàng)內(nèi)容,用冒號分割: URB type ,direction, Bus number, Device address, Endpoint number.
      Type和direction被封裝成如下數(shù)據(jù)格式:
      Ci Co   Control input and output
      Zi Zo   Isochronous input and output
      Ii Io   Interrupt input and output
      Bi Bo   Bulk input and output
      Bus number, Device address, 和Endpoint是十進(jìn)制數(shù)字, 但是他們可能因?yàn)殚喿x便利而設(shè)置成為0.

      - URB Status word. 這個(gè)要么是字母或者是一些由分號隔開的數(shù)字

      - Setup packet, 如果出現(xiàn)的話,包括5個(gè)字串: 他們是bmRequestType,bRequest, wValue, wIndex, wLength, (USB Specification 2.0.協(xié)議中有詳細(xì)介紹)

      - 同步號

      - Data Length. 數(shù)據(jù)長度

      - Data tag. 即使數(shù)據(jù)長度不為0,usbmon也不一定總能捕捉到數(shù)據(jù),數(shù)據(jù)包內(nèi)容只有在此tag為'='才有效

      - Data words 大頭十六進(jìn)制數(shù).
      舉例:
      輸入控制得到端口狀態(tài)的示例
      d5ea89a0 3575914555 S Ci:1:001:0 s a3 00 0000 0003 0004 4 <
      d5ea89a0 3575914560 C Ci:1:001:0 0 4 = 01050000
       
      通過bus5口發(fā)送一個(gè)31字節(jié)長度的塊包(其中保存一個(gè)SCSI命令 0x5E )到存儲設(shè)備
      dd65f0e8 4128379752 S Bo:1:005:2 -115 31 = 55534243 5e000000 00000000 00000600 00000000 00000000 00000000 000000
      dd65f0e8 4128379808 C Bo:1:005:2 0 31 >


      詳細(xì)信息請參閱:http://www./kernel/Documentation/usb/usbmon.txt

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

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多