Tim, OK, here we go. I think there's definitely something missing. I ran the usbms1.d command redirecting to a text file and it was empty. I've attached the other two output files but I'll outline here what happened because in 2 cases, there was an interesting line in the terminal window that did not get captured in the redirect to the text file.
1. For das.sh, I see the following line in the terminal window before the script starts generating output (that appears in the attached file): mdb: failed to dereference symbol: unknown symbol name See the rest of the output in the attached file das.sh.output.txt. 2. For usbms1.d I see the following in the terminal window and there's nothing in the text file (from adding "> output.txt" to the command) dtrace: failed to compile script ./usbms1.d: line 5: probe description fbt::usbms_open:return does not match any probes Again, there is no output file because it was empty. 3. For echo '::prtusb -tv' | mdb -k, see the attached file echoprtusb.output.txt. -- This message posted from opensolaris.org -------------- next part -------------- hidparser_get_usage_list_in_order: pushq %rbp hidparser_get_usage_list_in_order+1: movq %rsp,%rbp hidparser_get_usage_list_in_order+4: subq $0x20,%rsp hidparser_get_usage_list_in_order+8: movq %rdi,-0x8(%rbp) hidparser_get_usage_list_in_order+0xc: movq %rsi,-0x10(%rbp) hidparser_get_usage_list_in_order+0x10: movq %rdx,-0x18(%rbp) hidparser_get_usage_list_in_order+0x14: movq %rcx,-0x20(%rbp) hidparser_get_usage_list_in_order+0x18: testq %rdi,%rdi hidparser_get_usage_list_in_order+0x1b: je +0x21 <hidparser_get_usage_list_in_order+0x3e> hidparser_get_usage_list_in_order+0x1d: cmpq $0x0,(%rdi) hidparser_get_usage_list_in_order+0x21: je +0x1b <hidparser_get_usage_list_in_order+0x3e> hidparser_get_usage_list_in_order+0x23: xorl %eax,%eax hidparser_get_usage_list_in_order+0x25: movq %rcx,%r8 hidparser_get_usage_list_in_order+0x28: movl %eax,0x8(%r8) hidparser_get_usage_list_in_order+0x2c: movq (%rdi),%rdi hidparser_get_usage_list_in_order+0x2f: movl %esi,%eax hidparser_get_usage_list_in_order+0x31: movl %edx,%ecx hidparser_get_usage_list_in_order+0x33: xorl %esi,%esi hidparser_get_usage_list_in_order+0x35: movl %eax,%edx hidparser_get_usage_list_in_order+0x37: call +0xc <hidparser_get_usage_list_in_order_internal> hidparser_get_usage_list_in_order+0x3c: jmp +0x5 <hidparser_get_usage_list_in_order+0x43> hidparser_get_usage_list_in_order+0x3e: movl $0x1,%eax hidparser_get_usage_list_in_order+0x43: leave hidparser_get_usage_list_in_order+0x44: ret hidparser_get_usage_list_in_order_internal: pushq %rbp hidparser_get_usage_list_in_order_internal+1: movq %rsp,%rbp hidparser_get_usage_list_in_order_internal+4: subq $0x28,%rsp hidparser_get_usage_list_in_order_internal+8: movq %rdi,-0x8(%rbp) hidparser_get_usage_list_in_order_internal+0xc: movq %rsi,-0x10(%rbp) hidparser_get_usage_list_in_order_internal+0x10:movq %rdx,-0x18(%rbp) hidparser_get_usage_list_in_order_internal+0x14:movq %rcx,-0x20(%rbp) hidparser_get_usage_list_in_order_internal+0x18:movq %r8,-0x28(%rbp) hidparser_get_usage_list_in_order_internal+0x1c:pushq %rbx hidparser_get_usage_list_in_order_internal+0x1d:pushq %r12 hidparser_get_usage_list_in_order_internal+0x1f:pushq %r13 hidparser_get_usage_list_in_order_internal+0x21:pushq %r14 hidparser_get_usage_list_in_order_internal+0x23:pushq %r15 hidparser_get_usage_list_in_order_internal+0x25:subq $0x90,%rsp hidparser_get_usage_list_in_order_internal+0x2c:movq %rdi,%r13 hidparser_get_usage_list_in_order_internal+0x2f:testq %rdi,%rdi hidparser_get_usage_list_in_order_internal+0x32: je +0x400 <hidparser_get_usage_list_in_order_internal+0x438> hidparser_get_usage_list_in_order_internal+0x38:movq %r8,%r14 hidparser_get_usage_list_in_order_internal+0x3b:addq $0xc,%r8 hidparser_get_usage_list_in_order_internal+0x3f:movq %r8,-0xa8(%rbp) hidparser_get_usage_list_in_order_internal+0x46:movl %edx,-0xe0(%rbp) hidparser_get_usage_list_in_order_internal+0x4c:movl %ecx,-0xdc(%rbp) hidparser_get_usage_list_in_order_internal+0x52:movl %esi,-0xd8(%rbp) hidparser_get_usage_list_in_order_internal+0x58:movl 0x0(%r13),%eax hidparser_get_usage_list_in_order_internal+0x5c:cmpl $0xa0,%eax hidparser_get_usage_list_in_order_internal+0x61: je +0x353 <hidparser_get_usage_list_in_order_internal+0x3ba> hidparser_get_usage_list_in_order_internal+0x67:cmpl -0xdc(%rbp),%eax hidparser_get_usage_list_in_order_internal+0x6d: jne +0x39a <hidparser_get_usage_list_in_order_internal+0x40d> hidparser_get_usage_list_in_order_internal+0x73:movq 0x18(%r13),%r12 hidparser_get_usage_list_in_order_internal+0x77:xorl %eax,%eax hidparser_get_usage_list_in_order_internal+0x79:testq %r12,%r12 hidparser_get_usage_list_in_order_internal+0x7c:movl %eax,-0xc4(%rbp) hidparser_get_usage_list_in_order_internal+0x82: je +0x2d2 <hidparser_get_usage_list_in_order_internal+0x35a> hidparser_get_usage_list_in_order_internal+0x88:xorl %r15d,%r15d hidparser_get_usage_list_in_order_internal+0x8b:movl $0x0,-0xc0(%rbp) hidparser_get_usage_list_in_order_internal+0x95:movl $0x0,-0xac(%rbp) hidparser_get_usage_list_in_order_internal+0x9f:movl $0x0,-0xb0(%rbp) hidparser_get_usage_list_in_order_internal+0xa9:movl $0x0,-0xb4(%rbp) hidparser_get_usage_list_in_order_internal+0xb3:movl $0x0,-0xb8(%rbp) hidparser_get_usage_list_in_order_internal+0xbd:movl (%r12),%eax hidparser_get_usage_list_in_order_internal+0xc1:cmpl $0x8,%eax hidparser_get_usage_list_in_order_internal+0xc4: jne +0x3d <hidparser_get_usage_list_in_order_internal+0x103> hidparser_get_usage_list_in_order_internal+0xc6:cmpl $0x14,%r15d hidparser_get_usage_list_in_order_internal+0xca: jge +0x34c <hidparser_get_usage_list_in_order_internal+0x41c> hidparser_get_usage_list_in_order_internal+0xd0:movq %r12,%rdi hidparser_get_usage_list_in_order_internal+0xd3: call +0x1fa8 <hidparser_find_unsigned_val> hidparser_get_usage_list_in_order_internal+0xd8:movl %eax,%ebx hidparser_get_usage_list_in_order_internal+0xda:testl %ebx,%ebx hidparser_get_usage_list_in_order_internal+0xdc: je +0xbb <hidparser_get_usage_list_in_order_internal+0x19d> hidparser_get_usage_list_in_order_internal+0xe2:movl -0xc0(%rbp),%eax hidparser_get_usage_list_in_order_internal+0xe8:movzbl %al,%ecx hidparser_get_usage_list_in_order_internal+0xeb:movl %ebx,-0xa0(%rbp,%rcx,4) hidparser_get_usage_list_in_order_internal+0xf2:incl %eax hidparser_get_usage_list_in_order_internal+0xf4:movl %eax,-0xc0(%rbp) hidparser_get_usage_list_in_order_internal+0xfa:movzbl %al,%r15d hidparser_get_usage_list_in_order_internal+0xfe: jmp +0x9a <hidparser_get_usage_list_in_order_internal+0x19d> hidparser_get_usage_list_in_order_internal+0x103: cmpl $0x18,%eax hidparser_get_usage_list_in_order_internal+0x106: jne +0x1a <hidparser_get_usage_list_in_order_internal+0x122> hidparser_get_usage_list_in_order_internal+0x108: movq %r12,%rdi hidparser_get_usage_list_in_order_internal+0x10b: call +0x1f70 <hidparser_find_unsigned_val> hidparser_get_usage_list_in_order_internal+0x110: movl %eax,-0xd4(%rbp) hidparser_get_usage_list_in_order_internal+0x116: movl $0x1,-0xb4(%rbp) hidparser_get_usage_list_in_order_internal+0x120: jmp +0x7b <hidparser_get_usage_list_in_order_internal+0x19d> hidparser_get_usage_list_in_order_internal+0x122: cmpl $0x28,%eax hidparser_get_usage_list_in_order_internal+0x125: jne +0x1a <hidparser_get_usage_list_in_order_internal+0x141> hidparser_get_usage_list_in_order_internal+0x127: movq %r12,%rdi hidparser_get_usage_list_in_order_internal+0x12a: call +0x1f51 <hidparser_find_unsigned_val> hidparser_get_usage_list_in_order_internal+0x12f: movl %eax,-0xc8(%rbp) hidparser_get_usage_list_in_order_internal+0x135: movl $0x1,-0xb8(%rbp) hidparser_get_usage_list_in_order_internal+0x13f: jmp +0x5c <hidparser_get_usage_list_in_order_internal+0x19d> hidparser_get_usage_list_in_order_internal+0x141: cmpl $0x84,%eax hidparser_get_usage_list_in_order_internal+0x146: jne +0x3f <hidparser_get_usage_list_in_order_internal+0x187> hidparser_get_usage_list_in_order_internal+0x148: movq 0x8(%r12),%r8 hidparser_get_usage_list_in_order_internal+0x14d: movsbl (%r8),%eax hidparser_get_usage_list_in_order_internal+0x151: cmpl -0xe0(%rbp),%eax hidparser_get_usage_list_in_order_internal+0x157: je +0x17 <hidparser_get_usage_list_in_order_internal+0x170> hidparser_get_usage_list_in_order_internal+0x159: movl $0x1,%eax hidparser_get_usage_list_in_order_internal+0x15e: movl $0x1,-0xac(%rbp) hidparser_get_usage_list_in_order_internal+0x168: movl %eax,-0xc4(%rbp) hidparser_get_usage_list_in_order_internal+0x16e: jmp +0x2d <hidparser_get_usage_list_in_order_internal+0x19d> hidparser_get_usage_list_in_order_internal+0x170: movl $0x1,%eax hidparser_get_usage_list_in_order_internal+0x175: movl $0x1,-0xac(%rbp) hidparser_get_usage_list_in_order_internal+0x17f: movl %eax,-0xb0(%rbp) hidparser_get_usage_list_in_order_internal+0x185: jmp +0x16 <hidparser_get_usage_list_in_order_internal+0x19d> hidparser_get_usage_list_in_order_internal+0x187: cmpl $0xa8,%eax hidparser_get_usage_list_in_order_internal+0x18c: jne +0xf <hidparser_get_usage_list_in_order_internal+0x19d> hidparser_get_usage_list_in_order_internal+0x18e: movq 0x18(%r12),%r12 hidparser_get_usage_list_in_order_internal+0x193: cmpl $0xa8,(%r12) hidparser_get_usage_list_in_order_internal+0x19b: jne -0xf <hidparser_get_usage_list_in_order_internal+0x18e> hidparser_get_usage_list_in_order_internal+0x19d: movq 0x18(%r12),%r12 hidparser_get_usage_list_in_order_internal+0x1a2: testq %r12,%r12 hidparser_get_usage_list_in_order_internal+0x1a5: jne -0xee <hidparser_get_usage_list_in_order_internal+0xbd> hidparser_get_usage_list_in_order_internal+0x1ab: cmpb $0x0,-0xac(%rbp) hidparser_get_usage_list_in_order_internal+0x1b2: je +0xd <hidparser_get_usage_list_in_order_internal+0x1c1> hidparser_get_usage_list_in_order_internal+0x1b4: cmpb $0x0,-0xb0(%rbp) hidparser_get_usage_list_in_order_internal+0x1bb: je +0x199 <hidparser_get_usage_list_in_order_internal+0x35a> hidparser_get_usage_list_in_order_internal+0x1c1: testl %r15d,%r15d hidparser_get_usage_list_in_order_internal+0x1c4: jle +0xcc <hidparser_get_usage_list_in_order_internal+0x296> hidparser_get_usage_list_in_order_internal+0x1ca: decl %r15d hidparser_get_usage_list_in_order_internal+0x1cd: movl %r15d,-0xb0(%rbp) hidparser_get_usage_list_in_order_internal+0x1d4: movzbl -0xc0(%rbp),%eax hidparser_get_usage_list_in_order_internal+0x1db: movl %eax,-0xbc(%rbp) hidparser_get_usage_list_in_order_internal+0x1e1: leaq -0xa0(%rbp),%r12 hidparser_get_usage_list_in_order_internal+0x1e8: movl $0x0,-0xac(%rbp) hidparser_get_usage_list_in_order_internal+0x1f2: prefetcht0 0xe0(%r12) hidparser_get_usage_list_in_order_internal+0x1fb: movl 0x8(%r14),%eax hidparser_get_usage_list_in_order_internal+0x1ff: cmpl $0x14,%eax hidparser_get_usage_list_in_order_internal+0x202: jae +0x21b <hidparser_get_usage_list_in_order_internal+0x423> hidparser_get_usage_list_in_order_internal+0x208: leal 0x1(%rax),%ecx hidparser_get_usage_list_in_order_internal+0x20b: movl %ecx,0x8(%r14) hidparser_get_usage_list_in_order_internal+0x20f: movslq %eax,%r15 hidparser_get_usage_list_in_order_internal+0x212: shlq $0x5,%r15 hidparser_get_usage_list_in_order_internal+0x216: movq -0xa8(%rbp),%rdi hidparser_get_usage_list_in_order_internal+0x21d: addq %r15,%rdi hidparser_get_usage_list_in_order_internal+0x220: movq %rdi,-0xd0(%rbp) hidparser_get_usage_list_in_order_internal+0x227: movq 0x18(%r13),%rsi hidparser_get_usage_list_in_order_internal+0x22b: call +0x220 <hidparser_fill_usage_info> hidparser_get_usage_list_in_order_internal+0x230: movl 0x24(%r14,%r15),%eax hidparser_get_usage_list_in_order_internal+0x235: xorl %edx,%edx hidparser_get_usage_list_in_order_internal+0x237: movl -0xbc(%rbp),%ecx hidparser_get_usage_list_in_order_internal+0x23d: divl %ecx hidparser_get_usage_list_in_order_internal+0x23f: movl %eax,0x24(%r14,%r15) hidparser_get_usage_list_in_order_internal+0x244: movl -0xd8(%rbp),%eax hidparser_get_usage_list_in_order_internal+0x24a: movl %eax,0x18(%r14,%r15) hidparser_get_usage_list_in_order_internal+0x24f: movl (%r12),%eax hidparser_get_usage_list_in_order_internal+0x253: movw %ax,0xe(%r14,%r15) hidparser_get_usage_list_in_order_internal+0x259: shrl $0x10,%eax hidparser_get_usage_list_in_order_internal+0x25c: je +0x6 <hidparser_get_usage_list_in_order_internal+0x264> hidparser_get_usage_list_in_order_internal+0x25e: movw %ax,0xc(%r14,%r15) hidparser_get_usage_list_in_order_internal+0x264: movl -0xe0(%rbp),%eax hidparser_get_usage_list_in_order_internal+0x26a: movl %eax,(%r14) hidparser_get_usage_list_in_order_internal+0x26d: addq $0x4,%r12 hidparser_get_usage_list_in_order_internal+0x271: movl -0xac(%rbp),%eax hidparser_get_usage_list_in_order_internal+0x277: incl %eax hidparser_get_usage_list_in_order_internal+0x279: movl %eax,-0xac(%rbp) hidparser_get_usage_list_in_order_internal+0x27f: movl $0x1,%ecx hidparser_get_usage_list_in_order_internal+0x284: cmpl -0xb0(%rbp),%eax hidparser_get_usage_list_in_order_internal+0x28a: movl %ecx,-0xc4(%rbp) hidparser_get_usage_list_in_order_internal+0x290: jle -0xa4 <hidparser_get_usage_list_in_order_internal+0x1f2> hidparser_get_usage_list_in_order_internal+0x296: cmpb $0x0,-0xb4(%rbp) hidparser_get_usage_list_in_order_internal+0x29d: je +0xb7 <hidparser_get_usage_list_in_order_internal+0x35a> hidparser_get_usage_list_in_order_internal+0x2a3: cmpb $0x0,-0xb8(%rbp) hidparser_get_usage_list_in_order_internal+0x2aa: je +0xaa <hidparser_get_usage_list_in_order_internal+0x35a> hidparser_get_usage_list_in_order_internal+0x2b0: movl 0x8(%r14),%eax hidparser_get_usage_list_in_order_internal+0x2b4: cmpl $0x14,%eax hidparser_get_usage_list_in_order_internal+0x2b7: jae +0x16d <hidparser_get_usage_list_in_order_internal+0x42a> hidparser_get_usage_list_in_order_internal+0x2bd: cmpb $0x0,-0xc0(%rbp) hidparser_get_usage_list_in_order_internal+0x2c4: je +0x1f <hidparser_get_usage_list_in_order_internal+0x2e5> hidparser_get_usage_list_in_order_internal+0x2c6: movzwl -0xd4(%rbp),%eax hidparser_get_usage_list_in_order_internal+0x2cd: movq -0xd0(%rbp),%r8 hidparser_get_usage_list_in_order_internal+0x2d4: movl %eax,0x4(%r8) hidparser_get_usage_list_in_order_internal+0x2d8: movzwl -0xc8(%rbp),%eax hidparser_get_usage_list_in_order_internal+0x2df: movl %eax,0x8(%r8) hidparser_get_usage_list_in_order_internal+0x2e3: jmp +0x5f <hidparser_get_usage_list_in_order_internal+0x344> hidparser_get_usage_list_in_order_internal+0x2e5: leal 0x1(%rax),%ecx hidparser_get_usage_list_in_order_internal+0x2e8: movl %ecx,0x8(%r14) hidparser_get_usage_list_in_order_internal+0x2ec: movslq %eax,%r12 hidparser_get_usage_list_in_order_internal+0x2ef: shlq $0x5,%r12 hidparser_get_usage_list_in_order_internal+0x2f3: movq -0xa8(%rbp),%rdi hidparser_get_usage_list_in_order_internal+0x2fa: addq %r12,%rdi hidparser_get_usage_list_in_order_internal+0x2fd: movq %rdi,-0xd0(%rbp) hidparser_get_usage_list_in_order_internal+0x304: movq 0x18(%r13),%rsi hidparser_get_usage_list_in_order_internal+0x308: call +0x143 <hidparser_fill_usage_info> hidparser_get_usage_list_in_order_internal+0x30d: movl -0xd8(%rbp),%eax hidparser_get_usage_list_in_order_internal+0x313: movl %eax,0x18(%r14,%r12) hidparser_get_usage_list_in_order_internal+0x318: movzwl -0xd4(%rbp),%eax hidparser_get_usage_list_in_order_internal+0x31f: movl %eax,0x10(%r14,%r12) hidparser_get_usage_list_in_order_internal+0x324: movzwl -0xc8(%rbp),%eax hidparser_get_usage_list_in_order_internal+0x32b: movl %eax,0x14(%r14,%r12) hidparser_get_usage_list_in_order_internal+0x330: movl -0xe0(%rbp),%eax hidparser_get_usage_list_in_order_internal+0x336: movl %eax,(%r14) hidparser_get_usage_list_in_order_internal+0x339: movl $0x1,%eax hidparser_get_usage_list_in_order_internal+0x33e: movl %eax,-0xc4(%rbp) hidparser_get_usage_list_in_order_internal+0x344: movl -0xc8(%rbp),%eax hidparser_get_usage_list_in_order_internal+0x34a: shrl $0x10,%eax hidparser_get_usage_list_in_order_internal+0x34d: je +0xb <hidparser_get_usage_list_in_order_internal+0x35a> hidparser_get_usage_list_in_order_internal+0x34f: movq -0xd0(%rbp),%r8 hidparser_get_usage_list_in_order_internal+0x356: movw %ax,(%r8) hidparser_get_usage_list_in_order_internal+0x35a: cmpb $0x0,-0xc4(%rbp) hidparser_get_usage_list_in_order_internal+0x361: jne +0xa6 <hidparser_get_usage_list_in_order_internal+0x40d> hidparser_get_usage_list_in_order_internal+0x367: movl 0x8(%r14),%eax hidparser_get_usage_list_in_order_internal+0x36b: cmpl $0x14,%eax hidparser_get_usage_list_in_order_internal+0x36e: jae +0xbd <hidparser_get_usage_list_in_order_internal+0x431> hidparser_get_usage_list_in_order_internal+0x374: leal 0x1(%rax),%ecx hidparser_get_usage_list_in_order_internal+0x377: movl %ecx,0x8(%r14) hidparser_get_usage_list_in_order_internal+0x37b: movslq %eax,%r12 hidparser_get_usage_list_in_order_internal+0x37e: shlq $0x5,%r12 hidparser_get_usage_list_in_order_internal+0x382: movq -0xa8(%rbp),%rdi hidparser_get_usage_list_in_order_internal+0x389: addq %r12,%rdi hidparser_get_usage_list_in_order_internal+0x38c: movq %rdi,-0xd0(%rbp) hidparser_get_usage_list_in_order_internal+0x393: movq 0x18(%r13),%rsi hidparser_get_usage_list_in_order_internal+0x397: call +0xb4 <hidparser_fill_usage_info> hidparser_get_usage_list_in_order_internal+0x39c: movl -0xd8(%rbp),%eax hidparser_get_usage_list_in_order_internal+0x3a2: movl %eax,0x18(%r14,%r12) hidparser_get_usage_list_in_order_internal+0x3a7: xorl %eax,%eax hidparser_get_usage_list_in_order_internal+0x3a9: movw %ax,0xe(%r14,%r12) hidparser_get_usage_list_in_order_internal+0x3af: movl -0xe0(%rbp),%eax hidparser_get_usage_list_in_order_internal+0x3b5: movl %eax,(%r14) hidparser_get_usage_list_in_order_internal+0x3b8: jmp +0x53 <hidparser_get_usage_list_in_order_internal+0x40d> hidparser_get_usage_list_in_order_internal+0x3ba: movq 0x18(%r13),%r12 hidparser_get_usage_list_in_order_internal+0x3be: xorl %eax,%eax hidparser_get_usage_list_in_order_internal+0x3c0: testq %r12,%r12 hidparser_get_usage_list_in_order_internal+0x3c3: je +0x20 <hidparser_get_usage_list_in_order_internal+0x3e5> hidparser_get_usage_list_in_order_internal+0x3c5: cmpl $0x8,(%r12) hidparser_get_usage_list_in_order_internal+0x3ca: jne +0xf <hidparser_get_usage_list_in_order_internal+0x3db> hidparser_get_usage_list_in_order_internal+0x3cc: movq %r12,%rdi hidparser_get_usage_list_in_order_internal+0x3cf: call +0x1cac <hidparser_find_unsigned_val> hidparser_get_usage_list_in_order_internal+0x3d4: movl %eax,%ebx hidparser_get_usage_list_in_order_internal+0x3d6: movl $0x1,%eax hidparser_get_usage_list_in_order_internal+0x3db: movq 0x18(%r12),%r12 hidparser_get_usage_list_in_order_internal+0x3e0: testq %r12,%r12 hidparser_get_usage_list_in_order_internal+0x3e3: jne -0x20 <hidparser_get_usage_list_in_order_internal+0x3c5> hidparser_get_usage_list_in_order_internal+0x3e5: testb %al,%al hidparser_get_usage_list_in_order_internal+0x3e7: movl $0x0,%eax hidparser_get_usage_list_in_order_internal+0x3ec: cmovl.e %eax,%ebx hidparser_get_usage_list_in_order_internal+0x3ef: movq 0x20(%r13),%rdi hidparser_get_usage_list_in_order_internal+0x3f3: movl %ebx,%esi hidparser_get_usage_list_in_order_internal+0x3f5: movl -0xe0(%rbp),%edx hidparser_get_usage_list_in_order_internal+0x3fb: movl -0xdc(%rbp),%ecx hidparser_get_usage_list_in_order_internal+0x401: movq %r14,%r8 hidparser_get_usage_list_in_order_internal+0x404: call -0x409 <hidparser_get_usage_list_in_order_internal> hidparser_get_usage_list_in_order_internal+0x409: testl %eax,%eax hidparser_get_usage_list_in_order_internal+0x40b: jne +0x2d <hidparser_get_usage_list_in_order_internal+0x43a> hidparser_get_usage_list_in_order_internal+0x40d: movq 0x28(%r13),%r13 hidparser_get_usage_list_in_order_internal+0x411: testq %r13,%r13 hidparser_get_usage_list_in_order_internal+0x414: jne -0x3c2 <hidparser_get_usage_list_in_order_internal+0x58> hidparser_get_usage_list_in_order_internal+0x41a: jmp +0x1c <hidparser_get_usage_list_in_order_internal+0x438> hidparser_get_usage_list_in_order_internal+0x41c: movl $0x1,%eax hidparser_get_usage_list_in_order_internal+0x421: jmp +0x17 <hidparser_get_usage_list_in_order_internal+0x43a> hidparser_get_usage_list_in_order_internal+0x423: movl $0x1,%eax hidparser_get_usage_list_in_order_internal+0x428: jmp +0x10 <hidparser_get_usage_list_in_order_internal+0x43a> hidparser_get_usage_list_in_order_internal+0x42a: movl $0x1,%eax hidparser_get_usage_list_in_order_internal+0x42f: jmp +0x9 <hidparser_get_usage_list_in_order_internal+0x43a> hidparser_get_usage_list_in_order_internal+0x431: movl $0x1,%eax hidparser_get_usage_list_in_order_internal+0x436: jmp +0x2 <hidparser_get_usage_list_in_order_internal+0x43a> hidparser_get_usage_list_in_order_internal+0x438: xorl %eax,%eax hidparser_get_usage_list_in_order_internal+0x43a: addq $0x90,%rsp hidparser_get_usage_list_in_order_internal+0x441: popq %r15 hidparser_get_usage_list_in_order_internal+0x443: popq %r14 hidparser_get_usage_list_in_order_internal+0x445: popq %r13 hidparser_get_usage_list_in_order_internal+0x447: popq %r12 hidparser_get_usage_list_in_order_internal+0x449: popq %rbx hidparser_get_usage_list_in_order_internal+0x44a: leave hidparser_get_usage_list_in_order_internal+0x44b: ret hidparser_get_main_item_data_descr: pushq %rbp hidparser_get_main_item_data_descr+1: movq %rsp,%rbp hidparser_get_main_item_data_descr+4: subq $0x30,%rsp hidparser_get_main_item_data_descr+8: movq %rdi,-0x8(%rbp) hidparser_get_main_item_data_descr+0xc: movq %rsi,-0x10(%rbp) hidparser_get_main_item_data_descr+0x10:movq %rdx,-0x18(%rbp) hidparser_get_main_item_data_descr+0x14:movq %rcx,-0x20(%rbp) hidparser_get_main_item_data_descr+0x18:movq %r8,-0x28(%rbp) hidparser_get_main_item_data_descr+0x1c:movq %r9,-0x30(%rbp) hidparser_get_main_item_data_descr+0x20:movq (%rdi),%rdi hidparser_get_main_item_data_descr+0x23: call +0x10 <hidparser_get_main_item_data_descr_main> hidparser_get_main_item_data_descr+0x28:leave hidparser_get_main_item_data_descr+0x29:ret hidparser_get_usage_attribute: pushq %rbp hidparser_get_usage_attribute+1:movq %rsp,%rbp hidparser_get_usage_attribute+4:subq $0x30,%rsp hidparser_get_usage_attribute+8:movq %rdi,-0x8(%rbp) hidparser_get_usage_attribute+0xc: movq %rsi,-0x10(%rbp) hidparser_get_usage_attribute+0x10: movq %rdx,-0x18(%rbp) hidparser_get_usage_attribute+0x14: movq %rcx,-0x20(%rbp) hidparser_get_usage_attribute+0x18: movq %r8,-0x28(%rbp) hidparser_get_usage_attribute+0x1c: movq %r9,-0x30(%rbp) hidparser_get_usage_attribute+0x20: subq $0x8,%rsp hidparser_get_usage_attribute+0x24: movq (%rdi),%rdi hidparser_get_usage_attribute+0x27: pushq 0x10(%rbp) hidparser_get_usage_attribute+0x2a: call +0x9 <hidparser_get_usage_attribute_report_des> hidparser_get_usage_attribute+0x2f: leave hidparser_get_usage_attribute+0x30: ret -------------- next part -------------- INDEX DRIVER INST NODE VID.PID PRODUCT 1 ehci 0 pci1028,1f9 0000.0000 No Product String usba_device: 0x8c133b00 mfg_prod_sn: NULL - NULL -NULL pci1028,1f9, instance #0 (driver name: ehci) /pci at 0,0/pci1028,1f9 at 1a,7 dip: 0x8a29b790 ehci_statep: 0x8baeb000 ehci_errlevel: 0x2 { ehci_root_hub.rh_descr.bDescLength = 0x9 ehci_root_hub.rh_descr.bDescriptorType = 0x29 ehci_root_hub.rh_descr.bNbrPorts = 0x4 ehci_root_hub.rh_descr.wHubCharacteristics = 0x12 ehci_root_hub.rh_descr.bPwrOn2PwrGood = 0x2 ehci_root_hub.rh_descr.bHubContrCurrent = 0 ehci_root_hub.rh_descr.DeviceRemovable = 0 ehci_root_hub.rh_descr.PortPwrCtrlMask = 0 } Device Descriptor { bLength = 0x12 bDescriptorType = 0x1 bcdUSB = 0x200 bDeviceClass = 0x9 bDeviceSubClass = 0 bDeviceProtocol = 0x1 bMaxPacketSize0 = 0x40 idVendor = 0 idProduct = 0 bcdDevice = 0 iManufacturer = 0 iProduct = 0 iSerialNumber = 0 bNumConfigurations = 0x1 } -- Active Config Index 0 Configuration Descriptor { bLength = 0x9 bDescriptorType = 0x2 wTotalLength = 0x19 bNumInterfaces = 0x1 bConfigurationValue = 0x1 iConfiguration = 0x0 bmAttributes = 0x40 bMaxPower = 0x0 } Interface Descriptor { bLength = 0x9 bDescriptorType = 0x4 bInterfaceNumber = 0x0 bAlternateSetting = 0x0 bNumEndpoints = 0x1 bInterfaceClass = 0x9 bInterfaceSubClass = 0x1 bInterfaceProtocol = 0x0 iInterface = 0x0 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x81 bmAttributes = 0x3 wMaxPacketSize = 0x1 bInterval = 0xff } 2 ehci 1 pci1028,1f9 0000.0000 No Product String usba_device: 0x8c133080 mfg_prod_sn: NULL - NULL -NULL pci1028,1f9, instance #1 (driver name: ehci) /pci at 0,0/pci1028,1f9 at 1d,7 dip: 0x8a299298 ehci_statep: 0x8bae8000 ehci_errlevel: 0x2 { ehci_root_hub.rh_descr.bDescLength = 0x9 ehci_root_hub.rh_descr.bDescriptorType = 0x29 ehci_root_hub.rh_descr.bNbrPorts = 0x6 ehci_root_hub.rh_descr.wHubCharacteristics = 0x12 ehci_root_hub.rh_descr.bPwrOn2PwrGood = 0x2 ehci_root_hub.rh_descr.bHubContrCurrent = 0 ehci_root_hub.rh_descr.DeviceRemovable = 0 ehci_root_hub.rh_descr.PortPwrCtrlMask = 0 } Device Descriptor { bLength = 0x12 bDescriptorType = 0x1 bcdUSB = 0x200 bDeviceClass = 0x9 bDeviceSubClass = 0 bDeviceProtocol = 0x1 bMaxPacketSize0 = 0x40 idVendor = 0 idProduct = 0 bcdDevice = 0 iManufacturer = 0 iProduct = 0 iSerialNumber = 0 bNumConfigurations = 0x1 } -- Active Config Index 0 Configuration Descriptor { bLength = 0x9 bDescriptorType = 0x2 wTotalLength = 0x19 bNumInterfaces = 0x1 bConfigurationValue = 0x1 iConfiguration = 0x0 bmAttributes = 0x40 bMaxPower = 0x0 } Interface Descriptor { bLength = 0x9 bDescriptorType = 0x4 bInterfaceNumber = 0x0 bAlternateSetting = 0x0 bNumEndpoints = 0x1 bInterfaceClass = 0x9 bInterfaceSubClass = 0x1 bInterfaceProtocol = 0x0 iInterface = 0x0 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x81 bmAttributes = 0x3 wMaxPacketSize = 0x1 bInterval = 0xff } 3 uhci 0 pci1028,1f9 0000.0000 No Product String usba_device: 0x8c7b4500 mfg_prod_sn: NULL - NULL -NULL pci1028,1f9, instance #0 (driver name: uhci) /pci at 0,0/pci1028,1f9 at 1a dip: 0x8a29bc90 uhci_statep: 0x8a81e000 uhci_errlevel: 0x2 { uhci_root_hub.rh_descr.bDescLength = 0x9 uhci_root_hub.rh_descr.bDescriptorType = 0x29 uhci_root_hub.rh_descr.bNbrPorts = 0x2 uhci_root_hub.rh_descr.wHubCharacteristics = 0x12 uhci_root_hub.rh_descr.bPwrOn2PwrGood = 0xa uhci_root_hub.rh_descr.bHubContrCurrent = 0 uhci_root_hub.rh_descr.DeviceRemovable = 0 uhci_root_hub.rh_descr.PortPwrCtrlMask = 0xff } { device, instance #1 (driver name: usb_mid) /pci at 0,0/pci1028,1f9 at 1a/device at 2 dip: 0x8b89b0b8 usb_mid_statep: 0x8d0876e8 usb_mid_errlevel: 0x4 } Device Descriptor { bLength = 0x12 bDescriptorType = 0x1 bcdUSB = 0x110 bDeviceClass = 0x9 bDeviceSubClass = 0 bDeviceProtocol = 0 bMaxPacketSize0 = 0x8 idVendor = 0 idProduct = 0 bcdDevice = 0 iManufacturer = 0 iProduct = 0 iSerialNumber = 0 bNumConfigurations = 0x1 } -- Active Config Index 0 Configuration Descriptor { bLength = 0x9 bDescriptorType = 0x2 wTotalLength = 0x19 bNumInterfaces = 0x1 bConfigurationValue = 0x1 iConfiguration = 0x0 bmAttributes = 0x40 bMaxPower = 0x0 } Interface Descriptor { bLength = 0x9 bDescriptorType = 0x4 bInterfaceNumber = 0x0 bAlternateSetting = 0x0 bNumEndpoints = 0x1 bInterfaceClass = 0x9 bInterfaceSubClass = 0x1 bInterfaceProtocol = 0x0 iInterface = 0x0 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x81 bmAttributes = 0x3 wMaxPacketSize = 0x1 bInterval = 0x20 } 4 uhci 1 pci1028,1f9 0000.0000 No Product String usba_device: 0x8c7b3a80 mfg_prod_sn: NULL - NULL -NULL pci1028,1f9, instance #1 (driver name: uhci) /pci at 0,0/pci1028,1f9 at 1a,1 dip: 0x8a29ba10 uhci_statep: 0x8a830000 uhci_errlevel: 0x2 { uhci_root_hub.rh_descr.bDescLength = 0x9 uhci_root_hub.rh_descr.bDescriptorType = 0x29 uhci_root_hub.rh_descr.bNbrPorts = 0x2 uhci_root_hub.rh_descr.wHubCharacteristics = 0x12 uhci_root_hub.rh_descr.bPwrOn2PwrGood = 0xa uhci_root_hub.rh_descr.bHubContrCurrent = 0 uhci_root_hub.rh_descr.DeviceRemovable = 0 uhci_root_hub.rh_descr.PortPwrCtrlMask = 0xff } Device Descriptor { bLength = 0x12 bDescriptorType = 0x1 bcdUSB = 0x110 bDeviceClass = 0x9 bDeviceSubClass = 0 bDeviceProtocol = 0 bMaxPacketSize0 = 0x8 idVendor = 0 idProduct = 0 bcdDevice = 0 iManufacturer = 0 iProduct = 0 iSerialNumber = 0 bNumConfigurations = 0x1 } -- Active Config Index 0 Configuration Descriptor { bLength = 0x9 bDescriptorType = 0x2 wTotalLength = 0x19 bNumInterfaces = 0x1 bConfigurationValue = 0x1 iConfiguration = 0x0 bmAttributes = 0x40 bMaxPower = 0x0 } Interface Descriptor { bLength = 0x9 bDescriptorType = 0x4 bInterfaceNumber = 0x0 bAlternateSetting = 0x0 bNumEndpoints = 0x1 bInterfaceClass = 0x9 bInterfaceSubClass = 0x1 bInterfaceProtocol = 0x0 iInterface = 0x0 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x81 bmAttributes = 0x3 wMaxPacketSize = 0x1 bInterval = 0x20 } 5 uhci 2 pci1028,1f9 0000.0000 No Product String usba_device: 0x8c7b3000 mfg_prod_sn: NULL - NULL -NULL pci1028,1f9, instance #2 (driver name: uhci) /pci at 0,0/pci1028,1f9 at 1d dip: 0x8a299a18 uhci_statep: 0x8c88c000 uhci_errlevel: 0x2 { uhci_root_hub.rh_descr.bDescLength = 0x9 uhci_root_hub.rh_descr.bDescriptorType = 0x29 uhci_root_hub.rh_descr.bNbrPorts = 0x2 uhci_root_hub.rh_descr.wHubCharacteristics = 0x12 uhci_root_hub.rh_descr.bPwrOn2PwrGood = 0xa uhci_root_hub.rh_descr.bHubContrCurrent = 0 uhci_root_hub.rh_descr.DeviceRemovable = 0 uhci_root_hub.rh_descr.PortPwrCtrlMask = 0xff } Device Descriptor { bLength = 0x12 bDescriptorType = 0x1 bcdUSB = 0x110 bDeviceClass = 0x9 bDeviceSubClass = 0 bDeviceProtocol = 0 bMaxPacketSize0 = 0x8 idVendor = 0 idProduct = 0 bcdDevice = 0 iManufacturer = 0 iProduct = 0 iSerialNumber = 0 bNumConfigurations = 0x1 } -- Active Config Index 0 Configuration Descriptor { bLength = 0x9 bDescriptorType = 0x2 wTotalLength = 0x19 bNumInterfaces = 0x1 bConfigurationValue = 0x1 iConfiguration = 0x0 bmAttributes = 0x40 bMaxPower = 0x0 } Interface Descriptor { bLength = 0x9 bDescriptorType = 0x4 bInterfaceNumber = 0x0 bAlternateSetting = 0x0 bNumEndpoints = 0x1 bInterfaceClass = 0x9 bInterfaceSubClass = 0x1 bInterfaceProtocol = 0x0 iInterface = 0x0 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x81 bmAttributes = 0x3 wMaxPacketSize = 0x1 bInterval = 0x20 } 6 uhci 3 pci1028,1f9 0000.0000 No Product String usba_device: 0x8c7b2540 mfg_prod_sn: NULL - NULL -NULL pci1028,1f9, instance #3 (driver name: uhci) /pci at 0,0/pci1028,1f9 at 1d,1 dip: 0x8a299798 uhci_statep: 0x8c886000 uhci_errlevel: 0x2 { uhci_root_hub.rh_descr.bDescLength = 0x9 uhci_root_hub.rh_descr.bDescriptorType = 0x29 uhci_root_hub.rh_descr.bNbrPorts = 0x2 uhci_root_hub.rh_descr.wHubCharacteristics = 0x12 uhci_root_hub.rh_descr.bPwrOn2PwrGood = 0xa uhci_root_hub.rh_descr.bHubContrCurrent = 0 uhci_root_hub.rh_descr.DeviceRemovable = 0 uhci_root_hub.rh_descr.PortPwrCtrlMask = 0xff } { device, instance #0 (driver name: usb_mid) /pci at 0,0/pci1028,1f9 at 1d,1/device at 1 dip: 0x8d1795c0 usb_mid_statep: 0x8d087008 usb_mid_errlevel: 0x4 { keyboard, instance #0 (driver name: hid) /pci at 0,0/pci1028,1f9 at 1d,1/device at 1/keyboard at 0 dip: 0x8d179840 hid_statep: 0x8d17eec0 hid_errlevel: 0x4 usage page ( 0x01 ) usage ( 0x06 ) COLLECTION ( 0x01 ) usage page ( 0x08 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x03 ) usage min ( 0x01 ) usage max ( 0x03 ) OUTPUT ( 0x02 ) usage page ( 0x08 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x01 ) usage ( 0x4b ) OUTPUT ( 0x02 ) usage page ( 0x08 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x04 ) OUTPUT ( 0x01 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) usage page ( 0x07 ) report count ( 0x08 ) usage min ( 0xe0 ) usage max ( 0xe7 ) INPUT ( 0x02 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) usage page ( 0x07 ) report size ( 0x08 ) report count ( 0x01 ) INPUT ( 0x01 ) logical minimum ( 0x00 ) usage page ( 0x07 ) report size ( 0x08 ) logical maximum ( 0xff 0x00 ) report count ( 0x06 ) usage min ( 0x00 ) usage max ( 0x91 ) INPUT ( 0x00 ) END_COLLECTION ( ) input, instance #1 (driver name: hid) /pci at 0,0/pci1028,1f9 at 1d,1/device at 1/input at 1 dip: 0x8d179ac0 hid_statep: 0x8d17e5c0 hid_errlevel: 0x4 usage page ( 0x01 ) usage ( 0x02 ) COLLECTION ( 0x01 ) usage page ( 0x01 ) report id ( 0x01 ) usage ( 0x01 ) COLLECTION ( 0x00 ) report id ( 0x01 ) usage page ( 0x09 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x05 ) usage min ( 0x01 ) usage max ( 0x05 ) INPUT ( 0x02 ) report id ( 0x01 ) usage page ( 0x09 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x03 ) report count ( 0x01 ) INPUT ( 0x01 ) report id ( 0x01 ) usage page ( 0x01 ) logical minimum ( 0x81 ) logical maximum ( 0x7f ) report size ( 0x08 ) report count ( 0x02 ) usage ( 0x30 ) usage ( 0x31 ) INPUT ( 0x06 ) report id ( 0x01 ) usage page ( 0x01 ) logical minimum ( 0x81 ) logical maximum ( 0x7f ) report size ( 0x08 ) report count ( 0x02 ) COLLECTION ( 0x02 ) report id ( 0x01 ) usage page ( 0x01 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) physical minimum ( 0x01 ) physical maximum ( 0x04 ) report count ( 0x01 ) report size ( 0x02 ) usage ( 0x48 ) FEATURE ( 0x02 ) report id ( 0x01 ) usage page ( 0x01 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report count ( 0x01 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report size ( 0x06 ) FEATURE ( 0x01 ) report id ( 0x01 ) usage page ( 0x01 ) report count ( 0x01 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) logical minimum ( 0x81 ) logical maximum ( 0x7f ) report size ( 0x08 ) usage ( 0x38 ) INPUT ( 0x06 ) END_COLLECTION ( ) report id ( 0x01 ) report count ( 0x01 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) logical minimum ( 0x81 ) logical maximum ( 0x7f ) report size ( 0x08 ) usage page ( 0x0c ) usage ( 0x38 0x02 ) INPUT ( 0x06 ) END_COLLECTION ( ) END_COLLECTION ( ) report id ( 0x01 ) report count ( 0x01 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) logical minimum ( 0x81 ) logical maximum ( 0x7f ) report size ( 0x08 ) usage page ( 0x0c ) usage ( 0x01 ) COLLECTION ( 0x01 ) report count ( 0x01 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) logical minimum ( 0x81 ) logical maximum ( 0x7f ) report size ( 0x08 ) report id ( 0x02 ) usage page ( 0x01 ) usage ( 0x02 ) COLLECTION ( 0x02 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x02 ) usage page ( 0x00 0xff ) logical minimum ( 0x00 ) logical maximum ( 0x03 ) report size ( 0x02 ) report count ( 0x01 ) usage ( 0x01 0xfe ) INPUT ( 0x02 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x02 ) usage page ( 0x00 0xff ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x02 ) usage ( 0x02 0xfe ) usage ( 0x00 0xfe ) INPUT ( 0x02 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x02 ) usage page ( 0x00 0xff ) logical minimum ( 0x00 ) logical maximum ( 0x03 ) report size ( 0x02 ) report count ( 0x01 ) usage ( 0x03 0xff ) INPUT ( 0x02 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x02 ) usage page ( 0x00 0xff ) logical minimum ( 0x00 ) logical maximum ( 0x03 ) report size ( 0x02 ) report count ( 0x01 ) INPUT ( 0x01 ) END_COLLECTION ( ) END_COLLECTION ( ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x02 ) logical minimum ( 0x00 ) logical maximum ( 0x03 ) report size ( 0x02 ) report count ( 0x01 ) usage page ( 0x0c ) usage ( 0x01 ) COLLECTION ( 0x01 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) logical minimum ( 0x00 ) logical maximum ( 0x03 ) report size ( 0x02 ) report count ( 0x01 ) report id ( 0x03 ) usage page ( 0x01 ) usage ( 0x02 ) COLLECTION ( 0x02 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x03 ) usage page ( 0x0c ) report size ( 0x08 ) report count ( 0x01 ) logical minimum ( 0x81 ) logical maximum ( 0x7f ) usage ( 0x38 0x02 ) INPUT ( 0x06 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x03 ) usage page ( 0x00 0xff ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x02 ) usage ( 0x04 0xff ) usage ( 0x06 0xff ) FEATURE ( 0x02 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x03 ) usage page ( 0x00 0xff ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x06 ) FEATURE ( 0x01 ) END_COLLECTION ( ) END_COLLECTION ( ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x03 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x06 ) usage page ( 0x0c ) usage ( 0x01 ) COLLECTION ( 0x01 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x04 ) usage page ( 0x0c ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x1d ) usage ( 0xe2 ) usage ( 0xb7 ) usage ( 0xcd ) usage ( 0xea ) usage ( 0xe9 ) usage ( 0xb6 ) usage ( 0xb5 ) usage ( 0x83 0x01 ) usage ( 0x1a 0x02 ) usage ( 0x79 0x02 ) usage ( 0xab 0x01 ) usage ( 0x08 0x02 ) usage ( 0x02 0x02 ) usage ( 0x03 0x02 ) usage ( 0x07 0x02 ) usage ( 0x01 0x02 ) usage ( 0x92 0x01 ) usage ( 0x9c 0x01 ) usage ( 0x95 ) usage ( 0x23 0x02 ) usage ( 0x89 0x02 ) usage ( 0x8b 0x02 ) usage ( 0x8c 0x02 ) usage ( 0x8a 0x01 ) usage ( 0x99 0x01 ) usage ( 0xa7 0x01 ) usage ( 0xb6 0x01 ) usage ( 0xb7 0x01 ) usage ( 0x82 0x01 ) INPUT ( 0x02 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x04 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report count ( 0x01 ) report size ( 0x05 ) usage page ( 0x00 0xff ) usage ( 0x05 0xff ) INPUT ( 0x02 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x04 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report count ( 0x02 ) report size ( 0x01 ) usage page ( 0x0c ) usage ( 0x24 0x02 ) usage ( 0x25 0x02 ) INPUT ( 0x02 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x04 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) usage page ( 0x0c ) report count ( 0x04 ) INPUT ( 0x01 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x04 ) logical minimum ( 0x00 ) usage page ( 0x00 0xff ) logical maximum ( 0xff 0x00 ) report count ( 0x01 ) report size ( 0x08 ) usage ( 0x02 0xff ) INPUT ( 0x02 ) END_COLLECTION ( ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x04 ) logical minimum ( 0x00 ) logical maximum ( 0xff 0x00 ) report count ( 0x01 ) report size ( 0x08 ) usage page ( 0x01 ) usage ( 0x80 ) COLLECTION ( 0x01 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) logical minimum ( 0x00 ) usage page ( 0x01 ) report id ( 0x05 ) logical maximum ( 0x01 ) report count ( 0x03 ) report size ( 0x01 ) usage min ( 0x81 ) usage max ( 0x83 ) INPUT ( 0x02 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) logical minimum ( 0x00 ) usage page ( 0x01 ) report id ( 0x05 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x05 ) INPUT ( 0x01 ) END_COLLECTION ( ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) logical minimum ( 0x00 ) report id ( 0x05 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x05 ) usage page ( 0x0c ) usage ( 0x01 ) COLLECTION ( 0x01 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x05 ) report id ( 0x06 ) usage page ( 0x01 ) usage ( 0x06 ) COLLECTION ( 0x02 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x06 ) usage page ( 0x01 ) logical minimum ( 0x81 ) logical maximum ( 0x7f ) report size ( 0x08 ) report count ( 0x01 ) usage ( 0x38 ) INPUT ( 0x06 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x06 ) logical minimum ( 0x81 ) logical maximum ( 0x7f ) report size ( 0x08 ) report count ( 0x01 ) usage page ( 0x0c ) usage ( 0x38 0x02 ) INPUT ( 0x06 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x06 ) report size ( 0x08 ) report count ( 0x01 ) usage page ( 0x00 0xff ) logical minimum ( 0x00 ) logical maximum ( 0xff 0x00 ) usage ( 0x02 0xff ) INPUT ( 0x02 ) END_COLLECTION ( ) END_COLLECTION ( ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x06 ) report size ( 0x08 ) report count ( 0x01 ) logical minimum ( 0x00 ) logical maximum ( 0xff 0x00 ) usage page ( 0x0c ) usage ( 0x01 ) COLLECTION ( 0x01 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x07 ) usage page ( 0x00 0xff ) logical minimum ( 0x00 ) logical maximum ( 0x03 ) report size ( 0x02 ) report count ( 0x01 ) usage ( 0x01 0xfe ) INPUT ( 0x02 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x07 ) usage page ( 0x00 0xff ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x02 ) usage ( 0x02 0xfe ) usage ( 0x00 0xfe ) INPUT ( 0x02 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x07 ) usage page ( 0x00 0xff ) logical minimum ( 0x00 ) logical maximum ( 0x03 ) report size ( 0x02 ) report count ( 0x01 ) usage ( 0x03 0xff ) INPUT ( 0x02 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x07 ) usage page ( 0x00 0xff ) logical minimum ( 0x00 ) logical maximum ( 0x03 ) report size ( 0x02 ) report count ( 0x01 ) INPUT ( 0x01 ) END_COLLECTION ( ) } device, instance #2 (driver name: usb_mid) /pci at 0,0/pci1028,1f9 at 1d,1/device at 2 dip: 0x8d179340 usb_mid_statep: 0x8d9ad978 usb_mid_errlevel: 0x4 { keyboard, instance #2 (driver name: hid) /pci at 0,0/pci1028,1f9 at 1d,1/device at 2/keyboard at 0 dip: 0x8daecac8 hid_statep: 0x8da48100 hid_errlevel: 0x4 usage page ( 0x01 ) usage ( 0x06 ) COLLECTION ( 0x01 ) usage page ( 0x08 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x03 ) usage min ( 0x01 ) usage max ( 0x03 ) OUTPUT ( 0x02 ) usage page ( 0x08 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x01 ) usage ( 0x4b ) OUTPUT ( 0x02 ) usage page ( 0x08 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x04 ) OUTPUT ( 0x01 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) usage page ( 0x07 ) report count ( 0x08 ) usage min ( 0xe0 ) usage max ( 0xe7 ) INPUT ( 0x02 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) usage page ( 0x07 ) report size ( 0x08 ) report count ( 0x01 ) INPUT ( 0x01 ) logical minimum ( 0x00 ) usage page ( 0x07 ) report size ( 0x08 ) logical maximum ( 0xff 0x00 ) report count ( 0x06 ) usage min ( 0x00 ) usage max ( 0x91 ) INPUT ( 0x00 ) END_COLLECTION ( ) input, instance #3 (driver name: hid) /pci at 0,0/pci1028,1f9 at 1d,1/device at 2/input at 1 dip: 0x8daec848 hid_statep: 0x8d44bb80 hid_errlevel: 0x4 usage page ( 0x0c ) usage ( 0x01 ) COLLECTION ( 0x01 ) report id ( 0x01 ) usage page ( 0x0c ) report count ( 0x01 ) report size ( 0x10 ) logical minimum ( 0x00 ) logical maximum ( 0xff 0x03 0x00 0x00 ) usage min ( 0x00 ) usage max ( 0xff 0x03 ) INPUT ( 0x00 ) report id ( 0x01 ) report count ( 0x01 ) logical minimum ( 0x00 ) usage page ( 0x07 ) report size ( 0x08 ) logical maximum ( 0xff 0x00 ) usage min ( 0x00 ) usage max ( 0xff ) INPUT ( 0x00 ) report id ( 0x01 ) report count ( 0x01 ) logical minimum ( 0x00 ) usage page ( 0x07 ) report size ( 0x08 ) logical maximum ( 0xff 0x00 ) INPUT ( 0x01 ) report id ( 0x01 ) logical minimum ( 0x00 ) usage page ( 0x00 0xff ) report count ( 0x02 ) report size ( 0x01 ) logical maximum ( 0x01 ) usage ( 0x03 0xfe ) usage ( 0x04 0xfe ) INPUT ( 0x02 ) report id ( 0x01 ) logical minimum ( 0x00 ) usage page ( 0x00 0xff ) report count ( 0x01 ) report size ( 0x05 ) logical maximum ( 0x1f ) usage ( 0x05 0xff ) INPUT ( 0x02 ) report id ( 0x01 ) logical minimum ( 0x00 ) usage page ( 0x00 0xff ) report count ( 0x01 ) logical maximum ( 0x1f ) report size ( 0x09 ) INPUT ( 0x01 ) report id ( 0x01 ) logical minimum ( 0x00 ) usage page ( 0x00 0xff ) report count ( 0x01 ) logical maximum ( 0xff 0x00 ) report size ( 0x08 ) usage ( 0x02 0xff ) INPUT ( 0x02 ) END_COLLECTION ( ) } } Device Descriptor { bLength = 0x12 bDescriptorType = 0x1 bcdUSB = 0x110 bDeviceClass = 0x9 bDeviceSubClass = 0 bDeviceProtocol = 0 bMaxPacketSize0 = 0x8 idVendor = 0 idProduct = 0 bcdDevice = 0 iManufacturer = 0 iProduct = 0 iSerialNumber = 0 bNumConfigurations = 0x1 } -- Active Config Index 0 Configuration Descriptor { bLength = 0x9 bDescriptorType = 0x2 wTotalLength = 0x19 bNumInterfaces = 0x1 bConfigurationValue = 0x1 iConfiguration = 0x0 bmAttributes = 0x40 bMaxPower = 0x0 } Interface Descriptor { bLength = 0x9 bDescriptorType = 0x4 bInterfaceNumber = 0x0 bAlternateSetting = 0x0 bNumEndpoints = 0x1 bInterfaceClass = 0x9 bInterfaceSubClass = 0x1 bInterfaceProtocol = 0x0 iInterface = 0x0 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x81 bmAttributes = 0x3 wMaxPacketSize = 0x1 bInterval = 0x20 } 7 uhci 4 pci1028,1f9 0000.0000 No Product String usba_device: 0x8c7b1ac0 mfg_prod_sn: NULL - NULL -NULL pci1028,1f9, instance #4 (driver name: uhci) /pci at 0,0/pci1028,1f9 at 1d,2 dip: 0x8a299518 uhci_statep: 0x8c880000 uhci_errlevel: 0x2 { uhci_root_hub.rh_descr.bDescLength = 0x9 uhci_root_hub.rh_descr.bDescriptorType = 0x29 uhci_root_hub.rh_descr.bNbrPorts = 0x2 uhci_root_hub.rh_descr.wHubCharacteristics = 0x12 uhci_root_hub.rh_descr.bPwrOn2PwrGood = 0xa uhci_root_hub.rh_descr.bHubContrCurrent = 0 uhci_root_hub.rh_descr.DeviceRemovable = 0 uhci_root_hub.rh_descr.PortPwrCtrlMask = 0xff } { hub, instance #0 (driver name: hubd) /pci at 0,0/pci1028,1f9 at 1d,2/hub at 1 dip: 0x8a29fa08 hubd_statep: 0x8d421200 hubd_errlevel: 0x4 { h_hub_descr.bDescLength = 0x9 h_hub_descr.bDescriptorType = 0x29 h_hub_descr.bNbrPorts = 0x4 h_hub_descr.wHubCharacteristics = 0xd h_hub_descr.bPwrOn2PwrGood = 0x32 h_hub_descr.bHubContrCurrent = 0x64 h_hub_descr.DeviceRemovable = 0x4 h_hub_descr.PortPwrCtrlMask = 0xff } { device, instance #3 (driver name: usb_mid) /pci at 0,0/pci1028,1f9 at 1d,2/hub at 1/device at 2 dip: 0x8d1790c0 usb_mid_statep: 0x8d9ad798 usb_mid_errlevel: 0x4 } device, instance #4 (driver name: usb_mid) /pci at 0,0/pci1028,1f9 at 1d,2/device at 2 dip: 0x8daecd48 usb_mid_statep: 0x8db66e60 usb_mid_errlevel: 0x4 } Device Descriptor { bLength = 0x12 bDescriptorType = 0x1 bcdUSB = 0x110 bDeviceClass = 0x9 bDeviceSubClass = 0 bDeviceProtocol = 0 bMaxPacketSize0 = 0x8 idVendor = 0 idProduct = 0 bcdDevice = 0 iManufacturer = 0 iProduct = 0 iSerialNumber = 0 bNumConfigurations = 0x1 } -- Active Config Index 0 Configuration Descriptor { bLength = 0x9 bDescriptorType = 0x2 wTotalLength = 0x19 bNumInterfaces = 0x1 bConfigurationValue = 0x1 iConfiguration = 0x0 bmAttributes = 0x40 bMaxPower = 0x0 } Interface Descriptor { bLength = 0x9 bDescriptorType = 0x4 bInterfaceNumber = 0x0 bAlternateSetting = 0x0 bNumEndpoints = 0x1 bInterfaceClass = 0x9 bInterfaceSubClass = 0x1 bInterfaceProtocol = 0x0 iInterface = 0x0 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x81 bmAttributes = 0x3 wMaxPacketSize = 0x1 bInterval = 0x20 } 8 usb_mid 1 device 413c.8140 No Product String usba_device: 0x8d065a80 mfg_prod_sn: NULL - NULL -NULL device, instance #1 (driver name: usb_mid) /pci at 0,0/pci1028,1f9 at 1a/device at 2 dip: 0x8b89b0b8 usb_mid_statep: 0x8d0876e8 usb_mid_errlevel: 0x4 Device Descriptor { bLength = 0x12 bDescriptorType = 0x1 bcdUSB = 0x200 bDeviceClass = 0xe0 bDeviceSubClass = 0x1 bDeviceProtocol = 0x1 bMaxPacketSize0 = 0x40 idVendor = 0x413c idProduct = 0x8140 bcdDevice = 0x4315 iManufacturer = 0 iProduct = 0 iSerialNumber = 0 bNumConfigurations = 0x1 } -- Active Config Index 0 Configuration Descriptor { bLength = 0x9 bDescriptorType = 0x2 wTotalLength = 0xc1 bNumInterfaces = 0x3 bConfigurationValue = 0x1 iConfiguration = 0x0 bmAttributes = 0xe0 bMaxPower = 0x0 } Interface Descriptor { bLength = 0x9 bDescriptorType = 0x4 bInterfaceNumber = 0x0 bAlternateSetting = 0x0 bNumEndpoints = 0x3 bInterfaceClass = 0xe0 bInterfaceSubClass = 0x1 bInterfaceProtocol = 0x1 iInterface = 0x0 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x81 bmAttributes = 0x3 wMaxPacketSize = 0x10 bInterval = 0x1 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x2 bmAttributes = 0x2 wMaxPacketSize = 0x40 bInterval = 0x1 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x82 bmAttributes = 0x2 wMaxPacketSize = 0x40 bInterval = 0x1 } Interface Descriptor { bLength = 0x9 bDescriptorType = 0x4 bInterfaceNumber = 0x1 bAlternateSetting = 0x0 bNumEndpoints = 0x2 bInterfaceClass = 0xe0 bInterfaceSubClass = 0x1 bInterfaceProtocol = 0x1 iInterface = 0x0 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x3 bmAttributes = 0x1 wMaxPacketSize = 0x0 bInterval = 0x1 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x83 bmAttributes = 0x1 wMaxPacketSize = 0x0 bInterval = 0x1 } Interface Descriptor { bLength = 0x9 bDescriptorType = 0x4 bInterfaceNumber = 0x1 bAlternateSetting = 0x1 bNumEndpoints = 0x2 bInterfaceClass = 0xe0 bInterfaceSubClass = 0x1 bInterfaceProtocol = 0x1 iInterface = 0x0 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x3 bmAttributes = 0x1 wMaxPacketSize = 0x9 bInterval = 0x1 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x83 bmAttributes = 0x1 wMaxPacketSize = 0x9 bInterval = 0x1 } Interface Descriptor { bLength = 0x9 bDescriptorType = 0x4 bInterfaceNumber = 0x1 bAlternateSetting = 0x2 bNumEndpoints = 0x2 bInterfaceClass = 0xe0 bInterfaceSubClass = 0x1 bInterfaceProtocol = 0x1 iInterface = 0x0 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x3 bmAttributes = 0x1 wMaxPacketSize = 0x11 bInterval = 0x1 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x83 bmAttributes = 0x1 wMaxPacketSize = 0x11 bInterval = 0x1 } Interface Descriptor { bLength = 0x9 bDescriptorType = 0x4 bInterfaceNumber = 0x1 bAlternateSetting = 0x3 bNumEndpoints = 0x2 bInterfaceClass = 0xe0 bInterfaceSubClass = 0x1 bInterfaceProtocol = 0x1 iInterface = 0x0 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x3 bmAttributes = 0x1 wMaxPacketSize = 0x19 bInterval = 0x1 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x83 bmAttributes = 0x1 wMaxPacketSize = 0x19 bInterval = 0x1 } Interface Descriptor { bLength = 0x9 bDescriptorType = 0x4 bInterfaceNumber = 0x1 bAlternateSetting = 0x4 bNumEndpoints = 0x2 bInterfaceClass = 0xe0 bInterfaceSubClass = 0x1 bInterfaceProtocol = 0x1 iInterface = 0x0 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x3 bmAttributes = 0x1 wMaxPacketSize = 0x21 bInterval = 0x1 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x83 bmAttributes = 0x1 wMaxPacketSize = 0x21 bInterval = 0x1 } Interface Descriptor { bLength = 0x9 bDescriptorType = 0x4 bInterfaceNumber = 0x1 bAlternateSetting = 0x5 bNumEndpoints = 0x2 bInterfaceClass = 0xe0 bInterfaceSubClass = 0x1 bInterfaceProtocol = 0x1 iInterface = 0x0 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x3 bmAttributes = 0x1 wMaxPacketSize = 0x31 bInterval = 0x1 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x83 bmAttributes = 0x1 wMaxPacketSize = 0x31 bInterval = 0x1 } Interface Descriptor { bLength = 0x9 bDescriptorType = 0x4 bInterfaceNumber = 0x2 bAlternateSetting = 0x0 bNumEndpoints = 0x0 bInterfaceClass = 0xfe bInterfaceSubClass = 0x1 bInterfaceProtocol = 0x0 iInterface = 0x0 } HID Descriptor { bLength = 0x7 bDescriptorType = 0x21 bcdHID = 0x8807 bCountryCode = 0x13 bNumDescriptors = 0xff bReportDescriptorType = 0x3 } 9 usb_mid 0 device 045e.008a Microsoft Wireless Optical Desktop? 1.00 usba_device: 0x8d05bac0 mfg_prod_sn: Microsoft - Microsoft Wireless Optical Desktop? 1.00 - NULL device, instance #0 (driver name: usb_mid) /pci at 0,0/pci1028,1f9 at 1d,1/device at 1 dip: 0x8d1795c0 usb_mid_statep: 0x8d087008 usb_mid_errlevel: 0x4 { keyboard, instance #0 (driver name: hid) /pci at 0,0/pci1028,1f9 at 1d,1/device at 1/keyboard at 0 dip: 0x8d179840 hid_statep: 0x8d17eec0 hid_errlevel: 0x4 usage page ( 0x01 ) usage ( 0x06 ) COLLECTION ( 0x01 ) usage page ( 0x08 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x03 ) usage min ( 0x01 ) usage max ( 0x03 ) OUTPUT ( 0x02 ) usage page ( 0x08 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x01 ) usage ( 0x4b ) OUTPUT ( 0x02 ) usage page ( 0x08 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x04 ) OUTPUT ( 0x01 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) usage page ( 0x07 ) report count ( 0x08 ) usage min ( 0xe0 ) usage max ( 0xe7 ) INPUT ( 0x02 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) usage page ( 0x07 ) report size ( 0x08 ) report count ( 0x01 ) INPUT ( 0x01 ) logical minimum ( 0x00 ) usage page ( 0x07 ) report size ( 0x08 ) logical maximum ( 0xff 0x00 ) report count ( 0x06 ) usage min ( 0x00 ) usage max ( 0x91 ) INPUT ( 0x00 ) END_COLLECTION ( ) input, instance #1 (driver name: hid) /pci at 0,0/pci1028,1f9 at 1d,1/device at 1/input at 1 dip: 0x8d179ac0 hid_statep: 0x8d17e5c0 hid_errlevel: 0x4 usage page ( 0x01 ) usage ( 0x02 ) COLLECTION ( 0x01 ) usage page ( 0x01 ) report id ( 0x01 ) usage ( 0x01 ) COLLECTION ( 0x00 ) report id ( 0x01 ) usage page ( 0x09 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x05 ) usage min ( 0x01 ) usage max ( 0x05 ) INPUT ( 0x02 ) report id ( 0x01 ) usage page ( 0x09 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x03 ) report count ( 0x01 ) INPUT ( 0x01 ) report id ( 0x01 ) usage page ( 0x01 ) logical minimum ( 0x81 ) logical maximum ( 0x7f ) report size ( 0x08 ) report count ( 0x02 ) usage ( 0x30 ) usage ( 0x31 ) INPUT ( 0x06 ) report id ( 0x01 ) usage page ( 0x01 ) logical minimum ( 0x81 ) logical maximum ( 0x7f ) report size ( 0x08 ) report count ( 0x02 ) COLLECTION ( 0x02 ) report id ( 0x01 ) usage page ( 0x01 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) physical minimum ( 0x01 ) physical maximum ( 0x04 ) report count ( 0x01 ) report size ( 0x02 ) usage ( 0x48 ) FEATURE ( 0x02 ) report id ( 0x01 ) usage page ( 0x01 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report count ( 0x01 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report size ( 0x06 ) FEATURE ( 0x01 ) report id ( 0x01 ) usage page ( 0x01 ) report count ( 0x01 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) logical minimum ( 0x81 ) logical maximum ( 0x7f ) report size ( 0x08 ) usage ( 0x38 ) INPUT ( 0x06 ) END_COLLECTION ( ) report id ( 0x01 ) report count ( 0x01 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) logical minimum ( 0x81 ) logical maximum ( 0x7f ) report size ( 0x08 ) usage page ( 0x0c ) usage ( 0x38 0x02 ) INPUT ( 0x06 ) END_COLLECTION ( ) END_COLLECTION ( ) report id ( 0x01 ) report count ( 0x01 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) logical minimum ( 0x81 ) logical maximum ( 0x7f ) report size ( 0x08 ) usage page ( 0x0c ) usage ( 0x01 ) COLLECTION ( 0x01 ) report count ( 0x01 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) logical minimum ( 0x81 ) logical maximum ( 0x7f ) report size ( 0x08 ) report id ( 0x02 ) usage page ( 0x01 ) usage ( 0x02 ) COLLECTION ( 0x02 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x02 ) usage page ( 0x00 0xff ) logical minimum ( 0x00 ) logical maximum ( 0x03 ) report size ( 0x02 ) report count ( 0x01 ) usage ( 0x01 0xfe ) INPUT ( 0x02 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x02 ) usage page ( 0x00 0xff ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x02 ) usage ( 0x02 0xfe ) usage ( 0x00 0xfe ) INPUT ( 0x02 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x02 ) usage page ( 0x00 0xff ) logical minimum ( 0x00 ) logical maximum ( 0x03 ) report size ( 0x02 ) report count ( 0x01 ) usage ( 0x03 0xff ) INPUT ( 0x02 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x02 ) usage page ( 0x00 0xff ) logical minimum ( 0x00 ) logical maximum ( 0x03 ) report size ( 0x02 ) report count ( 0x01 ) INPUT ( 0x01 ) END_COLLECTION ( ) END_COLLECTION ( ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x02 ) logical minimum ( 0x00 ) logical maximum ( 0x03 ) report size ( 0x02 ) report count ( 0x01 ) usage page ( 0x0c ) usage ( 0x01 ) COLLECTION ( 0x01 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) logical minimum ( 0x00 ) logical maximum ( 0x03 ) report size ( 0x02 ) report count ( 0x01 ) report id ( 0x03 ) usage page ( 0x01 ) usage ( 0x02 ) COLLECTION ( 0x02 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x03 ) usage page ( 0x0c ) report size ( 0x08 ) report count ( 0x01 ) logical minimum ( 0x81 ) logical maximum ( 0x7f ) usage ( 0x38 0x02 ) INPUT ( 0x06 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x03 ) usage page ( 0x00 0xff ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x02 ) usage ( 0x04 0xff ) usage ( 0x06 0xff ) FEATURE ( 0x02 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x03 ) usage page ( 0x00 0xff ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x06 ) FEATURE ( 0x01 ) END_COLLECTION ( ) END_COLLECTION ( ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x03 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x06 ) usage page ( 0x0c ) usage ( 0x01 ) COLLECTION ( 0x01 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x04 ) usage page ( 0x0c ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x1d ) usage ( 0xe2 ) usage ( 0xb7 ) usage ( 0xcd ) usage ( 0xea ) usage ( 0xe9 ) usage ( 0xb6 ) usage ( 0xb5 ) usage ( 0x83 0x01 ) usage ( 0x1a 0x02 ) usage ( 0x79 0x02 ) usage ( 0xab 0x01 ) usage ( 0x08 0x02 ) usage ( 0x02 0x02 ) usage ( 0x03 0x02 ) usage ( 0x07 0x02 ) usage ( 0x01 0x02 ) usage ( 0x92 0x01 ) usage ( 0x9c 0x01 ) usage ( 0x95 ) usage ( 0x23 0x02 ) usage ( 0x89 0x02 ) usage ( 0x8b 0x02 ) usage ( 0x8c 0x02 ) usage ( 0x8a 0x01 ) usage ( 0x99 0x01 ) usage ( 0xa7 0x01 ) usage ( 0xb6 0x01 ) usage ( 0xb7 0x01 ) usage ( 0x82 0x01 ) INPUT ( 0x02 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x04 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report count ( 0x01 ) report size ( 0x05 ) usage page ( 0x00 0xff ) usage ( 0x05 0xff ) INPUT ( 0x02 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x04 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report count ( 0x02 ) report size ( 0x01 ) usage page ( 0x0c ) usage ( 0x24 0x02 ) usage ( 0x25 0x02 ) INPUT ( 0x02 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x04 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) usage page ( 0x0c ) report count ( 0x04 ) INPUT ( 0x01 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x04 ) logical minimum ( 0x00 ) usage page ( 0x00 0xff ) logical maximum ( 0xff 0x00 ) report count ( 0x01 ) report size ( 0x08 ) usage ( 0x02 0xff ) INPUT ( 0x02 ) END_COLLECTION ( ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x04 ) logical minimum ( 0x00 ) logical maximum ( 0xff 0x00 ) report count ( 0x01 ) report size ( 0x08 ) usage page ( 0x01 ) usage ( 0x80 ) COLLECTION ( 0x01 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) logical minimum ( 0x00 ) usage page ( 0x01 ) report id ( 0x05 ) logical maximum ( 0x01 ) report count ( 0x03 ) report size ( 0x01 ) usage min ( 0x81 ) usage max ( 0x83 ) INPUT ( 0x02 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) logical minimum ( 0x00 ) usage page ( 0x01 ) report id ( 0x05 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x05 ) INPUT ( 0x01 ) END_COLLECTION ( ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) logical minimum ( 0x00 ) report id ( 0x05 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x05 ) usage page ( 0x0c ) usage ( 0x01 ) COLLECTION ( 0x01 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x05 ) report id ( 0x06 ) usage page ( 0x01 ) usage ( 0x06 ) COLLECTION ( 0x02 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x06 ) usage page ( 0x01 ) logical minimum ( 0x81 ) logical maximum ( 0x7f ) report size ( 0x08 ) report count ( 0x01 ) usage ( 0x38 ) INPUT ( 0x06 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x06 ) logical minimum ( 0x81 ) logical maximum ( 0x7f ) report size ( 0x08 ) report count ( 0x01 ) usage page ( 0x0c ) usage ( 0x38 0x02 ) INPUT ( 0x06 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x06 ) report size ( 0x08 ) report count ( 0x01 ) usage page ( 0x00 0xff ) logical minimum ( 0x00 ) logical maximum ( 0xff 0x00 ) usage ( 0x02 0xff ) INPUT ( 0x02 ) END_COLLECTION ( ) END_COLLECTION ( ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x06 ) report size ( 0x08 ) report count ( 0x01 ) logical minimum ( 0x00 ) logical maximum ( 0xff 0x00 ) usage page ( 0x0c ) usage ( 0x01 ) COLLECTION ( 0x01 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x07 ) usage page ( 0x00 0xff ) logical minimum ( 0x00 ) logical maximum ( 0x03 ) report size ( 0x02 ) report count ( 0x01 ) usage ( 0x01 0xfe ) INPUT ( 0x02 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x07 ) usage page ( 0x00 0xff ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x02 ) usage ( 0x02 0xfe ) usage ( 0x00 0xfe ) INPUT ( 0x02 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x07 ) usage page ( 0x00 0xff ) logical minimum ( 0x00 ) logical maximum ( 0x03 ) report size ( 0x02 ) report count ( 0x01 ) usage ( 0x03 0xff ) INPUT ( 0x02 ) physical minimum ( 0x00 ) physical maximum ( 0x00 ) report id ( 0x07 ) usage page ( 0x00 0xff ) logical minimum ( 0x00 ) logical maximum ( 0x03 ) report size ( 0x02 ) report count ( 0x01 ) INPUT ( 0x01 ) END_COLLECTION ( ) } Device Descriptor { bLength = 0x12 bDescriptorType = 0x1 bcdUSB = 0x200 bDeviceClass = 0 bDeviceSubClass = 0 bDeviceProtocol = 0 bMaxPacketSize0 = 0x8 idVendor = 0x45e idProduct = 0x8a bcdDevice = 0x7373 iManufacturer = 0x1 iProduct = 0x2 iSerialNumber = 0 bNumConfigurations = 0x1 } -- Active Config Index 0 Configuration Descriptor { bLength = 0x9 bDescriptorType = 0x2 wTotalLength = 0x3b bNumInterfaces = 0x2 bConfigurationValue = 0x1 iConfiguration = 0x0 bmAttributes = 0xa0 bMaxPower = 0x32 } Interface Descriptor { bLength = 0x9 bDescriptorType = 0x4 bInterfaceNumber = 0x0 bAlternateSetting = 0x0 bNumEndpoints = 0x1 bInterfaceClass = 0x3 bInterfaceSubClass = 0x1 bInterfaceProtocol = 0x1 iInterface = 0x0 } HID Descriptor { bLength = 0x9 bDescriptorType = 0x21 bcdHID = 0x111 bCountryCode = 0x0 bNumDescriptors = 0x1 bReportDescriptorType = 0x22 wReportDescriptorLength = 0x3c } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x81 bmAttributes = 0x3 wMaxPacketSize = 0x8 bInterval = 0xa } Interface Descriptor { bLength = 0x9 bDescriptorType = 0x4 bInterfaceNumber = 0x1 bAlternateSetting = 0x0 bNumEndpoints = 0x1 bInterfaceClass = 0x3 bInterfaceSubClass = 0x0 bInterfaceProtocol = 0x0 iInterface = 0x0 } HID Descriptor { bLength = 0x9 bDescriptorType = 0x21 bcdHID = 0x111 bCountryCode = 0x0 bNumDescriptors = 0x1 bReportDescriptorType = 0x22 wReportDescriptorLength = 0x1e1 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x82 bmAttributes = 0x3 wMaxPacketSize = 0x7 bInterval = 0xa } a hubd 0 hub 0b97.7761 No Product String usba_device: 0x8d05c540 mfg_prod_sn: NULL - NULL -NULL hub, instance #0 (driver name: hubd) /pci at 0,0/pci1028,1f9 at 1d,2/hub at 1 dip: 0x8a29fa08 hubd_statep: 0x8d421200 hubd_errlevel: 0x4 { h_hub_descr.bDescLength = 0x9 h_hub_descr.bDescriptorType = 0x29 h_hub_descr.bNbrPorts = 0x4 h_hub_descr.wHubCharacteristics = 0xd h_hub_descr.bPwrOn2PwrGood = 0x32 h_hub_descr.bHubContrCurrent = 0x64 h_hub_descr.DeviceRemovable = 0x4 h_hub_descr.PortPwrCtrlMask = 0xff } { device, instance #3 (driver name: usb_mid) /pci at 0,0/pci1028,1f9 at 1d,2/hub at 1/device at 2 dip: 0x8d1790c0 usb_mid_statep: 0x8d9ad798 usb_mid_errlevel: 0x4 } Device Descriptor { bLength = 0x12 bDescriptorType = 0x1 bcdUSB = 0x110 bDeviceClass = 0x9 bDeviceSubClass = 0 bDeviceProtocol = 0 bMaxPacketSize0 = 0x8 idVendor = 0xb97 idProduct = 0x7761 bcdDevice = 0x110 iManufacturer = 0 iProduct = 0 iSerialNumber = 0 bNumConfigurations = 0x1 } -- Active Config Index 0 Configuration Descriptor { bLength = 0x9 bDescriptorType = 0x2 wTotalLength = 0x19 bNumInterfaces = 0x1 bConfigurationValue = 0x1 iConfiguration = 0x0 bmAttributes = 0xe0 bMaxPower = 0x1 } Interface Descriptor { bLength = 0x9 bDescriptorType = 0x4 bInterfaceNumber = 0x0 bAlternateSetting = 0x0 bNumEndpoints = 0x1 bInterfaceClass = 0x9 bInterfaceSubClass = 0x0 bInterfaceProtocol = 0x0 iInterface = 0x0 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x81 bmAttributes = 0x3 wMaxPacketSize = 0x1 bInterval = 0xff } b usb_mid 2 device 045e.00db Natural? Ergonomic Keyboard 4000 usba_device: 0x8d2dcb00 mfg_prod_sn: Microsoft - Natural? Ergonomic Keyboard 4000 - NULL device, instance #2 (driver name: usb_mid) /pci at 0,0/pci1028,1f9 at 1d,1/device at 2 dip: 0x8d179340 usb_mid_statep: 0x8d9ad978 usb_mid_errlevel: 0x4 { keyboard, instance #2 (driver name: hid) /pci at 0,0/pci1028,1f9 at 1d,1/device at 2/keyboard at 0 dip: 0x8daecac8 hid_statep: 0x8da48100 hid_errlevel: 0x4 usage page ( 0x01 ) usage ( 0x06 ) COLLECTION ( 0x01 ) usage page ( 0x08 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x03 ) usage min ( 0x01 ) usage max ( 0x03 ) OUTPUT ( 0x02 ) usage page ( 0x08 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x01 ) usage ( 0x4b ) OUTPUT ( 0x02 ) usage page ( 0x08 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) report count ( 0x04 ) OUTPUT ( 0x01 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) report size ( 0x01 ) usage page ( 0x07 ) report count ( 0x08 ) usage min ( 0xe0 ) usage max ( 0xe7 ) INPUT ( 0x02 ) logical minimum ( 0x00 ) logical maximum ( 0x01 ) usage page ( 0x07 ) report size ( 0x08 ) report count ( 0x01 ) INPUT ( 0x01 ) logical minimum ( 0x00 ) usage page ( 0x07 ) report size ( 0x08 ) logical maximum ( 0xff 0x00 ) report count ( 0x06 ) usage min ( 0x00 ) usage max ( 0x91 ) INPUT ( 0x00 ) END_COLLECTION ( ) input, instance #3 (driver name: hid) /pci at 0,0/pci1028,1f9 at 1d,1/device at 2/input at 1 dip: 0x8daec848 hid_statep: 0x8d44bb80 hid_errlevel: 0x4 usage page ( 0x0c ) usage ( 0x01 ) COLLECTION ( 0x01 ) report id ( 0x01 ) usage page ( 0x0c ) report count ( 0x01 ) report size ( 0x10 ) logical minimum ( 0x00 ) logical maximum ( 0xff 0x03 0x00 0x00 ) usage min ( 0x00 ) usage max ( 0xff 0x03 ) INPUT ( 0x00 ) report id ( 0x01 ) report count ( 0x01 ) logical minimum ( 0x00 ) usage page ( 0x07 ) report size ( 0x08 ) logical maximum ( 0xff 0x00 ) usage min ( 0x00 ) usage max ( 0xff ) INPUT ( 0x00 ) report id ( 0x01 ) report count ( 0x01 ) logical minimum ( 0x00 ) usage page ( 0x07 ) report size ( 0x08 ) logical maximum ( 0xff 0x00 ) INPUT ( 0x01 ) report id ( 0x01 ) logical minimum ( 0x00 ) usage page ( 0x00 0xff ) report count ( 0x02 ) report size ( 0x01 ) logical maximum ( 0x01 ) usage ( 0x03 0xfe ) usage ( 0x04 0xfe ) INPUT ( 0x02 ) report id ( 0x01 ) logical minimum ( 0x00 ) usage page ( 0x00 0xff ) report count ( 0x01 ) report size ( 0x05 ) logical maximum ( 0x1f ) usage ( 0x05 0xff ) INPUT ( 0x02 ) report id ( 0x01 ) logical minimum ( 0x00 ) usage page ( 0x00 0xff ) report count ( 0x01 ) logical maximum ( 0x1f ) report size ( 0x09 ) INPUT ( 0x01 ) report id ( 0x01 ) logical minimum ( 0x00 ) usage page ( 0x00 0xff ) report count ( 0x01 ) logical maximum ( 0xff 0x00 ) report size ( 0x08 ) usage ( 0x02 0xff ) INPUT ( 0x02 ) END_COLLECTION ( ) } Device Descriptor { bLength = 0x12 bDescriptorType = 0x1 bcdUSB = 0x200 bDeviceClass = 0 bDeviceSubClass = 0 bDeviceProtocol = 0 bMaxPacketSize0 = 0x8 idVendor = 0x45e idProduct = 0xdb bcdDevice = 0x173 iManufacturer = 0x1 iProduct = 0x2 iSerialNumber = 0 bNumConfigurations = 0x1 } -- Active Config Index 0 Configuration Descriptor { bLength = 0x9 bDescriptorType = 0x2 wTotalLength = 0x3b bNumInterfaces = 0x2 bConfigurationValue = 0x1 iConfiguration = 0x0 bmAttributes = 0xa0 bMaxPower = 0x32 } Interface Descriptor { bLength = 0x9 bDescriptorType = 0x4 bInterfaceNumber = 0x0 bAlternateSetting = 0x0 bNumEndpoints = 0x1 bInterfaceClass = 0x3 bInterfaceSubClass = 0x1 bInterfaceProtocol = 0x1 iInterface = 0x0 } HID Descriptor { bLength = 0x9 bDescriptorType = 0x21 bcdHID = 0x111 bCountryCode = 0x0 bNumDescriptors = 0x1 bReportDescriptorType = 0x22 wReportDescriptorLength = 0x3c } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x81 bmAttributes = 0x3 wMaxPacketSize = 0x8 bInterval = 0xa } Interface Descriptor { bLength = 0x9 bDescriptorType = 0x4 bInterfaceNumber = 0x1 bAlternateSetting = 0x0 bNumEndpoints = 0x1 bInterfaceClass = 0x3 bInterfaceSubClass = 0x0 bInterfaceProtocol = 0x0 iInterface = 0x0 } HID Descriptor { bLength = 0x9 bDescriptorType = 0x21 bcdHID = 0x111 bCountryCode = 0x0 bNumDescriptors = 0x1 bReportDescriptorType = 0x22 wReportDescriptorLength = 0x56 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x82 bmAttributes = 0x3 wMaxPacketSize = 0x8 bInterval = 0xa } c usb_mid 3 device 0b97.7772 O2Micro CCID SC Reader usba_device: 0x8d9da540 mfg_prod_sn: O2 - O2Micro CCID SC Reader - NULL device, instance #3 (driver name: usb_mid) /pci at 0,0/pci1028,1f9 at 1d,2/hub at 1/device at 2 dip: 0x8d1790c0 usb_mid_statep: 0x8d9ad798 usb_mid_errlevel: 0x4 Device Descriptor { bLength = 0x12 bDescriptorType = 0x1 bcdUSB = 0x110 bDeviceClass = 0 bDeviceSubClass = 0 bDeviceProtocol = 0 bMaxPacketSize0 = 0x40 idVendor = 0xb97 idProduct = 0x7772 bcdDevice = 0x110 iManufacturer = 0x1 iProduct = 0x2 iSerialNumber = 0 bNumConfigurations = 0x1 } -- Active Config Index 0 Configuration Descriptor { bLength = 0x9 bDescriptorType = 0x2 wTotalLength = 0x5d bNumInterfaces = 0x1 bConfigurationValue = 0x1 iConfiguration = 0x0 bmAttributes = 0xe0 bMaxPower = 0x0 } Interface Descriptor { bLength = 0x9 bDescriptorType = 0x4 bInterfaceNumber = 0x0 bAlternateSetting = 0x0 bNumEndpoints = 0x3 bInterfaceClass = 0xb bInterfaceSubClass = 0x0 bInterfaceProtocol = 0x0 iInterface = 0x0 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x3 bmAttributes = 0x2 wMaxPacketSize = 0x40 bInterval = 0x0 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x82 bmAttributes = 0x2 wMaxPacketSize = 0x40 bInterval = 0x0 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x81 bmAttributes = 0x3 wMaxPacketSize = 0x3 bInterval = 0xff } HID Descriptor { bLength = 0x36 bDescriptorType = 0x21 bcdHID = 0x100 bCountryCode = 0x0 bNumDescriptors = 0x7 bReportDescriptorType = 0x3 wReportDescriptorLength = 0x0 ... = 0x0 0xa0 0xf 0x0 0x0 0xa0 0xf 0x0 0x0 0x0 0x80 0x25 0x0 0x 0 0x0 0xb0 0x4 0x0 0x0 0xfe 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x30 0x0 0x0 0x0 0xf 0x1 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1 } d usb_mid 4 device 0483.2016 Biometric Coprocessor usba_device: 0x8d9d9ac0 mfg_prod_sn: STMicroelectronics - Biometric Coprocessor - NULL device, instance #4 (driver name: usb_mid) /pci at 0,0/pci1028,1f9 at 1d,2/device at 2 dip: 0x8daecd48 usb_mid_statep: 0x8db66e60 usb_mid_errlevel: 0x4 Device Descriptor { bLength = 0x12 bDescriptorType = 0x1 bcdUSB = 0x100 bDeviceClass = 0 bDeviceSubClass = 0 bDeviceProtocol = 0 bMaxPacketSize0 = 0x8 idVendor = 0x483 idProduct = 0x2016 bcdDevice = 0x1 iManufacturer = 0x1 iProduct = 0x2 iSerialNumber = 0 bNumConfigurations = 0x1 } -- Active Config Index 0 Configuration Descriptor { bLength = 0x9 bDescriptorType = 0x2 wTotalLength = 0x27 bNumInterfaces = 0x1 bConfigurationValue = 0x1 iConfiguration = 0x0 bmAttributes = 0xa0 bMaxPower = 0x32 } Interface Descriptor { bLength = 0x9 bDescriptorType = 0x4 bInterfaceNumber = 0x0 bAlternateSetting = 0x0 bNumEndpoints = 0x3 bInterfaceClass = 0xff bInterfaceSubClass = 0x0 bInterfaceProtocol = 0x0 iInterface = 0x0 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x81 bmAttributes = 0x2 wMaxPacketSize = 0x40 bInterval = 0x0 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x2 bmAttributes = 0x2 wMaxPacketSize = 0x40 bInterval = 0x0 } Endpoint Descriptor { bLength = 0x7 bDescriptorType = 0x5 bEndpointAddress = 0x83 bmAttributes = 0x3 wMaxPacketSize = 0x4 bInterval = 0x14 }