Date: Tue, 18 Jan 2022 16:21:25 +0100 From: Jan Mikkelsen <janm@transactionware.com> To: freebsd-hackers@freebsd.org Subject: Joystick with keyboard, mouse and joystick endpoints disconnects after 3-4 seconds Message-ID: <7A70DD3A-48A9-426A-BB73-7DB1B31BE1E0@transactionware.com>
next in thread | raw e-mail | index | archive | help
Hi, When attaching an APEM VM Desktop joystick, = https://www.apem.com/int/vm-desktop-93.html, to a 12.2 system, I get = this sequence of events: ugen0.10: <CH Products VM Desktop> at usbus0 uhid0 numa-domain 0 on uhub2 uhid0: <VM Joystick Interface> on usbus0 uhid1 numa-domain 0 on uhub2 uhid1: <VM Keyboard Interface> on usbus0 uhid2 numa-domain 0 on uhub2 uhid2: <VM Mouse Interface> on usbus0 ugen0.10: <CH Products VM Desktop> at usbus0 (disconnected) uhid0: at uhub2, port 5, addr 19 (disconnected) uhid0: detached uhid1: at uhub2, port 5, addr 19 (disconnected) uhid1: detached uhid2: at uhub2, port 5, addr 19 (disconnected) uhid2: detached The disconnection happens about 3-4 seconds after the attachment = completes. The device has three endpoints: A mouse, a keyboard and a joystick. I = have added quirks to have ums and ukbd ignore the device, so that uhid = attaches. I believe that mouse and keyboard endpoints on the same device = are not currently supported. The output from =E2=80=9Cusbconfig dump_all_desc=E2=80=9D is shown = below. Any ideas on where to look to resolve this? Thanks, Jan M. ugen0.10: <CH Products VM Desktop> at usbus0, cfg=3D0 md=3DHOST spd=3DFULL= (12Mbps) pwr=3DON (500mA) bLength =3D 0x0012=20 bDescriptorType =3D 0x0001=20 bcdUSB =3D 0x0200=20 bDeviceClass =3D 0x0000 <Probed by interface class> bDeviceSubClass =3D 0x0000=20 bDeviceProtocol =3D 0x0000=20 bMaxPacketSize0 =3D 0x0008=20 idVendor =3D 0x068e=20 idProduct =3D 0x0064=20 bcdDevice =3D 0x0200=20 iManufacturer =3D 0x0001 <CH Products> iProduct =3D 0x0002 <VM Desktop> iSerialNumber =3D 0x0000 <no string> bNumConfigurations =3D 0x0001=20 Configuration index 0 bLength =3D 0x0009=20 bDescriptorType =3D 0x0002=20 wTotalLength =3D 0x005b=20 bNumInterfaces =3D 0x0003=20 bConfigurationValue =3D 0x0001=20 iConfiguration =3D 0x0000 <no string> bmAttributes =3D 0x0080=20 bMaxPower =3D 0x00fa=20 Interface 0 bLength =3D 0x0009=20 bDescriptorType =3D 0x0004=20 bInterfaceNumber =3D 0x0000=20 bAlternateSetting =3D 0x0000=20 bNumEndpoints =3D 0x0002=20 bInterfaceClass =3D 0x0003 <HID device> bInterfaceSubClass =3D 0x0000=20 bInterfaceProtocol =3D 0x0000=20 iInterface =3D 0x0005 <VM Joystick Interface> Additional Descriptor bLength =3D 0x09 bDescriptorType =3D 0x21 bDescriptorSubType =3D 0x11 RAW dump:=20 0x00 | 0x09, 0x21, 0x11, 0x01, 0x21, 0x01, 0x22, 0x4b,=20 0x08 | 0x00 Endpoint 0 bLength =3D 0x0007=20 bDescriptorType =3D 0x0005=20 bEndpointAddress =3D 0x0082 <IN> bmAttributes =3D 0x0003 <INTERRUPT> wMaxPacketSize =3D 0x0040=20 bInterval =3D 0x000a=20 bRefresh =3D 0x0000=20 bSynchAddress =3D 0x0000=20 Endpoint 1 bLength =3D 0x0007=20 bDescriptorType =3D 0x0005=20 bEndpointAddress =3D 0x0001 <OUT> bmAttributes =3D 0x0003 <INTERRUPT> wMaxPacketSize =3D 0x0040=20 bInterval =3D 0x000a=20 bRefresh =3D 0x0000=20 bSynchAddress =3D 0x0000=20 Interface 1 bLength =3D 0x0009=20 bDescriptorType =3D 0x0004=20 bInterfaceNumber =3D 0x0001=20 bAlternateSetting =3D 0x0000=20 bNumEndpoints =3D 0x0001=20 bInterfaceClass =3D 0x0003 <HID device> bInterfaceSubClass =3D 0x0000=20 bInterfaceProtocol =3D 0x0000=20 iInterface =3D 0x0004 <VM Keyboard Interface> Additional Descriptor bLength =3D 0x09 bDescriptorType =3D 0x21 bDescriptorSubType =3D 0x11 RAW dump:=20 0x00 | 0x09, 0x21, 0x11, 0x01, 0x21, 0x01, 0x22, 0x3f,=20 0x08 | 0x00 Endpoint 0 bLength =3D 0x0007=20 bDescriptorType =3D 0x0005=20 bEndpointAddress =3D 0x0083 <IN> bmAttributes =3D 0x0003 <INTERRUPT> wMaxPacketSize =3D 0x0008=20 bInterval =3D 0x000a=20 bRefresh =3D 0x0000=20 bSynchAddress =3D 0x0000=20 Interface 2 bLength =3D 0x0009=20 bDescriptorType =3D 0x0004=20 bInterfaceNumber =3D 0x0002=20 bAlternateSetting =3D 0x0000=20 bNumEndpoints =3D 0x0001=20 bInterfaceClass =3D 0x0003 <HID device> bInterfaceSubClass =3D 0x0000=20 bInterfaceProtocol =3D 0x0000=20 iInterface =3D 0x0003 <VM Mouse Interface> Additional Descriptor bLength =3D 0x09 bDescriptorType =3D 0x21 bDescriptorSubType =3D 0x11 RAW dump:=20 0x00 | 0x09, 0x21, 0x11, 0x01, 0x21, 0x01, 0x22, 0x34,=20 0x08 | 0x00 Endpoint 0 bLength =3D 0x0007=20 bDescriptorType =3D 0x0005=20 bEndpointAddress =3D 0x0084 <IN> bmAttributes =3D 0x0003 <INTERRUPT> wMaxPacketSize =3D 0x0008=20 bInterval =3D 0x000a=20 bRefresh =3D 0x0000=20 bSynchAddress =3D 0x0000=20
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7A70DD3A-48A9-426A-BB73-7DB1B31BE1E0>