I have this usb device but running OpenBSD did not recognize it.
Trying to troubleshoot I saw that the device has a device descriptor of 0x00 
instead of the expected 0x01 as the following debug message shows:

usbd_new_device: adding unit addr=5, rev=110, class=0, subclass=0, protocol=0, 
maxpacket=8, len=34, speed=1 bDescriptorType=0 UDESC_DEVICE=1, 
USB_DEVICE_DESCRIPTOR_SIZE=18
uhidev2 at uhub6 port 3 configuration 1 interface 0 "Cirque Corporation USB 
GlidePoint" rev 1.10/1.30 addr 5
uhidev2: iclass 3/1
ums0 at uhidev2: 3 buttons, Z dir
wsmouse1 at ums0 mux 0


This patch allowed the device to be recognized and started working.

Index: sys/dev/usb/usb_subr.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/usb_subr.c,v
retrieving revision 1.155
diff -u -p -r1.155 usb_subr.c
--- sys/dev/usb/usb_subr.c      24 Feb 2021 04:06:45 -0000      1.155
+++ sys/dev/usb/usb_subr.c      8 Nov 2021 18:41:50 -0000
@@ -1150,7 +1150,7 @@ fail:
                 dd->bDeviceProtocol, dd->bMaxPacketSize, dd->bLength,
                 dev->speed));
 
-       if ((dd->bDescriptorType != UDESC_DEVICE) ||
+       if ((dd->bDescriptorType > UDESC_DEVICE) ||
            (dd->bLength < USB_DEVICE_DESCRIPTOR_SIZE)) {
                usb_free_device(dev);
                up->device = NULL;

Does the patch look correct or the problem is not on the usb device itself?
Here is the dmesg with the patch applied, without it device is not seen


OpenBSD 7.0-stable (CUSTOM) #10: Mon Nov  8 17:51:02 -03 2021
    nei...@tomato.byteswizards.com:/usr/src/sys/arch/amd64/compile/CUSTOM
real mem = 2118729728 (2020MB)
avail mem = 2038546432 (1944MB)
random: good seed from bootblocks
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.6 @ 0xe8090 (36 entries)
bios0: vendor Packard Bell version "V3.10(DDR3)" date 11/17/2010
bios0: Packard Bell DOT SE
acpi0 at bios0: ACPI 4.0
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP HPET APIC MCFG SLIC BOOT SSDT WDAT
acpi0: wakeup devices UHC1(S3) UHC2(S3) UHC3(S3) UHC4(S3) ECHI(S3) EXP1(S4) 
EXP2(S0) EXP3(S4) EXP4(S4) AZAL(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) Atom(TM) CPU N550 @ 1.50GHz, 1496.53 MHz, 06-1c-0a
cpu0: 
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,DTES64,MWAIT,DS-CPL,EST,TM2,SSSE3,CX16,xTPR,PDCM,MOVBE,NXE,LONG,LAHF,PERF,SENSOR,MELTDOWN
cpu0: 512KB 64b/line 8-way L2 cache
cpu0: smt 0, core 0, package 0
mtrr: Pentium Pro MTRR support, 7 var ranges, 88 fixed ranges
cpu0: apic clock running at 166MHz
cpu0: mwait min=64, max=64, C-substates=0.2.2.0.2, IBE
cpu1 at mainbus0: apid 1 (application processor)
cpu1: Intel(R) Atom(TM) CPU N550 @ 1.50GHz, 1496.26 MHz, 06-1c-0a
cpu1: 
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,DTES64,MWAIT,DS-CPL,EST,TM2,SSSE3,CX16,xTPR,PDCM,MOVBE,NXE,LONG,LAHF,PERF,SENSOR,MELTDOWN
cpu1: 512KB 64b/line 8-way L2 cache
cpu1: smt 1, core 0, package 0
cpu2 at mainbus0: apid 2 (application processor)
cpu2: Intel(R) Atom(TM) CPU N550 @ 1.50GHz, 997.52 MHz, 06-1c-0a
cpu2: 
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,DTES64,MWAIT,DS-CPL,EST,TM2,SSSE3,CX16,xTPR,PDCM,MOVBE,NXE,LONG,LAHF,PERF,SENSOR,MELTDOWN
cpu2: 512KB 64b/line 8-way L2 cache
cpu2: disabling user TSC (skew=310)
cpu2: smt 0, core 1, package 0
cpu3 at mainbus0: apid 3 (application processor)
cpu3: Intel(R) Atom(TM) CPU N550 @ 1.50GHz, 997.51 MHz, 06-1c-0a
cpu3: 
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,DTES64,MWAIT,DS-CPL,EST,TM2,SSSE3,CX16,xTPR,PDCM,MOVBE,NXE,LONG,LAHF,PERF,SENSOR,MELTDOWN
cpu3: 512KB 64b/line 8-way L2 cache
cpu3: disabling user TSC (skew=306)
cpu3: smt 1, core 1, package 0
ioapic0 at mainbus0: apid 4 pa 0xfec00000, version 20, 24 pins, remapped
acpimcfg0 at acpi0
acpimcfg0: addr 0xe0000000, bus 0-255
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 1 (EXP1)
acpiprt2 at acpi0: bus 2 (EXP2)
acpiprt3 at acpi0: bus -1 (EXP3)
acpiprt4 at acpi0: bus -1 (EXP4)
acpiec0 at acpi0
acpibtn0 at acpi0: PWRB
acpibtn1 at acpi0: SLPB
acpibtn2 at acpi0: LID0
acpipci0 at acpi0 PCI0: 0x00000010 0x00000011 0x00000000
acpibat0 at acpi0: BAT0 model "13848633228217409" type Lion oem "SANYO "
acpiac0 at acpi0: AC unit offline
acpicmos0 at acpi0
"SYN1B1C" at acpi0 not configured
"PNP0C14" at acpi0 not configured
"PNP0C0B" at acpi0 not configured
acpicpu0 at acpi0: !C3(100@100 mwait.3@0x30), !C2(500@20 mwait.1@0x10), 
C1(1000@1 mwait.1), PSS
acpicpu1 at acpi0: !C3(100@100 mwait.3@0x30), !C2(500@20 mwait.1@0x10), 
C1(1000@1 mwait.1), PSS
acpicpu2 at acpi0: !C3(100@100 mwait.3@0x30), !C2(500@20 mwait.1@0x10), 
C1(1000@1 mwait.1), PSS
acpicpu3 at acpi0: !C3(100@100 mwait.3@0x30), !C2(500@20 mwait.1@0x10), 
C1(1000@1 mwait.1), PSS
acpipwrres0 at acpi0: FN00, resource for FAN_
acpitz0 at acpi0: critical temperature is 100 degC
acpivideo0 at acpi0: OVGA
acpivout0 at acpivideo0: DD02
cpu0: Enhanced SpeedStep 1496 MHz: speeds: 1500, 1000 MHz
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "Intel Pineview DMI" rev 0x02
inteldrm0 at pci0 dev 2 function 0 "Intel Pineview Video" rev 0x02
drm0 at inteldrm0
intagp0 at inteldrm0
agp0 at intagp0: aperture at 0x80000000, size 0x10000000
inteldrm0: apic 4 int 16, PINEVIEW, gen 3
"Intel Pineview Video" rev 0x02 at pci0 dev 2 function 1 not configured
azalia0 at pci0 dev 27 function 0 "Intel 82801GB HD Audio" rev 0x02: msi
azalia0: codecs: Realtek ALC272
audio0 at azalia0
ppb0 at pci0 dev 28 function 0 "Intel 82801GB PCIE" rev 0x02: msi
pci1 at ppb0 bus 1
alc0 at pci1 dev 0 function 0 "Attansic Technology L2C" rev 0xc1: msi, address 
1c:75:08:3d:4c:82
atphy0 at alc0 phy 0: F2 10/100 PHY, rev. 4
ppb1 at pci0 dev 28 function 1 "Intel 82801GB PCIE" rev 0x02: msi
pci2 at ppb1 bus 2
athn0 at pci2 dev 0 function 0 "Atheros AR9285" rev 0x01: apic 4 int 17
athn0: AR9285 rev 2 (1T1R), ROM rev 14, address 88:9f:fa:2a:79:1a
uhci0 at pci0 dev 29 function 0 "Intel 82801GB USB" rev 0x02: apic 4 int 18
uhci1 at pci0 dev 29 function 1 "Intel 82801GB USB" rev 0x02: apic 4 int 20
uhci2 at pci0 dev 29 function 2 "Intel 82801GB USB" rev 0x02: apic 4 int 21
uhci3 at pci0 dev 29 function 3 "Intel 82801GB USB" rev 0x02: apic 4 int 22
ehci0 at pci0 dev 29 function 7 "Intel 82801GB USB" rev 0x02: apic 4 int 22
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00 
addr 1
ppb2 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0xe2
pci3 at ppb2 bus 5
pcib0 at pci0 dev 31 function 0 "Intel NM10 LPC" rev 0x02
ahci0 at pci0 dev 31 function 2 "Intel 82801GR AHCI" rev 0x02: msi, AHCI 1.1
ahci0: port 0: 3.0Gb/s
ahci0: PHY offline on port 1
scsibus1 at ahci0: 32 targets
sd0 at scsibus1 targ 0 lun 0: <ATA, Hitachi HTS54503, PB3O> naa.5000cca61fe02491
sd0: 305245MB, 512 bytes/sector, 625142448 sectors
ichiic0 at pci0 dev 31 function 3 "Intel 82801GB SMBus" rev 0x02: apic 4 int 17
iic0 at ichiic0
spdmem0 at iic0 addr 0x50: 2GB DDR3 SDRAM PC3-10600 SO-DIMM
usb1 at uhci0: USB revision 1.0
uhub1 at usb1 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 
addr 1
usb2 at uhci1: USB revision 1.0
uhub2 at usb2 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 
addr 1
usb3 at uhci2: USB revision 1.0
uhub3 at usb3 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 
addr 1
usb4 at uhci3: USB revision 1.0
uhub4 at usb4 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 
addr 1
isa0 at pcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5 irq 1 irq 12
pckbd0 at pckbc0 (kbd slot)
wskbd0 at pckbd0: console keyboard
pms0 at pckbc0 (aux slot)
wsmouse0 at pms0 mux 0
pms0: Synaptics touchpad, firmware 7.2, 0x1c0b1 0xa40000 0x0 0xd04731 0xa0000
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
dt: 445 probes
uhub5 at uhub0 port 2 configuration 1 interface 0 "Genesys Logic USB2.0 Hub" 
rev 2.00/9.01 addr 2
uhub6 at uhub5 port 2 configuration 1 interface 0 "PI Engineering Kinesis 
Keyboard Hub" rev 1.10/3.20 addr 3
uhidev0 at uhub6 port 2 configuration 1 interface 0 "P.I. Engineering product 
0x0007" rev 1.10/3.20 addr 4
uhidev0: iclass 3/1
ukbd0 at uhidev0: 8 variable keys, 6 key codes, country code 33
wskbd1 at ukbd0 mux 1
uhidev1 at uhub6 port 2 configuration 1 interface 1 "P.I. Engineering product 
0x0007" rev 1.10/3.20 addr 4
uhidev1: iclass 3/0, 3 report ids
uhid0 at uhidev1 reportid 2: input=1, output=0, feature=0
ucc0 at uhidev1 reportid 3: 12 usages, 9 keys, enum
wskbd2 at ucc0 mux 1
uhidev2 at uhub6 port 3 configuration 1 interface 0 "Cirque Corporation USB 
GlidePoint" rev 1.10/1.30 addr 5
uhidev2: iclass 3/1
ums0 at uhidev2: 3 buttons, Z dir
wsmouse1 at ums0 mux 0
uvideo0 at uhub0 port 4 configuration 1 interface 0 "Suyin 1.3M WebCam" rev 
2.00/2.15 addr 6
video0 at uvideo0
uaudio0 at uhub1 port 1 configuration 1 interface 1 "Creative Technology SB 
X-Fi Surround 5.1" rev 1.10/1.00 addr 2
uaudio0: class v1, full-speed, async, channels: 6 play, 2 rec, 0 ctls
audio1 at uaudio0
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
root on sd0a (f71a7aea14cac6bb.a) swap on sd0b dump on sd0b
inteldrm0: 1024x600, 32bpp
wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation), using wskbd0
wskbd1: connecting to wsdisplay0
wskbd2: connecting to wsdisplay0
wsdisplay0: screen 1-5 added (std, vt100 emulation)


Reply via email to