urb標志
時間戳
事件類型(S-submission, C-Callback, E-submission error) ep->type
端點類型I(中斷),C(控制),B(Bulk)和Z(ISOC)
數據方向(i或者o)
bus總線號
該bus總線分配到的設備地址
端點號,對於in端點,為異或^0x80,即去掉第8位1值的數據,比如0x81,那麼這裡數據為0x81 ^ 0x80 = 1 ep->epnum
接下來的數據根據不同的端點類型將做不同的格式顯示
I(中斷) : ep->status和ep->interval 顯示端點的狀態和端點interval中斷間隔值[luther.gliethttp]
C(控制) : 如果事件類型為S,那麼顯示s bmRequestType bRequest wValue wIndex wLength
B(Bulk) : ep->status 只顯示狀態
Z(ISOC) : 如果事件類型為S,那麼顯示ep->status, ep->interval, ep->start_frame
接下來的數據就是ep->length長度了[luther.gliethttp].
再接下來就是mon_text_read_data填充數據了[luther.gliethttp].
1.如果數據長度ep->length為0,那麼直接填入一個'\n'換行.
2.如果確實有數據部分,那麼先追入' =',然後在=等號後面追加實際數據內容.
3.如果沒有數據部分,比如那麼將ep->data_flag作為char類型打印出來[luther.gliethttp]
HUB的中斷端點1發生中斷,狀態成功0,中斷interval128ms
c393e580 531182834 C Ii:1:001:1 0:128 1 = 02
c393e580 531182947 S Ii:1:001:1 -115:128 2 <
a3+00請求是GetPortStatus, wWvlaue=0, port=1, 數據長度4
P427
c3ad3e00 531183571 S Ci:1:001:0 s a3 00 0000 0001 0004 4 <
PortStatus為 01010100
分為 0101
c3ad3e00 531183633 C Ci:1:001:0 0 4 = 01010100
clear feature
c3ad3e00 531183663 S Co:1:001:0 s 23 01 0010 0001 0000 0
c3ad3e00 531183670 C Co:1:001:0 0 0
c3ad3e00 531183685 S Ci:1:001:0 s a3 00 0000 0001 0004 4 <
c3ad3e00 531183691 C Ci:1:001:0 0 4 = 01010000
c3ad3e00 531210077 S Ci:1:001:0 s a3 00 0000 0001 0004 4 <
c3ad3e00 531210121 C Ci:1:001:0 0 4 = 01010000
c3ad3e00 531240074 S Ci:1:001:0 s a3 00 0000 0001 0004 4 <
c3ad3e00 531240122 C Ci:1:001:0 0 4 = 01010000
c3ad3e00 531270070 S Ci:1:001:0 s a3 00 0000 0001 0004 4 <
c3ad3e00 531270113 C Ci:1:001:0 0 4 = 01010000
c3ad3e00 531300076 S Ci:1:001:0 s a3 00 0000 0001 0004 4 <
c3ad3e00 531300122 C Ci:1:001:0 0 4 = 01010000
c3ad3e00 531300234 S Co:1:001:0 s 23 03 0004 0001 0000 0
HUB的中斷端點1發生中斷,狀態成功0,中斷interval128ms
c393e580 531311050 C Ii:1:001:1 0:128 1 = 02
c393e580 531311086 S Ii:1:001:1 -115:128 2 <
c3ad3e00 531315120 C Co:1:001:0 0 0
c3ad3e00 531370081 S Ci:1:001:0 s a3 00 0000 0001 0004 4 <
c3ad3e00 531370130 C Ci:1:001:0 0 4 = 03011000
c3ad3e00 531425071 S Co:1:001:0 s 23 01 0014 0001 0000 0
c3ad3e00 531425116 C Co:1:001:0 0 0
c3ad3e00 531426891 S Ci:1:000:0 s 80 06 0100 0000 0040 64 <
c3ad3e00 531427405 C Ci:1:000:0 -62 0
c3ad3e00 531427744 S Ci:1:000:0 s 80 06 0100 0000 0040 64 <
c3ad3e00 531429392 C Ci:1:000:0 -62 0
c3ad3e00 531429667 S Ci:1:000:0 s 80 06 0100 0000 0040 64 <
c3ad3e00 531431393 C Ci:1:000:0 -62 0
c3ad3e00 531431702 S Co:1:001:0 s 23 03 0004 0001 0000 0
c3ad3e00 531445056 C Co:1:001:0 0 0
HUB的中斷端點1發生中斷,狀態成功0,中斷interval128ms
c393e580 531500034 C Ii:1:001:1 0:128 1 = 02
c393e580 531500082 S Ii:1:001:1 -115:128 2 <
a3+00請求是GetPortStatus, wWvlaue=0, port=1, 數據長度4
c3ad3e00 531500381 S Ci:1:001:0 s a3 00 0000 0001 0004 4 <
c3ad3e00 531500428 C Ci:1:001:0 0 4 = 03011300
c3ad3e00 531500454 S Co:1:001:0 s 23 01 0014 0001 0000 0
c3ad3e00 531500462 C Co:1:001:0 0 0
c3ad3e00 531500480 S Co:1:001:0 s 23 01 0001 0001 0000 0
c3ad3e00 531500487 C Co:1:001:0 0 0
c3ad3e00 531501087 S Co:1:001:0 s 23 01 0001 0001 0000 0
c3ad3e00 531501122 C Co:1:001:0 0 0
c3ad3e00 531501157 S Ci:1:001:0 s a3 00 0000 0001 0004 4 <
0101 表示有個設備連接上,port是上電狀態
0300 不知道什麼意思
c3ad3e00 531501165 C Ci:1:001:0 0 4 = 01010300
c3ad3e00 531501178 S Co:1:001:0 s 23 01 0010 0001 0000 0
c3ad3e00 531501185 C Co:1:001:0 0 0
c3ad3e00 531501195 S Co:1:001:0 s 23 01 0011 0001 0000 0
c3ad3e00 531501201 C Co:1:001:0 0 0
c3ad3e00 531501217 S Ci:1:001:0 s a3 00 0000 0001 0004 4 <
0101 表示有個設備連接上,port是上電狀態
0300 不知道什麼意思
c3ad3e00 531501223 C Ci:1:001:0 0 4 = 01010000
c3ad3e00 531530075 S Ci:1:001:0 s a3 00 0000 0001 0004 4 <
0101 表示有個設備連接上,port是上電狀態
0300 不知道什麼意思
c3ad3e00 531530139 C Ci:1:001:0 0 4 = 01010000
c3ad3e00 531560081 S Ci:1:001:0 s a3 00 0000 0001 0004 4 <
0101 表示有個設備連接上,port是上電狀態
0300 不知道什麼意思
c3ad3e00 531560128 C Ci:1:001:0 0 4 = 01010000
c3ad3e00 531590074 S Ci:1:001:0 s a3 00 0000 0001 0004 4 <
0101 表示有個設備連接上,port是上電狀態
0300 不知道什麼意思
c3ad3e00 531590121 C Ci:1:001:0 0 4 = 01010000
c3ad3e00 531620074 S Ci:1:001:0 s a3 00 0000 0001 0004 4 <
0101 表示有個設備連接上,port是上電狀態
0300 不知道什麼意思
c3ad3e00 531620118 C Ci:1:001:0 0 4 = 01010000
c3ad3e00 531620229 S Co:1:001:0 s 23 03 0004 0001 0000 0
c3ad3e00 531635056 C Co:1:001:0 0 0
c3ad3e00 531690076 S Ci:1:001:0 s a3 00 0000 0001 0004 4 <
0301 表示有個設備連接上,port是上電狀態 低速設備連接到這個port
1000 不知道什麼意思
c3ad3e00 531690123 C Ci:1:001:0 0 4 = 03011000
c3ad3e00 531745066 S Co:1:001:0 s 23 01 0014 0001 0000 0
c3ad3e00 531745116 C Co:1:001:0 0 0
//獲取設備描述符
80=bmRequestType
c3ad3e00 531746898 S Ci:1:000:0 s 80 06 0100 0000 0040 64 <
c3ad3e00 531768392 C Ci:1:000:0 0 18 = 12010002 00000040 11008877 04010102 0301
c3ad3e00 531768748 S Co:1:001:0 s 23 03 0004 0001 0000 0
HUB的中斷端點1發生中斷,狀態成功0,中斷interval128ms
c393e580 531779080 C Ii:1:001:1 0:128 1 = 02
c393e580 531779127 S Ii:1:001:1 -115:128 2 <
c3ad3e00 531780124 C Co:1:001:0 0 0
a3+00請求是GetPortStatus, wWvlaue=0, port=1, 數據長度4
c3ad3e00 531835078 S Ci:1:001:0 s a3 00 0000 0001 0004 4 <
0301 表示有個設備連接上,port是上電狀態 低速設備連接到這個port
1000 不知道什麼意思
c3ad3e00 531835126 C Ci:1:001:0 0 4 = 03011000
Clear Feature
This request resets a value reported in the port status.
c3ad3e00 531890074 S Co:1:001:0 s 23 01 0014 0001 0000 0
c3ad3e00 531890118 C Co:1:001:0 0 0
//設置地址
00=bmRequestType
c3ad3e00 531890150 S Co:1:000:0 s 00 05 0003 0000 0000 0
c3ad3e00 531911404 C Co:1:000:0 0 0
//獲取設備描述符
80=bmRequestType
c3ad3e00 531930073 S Ci:1:003:0 s 80 06 0100 0000 0012 18 <
//設備描述符 12 01 0002 00 00 00 40 11008877 04010102 0301
struct usb_device_descriptor {
} __attribute__ ((packed));
c3ad3e00 531931415 C Ci:1:003:0 0 18 = 12010002 00000040 11008877 04010102 0301
//獲取配置描述符
80=bmRequestType
c3ad3e00 531931773 S Ci:1:003:0 s 80 06 0200 0000 0009 9 <
//配置描述符 09022000 01010080 32
struct usb_config_descriptor {
} __attribute__ ((packed));
c3ad3e00 531933399 C Ci:1:003:0 0 9 = 09022000 01010080 32
//獲取配置描述符+接口描述符+2個端點描述符
c3ad3e00 531933694 S Ci:1:003:0 s 80 06 0200 0000 0020 32 <
獲取配置描述符
接口描述符
端點描述符1
端點描述符2
struct usb_interface_descriptor {
} __attribute__ ((packed));
端點1
struct usb_endpoint_descriptor {
} __attribute__ ((packed));
端點2
struct usb_endpoint_descriptor {