-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathNormalTeensyUSBlog.txt
153 lines (133 loc) · 5.83 KB
/
NormalTeensyUSBlog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
Serial+Mouse+Keyboard+Joystick
reset
err:08
token_dne: ep=00,rx,even
sof_token
token_dne: ep=00,tx,even
sof_token
reset
sof_token
sof_token
token_dne: ep=00,rx,even
sof_token
token_dne: ep=00,tx,even
sof_token
sof_token
token_dne: ep=00,rx,odd
sof_token
token_dne: ep=00,tx,odd
sof_token
token_dne: ep=00,rx,even
sof_token
token_dne: ep=00,rx,odd
sof_token
token_dne: ep=00,tx,even
sof_token
token_dne: ep=00,tx,odd
sof_token
token_dne: ep=00,tx,even
sof_token
token_dne: ep=00,rx,even
sof_token
token_dne: ep=00,rx,odd
sof_token
token_dne: ep=00,tx,odd
sof_token
token_dne: ep=00,rx,even
sof_token
token_dne: ep=00,rx,odd
sof_token
token_dne: ep=00,tx,even
sof_token
token_dne: ep=00,rx,even
sof_token
token_dne: ep=00,rx,odd
sof_token
token_dne: ep=00,tx,odd
sof_token
token_dne: ep=00,rx,even
sof_token
token_dne: ep=00,rx,odd
sof_token
token_dne: ep=00,tx,even
sof_token
token_dne: ep=00,rx,even
sof_token
token_dne: ep=00,rx,odd
sof_token
token_dne: ep=00,tx,odd
sof_token
token_dne: ep=00,tx,even
sof_token
token_dne: ep=00,tx,odd
sof_token
token_dne: ep=00,rx,even
sof_token
token_dne: ep=00,rx,odd
sof_token
token_dne: ep=00,tx,even
sof_token
token_dne: ep=00,rx,even
sof_token
token_dne: ep=00,rx,odd
sof_token
stall:
sof_token
token_dne: ep=00,tx,odd
sof_token
sof_token
...
dump with more info
reset
TOKDNE. Pid: 0D, count: 08. Data: 01000680, 00400000 <- GET_DEVICE_DESCRIPTOR
tx0: 12 01 00 02 EF 02 01 40 C0 16 87 04 00 01 01 02 03 01 ,0012 <- device descriptor, 1 configuration
TOKDNE. Pid: 09, count: 12. Data: 02000112, 400102EF <- IN token to get data
reset <- reset, so no status phase
TOKDNE. Pid: 0D, count: 08. Data: 00020500, 00000000 <- SET_ADDRESS to 2
tx0: ,0000 <- data is 0
TOKDNE. Pid: 09, count: 00. Data: 20008000, 000001BD <- STATUS IN from host (data is 0)
TOKDNE. Pid: 0D, count: 08. Data: 01000680, 00120000 <- GET_DEVICE_DESCRIPTOR
tx0: 12 01 00 02 EF 02 01 40 C0 16 87 04 00 01 01 02 03 01 ,0012 <- device descriptor
TOKDNE. Pid: 09, count: 12. Data: 02000112, 400102EF <- IN token to get data
TOKDNE. Pid: 01, count: 00. Data: 00020500, 00000000 <- STATUS OUT from host (data is 0)
TOKDNE. Pid: 0D, count: 08. Data: 02000680, 00FF0000 <- GET_DESCRIPTOR #2 (device configuration)
tx0: 09 02 96 00 05 01 00 C0 32 08 0B 00 02 02 02 01 04 09 04 00 00 01 02 02 01 00 05 24 00 10 01 05 24 01 01 01 04 24 02 06 05 24 06 00 01 07 05 82 03 10 00 40 09 04 01 00 02 0A 00 00 00 07 05 03 ,0040 <- data #1, 64 bytes (xx xx 96 00 ... means it's 150 bytes long)
tx0: 02 40 00 00 07 05 84 02 40 00 00 09 04 02 00 01 03 01 01 00 09 21 11 01 00 01 22 55 00 07 05 81 03 08 00 01 09 04 03 00 01 03 00 00 00 09 21 11 01 00 01 22 45 00 07 05 85 03 08 00 02 09 04 04 ,0040 <- data #2, 64 bytes
TOKDNE. Pid: 09, count: 40. Data: 00960209, C0000105 <- IN to get data #1, 64 bytes
tx0: 00 01 03 00 00 00 09 21 11 01 00 01 22 55 00 07 05 86 03 10 00 01 ,0016 <- data #3, 22 bytes, final chunk
TOKDNE. Pid: 09, count: 40. Data: 00004002, 02840507 <- IN to get data #2, 64 bytes
TOKDNE. Pid: 09, count: 16. Data: 00030100, 21090000 <- IN to get data #3, 22 bytes
TOKDNE. Pid: 01, count: 00. Data: 00020500, 00000000 <- STATUS OUT (data is 0)
TOKDNE. Pid: 0D, count: 08. Data: 03030680, 00FF0409 <- next descriptor, String descriptor #3, language ID 0x0409: English US.
tx0: 0E 03 32 00 31 00 36 00 38 00 36 00 30 00 ,000E <- data, It's a unique serial number in a read-only part of memory, each Teensy has a different one.
TOKDNE. Pid: 09, count: 0E. Data: 0032030E, 00360031 <- IN token to get data
TOKDNE. Pid: 01, count: 00. Data: 00020500, 00000000 <- STATUS OUT
TOKDNE. Pid: 0D, count: 08. Data: 03000680, 00FF0000 <- next descriptor, String desc. #0 contains supported language IDs
tx0: 04 03 09 04 ,0004 <- data, only ID is english U.S.
TOKDNE. Pid: 09, count: 04. Data: 04090304, 0032030E <- IN to get data
TOKDNE. Pid: 01, count: 00. Data: 00020500, 00000000 <- STATUS OUT
TOKDNE. Pid: 0D, count: 08. Data: 03020680, 00FF0409 <- next descriptor, String desc. #2 contains product name
tx0: 3E 03 53 00 65 00 72 00 69 00 61 00 6C 00 2F 00 4B 00 65 00 79 00 62 00 6F 00 61 00 72 00 64 00 2F 00 4D 00 6F 00 75 00 73 00 65 00 2F 00 4A 00 6F 00 79 00 73 00 74 00 69 00 63 00 6B 00 ,003E <- data, "Serial/Keyboard/Mouse/Joystick"
TOKDNE. Pid: 09, count: 3E. Data: 0053033E, 00720065 <- IN token to get data
TOKDNE. Pid: 01, count: 00. Data: 00020500, 00000000 <- STATUS OUT
TOKDNE. Pid: 0D, count: 08. Data: 01000680, 00120000 <- again device descriptor (probably the different drivers ask this again)
tx0: 12 01 00 02 EF 02 01 40 C0 16 87 04 00 01 01 02 03 01 ,0012
TOKDNE. Pid: 09, count: 12. Data: 02000112, 400102EF
TOKDNE. Pid: 01, count: 00. Data: 00020500, 00000000
TOKDNE. Pid: 0D, count: 08. Data: 02000680, 01090000 <- again config. descriptor (probably the different drivers ask this again), why does it ask for 0x0109:265 bytes?
tx0: 09 02 96 00 05 01 00 C0 32 08 0B 00 02 02 02 01 04 09 04 00 00 01 02 02 01 00 05 24 00 10 01 05 24 01 01 01 04 24 02 06 05 24 06 00 01 07 05 82 03 10 00 40 09 04 01 00 02 0A 00 00 00 07 05 03 ,0040
tx0: 02 40 00 00 07 05 84 02 40 00 00 09 04 02 00 01 03 01 01 00 09 21 11 01 00 01 22 55 00 07 05 81 03 08 00 01 09 04 03 00 01 03 00 00 00 09 21 11 01 00 01 22 45 00 07 05 85 03 08 00 02 09 04 04 ,0040
TOKDNE. Pid: 09, count: 40. Data: 00960209, C0000105
tx0: 00 01 03 00 00 00 09 21 11 01 00 01 22 55 00 07 05 86 03 10 00 01 ,0016
TOKDNE. Pid: 09, count: 40. Data: 00004002, 02840507
TOKDNE. Pid: 09, count: 16. Data: 00030100, 21090000
TOKDNE. Pid: 01, count: 00. Data: 00020500, 00000000
TOKDNE. Pid: 0D, count: 08. Data: 00010900, 00000000 <- SET_CONFIGURATION to 0x10
tx0: ,0000
TOKDNE. Pid: 09, count: 00. Data: 20008000, 000001BD
TOKDNE. Pid: 0D, count: 08. Data: 000021A1, 00070000 <- GET LINE CODING (CDC format)
stall:
TOKDNE. Pid: 0D, count: 08. Data: 00002221, 00000000 <- SET CONTROL LINE STATE
tx0: ,0000
TOKDNE. Pid: 09, count: 00. Data: 20008000, 000001BD
sleep