Hello Benjamin, On 17/01/15(Sat) 22:40, Benjamin Baier wrote: > >Synopsis: usbhidctl(1) -l does not work/loop > >Category: user > >Environment: > System : OpenBSD 5.7 > Details : OpenBSD 5.7-beta (GENERIC.MP) #0: Fri Jan 16 17:26:49 CET > 2015 > > b...@x220.home.netzbasis.de:/git/hellfish/src/sys/arch/amd64/compile/GENERIC.MP > > Architecture: OpenBSD.amd64 > Machine : amd64 > >Description: > $ usbhidctl -f /dev/uhid1 -l > usbhidctl: Unexpected response length: 2 != 3 > > disabling length check (like in usbhidaction(1)) gives
The lengths are different because hid_report_size() adds one for the reportID but the kernel skips it. Could you try the diff below it should fix that. It also include a commented out check for usbhidaction(1) that I guess is the same problem. Do you also use usbhidaction(1)? Could you try? > $ usbhidctl -f /dev/uhid1 -l > Mute=1 > usbhidctl: Excessive collection ends This is more interesting. Could you send me the output of "lsusb -v" for your device? You'll find lsusb(1) in the package "usbutils". Thanks, Martin > $ usbhidctl -f /dev/uhid1 -l > Volume_Increment=1 > Unassigned=1 > Volume_Decrement=1 > Unassigned=1 > Volume_Increment=1 > Unassigned=1 > Mute=1 > Unassigned=1 > Mute=1 > Unassigned=1 > ^C > > >How-To-Repeat: > >Fix: > Index: usbhid.c > =================================================================== > RCS file: /cvs/src/usr.bin/usbhidctl/usbhid.c,v > retrieving revision 1.11 > diff -u -p -r1.11 usbhid.c > --- usbhid.c 27 Nov 2013 00:13:23 -0000 1.11 > +++ usbhid.c 17 Jan 2015 21:05:31 -0000 > @@ -599,9 +599,11 @@ devloop(int hidfd, report_desc_t rd, str > readlen = read(hidfd, dbuf, dlen); > if (readlen < 0) > err(1, "Device read error"); > +#if 0 > if (dlen != (size_t)readlen) > errx(1, "Unexpected response length: %lu != %lu", > (unsigned long)readlen, (unsigned long)dlen); > +#endif > > collind = 0; > hdata = hid_start_parse(rd, 1 << hid_input, reportid); > @@ -613,15 +615,7 @@ devloop(int hidfd, report_desc_t rd, str > > switch (hitem.kind) { > case hid_collection: > - if (collind >= (sizeof(colls) / sizeof(*colls))) > - errx(1, "Excessive nested collections"); > - colls[collind++] = hitem.usage; > - break; > case hid_endcollection: > - if (collind == 0) > - errx(1, "Excessive collection ends"); > - collind--; > - break; > case hid_input: > break; > case hid_output: > @@ -641,7 +635,6 @@ devloop(int hidfd, report_desc_t rd, str > inreport.buffer->ucr_data); > } > hid_end_parse(hdata); > - printf("\n"); > } > /* NOTREACHED */ > } > > > dmesg: > OpenBSD 5.7-beta (GENERIC.MP) #0: Fri Jan 16 17:26:49 CET 2015 > b...@xxx.xxx.xxx.xxx:/usr/src/sys/arch/amd64/compile/GENERIC.MP > real mem = 8451125248 (8059MB) > avail mem = 8222277632 (7841MB) > mpath0 at root > Scsibus0 at mpath0: 256 targets > mainbus0 at root > bios0 at mainbus0: SMBIOS rev. 2.6 @ 0xdae9c000 (64 entries) > bios0: vendor LENOVO version "8DET69WW (1.39 )" date 07/18/2013 > bios0: LENOVO 4287CTO > acpi0 at bios0: rev 2 > acpi0: sleep states S0 S3 S4 S5 > acpi0: tables DSDT FACP SLIC SSDT SSDT SSDT HPET APIC MCFG ECDT ASF! TCPA > SSDT SSDT DMAR UEFI UEFI UEFI > acpi0: wakeup devices LID_(S3) SLPB(S3) IGBE(S4) EXP4(S4) EXP7(S4) EHC1(S3) > EHC2(S3) HDEF(S4) > acpitimer0 at acpi0: 3579545 Hz, 24 bits > acpihpet0 at acpi0: 14318179 Hz > acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat > cpu0 at mainbus0: apid 0 (boot processor) > cpu0: Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz, 2492.24 MHz > 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,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX,NXE,LONG,LAHF,PERF,ITSC > 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.1.2, IBE > cpu1 at mainbus0: apid 1 (application processor) > cpu1: Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz, 2491.91 MHz > 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,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX,NXE,LONG,LAHF,PERF,ITSC > cpu1: 256KB 64b/line 8-way L2 cache > cpu1: smt 1, core 0, package 0 > cpu2 at mainbus0: apid 2 (application processor) > cpu2: Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz, 2491.91 MHz > 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,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX,NXE,LONG,LAHF,PERF,ITSC > cpu2: 256KB 64b/line 8-way L2 cache > cpu2: smt 0, core 1, package 0 > cpu3 at mainbus0: apid 3 (application processor) > cpu3: Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz, 2491.91 MHz > 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,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX,NXE,LONG,LAHF,PERF,ITSC > cpu3: 256KB 64b/line 8-way L2 cache > cpu3: smt 1, core 1, package 0 > ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 24 pins > acpimcfg0 at acpi0 addr 0xf8000000, bus 0-63 > acpiec0 at acpi0 > acpiprt0 at acpi0: bus 0 (PCI0) > acpiprt1 at acpi0: bus -1 (PEG_) > acpiprt2 at acpi0: bus 2 (EXP1) > acpiprt3 at acpi0: bus 3 (EXP2) > acpiprt4 at acpi0: bus 5 (EXP4) > acpiprt5 at acpi0: bus 13 (EXP5) > acpiprt6 at acpi0: bus -1 (EXP7) > acpicpu0 at acpi0: C3, C1, PSS > acpicpu1 at acpi0: C3, C1, PSS > acpicpu2 at acpi0: C3, C1, PSS > acpicpu3 at acpi0: C3, C1, PSS > acpipwrres0 at acpi0: PUBS, resource for EHC1, EHC2 > acpitz0 at acpi0: critical temperature is 99 degC > acpibtn0 at acpi0: LID_ > acpibtn1 at acpi0: SLPB > acpibat0 at acpi0: BAT0 model "42T4861" serial 12675 type LION oem "SANYO" > acpibat1 at acpi0: BAT1 not present > acpiac0 at acpi0: AC unit online > acpithinkpad0 at acpi0 > acpidock0 at acpi0: GDCK docked (15) > cpu0: Enhanced SpeedStep 2492 MHz: speeds: 2501, 2500, 2200, 2000, 1800, > 1600, 1400, 1200, 1000, 800 MHz > pci0 at mainbus0 bus 0 > pchb0 at pci0 dev 0 function 0 "Intel Core 2G Host" rev 0x09 > vga1 at pci0 dev 2 function 0 "Intel HD Graphics 3000" rev 0x09 > intagp at vga1 not configured > inteldrm0 at vga1 > drm0 at inteldrm0 > drm: Memory usable by graphics device = 2048M > inteldrm0: 1366x768 > wsdisplay0 at vga1 mux 1: console (std, vt100 emulation) > wsdisplay0: screen 1-5 added (std, vt100 emulation) > "Intel 6 Series MEI" rev 0x04 at pci0 dev 22 function 0 not configured > em0 at pci0 dev 25 function 0 "Intel 82579LM" rev 0x04: msi, address > f0:de:f1:cd:a7:0f > ehci0 at pci0 dev 26 function 0 "Intel 6 Series USB" rev 0x04: apic 2 int 16 > usb0 at ehci0: USB revision 2.0 > uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1 > azalia0 at pci0 dev 27 function 0 "Intel 6 Series HD Audio" rev 0x04: msi > azalia0: codecs: Conexant/0x506e, Intel/0x2805, using Conexant/0x506e > audio0 at azalia0 > ppb0 at pci0 dev 28 function 0 "Intel 6 Series PCIE" rev 0xb4: msi > pci1 at ppb0 bus 2 > ppb1 at pci0 dev 28 function 1 "Intel 6 Series PCIE" rev 0xb4: msi > pci2 at ppb1 bus 3 > iwn0 at pci2 dev 0 function 0 "Intel Centrino Advanced-N 6205" rev 0x34: msi, > MIMO 2T2R, MoW, address 10:0b:a9:9e:65:34 > ppb2 at pci0 dev 28 function 3 "Intel 6 Series PCIE" rev 0xb4: msi > pci3 at ppb2 bus 5 > ppb3 at pci0 dev 28 function 4 "Intel 6 Series PCIE" rev 0xb4: msi > pci4 at ppb3 bus 13 > sdhc0 at pci4 dev 0 function 0 "Ricoh 5U822 SD/MMC" rev 0x07: apic 2 int 16 > sdmmc0 at sdhc0 > ehci1 at pci0 dev 29 function 0 "Intel 6 Series USB" rev 0x04: apic 2 int 23 > usb1 at ehci1: USB revision 2.0 > uhub1 at usb1 "Intel EHCI root hub" rev 2.00/1.00 addr 1 > pcib0 at pci0 dev 31 function 0 "Intel QM67 LPC" rev 0x04 > ahci0 at pci0 dev 31 function 2 "Intel 6 Series AHCI" rev 0x04: msi, AHCI 1.3 > scsibus1 at ahci0: 32 targets > sd0 at scsibus1 targ 0 lun 0: <ATA, SanDisk SD6SB1M1, X230> SCSI3 0/direct > fixed naa.5001b449c700768f > sd0: 122104MB, 512 bytes/sector, 250069680 sectors, thin > cd0 at scsibus1 targ 1 lun 0: <Optiarc, DVD RW AD-7930H, 1.D1> ATAPI 5/cdrom > removable > sd1 at scsibus1 targ 2 lun 0: <ATA, TOSHIBA THNSNH25, HTGA> SCSI3 0/direct > fixed naa.500080db000064dc > sd1: 244198MB, 512 bytes/sector, 500118192 sectors, thin > ichiic0 at pci0 dev 31 function 3 "Intel 6 Series SMBus" rev 0x04: apic 2 int > 18 > iic0 at ichiic0 > spdmem0 at iic0 addr 0x50: 4GB DDR3 SDRAM PC3-10600 SO-DIMM > spdmem1 at iic0 addr 0x51: 4GB DDR3 SDRAM PC3-10600 SO-DIMM > isa0 at pcib0 > isadma0 at isa0 > pckbc0 at isa0 port 0x60/5 > pckbd0 at pckbc0 (kbd slot) > pckbc0: using irq 1 for kbd slot > wskbd0 at pckbd0: console keyboard, using wsdisplay0 > pms0 at pckbc0 (aux slot) > pckbc0: using irq 12 for aux slot > wsmouse0 at pms0 mux 0 > wsmouse1 at pms0 mux 0 > pms0: Synaptics clickpad, firmware 8.0 > pcppi0 at isa0 port 0x61 > spkr0 at pcppi0 > aps0 at isa0 port 0x1600/31 > uhub2 at uhub0 port 1 "Intel Rate Matching Hub" rev 2.00/0.00 addr 2 > uhub3 at uhub2 port 1 "Standard Microsystems product 0x2514" rev 2.00/0.00 > addr 3 > uhidev0 at uhub3 port 1 configuration 1 interface 0 "TypeMatrix.com USB > Keyboard" rev 1.10/1.50 addr 4 > uhidev0: iclass 3/1 > ukbd0 at uhidev0: 8 variable keys, 6 key codes > wskbd1 at ukbd0 mux 1 > wskbd1: connecting to wsdisplay0 > uhidev1 at uhub3 port 1 configuration 1 interface 1 "TypeMatrix.com USB > Keyboard" rev 1.10/1.50 addr 4 > uhidev1: iclass 3/1, 3 report ids > uhid0 at uhidev1 reportid 1: input=1, output=0, feature=0 > uhid1 at uhidev1 reportid 2: input=2, output=0, feature=0 > uhid2 at uhidev1 reportid 3: input=2, output=1, feature=0 > uhidev2 at uhub3 port 2 configuration 1 interface 0 "SteelSeries Kinzu V2 > Gaming Mouse" rev 1.10/0.96 addr 5 > uhidev2: iclass 3/0 > uhid3 at uhidev2: input=32, output=32, feature=255 > uhidev3 at uhub3 port 2 configuration 1 interface 1 "SteelSeries Kinzu V2 > Gaming Mouse" rev 1.10/0.96 addr 5 > uhidev3: iclass 3/1 > ums0 at uhidev3: 8 buttons, Z dir > wsmouse2 at ums0 mux 0 > ugen0 at uhub3 port 4 "HP Deskjet 5900 series" rev 2.00/1.00 addr 6 > ugen1 at uhub2 port 4 "Broadcom Corp Broadcom Bluetooth Device" rev 2.00/7.48 > addr 7 > uvideo0 at uhub2 port 6 configuration 1 interface 0 "Chicony Electronics Co., > Ltd. Integrated Camera" rev 2.00/8.54 addr 8 > video0 at uvideo0 > uhub4 at uhub1 port 1 "Intel Rate Matching Hub" rev 2.00/0.00 addr 2 > vscsi0 at root > scsibus2 at vscsi0: 256 targets > softraid0 at root > scsibus3 at softraid0: 256 targets > sd2 at scsibus3 targ 1 lun 0: <OPENBSD, SR RAID 0, 005> SCSI2 0/direct fixed > sd2: 223732MB, 512 bytes/sector, 458204672 sectors > root on sd1a (cb2b25d2bc04572e.a) swap on sd1b dump on sd1b > > usbdevs: > Controller /dev/usb0: > addr 1: high speed, self powered, config 1, EHCI root hub(0x0000), > Intel(0x8086), rev 1.00 > port 1 addr 2: high speed, self powered, config 1, Rate Matching > Hub(0x0024), Intel(0x8087), rev 0.00 > port 1 addr 3: high speed, self powered, config 1, product 0x2514(0x2514), > Standard Microsystems(0x0424), rev 0.00 > port 1 addr 4: low speed, power 100 mA, config 1, USB Keyboard(0x2030), > TypeMatrix.com(0x1e54), rev 1.50 > port 2 addr 5: full speed, power 100 mA, config 1, Kinzu V2 Gaming > Mouse(0x1366), SteelSeries(0x1038), rev 0.96 > port 3 powered > port 4 addr 6: full speed, self powered, config 1, Deskjet 5900 > series(0x8704), HP(0x03f0), rev 1.00, iSerialNumber CN68M1T0S204KF > port 2 powered > port 3 powered > port 4 addr 7: full speed, self powered, config 1, Broadcom Bluetooth > Device(0x217f), Broadcom Corp(0x0a5c), rev 7.48, iSerialNumber 60D819ACF31F > port 5 powered > port 6 addr 8: high speed, power 200 mA, config 1, Integrated > Camera(0xb217), Chicony Electronics Co., Ltd.(0x04f2), rev 8.54 > port 2 powered > port 3 powered > Controller /dev/usb1: > addr 1: high speed, self powered, config 1, EHCI root hub(0x0000), > Intel(0x8086), rev 1.00 > port 1 addr 2: high speed, self powered, config 1, Rate Matching > Hub(0x0024), Intel(0x8087), rev 0.00 > port 1 powered > port 2 powered > port 3 powered > port 4 powered > port 5 powered > port 6 powered > port 7 powered > port 8 powered > port 2 powered > port 3 powered >