USB Mouse and Keyboard forwarder
USB2 PLL running
reset waited 6
USBHS_ASYNCLISTADDR = 0
USBHS_PERIODICLISTBASE = 20005000
periodictable = 20005000
port change: 10001803
connect
begin reset
port change: 18001205
port enabled
end recovery
new_Device: 480 Mbit/sec
new_Pipe
After endpoint > 0
After capabilities
first in async list
return new_Pipe: 20005080
enumeration:
enumeration:
enumeration:
Device Descriptor:
12 01 00 02 09 00 01 40 E3 05 08 06 36 85 00 01 00 01
VendorID = 05E3, ProductID = 0608, Version = 8536
Class/Subclass/Protocol = 9(Hub) / 0 / 1(Single-TT)
Number of Configurations = 1
enumeration:
enumeration:
Product: USB2.0 Hub
enumeration:
Config data length = 25
enumeration:
Configuration Descriptor:
09 02 19 00 01 01 00 E0 32
NumInterfaces = 1
ConfigurationValue = 1
09 04 00 00 01 09 00 00 00
Interface = 0
Number of endpoints = 1
Class/Subclass/Protocol = 9(Hub) / 0 / 0
07 05 81 03 01 00 0C
Endpoint = 1 IN
Type = Interrupt
Max Size = 1
Polling Interval = 12
enumeration:
USBHub memory usage = 960
USBHub claim_device this=20006CE0
found possible interface, altsetting=0
number of interfaces found = 1
USBHub control callback
09 29 04 E0 00 32 64 00 FF 00 00 00 00 00 00 00
Hub ports = 4
USBHub control callback
USBHub control callback
USBHub control callback
USBHub control callback
power turned on to all ports
device addr = 1
new_Pipe
allocate_interrupt_pipe_bandwidth
ep interval = 12
interval = 256
best_bandwidth = 2, at offset = 0
After endpoint > 0
After capabilities
before add_qh_to_periodic_schedule
add_qh_to_periodic_schedule: 20006AC0
interval = 32
offset = 0
old slot 0: (empty)
add to slot 0
new slot 0: 20006AC0
Periodic Schedule:
0: 20006AC0
1: (empty)
2: (empty)
3: (empty)
4: (empty)
5: (empty)
6: (empty)
7: (empty)
8: (empty)
9: (empty)
10: (empty)
11: (empty)
12: (empty)
13: (empty)
14: (empty)
15: (empty)
16: (empty)
17: (empty)
18: (empty)
19: (empty)
20: (empty)
21: (empty)
22: (empty)
23: (empty)
24: (empty)
25: (empty)
26: (empty)
27: (empty)
28: (empty)
29: (empty)
30: (empty)
31: (empty)
return new_Pipe: 20006AC0
pipe cap1 = F0012101
HUB Callback (member)
status = 10
getstatus, port = 4
USBHub control callback
01 01 01 00
New Port Status
status=10101 port=4
state=0
Device is present:
Has Power
USBHub control callback
Port Status Cleared, port=4
timer event (19999 us): Debounce Timer, this = 20006CE0, timer = 20006FF8
ports in use bitmask = 10
getstatus, port = 4
USBHub control callback
01 01 00 00
New Port Status
status=101 port=4
state=2
Device is present:
Has Power
timer event (20000 us): Debounce Timer, this = 20006CE0, timer = 20006FF8
ports in use bitmask = 10
getstatus, port = 4
USBHub control callback
01 01 00 00
New Port Status
status=101 port=4
state=3
Device is present:
Has Power
timer event (20000 us): Debounce Timer, this = 20006CE0, timer = 20006FF8
ports in use bitmask = 10
getstatus, port = 4
USBHub control callback
01 01 00 00
New Port Status
status=101 port=4
state=4
Device is present:
Has Power
timer event (20000 us): Debounce Timer, this = 20006CE0, timer = 20006FF8
ports in use bitmask = 10
getstatus, port = 4
USBHub control callback
01 01 00 00
New Port Status
status=101 port=4
state=5
Device is present:
Has Power
timer event (20000 us): Debounce Timer, this = 20006CE0, timer = 20006FF8
ports in use bitmask = 10
getstatus, port = 4
USBHub control callback
01 01 00 00
New Port Status
status=101 port=4
state=6
Device is present:
Has Power
sending reset
send_setreset
USBHub control callback
unhandled setup, message = 40323
timer event (20000 us): Debounce Timer, this = 20006CE0, timer = 20006FF8
ports in use bitmask = 0
HUB Callback (member)
status = 10
getstatus, port = 4
USBHub control callback
03 01 10 00
New Port Status
status=100103 port=4
state=7
Device is present:
Enabled, speed = 12 Mbit/sec
Has Power
USBHub control callback
unhandled setup, message = 140123
timer event (25000 us): Hello, I'm resettimer, this = 20006CE0, timer = 20007018
port_doing_reset = 4
PORT_RECOVERY
new_Device: 12 Mbit/sec
new_Pipe
After endpoint > 0
After capabilities
added to async list
return new_Pipe: 20006A60
enumeration:
enumeration:
enumeration:
Device Descriptor:
12 01 00 02 00 00 00 40 6D 04 47 C5 02 04 01 02 00 01
VendorID = 046D, ProductID = C547, Version = 0402
Class/Subclass/Protocol = 0 / 0 / 0
Number of Configurations = 1
enumeration:
enumeration:
Manufacturer: Logitech
enumeration:
Product: USB Receiver
enumeration:
Config data length = 84
enumeration:
Configuration Descriptor:
09 02 54 00 03 01 04 A0 31
NumInterfaces = 3
ConfigurationValue = 1
09 04 00 00 01 03 01 02 00
Interface = 0
Number of endpoints = 1
Class/Subclass/Protocol = 3(HID) / 1(Boot) / 2(Mouse)
09 21 11 01 00 01 22 53 00
HID, 1 report descriptor
07 05 81 03 40 00 01
Endpoint = 1 IN
Type = Interrupt
Max Size = 64
Polling Interval = 1
09 04 01 00 01 03 01 01 00
Interface = 1
Number of endpoints = 1
Class/Subclass/Protocol = 3(HID) / 1(Boot) / 1(Keyboard)
09 21 11 01 00 01 22 85 00
HID, 1 report descriptor
07 05 82 03 40 00 01
Endpoint = 2 IN
Type = Interrupt
Max Size = 64
Polling Interval = 1
09 04 02 00 01 03 00 00 00
Interface = 2
Number of endpoints = 1
Class/Subclass/Protocol = 3(HID) / 0 / 0
09 21 11 01 00 01 22 36 00
HID, 1 report descriptor
07 05 83 03 40 00 01
Endpoint = 3 IN
Type = Interrupt
Max Size = 64
Polling Interval = 1
enumeration:
USBHub memory usage = 960
USBHub claim_device this=200070A0
KeyboardController claim this=20007460
KeyboardController claim this=20007700
HIDParser claim this=200051E0
HIDParser claim this=200058A0
HIDParser claim this=20005F60
HIDParser claim this=20006620
Descriptor 4 = INTERFACE
KeyboardController claim this=20007460
09 04 00 00 01 03 01 02 00 09 21 11 01 00 01 22 53 00 07 05 81 03 40 00 01 09 04 01 00 01 03 01 01 00 09 21 11 01 00 01 22 85 00 07 05 82 03 40 00 01 09 04 02 00 01 03 00 00 00 09 21 11 01 00 01 22 36 00 07 05 83 03 40 00 01
KeyboardController claim this=20007700
09 04 00 00 01 03 01 02 00 09 21 11 01 00 01 22 53 00 07 05 81 03 40 00 01 09 04 01 00 01 03 01 01 00 09 21 11 01 00 01 22 85 00 07 05 82 03 40 00 01 09 04 02 00 01 03 00 00 00 09 21 11 01 00 01 22 36 00 07 05 83 03 40 00 01
HIDParser claim this=200051E0
bInterfaceNumber = 0
bInterfaceClass = 3
bInterfaceSubClass = 1
bInterfaceProtocol = 2
HID Parser Claim: 09 04 00 00 01 03 01 02 00 09 21 11 01 00 01 22 53 00 07 05 81 03 40 00 01 09 04 01 00 01 03 01 01 00 09 21 11 01 00 01 22 85 00 07 05 82 03 40 00 01 09 04 02 00 01 03 00 00 00 09 21 11 01 00 01 22 36 00 07 05 83 03 40 00 01
report descriptor size = 83
Single endpoint HID:
endpoint = 81
size = 64
interval = 1
new_Pipe
allocate_interrupt_pipe_bandwidth
best_bandwidth = 5, at offset = 0, shift= 0
return from: allocate_interrupt_pipe_bandwidth
After endpoint > 0
After capabilities
before add_qh_to_periodic_schedule
add_qh_to_periodic_schedule: 20006A00
interval = 1
offset = 0
old slot 0: 20006AC0
traverse list 0
num 20006AC2 node 20006AC0->1
adding at node 20006AC0, num=20006AC2, node->qh.horizontal_link=1
new slot 0: 20006AC0 -> 20006A00
old slot 1: (empty)
add to slot 1
new slot 1: 20006A00
old slot 2: (empty)
add to slot 2
new slot 2: 20006A00
old slot 3: (empty)
add to slot 3
new slot 3: 20006A00
old slot 4: (empty)
add to slot 4
new slot 4: 20006A00
old slot 5: (empty)
add to slot 5
new slot 5: 20006A00
old slot 6: (empty)
add to slot 6
new slot 6: 20006A00
old slot 7: (empty)
add to slot 7
new slot 7: 20006A00
old slot 8: (empty)
add to slot 8
new slot 8: 20006A00
old slot 9: (empty)
add to slot 9
new slot 9: 20006A00
old slot 10: (empty)
add to slot 10
new slot 10: 20006A00
old slot 11: (empty)
add to slot 11
new slot 11: 20006A00
old slot 12: (empty)
add to slot 12
new slot 12: 20006A00
old slot 13: (empty)
add to slot 13
new slot 13: 20006A00
old slot 14: (empty)
add to slot 14
new slot 14: 20006A00
old slot 15: (empty)
add to slot 15
new slot 15: 20006A00
old slot 16: (empty)
add to slot 16
new slot 16: 20006A00
old slot 17: (empty)
add to slot 17
new slot 17: 20006A00
old slot 18: (empty)
add to slot 18
new slot 18: 20006A00
old slot 19: (empty)
add to slot 19
new slot 19: 20006A00
old slot 20: (empty)
add to slot 20
new slot 20: 20006A00
old slot 21: (empty)
add to slot 21
new slot 21: 20006A00
old slot 22: (empty)
add to slot 22
new slot 22: 20006A00
old slot 23: (empty)
add to slot 23
new slot 23: 20006A00
old slot 24: (empty)
add to slot 24
new slot 24: 20006A00
old slot 25: (empty)
add to slot 25
new slot 25: 20006A00
old slot 26: (empty)
add to slot 26
new slot 26: 20006A00
old slot 27: (empty)
add to slot 27
new slot 27: 20006A00
old slot 28: (empty)
add to slot 28
new slot 28: 20006A00
old slot 29: (empty)
add to slot 29
new slot 29: 20006A00
old slot 30: (empty)
add to slot 30
new slot 30: 20006A00
old slot 31: (empty)
add to slot 31
new slot 31: 20006A00
Periodic Schedule:
0: 20006AC0 -> 20006A00
1: 20006A00
2: 20006A00
3: 20006A00
4: 20006A00
5: 20006A00
6: 20006A00
7: 20006A00
8: 20006A00
9: 20006A00
10: 20006A00
11: 20006A00
12: 20006A00
13: 20006A00
14: 20006A00
15: 20006A00
16: 20006A00
17: 20006A00
18: 20006A00
19: 20006A00
20: 20006A00
21: 20006A00
22: 20006A00
23: 20006A00
24: 20006A00
25: 20006A00
26: 20006A00
27: 20006A00
28: 20006A00
29: 20006A00
30: 20006A00
31: 20006A00
return new_Pipe: 20006A00
Descriptor 33 = HID
Descriptor 5 = ENDPOINT
Descriptor 4 = INTERFACE
KeyboardController claim this=20007460
09 04 01 00 01 03 01 01 00 09 21 11 01 00 01 22 85 00 07 05 82 03 40 00 01 09 04 02 00 01 03 00 00 00 09 21 11 01 00 01 22 36 00 07 05 83 03 40 00 01
ep = 82
packet size = 64
polling interval = 1
new_Pipe
allocate_interrupt_pipe_bandwidth
best_bandwidth = 7, at offset = 0, shift= 3
return from: allocate_interrupt_pipe_bandwidth
After endpoint > 0
After capabilities
before add_qh_to_periodic_schedule
add_qh_to_periodic_schedule: 20006400
interval = 1
offset = 0
old slot 0: 20006AC0 -> 20006A00
traverse list 0
num 20006AC2 node 20006AC0->20006A02
num 20006A02 node 20006A00->1
adding at node 20006A00, num=20006A02, node->qh.horizontal_link=1
new slot 0: 20006AC0 -> 20006A00 -> 20006400
old slot 1: 20006A00 -> 20006400
traverse list 1
num 20006A02 node 20006A00->20006402
new slot 1: 20006A00 -> 20006400
old slot 2: 20006A00 -> 20006400
traverse list 2
num 20006A02 node 20006A00->20006402
new slot 2: 20006A00 -> 20006400
old slot 3: 20006A00 -> 20006400
traverse list 3
num 20006A02 node 20006A00->20006402
new slot 3: 20006A00 -> 20006400
old slot 4: 20006A00 -> 20006400
traverse list 4
num 20006A02 node 20006A00->20006402
new slot 4: 20006A00 -> 20006400
old slot 5: 20006A00 -> 20006400
traverse list 5
num 20006A02 node 20006A00->20006402
new slot 5: 20006A00 -> 20006400
old slot 6: 20006A00 -> 20006400
traverse list 6
num 20006A02 node 20006A00->20006402
new slot 6: 20006A00 -> 20006400
old slot 7: 20006A00 -> 20006400
traverse list 7
num 20006A02 node 20006A00->20006402
new slot 7: 20006A00 -> 20006400
old slot 8: 20006A00 -> 20006400
traverse list 8
num 20006A02 node 20006A00->20006402
new slot 8: 20006A00 -> 20006400
old slot 9: 20006A00 -> 20006400
traverse list 9
num 20006A02 node 20006A00->20006402
new slot 9: 20006A00 -> 20006400
old slot 10: 20006A00 -> 20006400
traverse list 10
num 20006A02 node 20006A00->20006402
new slot 10: 20006A00 -> 20006400
old slot 11: 20006A00 -> 20006400
traverse list 11
num 20006A02 node 20006A00->20006402
new slot 11: 20006A00 -> 20006400
old slot 12: 20006A00 -> 20006400
traverse list 12
num 20006A02 node 20006A00->20006402
new slot 12: 20006A00 -> 20006400
old slot 13: 20006A00 -> 20006400
traverse list 13
num 20006A02 node 20006A00->20006402
new slot 13: 20006A00 -> 20006400
old slot 14: 20006A00 -> 20006400
traverse list 14
num 20006A02 node 20006A00->20006402
new slot 14: 20006A00 -> 20006400
old slot 15: 20006A00 -> 20006400
traverse list 15
num 20006A02 node 20006A00->20006402
new slot 15: 20006A00 -> 20006400
old slot 16: 20006A00 -> 20006400
traverse list 16
num 20006A02 node 20006A00->20006402
new slot 16: 20006A00 -> 20006400
old slot 17: 20006A00 -> 20006400
traverse list 17
num 20006A02 node 20006A00->20006402
new slot 17: 20006A00 -> 20006400
old slot 18: 20006A00 -> 20006400
traverse list 18
num 20006A02 node 20006A00->20006402
new slot 18: 20006A00 -> 20006400
old slot 19: 20006A00 -> 20006400
traverse list 19
num 20006A02 node 20006A00->20006402
new slot 19: 20006A00 -> 20006400
old slot 20: 20006A00 -> 20006400
traverse list 20
num 20006A02 node 20006A00->20006402
new slot 20: 20006A00 -> 20006400
old slot 21: 20006A00 -> 20006400
traverse list 21
num 20006A02 node 20006A00->20006402
new slot 21: 20006A00 -> 20006400
old slot 22: 20006A00 -> 20006400
traverse list 22
num 20006A02 node 20006A00->20006402
new slot 22: 20006A00 -> 20006400
old slot 23: 20006A00 -> 20006400
traverse list 23
num 20006A02 node 20006A00->20006402
new slot 23: 20006A00 -> 20006400
old slot 24: 20006A00 -> 20006400
traverse list 24
num 20006A02 node 20006A00->20006402
new slot 24: 20006A00 -> 20006400
old slot 25: 20006A00 -> 20006400
traverse list 25
num 20006A02 node 20006A00->20006402
new slot 25: 20006A00 -> 20006400
old slot 26: 20006A00 -> 20006400
traverse list 26
num 20006A02 node 20006A00->20006402
new slot 26: 20006A00 -> 20006400
old slot 27: 20006A00 -> 20006400
traverse list 27
num 20006A02 node 20006A00->20006402
new slot 27: 20006A00 -> 20006400
old slot 28: 20006A00 -> 20006400
traverse list 28
num 20006A02 node 20006A00->20006402
new slot 28: 20006A00 -> 20006400
old slot 29: 20006A00 -> 20006400
traverse list 29
num 20006A02 node 20006A00->20006402
new slot 29: 20006A00 -> 20006400
old slot 30: 20006A00 -> 20006400
traverse list 30
num 20006A02 node 20006A00->20006402
new slot 30: 20006A00 -> 20006400
old slot 31: 20006A00 -> 20006400
traverse list 31
num 20006A02 node 20006A00->20006402
new slot 31: 20006A00 -> 20006400
Periodic Schedule:
0: 20006AC0 -> 20006A00 -> 20006400
1: 20006A00 -> 20006400
2: 20006A00 -> 20006400
3: 20006A00 -> 20006400
4: 20006A00 -> 20006400
5: 20006A00 -> 20006400
6: 20006A00 -> 20006400
7: 20006A00 -> 20006400
8: 20006A00 -> 20006400
9: 20006A00 -> 20006400
10: 20006A00 -> 20006400
11: 20006A00 -> 20006400
12: 20006A00 -> 20006400
13: 20006A00 -> 20006400
14: 20006A00 -> 20006400
15: 20006A00 -> 20006400
16: 20006A00 -> 20006400
17: 20006A00 -> 20006400
18: 20006A00 -> 20006400
19: 20006A00 -> 20006400
20: 20006A00 -> 20006400
21: 20006A00 -> 20006400
22: 20006A00 -> 20006400
23: 20006A00 -> 20006400
24: 20006A00 -> 20006400
25: 20006A00 -> 20006400
26: 20006A00 -> 20006400
27: 20006A00 -> 20006400
28: 20006A00 -> 20006400
29: 20006A00 -> 20006400
30: 20006A00 -> 20006400
31: 20006A00 -> 20006400
return new_Pipe: 20006400
Descriptor 33 = HID
Descriptor 5 = ENDPOINT
Descriptor 4 = INTERFACE
KeyboardController claim this=20007700
09 04 02 00 01 03 00 00 00 09 21 11 01 00 01 22 36 00 07 05 83 03 40 00 01
HIDParser claim this=200058A0
bInterfaceNumber = 2
bInterfaceClass = 3
bInterfaceSubClass = 0
bInterfaceProtocol = 0
HID Parser Claim: 09 04 02 00 01 03 00 00 00 09 21 11 01 00 01 22 36 00 07 05 83 03 40 00 01
report descriptor size = 54
Single endpoint HID:
endpoint = 83
size = 64
interval = 1
new_Pipe
allocate_interrupt_pipe_bandwidth
best_bandwidth = 9, at offset = 0, shift= 3
return from: allocate_interrupt_pipe_bandwidth
After endpoint > 0
After capabilities
before add_qh_to_periodic_schedule
add_qh_to_periodic_schedule: 200063A0
interval = 1
offset = 0
old slot 0: 20006AC0 -> 20006A00 -> 20006400
traverse list 0
num 20006AC2 node 20006AC0->20006A02
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->1
adding at node 20006400, num=20006402, node->qh.horizontal_link=1
new slot 0: 20006AC0 -> 20006A00 -> 20006400 -> 200063A0
old slot 1: 20006A00 -> 20006400 -> 200063A0
traverse list 1
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 1: 20006A00 -> 20006400 -> 200063A0
old slot 2: 20006A00 -> 20006400 -> 200063A0
traverse list 2
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 2: 20006A00 -> 20006400 -> 200063A0
old slot 3: 20006A00 -> 20006400 -> 200063A0
traverse list 3
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 3: 20006A00 -> 20006400 -> 200063A0
old slot 4: 20006A00 -> 20006400 -> 200063A0
traverse list 4
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 4: 20006A00 -> 20006400 -> 200063A0
old slot 5: 20006A00 -> 20006400 -> 200063A0
traverse list 5
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 5: 20006A00 -> 20006400 -> 200063A0
old slot 6: 20006A00 -> 20006400 -> 200063A0
traverse list 6
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 6: 20006A00 -> 20006400 -> 200063A0
old slot 7: 20006A00 -> 20006400 -> 200063A0
traverse list 7
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 7: 20006A00 -> 20006400 -> 200063A0
old slot 8: 20006A00 -> 20006400 -> 200063A0
traverse list 8
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 8: 20006A00 -> 20006400 -> 200063A0
old slot 9: 20006A00 -> 20006400 -> 200063A0
traverse list 9
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 9: 20006A00 -> 20006400 -> 200063A0
old slot 10: 20006A00 -> 20006400 -> 200063A0
traverse list 10
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 10: 20006A00 -> 20006400 -> 200063A0
old slot 11: 20006A00 -> 20006400 -> 200063A0
traverse list 11
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 11: 20006A00 -> 20006400 -> 200063A0
old slot 12: 20006A00 -> 20006400 -> 200063A0
traverse list 12
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 12: 20006A00 -> 20006400 -> 200063A0
old slot 13: 20006A00 -> 20006400 -> 200063A0
traverse list 13
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 13: 20006A00 -> 20006400 -> 200063A0
old slot 14: 20006A00 -> 20006400 -> 200063A0
traverse list 14
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 14: 20006A00 -> 20006400 -> 200063A0
old slot 15: 20006A00 -> 20006400 -> 200063A0
traverse list 15
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 15: 20006A00 -> 20006400 -> 200063A0
old slot 16: 20006A00 -> 20006400 -> 200063A0
traverse list 16
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 16: 20006A00 -> 20006400 -> 200063A0
old slot 17: 20006A00 -> 20006400 -> 200063A0
traverse list 17
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 17: 20006A00 -> 20006400 -> 200063A0
old slot 18: 20006A00 -> 20006400 -> 200063A0
traverse list 18
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 18: 20006A00 -> 20006400 -> 200063A0
old slot 19: 20006A00 -> 20006400 -> 200063A0
traverse list 19
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 19: 20006A00 -> 20006400 -> 200063A0
old slot 20: 20006A00 -> 20006400 -> 200063A0
traverse list 20
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 20: 20006A00 -> 20006400 -> 200063A0
old slot 21: 20006A00 -> 20006400 -> 200063A0
traverse list 21
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 21: 20006A00 -> 20006400 -> 200063A0
old slot 22: 20006A00 -> 20006400 -> 200063A0
traverse list 22
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 22: 20006A00 -> 20006400 -> 200063A0
old slot 23: 20006A00 -> 20006400 -> 200063A0
traverse list 23
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 23: 20006A00 -> 20006400 -> 200063A0
old slot 24: 20006A00 -> 20006400 -> 200063A0
traverse list 24
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 24: 20006A00 -> 20006400 -> 200063A0
old slot 25: 20006A00 -> 20006400 -> 200063A0
traverse list 25
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 25: 20006A00 -> 20006400 -> 200063A0
old slot 26: 20006A00 -> 20006400 -> 200063A0
traverse list 26
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 26: 20006A00 -> 20006400 -> 200063A0
old slot 27: 20006A00 -> 20006400 -> 200063A0
traverse list 27
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 27: 20006A00 -> 20006400 -> 200063A0
old slot 28: 20006A00 -> 20006400 -> 200063A0
traverse list 28
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 28: 20006A00 -> 20006400 -> 200063A0
old slot 29: 20006A00 -> 20006400 -> 200063A0
traverse list 29
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 29: 20006A00 -> 20006400 -> 200063A0
old slot 30: 20006A00 -> 20006400 -> 200063A0
traverse list 30
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 30: 20006A00 -> 20006400 -> 200063A0
old slot 31: 20006A00 -> 20006400 -> 200063A0
traverse list 31
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 31: 20006A00 -> 20006400 -> 200063A0
Periodic Schedule:
0: 20006AC0 -> 20006A00 -> 20006400 -> 200063A0
1: 20006A00 -> 20006400 -> 200063A0
2: 20006A00 -> 20006400 -> 200063A0
3: 20006A00 -> 20006400 -> 200063A0
4: 20006A00 -> 20006400 -> 200063A0
5: 20006A00 -> 20006400 -> 200063A0
6: 20006A00 -> 20006400 -> 200063A0
7: 20006A00 -> 20006400 -> 200063A0
8: 20006A00 -> 20006400 -> 200063A0
9: 20006A00 -> 20006400 -> 200063A0
10: 20006A00 -> 20006400 -> 200063A0
11: 20006A00 -> 20006400 -> 200063A0
12: 20006A00 -> 20006400 -> 200063A0
13: 20006A00 -> 20006400 -> 200063A0
14: 20006A00 -> 20006400 -> 200063A0
15: 20006A00 -> 20006400 -> 200063A0
16: 20006A00 -> 20006400 -> 200063A0
17: 20006A00 -> 20006400 -> 200063A0
18: 20006A00 -> 20006400 -> 200063A0
19: 20006A00 -> 20006400 -> 200063A0
20: 20006A00 -> 20006400 -> 200063A0
21: 20006A00 -> 20006400 -> 200063A0
22: 20006A00 -> 20006400 -> 200063A0
23: 20006A00 -> 20006400 -> 200063A0
24: 20006A00 -> 20006400 -> 200063A0
25: 20006A00 -> 20006400 -> 200063A0
26: 20006A00 -> 20006400 -> 200063A0
27: 20006A00 -> 20006400 -> 200063A0
28: 20006A00 -> 20006400 -> 200063A0
29: 20006A00 -> 20006400 -> 200063A0
30: 20006A00 -> 20006400 -> 200063A0
31: 20006A00 -> 20006400 -> 200063A0
return new_Pipe: 200063A0
Descriptor 33 = HID
Descriptor 5 = ENDPOINT
control callback (hid)
05 01 09 02 A1 01 09 01 A1 00 95 10 75 01 15 00 25 01 05 09 19 01 29 10 81 02 95 02 75 10 16 01 80 26 FF 7F 05 01 09 30 09 31 81 06 95 01 75 08 15 81 25 7F 09 38 81 06 95 01 05 0C 0A 38 02 81 06 C0 06 00 FF 09 F1 75 08 95 05 15 00 26 FF 00 81 00 C0
mesg = 22000681
got report descriptor
Found top level collection 10002
find_driver
driver 2000746C
driver 2000770C
driver 20008830
control callback (keyboard)
mesg = A21
control callback (hid)
06 00 FF 09 01 A1 01 85 10 95 06 75 08 15 00 26 FF 00 09 01 81 00 09 01 91 00 C0 06 00 FF 09 02 A1 01 85 11 95 13 75 08 15 00 26 FF 00 09 02 81 00 09 02 91 00 C0
mesg = 22000681
got report descriptor
Found top level collection FF000001
find_driver
driver 2000746C
driver 2000770C
driver 20008830
No Driver claimed topusage: FF000001
Found top level collection FF000002
find_driver
driver 2000746C
driver 2000770C
driver 20008830
No Driver claimed topusage: FF000002
KeyboardController Callback (member)
KB Data: 01 00 00 00 00 00 00 00
ERROR Followup
USB Mouse and Keyboard forwarder
USB2 PLL running
reset waited 6
USBHS_ASYNCLISTADDR = 0
USBHS_PERIODICLISTBASE = 20005000
periodictable = 20005000
port change: 10001803
connect
begin reset
port change: 18001205
port enabled
end recovery
new_Device: 480 Mbit/sec
new_Pipe
After endpoint > 0
After capabilities
first in async list
return new_Pipe: 20005080
enumeration:
enumeration:
enumeration:
Device Descriptor:
12 01 00 02 09 00 01 40 E3 05 08 06 36 85 00 01 00 01
VendorID = 05E3, ProductID = 0608, Version = 8536
Class/Subclass/Protocol = 9(Hub) / 0 / 1(Single-TT)
Number of Configurations = 1
enumeration:
enumeration:
Product: USB2.0 Hub
enumeration:
Config data length = 25
enumeration:
Configuration Descriptor:
09 02 19 00 01 01 00 E0 32
NumInterfaces = 1
ConfigurationValue = 1
09 04 00 00 01 09 00 00 00
Interface = 0
Number of endpoints = 1
Class/Subclass/Protocol = 9(Hub) / 0 / 0
07 05 81 03 01 00 0C
Endpoint = 1 IN
Type = Interrupt
Max Size = 1
Polling Interval = 12
enumeration:
USBHub memory usage = 960
USBHub claim_device this=20006CE0
found possible interface, altsetting=0
number of interfaces found = 1
USBHub control callback
09 29 04 E0 00 32 64 00 FF 00 00 00 00 00 00 00
Hub ports = 4
USBHub control callback
USBHub control callback
USBHub control callback
USBHub control callback
power turned on to all ports
device addr = 1
new_Pipe
allocate_interrupt_pipe_bandwidth
ep interval = 12
interval = 256
best_bandwidth = 2, at offset = 0
After endpoint > 0
After capabilities
before add_qh_to_periodic_schedule
add_qh_to_periodic_schedule: 20006AC0
interval = 32
offset = 0
old slot 0: (empty)
add to slot 0
new slot 0: 20006AC0
Periodic Schedule:
0: 20006AC0
1: (empty)
2: (empty)
3: (empty)
4: (empty)
5: (empty)
6: (empty)
7: (empty)
8: (empty)
9: (empty)
10: (empty)
11: (empty)
12: (empty)
13: (empty)
14: (empty)
15: (empty)
16: (empty)
17: (empty)
18: (empty)
19: (empty)
20: (empty)
21: (empty)
22: (empty)
23: (empty)
24: (empty)
25: (empty)
26: (empty)
27: (empty)
28: (empty)
29: (empty)
30: (empty)
31: (empty)
return new_Pipe: 20006AC0
pipe cap1 = F0012101
HUB Callback (member)
status = 10
getstatus, port = 4
USBHub control callback
01 01 01 00
New Port Status
status=10101 port=4
state=0
Device is present:
Has Power
USBHub control callback
Port Status Cleared, port=4
timer event (19999 us): Debounce Timer, this = 20006CE0, timer = 20006FF8
ports in use bitmask = 10
getstatus, port = 4
USBHub control callback
01 01 00 00
New Port Status
status=101 port=4
state=2
Device is present:
Has Power
timer event (20000 us): Debounce Timer, this = 20006CE0, timer = 20006FF8
ports in use bitmask = 10
getstatus, port = 4
USBHub control callback
01 01 00 00
New Port Status
status=101 port=4
state=3
Device is present:
Has Power
timer event (20000 us): Debounce Timer, this = 20006CE0, timer = 20006FF8
ports in use bitmask = 10
getstatus, port = 4
USBHub control callback
01 01 00 00
New Port Status
status=101 port=4
state=4
Device is present:
Has Power
timer event (20000 us): Debounce Timer, this = 20006CE0, timer = 20006FF8
ports in use bitmask = 10
getstatus, port = 4
USBHub control callback
01 01 00 00
New Port Status
status=101 port=4
state=5
Device is present:
Has Power
timer event (20000 us): Debounce Timer, this = 20006CE0, timer = 20006FF8
ports in use bitmask = 10
getstatus, port = 4
USBHub control callback
01 01 00 00
New Port Status
status=101 port=4
state=6
Device is present:
Has Power
sending reset
send_setreset
USBHub control callback
unhandled setup, message = 40323
timer event (20000 us): Debounce Timer, this = 20006CE0, timer = 20006FF8
ports in use bitmask = 0
HUB Callback (member)
status = 10
getstatus, port = 4
USBHub control callback
03 01 10 00
New Port Status
status=100103 port=4
state=7
Device is present:
Enabled, speed = 12 Mbit/sec
Has Power
USBHub control callback
unhandled setup, message = 140123
timer event (25000 us): Hello, I'm resettimer, this = 20006CE0, timer = 20007018
port_doing_reset = 4
PORT_RECOVERY
new_Device: 12 Mbit/sec
new_Pipe
After endpoint > 0
After capabilities
added to async list
return new_Pipe: 20006A60
enumeration:
enumeration:
enumeration:
Device Descriptor:
12 01 00 02 00 00 00 40 6D 04 47 C5 02 04 01 02 00 01
VendorID = 046D, ProductID = C547, Version = 0402
Class/Subclass/Protocol = 0 / 0 / 0
Number of Configurations = 1
enumeration:
enumeration:
Manufacturer: Logitech
enumeration:
Product: USB Receiver
enumeration:
Config data length = 84
enumeration:
Configuration Descriptor:
09 02 54 00 03 01 04 A0 31
NumInterfaces = 3
ConfigurationValue = 1
09 04 00 00 01 03 01 02 00
Interface = 0
Number of endpoints = 1
Class/Subclass/Protocol = 3(HID) / 1(Boot) / 2(Mouse)
09 21 11 01 00 01 22 53 00
HID, 1 report descriptor
07 05 81 03 40 00 01
Endpoint = 1 IN
Type = Interrupt
Max Size = 64
Polling Interval = 1
09 04 01 00 01 03 01 01 00
Interface = 1
Number of endpoints = 1
Class/Subclass/Protocol = 3(HID) / 1(Boot) / 1(Keyboard)
09 21 11 01 00 01 22 85 00
HID, 1 report descriptor
07 05 82 03 40 00 01
Endpoint = 2 IN
Type = Interrupt
Max Size = 64
Polling Interval = 1
09 04 02 00 01 03 00 00 00
Interface = 2
Number of endpoints = 1
Class/Subclass/Protocol = 3(HID) / 0 / 0
09 21 11 01 00 01 22 36 00
HID, 1 report descriptor
07 05 83 03 40 00 01
Endpoint = 3 IN
Type = Interrupt
Max Size = 64
Polling Interval = 1
enumeration:
USBHub memory usage = 960
USBHub claim_device this=200070A0
KeyboardController claim this=20007460
KeyboardController claim this=20007700
HIDParser claim this=200051E0
HIDParser claim this=200058A0
HIDParser claim this=20005F60
HIDParser claim this=20006620
Descriptor 4 = INTERFACE
KeyboardController claim this=20007460
09 04 00 00 01 03 01 02 00 09 21 11 01 00 01 22 53 00 07 05 81 03 40 00 01 09 04 01 00 01 03 01 01 00 09 21 11 01 00 01 22 85 00 07 05 82 03 40 00 01 09 04 02 00 01 03 00 00 00 09 21 11 01 00 01 22 36 00 07 05 83 03 40 00 01
KeyboardController claim this=20007700
09 04 00 00 01 03 01 02 00 09 21 11 01 00 01 22 53 00 07 05 81 03 40 00 01 09 04 01 00 01 03 01 01 00 09 21 11 01 00 01 22 85 00 07 05 82 03 40 00 01 09 04 02 00 01 03 00 00 00 09 21 11 01 00 01 22 36 00 07 05 83 03 40 00 01
HIDParser claim this=200051E0
bInterfaceNumber = 0
bInterfaceClass = 3
bInterfaceSubClass = 1
bInterfaceProtocol = 2
HID Parser Claim: 09 04 00 00 01 03 01 02 00 09 21 11 01 00 01 22 53 00 07 05 81 03 40 00 01 09 04 01 00 01 03 01 01 00 09 21 11 01 00 01 22 85 00 07 05 82 03 40 00 01 09 04 02 00 01 03 00 00 00 09 21 11 01 00 01 22 36 00 07 05 83 03 40 00 01
report descriptor size = 83
Single endpoint HID:
endpoint = 81
size = 64
interval = 1
new_Pipe
allocate_interrupt_pipe_bandwidth
best_bandwidth = 5, at offset = 0, shift= 0
return from: allocate_interrupt_pipe_bandwidth
After endpoint > 0
After capabilities
before add_qh_to_periodic_schedule
add_qh_to_periodic_schedule: 20006A00
interval = 1
offset = 0
old slot 0: 20006AC0
traverse list 0
num 20006AC2 node 20006AC0->1
adding at node 20006AC0, num=20006AC2, node->qh.horizontal_link=1
new slot 0: 20006AC0 -> 20006A00
old slot 1: (empty)
add to slot 1
new slot 1: 20006A00
old slot 2: (empty)
add to slot 2
new slot 2: 20006A00
old slot 3: (empty)
add to slot 3
new slot 3: 20006A00
old slot 4: (empty)
add to slot 4
new slot 4: 20006A00
old slot 5: (empty)
add to slot 5
new slot 5: 20006A00
old slot 6: (empty)
add to slot 6
new slot 6: 20006A00
old slot 7: (empty)
add to slot 7
new slot 7: 20006A00
old slot 8: (empty)
add to slot 8
new slot 8: 20006A00
old slot 9: (empty)
add to slot 9
new slot 9: 20006A00
old slot 10: (empty)
add to slot 10
new slot 10: 20006A00
old slot 11: (empty)
add to slot 11
new slot 11: 20006A00
old slot 12: (empty)
add to slot 12
new slot 12: 20006A00
old slot 13: (empty)
add to slot 13
new slot 13: 20006A00
old slot 14: (empty)
add to slot 14
new slot 14: 20006A00
old slot 15: (empty)
add to slot 15
new slot 15: 20006A00
old slot 16: (empty)
add to slot 16
new slot 16: 20006A00
old slot 17: (empty)
add to slot 17
new slot 17: 20006A00
old slot 18: (empty)
add to slot 18
new slot 18: 20006A00
old slot 19: (empty)
add to slot 19
new slot 19: 20006A00
old slot 20: (empty)
add to slot 20
new slot 20: 20006A00
old slot 21: (empty)
add to slot 21
new slot 21: 20006A00
old slot 22: (empty)
add to slot 22
new slot 22: 20006A00
old slot 23: (empty)
add to slot 23
new slot 23: 20006A00
old slot 24: (empty)
add to slot 24
new slot 24: 20006A00
old slot 25: (empty)
add to slot 25
new slot 25: 20006A00
old slot 26: (empty)
add to slot 26
new slot 26: 20006A00
old slot 27: (empty)
add to slot 27
new slot 27: 20006A00
old slot 28: (empty)
add to slot 28
new slot 28: 20006A00
old slot 29: (empty)
add to slot 29
new slot 29: 20006A00
old slot 30: (empty)
add to slot 30
new slot 30: 20006A00
old slot 31: (empty)
add to slot 31
new slot 31: 20006A00
Periodic Schedule:
0: 20006AC0 -> 20006A00
1: 20006A00
2: 20006A00
3: 20006A00
4: 20006A00
5: 20006A00
6: 20006A00
7: 20006A00
8: 20006A00
9: 20006A00
10: 20006A00
11: 20006A00
12: 20006A00
13: 20006A00
14: 20006A00
15: 20006A00
16: 20006A00
17: 20006A00
18: 20006A00
19: 20006A00
20: 20006A00
21: 20006A00
22: 20006A00
23: 20006A00
24: 20006A00
25: 20006A00
26: 20006A00
27: 20006A00
28: 20006A00
29: 20006A00
30: 20006A00
31: 20006A00
return new_Pipe: 20006A00
Descriptor 33 = HID
Descriptor 5 = ENDPOINT
Descriptor 4 = INTERFACE
KeyboardController claim this=20007460
09 04 01 00 01 03 01 01 00 09 21 11 01 00 01 22 85 00 07 05 82 03 40 00 01 09 04 02 00 01 03 00 00 00 09 21 11 01 00 01 22 36 00 07 05 83 03 40 00 01
ep = 82
packet size = 64
polling interval = 1
new_Pipe
allocate_interrupt_pipe_bandwidth
best_bandwidth = 7, at offset = 0, shift= 3
return from: allocate_interrupt_pipe_bandwidth
After endpoint > 0
After capabilities
before add_qh_to_periodic_schedule
add_qh_to_periodic_schedule: 20006400
interval = 1
offset = 0
old slot 0: 20006AC0 -> 20006A00
traverse list 0
num 20006AC2 node 20006AC0->20006A02
num 20006A02 node 20006A00->1
adding at node 20006A00, num=20006A02, node->qh.horizontal_link=1
new slot 0: 20006AC0 -> 20006A00 -> 20006400
old slot 1: 20006A00 -> 20006400
traverse list 1
num 20006A02 node 20006A00->20006402
new slot 1: 20006A00 -> 20006400
old slot 2: 20006A00 -> 20006400
traverse list 2
num 20006A02 node 20006A00->20006402
new slot 2: 20006A00 -> 20006400
old slot 3: 20006A00 -> 20006400
traverse list 3
num 20006A02 node 20006A00->20006402
new slot 3: 20006A00 -> 20006400
old slot 4: 20006A00 -> 20006400
traverse list 4
num 20006A02 node 20006A00->20006402
new slot 4: 20006A00 -> 20006400
old slot 5: 20006A00 -> 20006400
traverse list 5
num 20006A02 node 20006A00->20006402
new slot 5: 20006A00 -> 20006400
old slot 6: 20006A00 -> 20006400
traverse list 6
num 20006A02 node 20006A00->20006402
new slot 6: 20006A00 -> 20006400
old slot 7: 20006A00 -> 20006400
traverse list 7
num 20006A02 node 20006A00->20006402
new slot 7: 20006A00 -> 20006400
old slot 8: 20006A00 -> 20006400
traverse list 8
num 20006A02 node 20006A00->20006402
new slot 8: 20006A00 -> 20006400
old slot 9: 20006A00 -> 20006400
traverse list 9
num 20006A02 node 20006A00->20006402
new slot 9: 20006A00 -> 20006400
old slot 10: 20006A00 -> 20006400
traverse list 10
num 20006A02 node 20006A00->20006402
new slot 10: 20006A00 -> 20006400
old slot 11: 20006A00 -> 20006400
traverse list 11
num 20006A02 node 20006A00->20006402
new slot 11: 20006A00 -> 20006400
old slot 12: 20006A00 -> 20006400
traverse list 12
num 20006A02 node 20006A00->20006402
new slot 12: 20006A00 -> 20006400
old slot 13: 20006A00 -> 20006400
traverse list 13
num 20006A02 node 20006A00->20006402
new slot 13: 20006A00 -> 20006400
old slot 14: 20006A00 -> 20006400
traverse list 14
num 20006A02 node 20006A00->20006402
new slot 14: 20006A00 -> 20006400
old slot 15: 20006A00 -> 20006400
traverse list 15
num 20006A02 node 20006A00->20006402
new slot 15: 20006A00 -> 20006400
old slot 16: 20006A00 -> 20006400
traverse list 16
num 20006A02 node 20006A00->20006402
new slot 16: 20006A00 -> 20006400
old slot 17: 20006A00 -> 20006400
traverse list 17
num 20006A02 node 20006A00->20006402
new slot 17: 20006A00 -> 20006400
old slot 18: 20006A00 -> 20006400
traverse list 18
num 20006A02 node 20006A00->20006402
new slot 18: 20006A00 -> 20006400
old slot 19: 20006A00 -> 20006400
traverse list 19
num 20006A02 node 20006A00->20006402
new slot 19: 20006A00 -> 20006400
old slot 20: 20006A00 -> 20006400
traverse list 20
num 20006A02 node 20006A00->20006402
new slot 20: 20006A00 -> 20006400
old slot 21: 20006A00 -> 20006400
traverse list 21
num 20006A02 node 20006A00->20006402
new slot 21: 20006A00 -> 20006400
old slot 22: 20006A00 -> 20006400
traverse list 22
num 20006A02 node 20006A00->20006402
new slot 22: 20006A00 -> 20006400
old slot 23: 20006A00 -> 20006400
traverse list 23
num 20006A02 node 20006A00->20006402
new slot 23: 20006A00 -> 20006400
old slot 24: 20006A00 -> 20006400
traverse list 24
num 20006A02 node 20006A00->20006402
new slot 24: 20006A00 -> 20006400
old slot 25: 20006A00 -> 20006400
traverse list 25
num 20006A02 node 20006A00->20006402
new slot 25: 20006A00 -> 20006400
old slot 26: 20006A00 -> 20006400
traverse list 26
num 20006A02 node 20006A00->20006402
new slot 26: 20006A00 -> 20006400
old slot 27: 20006A00 -> 20006400
traverse list 27
num 20006A02 node 20006A00->20006402
new slot 27: 20006A00 -> 20006400
old slot 28: 20006A00 -> 20006400
traverse list 28
num 20006A02 node 20006A00->20006402
new slot 28: 20006A00 -> 20006400
old slot 29: 20006A00 -> 20006400
traverse list 29
num 20006A02 node 20006A00->20006402
new slot 29: 20006A00 -> 20006400
old slot 30: 20006A00 -> 20006400
traverse list 30
num 20006A02 node 20006A00->20006402
new slot 30: 20006A00 -> 20006400
old slot 31: 20006A00 -> 20006400
traverse list 31
num 20006A02 node 20006A00->20006402
new slot 31: 20006A00 -> 20006400
Periodic Schedule:
0: 20006AC0 -> 20006A00 -> 20006400
1: 20006A00 -> 20006400
2: 20006A00 -> 20006400
3: 20006A00 -> 20006400
4: 20006A00 -> 20006400
5: 20006A00 -> 20006400
6: 20006A00 -> 20006400
7: 20006A00 -> 20006400
8: 20006A00 -> 20006400
9: 20006A00 -> 20006400
10: 20006A00 -> 20006400
11: 20006A00 -> 20006400
12: 20006A00 -> 20006400
13: 20006A00 -> 20006400
14: 20006A00 -> 20006400
15: 20006A00 -> 20006400
16: 20006A00 -> 20006400
17: 20006A00 -> 20006400
18: 20006A00 -> 20006400
19: 20006A00 -> 20006400
20: 20006A00 -> 20006400
21: 20006A00 -> 20006400
22: 20006A00 -> 20006400
23: 20006A00 -> 20006400
24: 20006A00 -> 20006400
25: 20006A00 -> 20006400
26: 20006A00 -> 20006400
27: 20006A00 -> 20006400
28: 20006A00 -> 20006400
29: 20006A00 -> 20006400
30: 20006A00 -> 20006400
31: 20006A00 -> 20006400
return new_Pipe: 20006400
Descriptor 33 = HID
Descriptor 5 = ENDPOINT
Descriptor 4 = INTERFACE
KeyboardController claim this=20007700
09 04 02 00 01 03 00 00 00 09 21 11 01 00 01 22 36 00 07 05 83 03 40 00 01
HIDParser claim this=200058A0
bInterfaceNumber = 2
bInterfaceClass = 3
bInterfaceSubClass = 0
bInterfaceProtocol = 0
HID Parser Claim: 09 04 02 00 01 03 00 00 00 09 21 11 01 00 01 22 36 00 07 05 83 03 40 00 01
report descriptor size = 54
Single endpoint HID:
endpoint = 83
size = 64
interval = 1
new_Pipe
allocate_interrupt_pipe_bandwidth
best_bandwidth = 9, at offset = 0, shift= 3
return from: allocate_interrupt_pipe_bandwidth
After endpoint > 0
After capabilities
before add_qh_to_periodic_schedule
add_qh_to_periodic_schedule: 200063A0
interval = 1
offset = 0
old slot 0: 20006AC0 -> 20006A00 -> 20006400
traverse list 0
num 20006AC2 node 20006AC0->20006A02
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->1
adding at node 20006400, num=20006402, node->qh.horizontal_link=1
new slot 0: 20006AC0 -> 20006A00 -> 20006400 -> 200063A0
old slot 1: 20006A00 -> 20006400 -> 200063A0
traverse list 1
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 1: 20006A00 -> 20006400 -> 200063A0
old slot 2: 20006A00 -> 20006400 -> 200063A0
traverse list 2
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 2: 20006A00 -> 20006400 -> 200063A0
old slot 3: 20006A00 -> 20006400 -> 200063A0
traverse list 3
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 3: 20006A00 -> 20006400 -> 200063A0
old slot 4: 20006A00 -> 20006400 -> 200063A0
traverse list 4
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 4: 20006A00 -> 20006400 -> 200063A0
old slot 5: 20006A00 -> 20006400 -> 200063A0
traverse list 5
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 5: 20006A00 -> 20006400 -> 200063A0
old slot 6: 20006A00 -> 20006400 -> 200063A0
traverse list 6
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 6: 20006A00 -> 20006400 -> 200063A0
old slot 7: 20006A00 -> 20006400 -> 200063A0
traverse list 7
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 7: 20006A00 -> 20006400 -> 200063A0
old slot 8: 20006A00 -> 20006400 -> 200063A0
traverse list 8
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 8: 20006A00 -> 20006400 -> 200063A0
old slot 9: 20006A00 -> 20006400 -> 200063A0
traverse list 9
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 9: 20006A00 -> 20006400 -> 200063A0
old slot 10: 20006A00 -> 20006400 -> 200063A0
traverse list 10
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 10: 20006A00 -> 20006400 -> 200063A0
old slot 11: 20006A00 -> 20006400 -> 200063A0
traverse list 11
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 11: 20006A00 -> 20006400 -> 200063A0
old slot 12: 20006A00 -> 20006400 -> 200063A0
traverse list 12
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 12: 20006A00 -> 20006400 -> 200063A0
old slot 13: 20006A00 -> 20006400 -> 200063A0
traverse list 13
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 13: 20006A00 -> 20006400 -> 200063A0
old slot 14: 20006A00 -> 20006400 -> 200063A0
traverse list 14
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 14: 20006A00 -> 20006400 -> 200063A0
old slot 15: 20006A00 -> 20006400 -> 200063A0
traverse list 15
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 15: 20006A00 -> 20006400 -> 200063A0
old slot 16: 20006A00 -> 20006400 -> 200063A0
traverse list 16
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 16: 20006A00 -> 20006400 -> 200063A0
old slot 17: 20006A00 -> 20006400 -> 200063A0
traverse list 17
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 17: 20006A00 -> 20006400 -> 200063A0
old slot 18: 20006A00 -> 20006400 -> 200063A0
traverse list 18
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 18: 20006A00 -> 20006400 -> 200063A0
old slot 19: 20006A00 -> 20006400 -> 200063A0
traverse list 19
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 19: 20006A00 -> 20006400 -> 200063A0
old slot 20: 20006A00 -> 20006400 -> 200063A0
traverse list 20
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 20: 20006A00 -> 20006400 -> 200063A0
old slot 21: 20006A00 -> 20006400 -> 200063A0
traverse list 21
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 21: 20006A00 -> 20006400 -> 200063A0
old slot 22: 20006A00 -> 20006400 -> 200063A0
traverse list 22
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 22: 20006A00 -> 20006400 -> 200063A0
old slot 23: 20006A00 -> 20006400 -> 200063A0
traverse list 23
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 23: 20006A00 -> 20006400 -> 200063A0
old slot 24: 20006A00 -> 20006400 -> 200063A0
traverse list 24
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 24: 20006A00 -> 20006400 -> 200063A0
old slot 25: 20006A00 -> 20006400 -> 200063A0
traverse list 25
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 25: 20006A00 -> 20006400 -> 200063A0
old slot 26: 20006A00 -> 20006400 -> 200063A0
traverse list 26
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 26: 20006A00 -> 20006400 -> 200063A0
old slot 27: 20006A00 -> 20006400 -> 200063A0
traverse list 27
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 27: 20006A00 -> 20006400 -> 200063A0
old slot 28: 20006A00 -> 20006400 -> 200063A0
traverse list 28
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 28: 20006A00 -> 20006400 -> 200063A0
old slot 29: 20006A00 -> 20006400 -> 200063A0
traverse list 29
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 29: 20006A00 -> 20006400 -> 200063A0
old slot 30: 20006A00 -> 20006400 -> 200063A0
traverse list 30
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 30: 20006A00 -> 20006400 -> 200063A0
old slot 31: 20006A00 -> 20006400 -> 200063A0
traverse list 31
num 20006A02 node 20006A00->20006402
num 20006402 node 20006400->200063A2
new slot 31: 20006A00 -> 20006400 -> 200063A0
Periodic Schedule:
0: 20006AC0 -> 20006A00 -> 20006400 -> 200063A0
1: 20006A00 -> 20006400 -> 200063A0
2: 20006A00 -> 20006400 -> 200063A0
3: 20006A00 -> 20006400 -> 200063A0
4: 20006A00 -> 20006400 -> 200063A0
5: 20006A00 -> 20006400 -> 200063A0
6: 20006A00 -> 20006400 -> 200063A0
7: 20006A00 -> 20006400 -> 200063A0
8: 20006A00 -> 20006400 -> 200063A0
9: 20006A00 -> 20006400 -> 200063A0
10: 20006A00 -> 20006400 -> 200063A0
11: 20006A00 -> 20006400 -> 200063A0
12: 20006A00 -> 20006400 -> 200063A0
13: 20006A00 -> 20006400 -> 200063A0
14: 20006A00 -> 20006400 -> 200063A0
15: 20006A00 -> 20006400 -> 200063A0
16: 20006A00 -> 20006400 -> 200063A0
17: 20006A00 -> 20006400 -> 200063A0
18: 20006A00 -> 20006400 -> 200063A0
19: 20006A00 -> 20006400 -> 200063A0
20: 20006A00 -> 20006400 -> 200063A0
21: 20006A00 -> 20006400 -> 200063A0
22: 20006A00 -> 20006400 -> 200063A0
23: 20006A00 -> 20006400 -> 200063A0
24: 20006A00 -> 20006400 -> 200063A0
25: 20006A00 -> 20006400 -> 200063A0
26: 20006A00 -> 20006400 -> 200063A0
27: 20006A00 -> 20006400 -> 200063A0
28: 20006A00 -> 20006400 -> 200063A0
29: 20006A00 -> 20006400 -> 200063A0
30: 20006A00 -> 20006400 -> 200063A0
31: 20006A00 -> 20006400 -> 200063A0
return new_Pipe: 200063A0
Descriptor 33 = HID
Descriptor 5 = ENDPOINT
control callback (hid)
05 01 09 02 A1 01 09 01 A1 00 95 10 75 01 15 00 25 01 05 09 19 01 29 10 81 02 95 02 75 10 16 01 80 26 FF 7F 05 01 09 30 09 31 81 06 95 01 75 08 15 81 25 7F 09 38 81 06 95 01 05 0C 0A 38 02 81 06 C0 06 00 FF 09 F1 75 08 95 05 15 00 26 FF 00 81 00 C0
mesg = 22000681
got report descriptor
Found top level collection 10002
find_driver
driver 2000746C
driver 2000770C
driver 20008830
control callback (keyboard)
mesg = A21
control callback (hid)
06 00 FF 09 01 A1 01 85 10 95 06 75 08 15 00 26 FF 00 09 01 81 00 09 01 91 00 C0 06 00 FF 09 02 A1 01 85 11 95 13 75 08 15 00 26 FF 00 09 02 81 00 09 02 91 00 C0
mesg = 22000681
got report descriptor
Found top level collection FF000001
find_driver
driver 2000746C
driver 2000770C
driver 20008830
No Driver claimed topusage: FF000001
Found top level collection FF000002
find_driver
driver 2000746C
driver 2000770C
driver 20008830
No Driver claimed topusage: FF000002
KeyboardController Callback (member)
KB Data: 01 00 00 00 00 00 00 00
ERROR Followup
HUB Callback (member)
status = 4
getstatus, port = 2
USBHub control callback
01 01 01 00
New Port Status
status=10101 port=2
state=0
Device is present:
Has Power
USBHub control callback
Port Status Cleared, port=2
timer event (19999 us): Debounce Timer, this = 20006CE0, timer = 20006FF8
ports in use bitmask = 4
getstatus, port = 2
USBHub control callback
01 01 00 00
New Port Status
status=101 port=2
state=2
Device is present:
Has Power
timer event (20000 us): Debounce Timer, this = 20006CE0, timer = 20006FF8
ports in use bitmask = 4
getstatus, port = 2
USBHub control callback
01 01 00 00
New Port Status
status=101 port=2
state=3
Device is present:
Has Power
timer event (20000 us): Debounce Timer, this = 20006CE0, timer = 20006FF8
ports in use bitmask = 4
getstatus, port = 2
USBHub control callback
01 01 00 00
New Port Status
status=101 port=2
state=4
Device is present:
Has Power
timer event (20000 us): Debounce Timer, this = 20006CE0, timer = 20006FF8
ports in use bitmask = 4
getstatus, port = 2
USBHub control callback
01 01 00 00
New Port Status
status=101 port=2
state=5
Device is present:
Has Power
timer event (20000 us): Debounce Timer, this = 20006CE0, timer = 20006FF8
ports in use bitmask = 4
getstatus, port = 2
USBHub control callback
01 01 00 00
New Port Status
status=101 port=2
state=6
Device is present:
Has Power
sending reset
send_setreset
USBHub control callback
unhandled setup, message = 40323
timer event (20000 us): Debounce Timer, this = 20006CE0, timer = 20006FF8
ports in use bitmask = 0
HUB Callback (member)
status = 4
getstatus, port = 2
USBHub control callback
03 01 10 00
New Port Status
status=100103 port=2
state=7
Device is present:
Enabled, speed = 12 Mbit/sec
Has Power
USBHub control callback
unhandled setup, message = 140123
timer event (25000 us): Hello, I'm resettimer, this = 20006CE0, timer = 20007018
port_doing_reset = 2
PORT_RECOVERY
new_Device: 12 Mbit/sec
new_Pipe
After endpoint > 0
After capabilities
added to async list
return new_Pipe: 20006340
enumeration:
enumeration:
enumeration:
Device Descriptor:
12 01 00 02 00 00 00 08 D9 04 6B A0 02 03 01 02 00 01
VendorID = 04D9, ProductID = A06B, Version = 0302
Class/Subclass/Protocol = 0 / 0 / 0
Number of Configurations = 1
ERROR Followup
remove from followup list
remove from followup list
stray halted 20006C20
qtd: 20006C20, token=80008080, next=20005160
dummy halt: 20005160
enumeration:
enumeration:
Config data length = 84
enumeration:
Configuration Descriptor:
09 02 54 00 03 01 00 A0 32
NumInterfaces = 3
ConfigurationValue = 1
09 04 00 00 01 03 01 01 00
Interface = 0
Number of endpoints = 1
Class/Subclass/Protocol = 3(HID) / 1(Boot) / 1(Keyboard)
09 21 10 01 00 01 22 3B 00
HID, 1 report descriptor
07 05 81 03 08 00 08
Endpoint = 1 IN
Type = Interrupt
Max Size = 8
Polling Interval = 8
09 04 01 00 01 03 00 00 00
Interface = 1
Number of endpoints = 1
Class/Subclass/Protocol = 3(HID) / 0 / 0
09 21 10 01 00 01 22 51 00
HID, 1 report descriptor
07 05 82 03 10 00 08
Endpoint = 2 IN
Type = Interrupt
Max Size = 16
Polling Interval = 8
09 04 02 00 01 03 00 00 00
Interface = 2
Number of endpoints = 1
Class/Subclass/Protocol = 3(HID) / 0 / 0
09 21 10 01 00 01 22 25 00
HID, 1 report descriptor
07 05 83 03 10 00 01
Endpoint = 3 IN
Type = Interrupt
Max Size = 16
Polling Interval = 1
enumeration:
USBHub memory usage = 960
USBHub claim_device this=200070A0
KeyboardController claim this=20007700
HIDParser claim this=20005F60
HIDParser claim this=20006620
Descriptor 4 = INTERFACE
KeyboardController claim this=20007700
09 04 00 00 01 03 01 01 00 09 21 10 01 00 01 22 3B 00 07 05 81 03 08 00 08 09 04 01 00 01 03 00 00 00 09 21 10 01 00 01 22 51 00 07 05 82 03 10 00 08 09 04 02 00 01 03 00 00 00 09 21 10 01 00 01 22 25 00 07 05 83 03 10 00 01
ep = 81
packet size = 8
polling interval = 8
new_Pipe
allocate_interrupt_pipe_bandwidth
best_bandwidth = 11, at offset = 0, shift= 2
return from: allocate_interrupt_pipe_bandwidth
After endpoint > 0
After capabilities
before add_qh_to_periodic_schedule
add_qh_to_periodic_schedule: 20005D40
interval = 8
offset = 0
old slot 0: 20006AC0 -> 20006A00 -> 20006400 -> 200063A0
traverse list 0
num 20006AC2 node 20006AC0->20006A02
adding at node 20006A00, num=20006A02, node->qh.horizontal_link=20006402
new slot 0: 20006AC0 -> 20006A00 -> 20005D40 -> 20006400 -> 200063A0
old slot 8: 20006A00 -> 20005D40 -> 20006400 -> 200063A0
add to slot 8
new slot 8: 20005D40 -> 20006A00 -> (loops) 20005D40
old slot 16: 20006A00 -> 20005D40 -> (loops) 20006A00
add to slot 16
new slot 16: 20005D40 -> 20006A00 -> (loops) 20005D40
old slot 24: 20006A00 -> 20005D40 -> (loops) 20006A00
add to slot 24
new slot 24: 20005D40 -> 20006A00 -> (loops) 20005D40
Periodic Schedule:
0: 20006AC0 -> 20006A00 -> 20005D40 -> (loops) 20006A00
1: 20006A00 -> 20005D40 -> (loops) 20006A00
2: 20006A00 -> 20005D40 -> (loops) 20006A00
3: 20006A00 -> 20005D40 -> (loops) 20006A00
4: 20006A00 -> 20005D40 -> (loops) 20006A00
5: 20006A00 -> 20005D40 -> (loops) 20006A00
6: 20006A00 -> 20005D40 -> (loops) 20006A00
7: 20006A00 -> 20005D40 -> (loops) 20006A00
8: 20005D40 -> 20006A00 -> (loops) 20005D40
9: 20006A00 -> 20005D40 -> (loops) 20006A00
10: 20006A00 -> 20005D40 -> (loops) 20006A00
11: 20006A00 -> 20005D40 -> (loops) 20006A00
12: 20006A00 -> 20005D40 -> (loops) 20006A00
13: 20006A00 -> 20005D40 -> (loops) 20006A00
14: 20006A00 -> 20005D40 -> (loops) 20006A00
15: 20006A00 -> 20005D40 -> (loops) 20006A00
16: 20005D40 -> 20006A00 -> (loops) 20005D40
17: 20006A00 -> 20005D40 -> (loops) 20006A00
18: 20006A00 -> 20005D40 -> (loops) 20006A00
19: 20006A00 -> 20005D40 -> (loops) 20006A00
20: 20006A00 -> 20005D40 -> (loops) 20006A00
21: 20006A00 -> 20005D40 -> (loops) 20006A00
22: 20006A00 -> 20005D40 -> (loops) 20006A00
23: 20006A00 -> 20005D40 -> (loops) 20006A00
24: 20005D40 -> 20006A00 -> (loops) 20005D40
25: 20006A00 -> 20005D40 -> (loops) 20006A00
26: 20006A00 -> 20005D40 -> (loops) 20006A00
27: 20006A00 -> 20005D40 -> (loops) 20006A00
28: 20006A00 -> 20005D40 -> (loops) 20006A00
29: 20006A00 -> 20005D40 -> (loops) 20006A00
30: 20006A00 -> 20005D40 -> (loops) 20006A00
31: 20006A00 -> 20005D40 -> (loops) 20006A00
return new_Pipe: 20005D40
SET_PROTOCOL Boot
Descriptor 33 = HID
Descriptor 5 = ENDPOINT
Descriptor 4 = INTERFACE
HIDParser claim this=20005F60
bInterfaceNumber = 1
bInterfaceClass = 3
bInterfaceSubClass = 0
bInterfaceProtocol = 0
HID Parser Claim: 09 04 01 00 01 03 00 00 00 09 21 10 01 00 01 22 51 00 07 05 82 03 10 00 08 09 04 02 00 01 03 00 00 00 09 21 10 01 00 01 22 25 00 07 05 83 03 10 00 01
report descriptor size = 81
Single endpoint HID:
endpoint = 82
size = 16
interval = 8
new_Pipe
allocate_interrupt_pipe_bandwidth
best_bandwidth = 11, at offset = 1, shift= 2
return from: allocate_interrupt_pipe_bandwidth
After endpoint > 0
After capabilities
before add_qh_to_periodic_schedule
add_qh_to_periodic_schedule: 20005CE0
interval = 8
offset = 1
old slot 1: 20006A00 -> 20005D40 -> (loops) 20006A00
add to slot 1
new slot 1: 20005CE0 -> 20006A00 -> 20005D40 -> (loops) 20006A00
old slot 9: 20006A00 -> 20005D40 -> (loops) 20006A00
add to slot 9
new slot 9: 20005CE0 -> 20006A00 -> 20005D40 -> (loops) 20006A00
old slot 17: 20006A00 -> 20005D40 -> (loops) 20006A00
add to slot 17
new slot 17: 20005CE0 -> 20006A00 -> 20005D40 -> (loops) 20006A00
old slot 25: 20006A00 -> 20005D40 -> (loops) 20006A00
add to slot 25
new slot 25: 20005CE0 -> 20006A00 -> 20005D40 -> (loops) 20006A00
Periodic Schedule:
0: 20006AC0 -> 20006A00 -> 20005D40 -> (loops) 20006A00
1: 20005CE0 -> 20006A00 -> 20005D40 -> (loops) 20006A00
2: 20006A00 -> 20005D40 -> (loops) 20006A00
3: 20006A00 -> 20005D40 -> (loops) 20006A00
4: 20006A00 -> 20005D40 -> (loops) 20006A00
5: 20006A00 -> 20005D40 -> (loops) 20006A00
6: 20006A00 -> 20005D40 -> (loops) 20006A00
7: 20006A00 -> 20005D40 -> (loops) 20006A00
8: 20005D40 -> 20006A00 -> (loops) 20005D40
9: 20005CE0 -> 20006A00 -> 20005D40 -> (loops) 20006A00
10: 20006A00 -> 20005D40 -> (loops) 20006A00
11: 20006A00 -> 20005D40 -> (loops) 20006A00
12: 20006A00 -> 20005D40 -> (loops) 20006A00
13: 20006A00 -> 20005D40 -> (loops) 20006A00
14: 20006A00 -> 20005D40 -> (loops) 20006A00
15: 20006A00 -> 20005D40 -> (loops) 20006A00
16: 20005D40 -> 20006A00 -> (loops) 20005D40
17: 20005CE0 -> 20006A00 -> 20005D40 -> (loops) 20006A00
18: 20006A00 -> 20005D40 -> (loops) 20006A00
19: 20006A00 -> 20005D40 -> (loops) 20006A00
20: 20006A00 -> 20005D40 -> (loops) 20006A00
21: 20006A00 -> 20005D40 -> (loops) 20006A00
22: 20006A00 -> 20005D40 -> (loops) 20006A00
23: 20006A00 -> 20005D40 -> (loops) 20006A00
24: 20005D40 -> 20006A00 -> (loops) 20005D40
25: 20005CE0 -> 20006A00 -> 20005D40 -> (loops) 20006A00
26: 20006A00 -> 20005D40 -> (loops) 20006A00
27: 20006A00 -> 20005D40 -> (loops) 20006A00
28: 20006A00 -> 20005D40 -> (loops) 20006A00
29: 20006A00 -> 20005D40 -> (loops) 20006A00
30: 20006A00 -> 20005D40 -> (loops) 20006A00
31: 20006A00 -> 20005D40 -> (loops) 20006A00
return new_Pipe: 20005CE0
Descriptor 33 = HID
Descriptor 5 = ENDPOINT
Descriptor 4 = INTERFACE
HIDParser claim this=20006620
bInterfaceNumber = 2
bInterfaceClass = 3
bInterfaceSubClass = 0
bInterfaceProtocol = 0
HID Parser Claim: 09 04 02 00 01 03 00 00 00 09 21 10 01 00 01 22 25 00 07 05 83 03 10 00 01
report descriptor size = 37
Single endpoint HID:
endpoint = 83
size = 16
interval = 1
new_Pipe
allocate_interrupt_pipe_bandwidth
best_bandwidth = 11, at offset = 2, shift= 2
return from: allocate_interrupt_pipe_bandwidth
After endpoint > 0
After capabilities
before add_qh_to_periodic_schedule
add_qh_to_periodic_schedule: 20005C80
interval = 1
offset = 2
old slot 2: 20006A00 -> 20005D40 -> (loops) 20006A00
traverse list 2
num 20006A02 node 20006A00->20005D42
num 20005D42 node 20005D40->20006A02
num 20006A02 node 20006A00->20005D42
num 20005D42 node 20005D40->20006A02
num 20006A02 node 20006A00->20005D42
<Repeated until I powered off>