On 2022/05/09 20:39, Mark Kettenis wrote:
> > Date: Mon, 9 May 2022 17:44:29 +0100
> > From: Stuart Henderson <[email protected]>
> >
> > I have a USB combi keyboard/trackpad thing which is triggering "bad
> > repid 33" frequently while attached (between a couple of times a minute,
> > and once every few minutes). It does work but it's annoying.
> >
> > Presumably this is because it has non-contiguous report IDs?
>
> That shouldn't be a problem.
>
> > Anyone have an idea how to handle it?
>
> No. But showing dmesg output might help.
Here's one (the machine I had it connected to previously had been up
for long enough that the live dmesg wasn't any help, and it wasn't
connected early enough for dmesg.boot).
OpenBSD 7.1 (GENERIC.MP) #0: Sun Apr 24 09:30:43 MDT 2022
[email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 4169531392 (3976MB)
avail mem = 4025880576 (3839MB)
random: good seed from bootblocks
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.8 @ 0xec240 (83 entries)
bios0: vendor Intel Corp. version "WYLPT10H.86A.0054.2019.0902.1752" date
09/02/2019
bios0: Intel Corporation D34010WYK
acpi0 at bios0: ACPI 5.0
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP APIC FPDT FIDT SSDT SSDT MCFG HPET SSDT SSDT DMAR CSRT
acpi0: wakeup devices RP01(S4) PXSX(S4) PXSX(S4) PXSX(S4) RP04(S4) PXSX(S4)
PXSX(S4) PXSX(S4) PXSX(S4) PXSX(S4) GLAN(S4) EHC1(S4) EHC2(S4) XHC_(S4)
HDEF(S4) PEG0(S4) [...]
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel(R) Core(TM) i3-4010U CPU @ 1.70GHz, 1696.37 MHz, 06-45-01
cpu0:
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,PERF,ITSC,FSGSBASE,TSC_ADJUST,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,SRBDS_CTRL,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,MELTDOWN
cpu0: 256KB 64b/line 8-way L2 cache
cpu0: smt 0, core 0, package 0
mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges
cpu0: apic clock running at 99MHz
cpu0: mwait min=64, max=64, C-substates=0.2.1.2.4.1.1.1, IBE
cpu1 at mainbus0: apid 2 (application processor)
cpu1: Intel(R) Core(TM) i3-4010U CPU @ 1.70GHz, 1696.08 MHz, 06-45-01
cpu1:
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,PERF,ITSC,FSGSBASE,TSC_ADJUST,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,SRBDS_CTRL,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,MELTDOWN
cpu1: 256KB 64b/line 8-way L2 cache
cpu1: smt 0, core 1, package 0
cpu2 at mainbus0: apid 1 (application processor)
cpu2: Intel(R) Core(TM) i3-4010U CPU @ 1.70GHz, 1696.08 MHz, 06-45-01
cpu2:
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,PERF,ITSC,FSGSBASE,TSC_ADJUST,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,SRBDS_CTRL,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,MELTDOWN
cpu2: 256KB 64b/line 8-way L2 cache
cpu2: smt 1, core 0, package 0
cpu3 at mainbus0: apid 3 (application processor)
cpu3: Intel(R) Core(TM) i3-4010U CPU @ 1.70GHz, 1696.08 MHz, 06-45-01
cpu3:
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,PERF,ITSC,FSGSBASE,TSC_ADJUST,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,SRBDS_CTRL,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,MELTDOWN
cpu3: 256KB 64b/line 8-way L2 cache
cpu3: smt 1, core 1, package 0
ioapic0 at mainbus0: apid 8 pa 0xfec00000, version 20, 40 pins
acpimcfg0 at acpi0
acpimcfg0: addr 0xf8000000, bus 0-63
acpihpet0 at acpi0: 14318179 Hz
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 1 (RP01)
acpiprt2 at acpi0: bus 2 (RP04)
acpiprt3 at acpi0: bus -1 (PEG0)
acpiec0 at acpi0: not present
acpipci0 at acpi0 PCI0: 0x00000010 0x00000011 0x00000000
acpicmos0 at acpi0
"PNP0C14" at acpi0 not configured
acpibtn0 at acpi0: PWRB
"PNP0C0B" at acpi0 not configured
"PNP0C0B" at acpi0 not configured
"PNP0C0B" at acpi0 not configured
"PNP0C0B" at acpi0 not configured
"PNP0C0B" at acpi0 not configured
acpicpu0 at acpi0: C2(500@67 mwait.1@0x10), C1(1000@1 mwait.1), PSS
acpicpu1 at acpi0: C2(500@67 mwait.1@0x10), C1(1000@1 mwait.1), PSS
acpicpu2 at acpi0: C2(500@67 mwait.1@0x10), C1(1000@1 mwait.1), PSS
acpicpu3 at acpi0: C2(500@67 mwait.1@0x10), C1(1000@1 mwait.1), PSS
acpipwrres0 at acpi0: FN00, resource for FAN0
acpipwrres1 at acpi0: FN01, resource for FAN1
acpipwrres2 at acpi0: FN02, resource for FAN2
acpipwrres3 at acpi0: FN03, resource for FAN3
acpipwrres4 at acpi0: FN04, resource for FAN4
acpitz0 at acpi0: critical temperature is 105 degC
acpitz1 at acpi0: critical temperature is 105 degC
acpivideo0 at acpi0: GFX0
acpivout0 at acpivideo0: DD1F
cpu0: using VERW MDS workaround (except on vmm entry)
cpu0: Enhanced SpeedStep 1696 MHz: speeds: 1700, 1600, 1500, 1400, 1300, 1200,
1100, 1000, 900, 800, 782 MHz
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "Intel Core 4G Host" rev 0x09
inteldrm0 at pci0 dev 2 function 0 "Intel HD Graphics" rev 0x09
drm0 at inteldrm0
inteldrm0: msi, HASWELL, gen 7
azalia0 at pci0 dev 3 function 0 "Intel Core 4G HD Audio" rev 0x09: msi
azalia0: No codecs found
xhci0 at pci0 dev 20 function 0 "Intel 8 Series xHCI" rev 0x04: msi, xHCI 1.0
usb0 at xhci0: USB revision 3.0
uhub0 at usb0 configuration 1 interface 0 "Intel xHCI root hub" rev 3.00/1.00
addr 1
"Intel 8 Series MEI" rev 0x04 at pci0 dev 22 function 0 not configured
em0 at pci0 dev 25 function 0 "Intel I218-V" rev 0x04: msi, address
c0:3f:d5:60:24:9f
azalia1 at pci0 dev 27 function 0 "Intel 8 Series HD Audio" rev 0x04: msi
azalia1: codecs: Realtek ALC283
audio0 at azalia1
ppb0 at pci0 dev 28 function 0 "Intel 8 Series PCIE" rev 0xe4
pci1 at ppb0 bus 1
ppb1 at pci0 dev 28 function 3 "Intel 8 Series PCIE" rev 0xe4: msi
pci2 at ppb1 bus 2
iwn0 at pci2 dev 0 function 0 "Intel Centrino Advanced-N 6205" rev 0x34: msi,
MIMO 2T2R, MoW, address 8c:70:5a:62:b7:f8
ehci0 at pci0 dev 29 function 0 "Intel 8 Series USB" rev 0x04: apic 8 int 23
usb1 at ehci0: USB revision 2.0
uhub1 at usb1 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00
addr 1
pcib0 at pci0 dev 31 function 0 "Intel 8 Series LPC" rev 0x04
ahci0 at pci0 dev 31 function 2 "Intel 8 Series AHCI" rev 0x04: msi, AHCI 1.3
ahci0: port 3: 6.0Gb/s
scsibus1 at ahci0: 32 targets
sd0 at scsibus1 targ 3 lun 0: <ATA, KINGSTON SUV500M, 0030> naa.50026b778333fd6e
sd0: 114473MB, 512 bytes/sector, 234441648 sectors, thin
ichiic0 at pci0 dev 31 function 3 "Intel 8 Series SMBus" rev 0x04: apic 8 int 18
iic0 at ichiic0
spdmem0 at iic0 addr 0x50: 4GB DDR3 SDRAM PC3-12800 SO-DIMM
isa0 at pcib0
isadma0 at isa0
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5 irq 1 irq 12
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
wbsio0 at isa0 port 0x4e/2: NCT6776F rev 0x33
lm1 at wbsio0 port 0xa00/8: NCT6776F
vmm0 at mainbus0: VMX/EPT
uhidev0 at uhub0 port 1 configuration 1 interface 0 "Microsoft Microsoft\M-.
Nano Transceiver v2.0" rev 2.00/9.44 addr 2
uhidev0: iclass 3/1
ukbd0 at uhidev0: 8 variable keys, 6 key codes
wskbd0 at ukbd0: console keyboard
uhidev1 at uhub0 port 1 configuration 1 interface 1 "Microsoft Microsoft\M-.
Nano Transceiver v2.0" rev 2.00/9.44 addr 2
uhidev1: iclass 3/1, 26 report ids
uhid0 at uhidev1 reportid 18: input=0, output=0, feature=1
uhid1 at uhidev1 reportid 23: input=0, output=0, feature=1
ums0 at uhidev1 reportid 26: 5 buttons, Z and W dir
wsmouse0 at ums0 mux 0
uhidev2 at uhub0 port 1 configuration 1 interface 2 "Microsoft Microsoft\M-.
Nano Transceiver v2.0" rev 2.00/9.44 addr 2
uhidev2: iclass 3/0, 8 report ids
uhid2 at uhidev2 reportid 3: input=1, output=0, feature=0
uhid3 at uhidev2 reportid 4: input=1, output=0, feature=0
ucc0 at uhidev2 reportid 7: 1024 usages, 18 keys, array
wskbd1 at ucc0 mux 1
uhid4 at uhidev2 reportid 8: input=1, output=0, feature=0
uhub2 at uhub1 port 1 configuration 1 interface 0 "Intel Rate Matching Hub" rev
2.00/0.04 addr 2
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
root on sd0a (840581441134145c.a) swap on sd0b dump on sd0b
inteldrm0: 1920x1200, 32bpp
wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation), using wskbd0
wskbd1: connecting to wsdisplay0
uhidev_intr: bad repid 33
wsdisplay0: screen 1-5 added (std, vt100 emulation)
fd0 at fdc0 drive 0: density unknown
fd1 at fdc0 drive 1: density unknown
> > Bus 000 Device 002: ID 045e:0800 Microsoft Corp.
> > Device Descriptor:
> > bLength 18
> > bDescriptorType 1
> > bcdUSB 2.00
> > bDeviceClass 0 (Defined at Interface level)
> > bDeviceSubClass 0
> > bDeviceProtocol 0
> > bMaxPacketSize0 64
> > idVendor 0x045e Microsoft Corp.
> > idProduct 0x0800
> > bcdDevice 9.44
> > iManufacturer 1 Microsoft
> > iProduct 2 Microsoft? Nano Transceiver v2.0
> > iSerial 0
> > bNumConfigurations 1
> > Configuration Descriptor:
> > bLength 9
> > bDescriptorType 2
> > wTotalLength 84
> > bNumInterfaces 3
> > bConfigurationValue 1
> > iConfiguration 0
> > bmAttributes 0xa0
> > (Bus Powered)
> > Remote Wakeup
> > MaxPower 100mA
> > Interface Descriptor:
> > bLength 9
> > bDescriptorType 4
> > bInterfaceNumber 0
> > bAlternateSetting 0
> > bNumEndpoints 1
> > bInterfaceClass 3 Human Interface Device
> > bInterfaceSubClass 1 Boot Interface Subclass
> > bInterfaceProtocol 1 Keyboard
> > iInterface 0
> > HID Device Descriptor:
> > bLength 9
> > bDescriptorType 33
> > bcdHID 1.11
> > bCountryCode 0 Not supported
> > bNumDescriptors 1
> > bDescriptorType 34 Report
> > wDescriptorLength 57
> > Report Descriptor: (length is 57)
> > Item(Global): Usage Page, data= [ 0x01 ] 1
> > Generic Desktop Controls
> > Item(Local ): Usage, data= [ 0x06 ] 6
> > Keyboard
> > Item(Main ): Collection, data= [ 0x01 ] 1
> > Application
> > Item(Global): Usage Page, data= [ 0x08 ] 8
> > LEDs
> > Item(Local ): Usage Minimum, data= [ 0x01 ] 1
> > NumLock
> > Item(Local ): Usage Maximum, data= [ 0x03 ] 3
> > Scroll Lock
> > Item(Global): Logical Minimum, data= [ 0x00 ] 0
> > Item(Global): Logical Maximum, data= [ 0x01 ] 1
> > Item(Global): Report Size, data= [ 0x01 ] 1
> > Item(Global): Report Count, data= [ 0x03 ] 3
> > Item(Main ): Output, data= [ 0x02 ] 2
> > Data Variable Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Global): Report Count, data= [ 0x05 ] 5
> > Item(Main ): Output, data= [ 0x01 ] 1
> > Constant Array Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Global): Usage Page, data= [ 0x07 ] 7
> > Keyboard
> > Item(Local ): Usage Minimum, data= [ 0xe0 0x00 ] 224
> > Control Left
> > Item(Local ): Usage Maximum, data= [ 0xe7 0x00 ] 231
> > GUI Right
> > Item(Global): Report Count, data= [ 0x08 ] 8
> > Item(Main ): Input, data= [ 0x02 ] 2
> > Data Variable Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Global): Report Size, data= [ 0x08 ] 8
> > Item(Global): Report Count, data= [ 0x01 ] 1
> > Item(Main ): Input, data= [ 0x01 ] 1
> > Constant Array Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Local ): Usage Minimum, data= [ 0x00 ] 0
> > No Event
> > Item(Local ): Usage Maximum, data= [ 0x91 0x00 ] 145
> > LANG 2 (Hanja Conversion, Korea)
> > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255
> > Item(Global): Report Count, data= [ 0x06 ] 6
> > Item(Main ): Input, data= [ 0x00 ] 0
> > Data Array Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Main ): End Collection, data=none
> > Endpoint Descriptor:
> > bLength 7
> > bDescriptorType 5
> > bEndpointAddress 0x81 EP 1 IN
> > bmAttributes 3
> > Transfer Type Interrupt
> > Synch Type None
> > Usage Type Data
> > wMaxPacketSize 0x0008 1x 8 bytes
> > bInterval 4
> > Interface Descriptor:
> > bLength 9
> > bDescriptorType 4
> > bInterfaceNumber 1
> > bAlternateSetting 0
> > bNumEndpoints 1
> > bInterfaceClass 3 Human Interface Device
> > bInterfaceSubClass 1 Boot Interface Subclass
> > bInterfaceProtocol 2 Mouse
> > iInterface 0
> > HID Device Descriptor:
> > bLength 9
> > bDescriptorType 33
> > bcdHID 1.11
> > bCountryCode 0 Not supported
> > bNumDescriptors 1
> > bDescriptorType 34 Report
> > wDescriptorLength 223
> > Report Descriptor: (length is 223)
> > Item(Global): Usage Page, data= [ 0x01 ] 1
> > Generic Desktop Controls
> > Item(Local ): Usage, data= [ 0x02 ] 2
> > Mouse
> > Item(Main ): Collection, data= [ 0x01 ] 1
> > Application
> > Item(Global): Usage Page, data= [ 0x01 ] 1
> > Generic Desktop Controls
> > Item(Local ): Usage, data= [ 0x02 ] 2
> > Mouse
> > Item(Main ): Collection, data= [ 0x02 ] 2
> > Logical
> > Item(Global): Report ID, data= [ 0x1a ] 26
> > Item(Local ): Usage, data= [ 0x01 ] 1
> > Pointer
> > Item(Main ): Collection, data= [ 0x00 ] 0
> > Physical
> > Item(Global): Usage Page, data= [ 0x09 ] 9
> > Buttons
> > Item(Local ): Usage Minimum, data= [ 0x01 ] 1
> > Button 1 (Primary)
> > Item(Local ): Usage Maximum, data= [ 0x05 ] 5
> > Button 5
> > Item(Global): Report Count, data= [ 0x05 ] 5
> > Item(Global): Report Size, data= [ 0x01 ] 1
> > Item(Global): Logical Minimum, data= [ 0x00 ] 0
> > Item(Global): Logical Maximum, data= [ 0x01 ] 1
> > Item(Main ): Input, data= [ 0x02 ] 2
> > Data Variable Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Global): Report Size, data= [ 0x03 ] 3
> > Item(Global): Report Count, data= [ 0x01 ] 1
> > Item(Main ): Input, data= [ 0x01 ] 1
> > Constant Array Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Global): Usage Page, data= [ 0x01 ] 1
> > Generic Desktop Controls
> > Item(Local ): Usage, data= [ 0x30 ] 48
> > Direction-X
> > Item(Local ): Usage, data= [ 0x31 ] 49
> > Direction-Y
> > Item(Global): Report Count, data= [ 0x02 ] 2
> > Item(Global): Report Size, data= [ 0x10 ] 16
> > Item(Global): Logical Minimum, data= [ 0x01 0x80 ] 32769
> > Item(Global): Logical Maximum, data= [ 0xff 0x7f ] 32767
> > Item(Main ): Input, data= [ 0x06 ] 6
> > Data Variable Relative No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Main ): Collection, data= [ 0x02 ] 2
> > Logical
> > Item(Global): Report ID, data= [ 0x12 ] 18
> > Item(Local ): Usage, data= [ 0x48 ] 72
> > (null)
> > Item(Global): Report Count, data= [ 0x01 ] 1
> > Item(Global): Report Size, data= [ 0x02 ] 2
> > Item(Global): Logical Minimum, data= [ 0x00 ] 0
> > Item(Global): Logical Maximum, data= [ 0x01 ] 1
> > Item(Global): Physical Minimum, data= [ 0x01 ] 1
> > Item(Global): Physical Maximum, data= [ 0x10 ] 16
> > Item(Main ): Feature, data= [ 0x02 ] 2
> > Data Variable Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Global): Report ID, data= [ 0x1a ] 26
> > Item(Local ): Usage, data= [ 0x38 ] 56
> > Wheel
> > Item(Global): Physical Minimum, data= [ 0x00 ] 0
> > Item(Global): Physical Maximum, data= [ 0x00 ] 0
> > Item(Global): Report Count, data= [ 0x01 ] 1
> > Item(Global): Report Size, data= [ 0x10 ] 16
> > Item(Global): Logical Minimum, data= [ 0x01 0x80 ] 32769
> > Item(Global): Logical Maximum, data= [ 0xff 0x7f ] 32767
> > Item(Main ): Input, data= [ 0x06 ] 6
> > Data Variable Relative No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Main ): End Collection, data=none
> > Item(Main ): Collection, data= [ 0x02 ] 2
> > Logical
> > Item(Global): Report ID, data= [ 0x12 ] 18
> > Item(Local ): Usage, data= [ 0x48 ] 72
> > (null)
> > Item(Global): Report Size, data= [ 0x02 ] 2
> > Item(Global): Logical Minimum, data= [ 0x00 ] 0
> > Item(Global): Logical Maximum, data= [ 0x01 ] 1
> > Item(Global): Physical Minimum, data= [ 0x01 ] 1
> > Item(Global): Physical Maximum, data= [ 0x10 ] 16
> > Item(Main ): Feature, data= [ 0x02 ] 2
> > Data Variable Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Global): Physical Minimum, data= [ 0x00 ] 0
> > Item(Global): Physical Maximum, data= [ 0x00 ] 0
> > Item(Global): Report Size, data= [ 0x04 ] 4
> > Item(Main ): Feature, data= [ 0x01 ] 1
> > Constant Array Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Global): Report ID, data= [ 0x1a ] 26
> > Item(Global): Usage Page, data= [ 0x0c ] 12
> > Consumer
> > Item(Global): Report Count, data= [ 0x01 ] 1
> > Item(Global): Report Size, data= [ 0x10 ] 16
> > Item(Global): Logical Minimum, data= [ 0x01 0x80 ] 32769
> > Item(Global): Logical Maximum, data= [ 0xff 0x7f ] 32767
> > Item(Local ): Usage, data= [ 0x38 0x02 ] 568
> > AC Pan
> > Item(Main ): Input, data= [ 0x06 ] 6
> > Data Variable Relative No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Main ): End Collection, data=none
> > Item(Main ): End Collection, data=none
> > Item(Main ): End Collection, data=none
> > Item(Main ): End Collection, data=none
> > Item(Global): Usage Page, data= [ 0x0c ] 12
> > Consumer
> > Item(Local ): Usage, data= [ 0x01 ] 1
> > Consumer Control
> > Item(Main ): Collection, data= [ 0x01 ] 1
> > Application
> > Item(Global): Usage Page, data= [ 0x01 ] 1
> > Generic Desktop Controls
> > Item(Local ): Usage, data= [ 0x02 ] 2
> > Mouse
> > Item(Main ): Collection, data= [ 0x02 ] 2
> > Logical
> > Item(Global): Report ID, data= [ 0x1f ] 31
> > Item(Global): Usage Page, data= [ 0x0c ] 12
> > Consumer
> > Item(Local ): Usage, data= [ 0x38 0x02 ] 568
> > AC Pan
> > Item(Global): Report Count, data= [ 0x01 ] 1
> > Item(Global): Report Size, data= [ 0x10 ] 16
> > Item(Global): Logical Minimum, data= [ 0x01 0x80 ] 32769
> > Item(Global): Logical Maximum, data= [ 0xff 0x7f ] 32767
> > Item(Main ): Input, data= [ 0x06 ] 6
> > Data Variable Relative No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Global): Report ID, data= [ 0x17 ] 23
> > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280
> > (null)
> > Item(Local ): Usage, data= [ 0x06 0xff ] 65286
> > (null)
> > Item(Local ): Usage, data= [ 0x0f 0xff ] 65295
> > (null)
> > Item(Global): Logical Minimum, data= [ 0x00 ] 0
> > Item(Global): Logical Maximum, data= [ 0x01 ] 1
> > Item(Global): Physical Minimum, data= [ 0x01 ] 1
> > Item(Global): Physical Maximum, data= [ 0x10 ] 16
> > Item(Global): Report Count, data= [ 0x02 ] 2
> > Item(Global): Report Size, data= [ 0x02 ] 2
> > Item(Main ): Feature, data= [ 0x02 ] 2
> > Data Variable Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Local ): Usage, data= [ 0x04 0xff ] 65284
> > (null)
> > Item(Global): Physical Minimum, data= [ 0x00 ] 0
> > Item(Global): Physical Maximum, data= [ 0x00 ] 0
> > Item(Global): Report Count, data= [ 0x01 ] 1
> > Item(Global): Report Size, data= [ 0x01 ] 1
> > Item(Main ): Feature, data= [ 0x02 ] 2
> > Data Variable Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Global): Report Size, data= [ 0x03 ] 3
> > Item(Main ): Feature, data= [ 0x01 ] 1
> > Constant Array Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Main ): End Collection, data=none
> > Item(Main ): End Collection, data=none
> > Endpoint Descriptor:
> > bLength 7
> > bDescriptorType 5
> > bEndpointAddress 0x82 EP 2 IN
> > bmAttributes 3
> > Transfer Type Interrupt
> > Synch Type None
> > Usage Type Data
> > wMaxPacketSize 0x000a 1x 10 bytes
> > bInterval 1
> > Interface Descriptor:
> > bLength 9
> > bDescriptorType 4
> > bInterfaceNumber 2
> > bAlternateSetting 0
> > bNumEndpoints 1
> > bInterfaceClass 3 Human Interface Device
> > bInterfaceSubClass 0 No Subclass
> > bInterfaceProtocol 0 None
> > iInterface 0
> > HID Device Descriptor:
> > bLength 9
> > bDescriptorType 33
> > bcdHID 1.11
> > bCountryCode 0 Not supported
> > bNumDescriptors 1
> > bDescriptorType 34 Report
> > wDescriptorLength 319
> > Report Descriptor: (length is 319)
> > Item(Global): Usage Page, data= [ 0x0c ] 12
> > Consumer
> > Item(Local ): Usage, data= [ 0x01 ] 1
> > Consumer Control
> > Item(Main ): Collection, data= [ 0x01 ] 1
> > Application
> > Item(Global): Report ID, data= [ 0x20 ] 32
> > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280
> > (null)
> > Item(Global): Logical Minimum, data= [ 0x00 ] 0
> > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255
> > Item(Global): Report Size, data= [ 0x08 ] 8
> > Item(Global): Report Count, data= [ 0x12 ] 18
> > Item(Local ): Usage, data= [ 0x0a 0xfa ] 64010
> > (null)
> > Item(Main ): Feature, data= [ 0x02 ] 2
> > Data Variable Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Global): Report ID, data= [ 0x21 ] 33
> > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280
> > (null)
> > Item(Global): Logical Minimum, data= [ 0x00 ] 0
> > Item(Global): Logical Maximum, data= [ 0x01 ] 1
> > Item(Global): Report Size, data= [ 0x01 ] 1
> > Item(Global): Report Count, data= [ 0x10 ] 16
> > Item(Local ): Usage Minimum, data= [ 0x10 0xfa ] 64016
> > (null)
> > Item(Local ): Usage Maximum, data= [ 0x1f 0xfa ] 64031
> > (null)
> > Item(Main ): Input, data= [ 0x02 ] 2
> > Data Variable Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Global): Report ID, data= [ 0x28 ] 40
> > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280
> > (null)
> > Item(Local ): Usage Minimum, data= [ 0x10 0xfa ] 64016
> > (null)
> > Item(Local ): Usage Maximum, data= [ 0x1f 0xfa ] 64031
> > (null)
> > Item(Main ): Feature, data= [ 0x02 ] 2
> > Data Variable Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Global): Report ID, data= [ 0x22 ] 34
> > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280
> > (null)
> > Item(Global): Logical Minimum, data= [ 0x00 ] 0
> > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255
> > Item(Global): Report Size, data= [ 0x08 ] 8
> > Item(Global): Report Count, data= [ 0x1a ] 26
> > Item(Local ): Usage, data= [ 0x0a 0xfa ] 64010
> > (null)
> > Item(Main ): Feature, data= [ 0x02 ] 2
> > Data Variable Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Global): Report ID, data= [ 0x23 ] 35
> > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280
> > (null)
> > Item(Local ): Usage, data= [ 0x0a 0xfa ] 64010
> > (null)
> > Item(Main ): Feature, data= [ 0x02 ] 2
> > Data Variable Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Global): Report ID, data= [ 0x24 ] 36
> > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280
> > (null)
> > Item(Global): Report Count, data= [ 0x1f ] 31
> > Item(Local ): Usage, data= [ 0x0a 0xfa ] 64010
> > (null)
> > Item(Main ): Feature, data= [ 0x02 ] 2
> > Data Variable Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Global): Report ID, data= [ 0x25 ] 37
> > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280
> > (null)
> > Item(Local ): Usage, data= [ 0x0a 0xfa ] 64010
> > (null)
> > Item(Main ): Feature, data= [ 0x02 ] 2
> > Data Variable Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Global): Report ID, data= [ 0x26 ] 38
> > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280
> > (null)
> > Item(Local ): Usage, data= [ 0x0a 0xfa ] 64010
> > (null)
> > Item(Main ): Feature, data= [ 0x02 ] 2
> > Data Variable Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Global): Report ID, data= [ 0x27 ] 39
> > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280
> > (null)
> > Item(Local ): Usage, data= [ 0x0a 0xfa ] 64010
> > (null)
> > Item(Main ): Input, data= [ 0x02 ] 2
> > Data Variable Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Global): Report ID, data= [ 0x14 ] 20
> > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280
> > (null)
> > Item(Global): Logical Minimum, data= [ 0x00 ] 0
> > Item(Global): Logical Maximum, data= [ 0x03 ] 3
> > Item(Global): Report Size, data= [ 0x02 ] 2
> > Item(Global): Report Count, data= [ 0x01 ] 1
> > Item(Local ): Usage, data= [ 0x01 0xfe ] 65025
> > (null)
> > Item(Main ): Input, data= [ 0x02 ] 2
> > Data Variable Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Global): Report Size, data= [ 0x06 ] 6
> > Item(Main ): Input, data= [ 0x01 ] 1
> > Constant Array Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Global): Report ID, data= [ 0x04 ] 4
> > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280
> > (null)
> > Item(Global): Logical Minimum, data= [ 0x00 ] 0
> > Item(Global): Logical Maximum, data= [ 0x03 ] 3
> > Item(Global): Report Size, data= [ 0x02 ] 2
> > Item(Global): Report Count, data= [ 0x01 ] 1
> > Item(Local ): Usage, data= [ 0x01 0xfe ] 65025
> > (null)
> > Item(Main ): Input, data= [ 0x02 ] 2
> > Data Variable Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Global): Report Size, data= [ 0x06 ] 6
> > Item(Main ): Input, data= [ 0x01 ] 1
> > Constant Array Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Main ): End Collection, data=none
> > Item(Global): Usage Page, data= [ 0x0c ] 12
> > Consumer
> > Item(Local ): Usage, data= [ 0x01 ] 1
> > Consumer Control
> > Item(Main ): Collection, data= [ 0x01 ] 1
> > Application
> > Item(Global): Report ID, data= [ 0x07 ] 7
> > Item(Global): Usage Page, data= [ 0x0c ] 12
> > Consumer
> > Item(Local ): Usage Minimum, data= [ 0x00 ] 0
> > Unassigned
> > Item(Local ): Usage Maximum, data= [ 0xff 0x03 ] 1023
> > (null)
> > Item(Global): Report Count, data= [ 0x01 ] 1
> > Item(Global): Report Size, data= [ 0x10 ] 16
> > Item(Global): Logical Minimum, data= [ 0x00 ] 0
> > Item(Global): Logical Maximum, data= [ 0xff 0x03 ] 1023
> > Item(Main ): Input, data= [ 0x00 ] 0
> > Data Array Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Global): Usage Page, data= [ 0x07 ] 7
> > Keyboard
> > Item(Local ): Usage Minimum, data= [ 0x00 ] 0
> > No Event
> > Item(Local ): Usage Maximum, data= [ 0xff ] 255
> > (null)
> > Item(Global): Report Size, data= [ 0x08 ] 8
> > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255
> > Item(Main ): Input, data= [ 0x00 ] 0
> > Data Array Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Main ): Input, data= [ 0x01 ] 1
> > Constant Array Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Global): Usage Page, data= [ 0x00 0xff ] 65280
> > (null)
> > Item(Local ): Usage, data= [ 0x03 0xfe ] 65027
> > (null)
> > Item(Local ): Usage, data= [ 0x04 0xfe ] 65028
> > (null)
> > Item(Global): Report Size, data= [ 0x01 ] 1
> > Item(Global): Report Count, data= [ 0x02 ] 2
> > Item(Global): Logical Maximum, data= [ 0x01 ] 1
> > Item(Main ): Input, data= [ 0x02 ] 2
> > Data Variable Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Local ): Usage, data= [ 0x05 0xff ] 65285
> > (null)
> > Item(Global): Report Count, data= [ 0x01 ] 1
> > Item(Global): Report Size, data= [ 0x05 ] 5
> > Item(Global): Logical Maximum, data= [ 0x1f ] 31
> > Item(Main ): Input, data= [ 0x02 ] 2
> > Data Variable Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Global): Report Size, data= [ 0x01 ] 1
> > Item(Main ): Input, data= [ 0x01 ] 1
> > Constant Array Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Local ): Usage Minimum, data= [ 0x01 0xfd ] 64769
> > (null)
> > Item(Local ): Usage Maximum, data= [ 0xff 0xfd ] 65023
> > (null)
> > Item(Global): Logical Minimum, data= [ 0x01 ] 1
> > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255
> > Item(Global): Report Size, data= [ 0x08 ] 8
> > Item(Main ): Input, data= [ 0x00 ] 0
> > Data Array Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Local ): Usage, data= [ 0x02 0xff ] 65282
> > (null)
> > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255
> > Item(Global): Logical Minimum, data= [ 0x00 ] 0
> > Item(Main ): Input, data= [ 0x02 ] 2
> > Data Variable Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Main ): End Collection, data=none
> > Item(Global): Usage Page, data= [ 0xbc 0xff ] 65468
> > (null)
> > Item(Local ): Usage, data= [ 0x88 ] 136
> > (null)
> > Item(Main ): Collection, data= [ 0x01 ] 1
> > Application
> > Item(Global): Report ID, data= [ 0x08 ] 8
> > Item(Local ): Usage Minimum, data= [ 0x01 ] 1
> > (null)
> > Item(Local ): Usage Maximum, data= [ 0xff ] 255
> > (null)
> > Item(Global): Logical Minimum, data= [ 0x01 ] 1
> > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255
> > Item(Global): Report Count, data= [ 0x01 ] 1
> > Item(Global): Report Size, data= [ 0x08 ] 8
> > Item(Main ): Input, data= [ 0x00 ] 0
> > Data Array Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Main ): End Collection, data=none
> > Item(Global): Usage Page, data= [ 0x01 ] 1
> > Generic Desktop Controls
> > Item(Local ): Usage, data= [ 0x80 ] 128
> > System Control
> > Item(Main ): Collection, data= [ 0x01 ] 1
> > Application
> > Item(Global): Report ID, data= [ 0x03 ] 3
> > Item(Local ): Usage Minimum, data= [ 0x00 ] 0
> > Undefined
> > Item(Local ): Usage Maximum, data= [ 0xff ] 255
> > (null)
> > Item(Global): Logical Minimum, data= [ 0x00 ] 0
> > Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255
> > Item(Main ): Input, data= [ 0x00 ] 0
> > Data Array Absolute No_Wrap Linear
> > Preferred_State No_Null_Position Non_Volatile
> > Bitfield
> > Item(Main ): End Collection, data=none
> > Endpoint Descriptor:
> > bLength 7
> > bDescriptorType 5
> > bEndpointAddress 0x83 EP 3 IN
> > bmAttributes 3
> > Transfer Type Interrupt
> > Synch Type None
> > Usage Type Data
> > wMaxPacketSize 0x0020 1x 32 bytes
> > bInterval 1
> > Device Status: 0x0000
> > (Bus Powered)
> >
> >