文章目录

  • USB 1.0 2.0 3.0 的 枚举 总线过程
  • USB2.0 枚举
    • 枚举过程中的一次 control transfer : get device descriptor
    • 枚举过程中的一次 control transfer : set address
    • 一次 control transfer 中的 "USB标准设备请求"
  • USB 2.0 USB mouse 插入打印

USB 1.0 2.0 3.0 的 枚举 总线过程

  • usb 1.0 2.0
1.0 -> 2.0
更改了 reset 时间 : 从 10ms 到 不做要求
  • usb 2.0 3.0

2.0 -> 3.0
更改了 reset 的必要性 : 从必要到可选
更改了驱动能力 : 100 mA -> 150 mA
增加host 设置 isochronous delay , 并通知设备host 通知设备 system exit latency using the Set SEL request

USB2.0 枚举

枚举过程中的一次 control transfer : get device descriptor
枚举过程中包括很多个 control transfer (例如 get device 描述符 就是一个 control transfer)这个 control transfer 中 包括 三个阶段 // 以 get device 描述符 为例SETUP阶段一个 usb 控制 事务令牌包 + DATA0 数据包(XXX) + 握手包 // 数据中为8字节的USB标准设备请求DATA阶段 // N个 usb 控制 事务第一个 usb 控制 事务令牌包 + DATA1数据包 + 握手包第二个 usb 控制 事务令牌包 + DATA0数据包 + 握手包...STATUS阶段一个 usb 控制 事务令牌包 + DATA1数据包 + 握手包
枚举过程中的一次 control transfer : set address
枚举过程中包括很多个 control transfer (例如 set address 就是一个 control transfer)这个 control transfer 中 包括 两个阶段 // 以 set address 为例SETUP阶段一个 usb 控制 事务令牌包(主机发出) + DATA0 数据包(XXX)(主机发出) + 握手包(设备发出) // 数据中为8字节的USB标准设备请求STATUS阶段一个 usb 控制 事务令牌包(主机发出) + DATA1数据包(设备发出) + 握手包(主机发出)

下图 为 set address ,设置的地址值为 14 ,对应 该文中的 “3.3 如果第一阶段数据传输方向为主机到设备(数据长度为0)”

一次 control transfer 中的 “USB标准设备请求”
XXX 包是个数据包,除了PID域,有8个字节数据,是 一次控制传输的最重点数据
这8个字节 是 控制传输的SETUP过程(DATA0 数据包(XXX)) 通过 默认控制端点0发出的.
8个字节由5个字段构成(字段是标准请求命令的数据部分)
结构如下(括号中的数字表示字节数,首字母bm,b,w分别表示位图、字节,双字节):
bmRequestType(1)+bRequest(1)+wvalue(2)+wIndex(2)+wLength(2)


USB 2.0 USB mouse 插入打印

  • ok6410
# usb 1-1: new full-speed USB device number 4 using s3c2410-ohci
input: GTech MI wireless mouse Mouse as /devices/platform/s3c2410-ohci/usb1/1-1/1-1:1.0/0003:2717:5001.0003/input/input10
input: GTech MI wireless mouse as /devices/platform/s3c2410-ohci/usb1/1-1/1-1:1.0/0003:2717:5001.0003/input/input11
input: GTech MI wireless mouse Consumer Control as /devices/platform/s3c2410-ohci/usb1/1-1/1-1:1.0/0003:2717:5001.0003/input/input12
input: GTech MI wireless mouse System Control as /devices/platform/s3c2410-ohci/usb1/1-1/1-1:1.0/0003:2717:5001.0003/input/input13
hid-generic 0003:2717:5001.0003: input: USB HID v1.10 Mouse [GTech MI wireless mouse] on usb-s3c24xx-1/input0#
# usb 1-1: USB disconnect, device number 4
动态打印支持的模块
usbhid
ohci_s3c2410
ohci_hcd
usbcore

# s3c2410-ohci s3c2410-ohci: rhsc
usb usb1: usb wakeup-resume
usb usb1: usb auto-resume
s3c2410-ohci s3c2410-ohci: wakeup root hub
hub 1-0:1.0: hub_resume
s3c2410-ohci s3c2410-ohci: s3c2410_hub_control(3628197c,0xa300,0x0000,0x0001,16b5695b,0004)
s3c2410-ohci s3c2410-ohci: GetStatus roothub.portstatus [0] = 0x00010101 CSC PPS CCS
usb usb1-port1: status 0101 change 0001
s3c2410-ohci s3c2410-ohci: s3c2410_hub_control(3628197c,0x2301,0x0010,0x0001,16b5695b,0000)
s3c2410-ohci s3c2410-ohci: rhsc
s3c2410-ohci s3c2410-ohci: s3c2410_hub_control(3628197c,0xa300,0x0000,0x0002,16b5695b,0004)
hub 1-0:1.0: state 7 ports 2 chg 0002 evt 0000
s3c2410-ohci s3c2410-ohci: s3c2410_hub_control(3628197c,0xa300,0x0000,0x0001,16b5695b,0004)
usb usb1-port1: status 0101, change 0000, 12 Mb/s
s3c2410-ohci s3c2410-ohci: s3c2410_hub_control(3628197c,0x2303,0x0004,0x0001,00f4222b,0000)
s3c2410-ohci s3c2410-ohci: rhsc
s3c2410-ohci s3c2410-ohci: rhsc
s3c2410-ohci s3c2410-ohci: s3c2410_hub_control(3628197c,0xa300,0x0000,0x0001,00f4222b,0004)
s3c2410-ohci s3c2410-ohci: GetStatus roothub.portstatus [0] = 0x00100103 PRSC PPS PES CCS
s3c2410-ohci s3c2410-ohci: s3c2410_hub_control(3628197c,0x2301,0x0014,0x0001,00f4222b,0000)
usb 1-1: new full-speed USB device number 4 using s3c2410-ohci
s3c2410-ohci s3c2410-ohci: s3c2410_hub_control(3628197c,0x2303,0x0004,0x0001,00f4222b,0000)
s3c2410-ohci s3c2410-ohci: rhsc
s3c2410-ohci s3c2410-ohci: s3c2410_hub_control(3628197c,0xa300,0x0000,0x0001,00f4222b,0004)
s3c2410-ohci s3c2410-ohci: GetStatus roothub.portstatus [0] = 0x00100103 PRSC PPS PES CCS
s3c2410-ohci s3c2410-ohci: s3c2410_hub_control(3628197c,0x2301,0x0014,0x0001,00f4222b,0000)
usb 1-1: skipped 1 descriptor after interface
usb 1-1: default language 0x0409
usb 1-1: udev 4, busnum 1, minor = 3
usb 1-1: usb_probe_device
usb 1-1: configuration #1 chosen from 1 choice
usb 1-1: adding 1-1:1.0 (config #1, interface 0)
usbhid 1-1:1.0: usb_probe_interface
usbhid 1-1:1.0: usb_probe_interface - got id
input: GTech MI wireless mouse Mouse as /devices/platform/s3c2410-ohci/usb1/1-1/1-1:1.0/0003:2717:5001.0003/input/input10
input: GTech MI wireless mouse as /devices/platform/s3c2410-ohci/usb1/1-1/1-1:1.0/0003:2717:5001.0003/input/input11
input: GTech MI wireless mouse Consumer Control as /devices/platform/s3c2410-ohci/usb1/1-1/1-1:1.0/0003:2717:5001.0003/input/input12
s3c2410-ohci s3c2410-ohci: link ed fd0534d8 branch 0 [16us.], interval 2
input: GTech MI wireless mouse System Control as /devices/platform/s3c2410-ohci/usb1/1-1/1-1:1.0/0003:2717:5001.0003/input/input13
hid-generic 0003:2717:5001.0003: input: USB HID v1.10 Mouse [GTech MI wireless mouse] on usb-s3c24xx-1/input0
hub 1-0:1.0: state 7 ports 2 chg 0000 evt 0002
s3c2410-ohci s3c2410-ohci: s3c2410_hub_control(3628197c,0xa300,0x0000,0x0001,43ef6e6f,0004)拔出
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
#
#
# s3c2410-ohci s3c2410-ohci: rhsc
hub 1-0:1.0: state 7 ports 2 chg 0000 evt 0002
s3c2410-ohci s3c2410-ohci: urb 18a25830 path 1 ep1in 5c160000 cc 5 --> status -62
s3c2410-ohci s3c2410-ohci: urb 18a25830 td e317df41 (1) cc 5, len=0/8
s3c2410-ohci s3c2410-ohci: unlink ed fd0534d8 branch 0 [16us.], interval 2
s3c2410-ohci s3c2410-ohci: s3c2410_hub_control(3628197c,0xa300,0x0000,0x0001,59b0b091,0004)
usbhid 1-1:1.0: retrying intr urb
s3c2410-ohci s3c2410-ohci: link ed fd0534d8 branch 0 [16us.], interval 2
s3c2410-ohci s3c2410-ohci: urb 18a25830 path 1 ep1in 5c160000 cc 5 --> status -62
s3c2410-ohci s3c2410-ohci: urb 18a25830 td 9170fc27 (1) cc 5, len=0/8
s3c2410-ohci s3c2410-ohci: unlink ed fd0534d8 branch 0 [16us.], interval 2
s3c2410-ohci s3c2410-ohci: GetStatus roothub.portstatus [0] = 0x00030100 PESC CSC PPS
usbhid 1-1:1.0: retrying intr urb
s3c2410-ohci s3c2410-ohci: link ed fd0534d8 branch 0 [16us.], interval 2
s3c2410-ohci s3c2410-ohci: urb 18a25830 path 1 ep1in 5c160000 cc 5 --> status -62
s3c2410-ohci s3c2410-ohci: urb 18a25830 td e317df41 (1) cc 5, len=0/8
s3c2410-ohci s3c2410-ohci: unlink ed fd0534d8 branch 0 [16us.], interval 2
s3c2410-ohci s3c2410-ohci: s3c2410_hub_control(3628197c,0x2301,0x0010,0x0001,59b0b091,0000)
s3c2410-ohci s3c2410-ohci: s3c2410_hub_control(3628197c,0x2301,0x0011,0x0001,59b0b091,0000)
usb usb1-port1: status 0100, change 0003, 12 Mb/s
usb 1-1: USB disconnect, device number 4
usb 1-1: unregistering device
usb 1-1: unregistering interface 1-1:1.0
usb 1-1: usb_disable_device nuking all URBs
s3c2410-ohci s3c2410-ohci: s3c2410_hub_control(3628197c,0xa300,0x0000,0x0001,7a4db320,0004)
s3c2410-ohci s3c2410-ohci: s3c2410_hub_control(3628197c,0xa300,0x0000,0x0001,7a4db320,0004)
s3c2410-ohci s3c2410-ohci: s3c2410_hub_control(3628197c,0xa300,0x0000,0x0001,7a4db320,0004)
s3c2410-ohci s3c2410-ohci: s3c2410_hub_control(3628197c,0xa300,0x0000,0x0001,7a4db320,0004)
s3c2410-ohci s3c2410-ohci: s3c2410_hub_control(3628197c,0xa300,0x0000,0x0001,7a4db320,0004)
usb usb1-port1: debounce total 100ms stable 100ms status 0x100
hub 1-0:1.0: hub_suspend
usb usb1: bus auto-suspend, wakeup 1
s3c2410-ohci s3c2410-ohci: suspend root hub
  • x86主机

[19204.025543] xhci_hcd 0000:00:14.0: Port change event, 3-8, id 8, portsc: 0x206e1
[19204.025563] xhci_hcd 0000:00:14.0: handle_port_status: starting usb3 port polling.
[19204.025852] hub 3-0:1.0: state 7 ports 10 chg 0000 evt 0100
[19204.025876] xhci_hcd 0000:00:14.0: Get port status 3-8 read: 0x206e1, return 0x10101
[19204.026006] xhci_hcd 0000:00:14.0: clear port8 connect change, portsc: 0x6e1
[19204.026028] usb usb3-port8: status 0101, change 0001, 12 Mb/s
[19204.026040] xhci_hcd 0000:00:14.0: Get port status 3-8 read: 0x6e1, return 0x101
[19204.060035] xhci_hcd 0000:00:14.0: Get port status 3-8 read: 0x6e1, return 0x101
[19204.096065] xhci_hcd 0000:00:14.0: Get port status 3-8 read: 0x6e1, return 0x101
[19204.104031] xhci_hcd 0000:00:14.0: xhci_hub_status_data: stopping usb3 port polling
[19204.132066] xhci_hcd 0000:00:14.0: Get port status 3-8 read: 0x6e1, return 0x101
[19204.172082] xhci_hcd 0000:00:14.0: Get port status 3-8 read: 0x6e1, return 0x101
[19204.172117] usb usb3-port8: debounce total 100ms stable 100ms status 0x101
[19204.172133] xhci_hcd 0000:00:14.0: // Ding dong!
[19204.172165] xhci_hcd 0000:00:14.0: Slot 8 output ctx = 0x1faa6000 (dma)
[19204.172174] xhci_hcd 0000:00:14.0: Slot 8 input ctx = 0x1f71a000 (dma)
[19204.172185] xhci_hcd 0000:00:14.0: Set slot id 8 dcbaa entry 00000000149c4714 to 0x1faa6000
[19204.172241] xhci_hcd 0000:00:14.0: set port reset, actual port 3-8 status  = 0x791
[19204.227281] xhci_hcd 0000:00:14.0: Port change event, 3-8, id 8, portsc: 0x200603
[19204.227303] xhci_hcd 0000:00:14.0: handle_port_status: starting usb3 port polling.
[19204.244115] xhci_hcd 0000:00:14.0: Get port status 3-8 read: 0x200603, return 0x100103
[19204.244156] xhci_hcd 0000:00:14.0: clear port8 reset change, portsc: 0x603
[19204.304131] usb 3-8: new full-speed USB device number 9 using xhci_hcd
[19204.304150] xhci_hcd 0000:00:14.0: Set root hub portnum to 8
[19204.304157] xhci_hcd 0000:00:14.0: Set fake root hub portnum to 8
[19204.304163] xhci_hcd 0000:00:14.0: udev->tt = 000000004e0d80b6
[19204.304170] xhci_hcd 0000:00:14.0: udev->ttport = 0x8
[19204.304178] xhci_hcd 0000:00:14.0: // Ding dong!
[19204.304201] xhci_hcd 0000:00:14.0: Successful setup context command
[19204.304210] xhci_hcd 0000:00:14.0: Op regs DCBAA ptr = 0x0000010e4a8000
[19204.304217] xhci_hcd 0000:00:14.0: Slot ID 8 dcbaa entry @00000000149c4714 = 0x0000001faa6000
[19204.304225] xhci_hcd 0000:00:14.0: Output Context DMA address = 0x1faa6000
[19204.304231] xhci_hcd 0000:00:14.0: Internal device address = 0
[19204.304518] xhci_hcd 0000:00:14.0: Waiting for status stage event
[19204.304559] xhci_hcd 0000:00:14.0: set port reset, actual port 3-8 status  = 0x791
[19204.352131] xhci_hcd 0000:00:14.0: xhci_hub_status_data: stopping usb3 port polling
[19204.359592] xhci_hcd 0000:00:14.0: Port change event, 3-8, id 8, portsc: 0x200603
[19204.359610] xhci_hcd 0000:00:14.0: handle_port_status: starting usb3 port polling.
[19204.372170] xhci_hcd 0000:00:14.0: Get port status 3-8 read: 0x200603, return 0x100103
[19204.372211] xhci_hcd 0000:00:14.0: clear port8 reset change, portsc: 0x603
[19204.432182] xhci_hcd 0000:00:14.0: Resetting device with slot ID 8
[19204.432200] xhci_hcd 0000:00:14.0: // Ding dong!
[19204.432213] xhci_hcd 0000:00:14.0: Completed reset device command.
[19204.432224] xhci_hcd 0000:00:14.0: Can't reset device (slot ID 8) in default state
[19204.432231] xhci_hcd 0000:00:14.0: Not freeing device rings.
[19204.432239] xhci_hcd 0000:00:14.0: // Ding dong!
[19204.432395] xhci_hcd 0000:00:14.0: Successful setup address command
[19204.432411] xhci_hcd 0000:00:14.0: Op regs DCBAA ptr = 0x0000010e4a8000
[19204.432419] xhci_hcd 0000:00:14.0: Slot ID 8 dcbaa entry @00000000149c4714 = 0x0000001faa6000
[19204.432429] xhci_hcd 0000:00:14.0: Output Context DMA address = 0x1faa6000
[19204.432435] xhci_hcd 0000:00:14.0: Internal device address = 8
[19204.453286] usb 3-8: skipped 1 descriptor after interface
[19204.453512] xhci_hcd 0000:00:14.0: Waiting for status stage event
[19204.453547] usb 3-8: default language 0x0409
[19204.454003] xhci_hcd 0000:00:14.0: Waiting for status stage event
[19204.454293] xhci_hcd 0000:00:14.0: Waiting for status stage event
[19204.454330] usb 3-8: udev 9, busnum 3, minor = 264
[19204.454340] usb 3-8: New USB device found, idVendor=2717, idProduct=5001, bcdDevice= 1.00
[19204.454348] usb 3-8: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[19204.454355] usb 3-8: Product: MI wireless mouse
[19204.454360] usb 3-8: Manufacturer: GTech
[19204.454654] usb 3-8: usb_probe_device
[19204.454667] usb 3-8: configuration #1 chosen from 1 choice
[19204.454685] xhci_hcd 0000:00:14.0: add ep 0x81, slot id 8, new drop flags = 0x0, new add flags = 0x8
[19204.454694] xhci_hcd 0000:00:14.0: xhci_check_bandwidth called for udev 000000003f484a32
[19204.454705] xhci_hcd 0000:00:14.0: // Ding dong!
[19204.454904] xhci_hcd 0000:00:14.0: Successful Endpoint Configure command
[19204.454943] xhci_hcd 0000:00:14.0: // Ding dong!
[19204.454957] xhci_hcd 0000:00:14.0: Stopped on No-op or Link TRB for slot 8 ep 2
[19204.454971] xhci_hcd 0000:00:14.0: // Ding dong!
[19204.455400] usb 3-8: adding 3-8:1.0 (config #1, interface 0)
[19204.455485] usbhid 3-8:1.0: usb_probe_interface
[19204.455492] usbhid 3-8:1.0: usb_probe_interface - got id
[19204.459790] input: GTech MI wireless mouse Mouse as /devices/pci0000:00/0000:00:14.0/usb3/3-8/3-8:1.0/0003:2717:5001.0007/input/input41
[19204.516381] input: GTech MI wireless mouse as /devices/pci0000:00/0000:00:14.0/usb3/3-8/3-8:1.0/0003:2717:5001.0007/input/input42
[19204.517098] input: GTech MI wireless mouse Consumer Control as /devices/pci0000:00/0000:00:14.0/usb3/3-8/3-8:1.0/0003:2717:5001.0007/input/input43
[19204.517845] input: GTech MI wireless mouse System Control as /devices/pci0000:00/0000:00:14.0/usb3/3-8/3-8:1.0/0003:2717:5001.0007/input/input44
[19204.518469] usbhid 3-8:1.0: looking for a minor, starting at 0
[19204.518783] hid-generic 0003:2717:5001.0007: starting pid init
[19204.518794] hid-generic 0003:2717:5001.0007: not a PID device, no output report
[19204.518834] hid-generic 0003:2717:5001.0007: input,hiddev0,hidraw0: USB HID v1.10 Mouse [GTech MI wireless mouse] on usb-0000:00:14.0-8/input0
[19204.596205] xhci_hcd 0000:00:14.0: xhci_hub_status_data: stopping usb3 port polling------------------------[19222.137815] xhci_hcd 0000:00:14.0: Port change event, 3-8, id 8, portsc: 0x202a0
[19222.137837] xhci_hcd 0000:00:14.0: handle_port_status: starting usb3 port polling.
[19222.138148] hub 3-0:1.0: state 7 ports 10 chg 0000 evt 0100
[19222.138172] xhci_hcd 0000:00:14.0: Get port status 3-8 read: 0x202a0, return 0x10100
[19222.138306] xhci_hcd 0000:00:14.0: clear port8 connect change, portsc: 0x2a0
[19222.138328] usb usb3-port8: status 0100, change 0001, 12 Mb/s
[19222.138338] usb 3-8: USB disconnect, device number 9
[19222.138345] usb 3-8: unregistering device
[19222.138350] usb 3-8: unregistering interface 3-8:1.0
[19222.138530] xhci_hcd 0000:00:14.0: Cancel URB 000000006b4cfb67, dev 8, ep 0x81, starting at offset 0x4a2c000
[19222.138547] xhci_hcd 0000:00:14.0: // Ding dong!
[19222.138554] xhci_hcd 0000:00:14.0: shutdown urb ffff8a1d8eedd6c0 ep1in-intr
[19222.138569] xhci_hcd 0000:00:14.0: Stopped on Transfer TRB for slot 8 ep 2
[19222.138578] xhci_hcd 0000:00:14.0: Removing canceled TD starting at 0x4a2c000 (dma) in stream 0 URB 000000006b4cfb67
[19222.138589] xhci_hcd 0000:00:14.0: Set TR Deq ptr 0x4a2c010, cycle 1[19222.138596] xhci_hcd 0000:00:14.0: // Ding dong!
[19222.138602] xhci_hcd 0000:00:14.0: xhci_giveback_invalidated_tds: Keep cancelled URB 000000006b4cfb67 TD as cancel_status is 2
[19222.138612] xhci_hcd 0000:00:14.0: Successful Set TR Deq Ptr cmd, deq = @04a2c010
[19222.138619] xhci_hcd 0000:00:14.0: xhci_handle_cmd_set_deq: Giveback cancelled URB 000000006b4cfb67 TD
[19222.138626] xhci_hcd 0000:00:14.0: Giveback URB 000000006b4cfb67, len = 0, expected = 8, status = -115
[19222.211316] xhci_hcd 0000:00:14.0: xhci_hub_status_data: stopping usb3 port polling
[19222.231393] usbhid 3-8:1.0: removing 0 minor
[19222.233828] usb 3-8: usb_disable_device nuking all URBs
[19222.233834] xhci_hcd 0000:00:14.0: xhci_drop_endpoint called for udev 000000003f484a32
[19222.233844] xhci_hcd 0000:00:14.0: drop ep 0x81, slot id 8, new drop flags = 0x8, new add flags = 0x0
[19222.233847] xhci_hcd 0000:00:14.0: xhci_check_bandwidth called for udev 000000003f484a32
[19222.233850] xhci_hcd 0000:00:14.0: // Ding dong!
[19222.234540] xhci_hcd 0000:00:14.0: Successful Endpoint Configure command
[19222.234649] xhci_hcd 0000:00:14.0: // Ding dong!
[19222.234673] xhci_hcd 0000:00:14.0: Get port status 3-8 read: 0x2a0, return 0x100
[19222.267359] xhci_hcd 0000:00:14.0: Get port status 3-8 read: 0x2a0, return 0x100
[19222.303371] xhci_hcd 0000:00:14.0: Get port status 3-8 read: 0x2a0, return 0x100
[19222.339403] xhci_hcd 0000:00:14.0: Get port status 3-8 read: 0x2a0, return 0x100
[19222.375416] xhci_hcd 0000:00:14.0: Get port status 3-8 read: 0x2a0, return 0x100
[19222.375429] usb usb3-port8: debounce total 100ms stable 100ms status 0x100

USB 协议 (五) 枚举相关推荐

  1. 5、USB协议学习:USB的枚举过程

    文章目录 枚举顺序 枚举过程 标准请求 bmRequestType bReqest 请求类型 GetDescriptor 设备描述符 设备描述符定义 获取设备描述符 返回设备描述符 配置描述符 配置描 ...

  2. 第9课【USB协议】USB总线 接口 端点 管道 数据包 枚举 STM32_USB-FS-Device_Lib V4.1.0

    目录 简介 背景 特点 版本 数据流模型 总线拓扑结构 主/从设备通信流 端点 管道 物理层 接口类型 USB Type-A USB Type-B USB Type-C 引脚定义 4PIN 9PIN ...

  3. USB协议基础知识点整理

    USB 基本知识  USB的重要关键概念:  1. 端点:位于USB设备或主机上的一个数据缓冲区,用来存放和发送USB的各种数据,每一个端点都有惟一的确定地址,有不同的传输特性(如输入端点.输出端点. ...

  4. USB协议[转]__总结得很好

    一 枚举过程: ◆ 用户将一个USB设备插入USB端口,主机为端口供电,设备此时处于上电状态. ◆主机检测设备. ◆集线器使用中断通道将事件报告给主机. ◆主机发送Get_Port_Status(读端 ...

  5. USB NCM usbnet 枚举流程代码分析

    USB NCM usbnet 枚举流程代码分析 一.cdc_ncm.c 1.1 [id_table]struct usb_device_id结构体 1.1.1 match_flags 设备类型 1.1 ...

  6. USB协议学习笔记 - CUSTOM HID 设备

    简介 这里使用STM32平台进行USB 协议的学习与USB 设备的调试开发 USB HID设备,协议较固定,无法实现数据的自由接收与发送 USB CUSTOM HID设备(自定义HID协议)可以实现简 ...

  7. [RCTF2019]printer详解(python脚本、USB协议精解、TSLP2文档阅读)

    一个非常好的网站,可以学习USB协议: USB中文网 拿到文件发现是USB数据,第一反应用脚本提取: aaaaaaaaccccaahdgeeefefdgeegegeegcccbaabfefghifee ...

  8. USB协议详解第3讲(USB描述符-设备描述符)

    我们第一个学习要点就是USB描述符,所谓描述符其实就是C语言里面的结构体或者数组,数组包含的信息说明当前的设备具有哪些特征.USB描述符有设备描述符.配置描述符.接口描述符.端点描述符.字符串描述符, ...

  9. USB 协议整理 四:USB概述及协议基础(三)

    九.USB 设备的枚举过程 十.USB 的包结构及传输过程 特别说明:在本章数据传输过程中不考虑 NRZI 编码. https://hellocode.blog.csdn.net/article/de ...

最新文章

  1. 别做喷子,多去钻研!
  2. 【Android 应用开发】 FastJson 使用详解
  3. L4,C16:差1墩,从张数最多的套上去找
  4. SpringMVC学习10之AJAX初体验和了解
  5. 【Linux】Linux中at命令详解
  6. 逆水寒服务器维护7.5,逆水寒7.26日维护到什么时候 逆水寒7.26日游戏改动汇总介绍...
  7. c语言字符串二维数组的动态分配应,C语言中动态分配二维数组复习过程.doc
  8. MugLife app是一款可以将静态照片变成3D动画的手机应用
  9. Spring-扫描/jar/读取Classpath下的文件资源
  10. 在iPhone任何界面截图完整图文教程
  11. python下载腾讯视频_使用python 下载 mp4格式的腾讯视频
  12. android auto凯迪拉克,凯迪拉克支持Apple CarPlay及Android Auto
  13. 两条边延长角会有什么变化_四年级上册数学计划
  14. [noip2014]解方程 hash+秦九昭
  15. java零钱换整程序_Leetcode 322. 零钱兑换
  16. 为什么看不到局域网其他计算机名,windows10系统局域网看不到计算机名怎么办
  17. mysql根据班级排序语文成绩_mysql 成绩排序
  18. 微信小程序存在的风险_微信小程序开发技术风险存在,如何规避是重点
  19. clickhouse建表异常 DB::Exception: No macro ‘shard‘ in config
  20. meadow显示服务器断开,Meadow(草甸)中文全成就指南

热门文章

  1. 最容易被盗的密码,您有用过吗?
  2. TI DM36X 名词
  3. ThingsBoard RPC control
  4. zeppelin报错jdk版本低
  5. python pandas 组内排序、单组排序、标号
  6. 第3章 随机点名器案例
  7. 微信小程序开发笔记——wsdchong
  8. CAN控制器和CAN收发器初始化
  9. 思科交换机配置ipv6实验
  10. 巴菲特经典演讲《价值投资为什么能够持续战胜市场》