Hi Martin, Thanks for this input. Attached is the output of that command.
BR.- * Martin Husemann <mar...@duskware.de>: > On Wed, Nov 27, 2024 at 11:09:22AM +0000, Abu Hussain Al Mukhtar wrote: > > ugen* at uhub? vendor 0x20a0 product <0x...> flags 1 > > > > That is indeed what is needed to get the gpg card functionality up and > > running, though unfortunately, it killed the u2f functionality of the > > device, which is present and working in the generic kernel. > > Are these functionalities mutually exclusive for one single device on > > NetBSD? I have no experience with the configuration of custom kernels, > > so any hint on how can I get both functionalities working at the same > > time with the same device is greatly appreciated. > > The fido support needs a usbhid device, while the crypto stuff needs a > usbgen device. The device probably offers two interfaces, and we just > have to make sure to attach them separately (like we do e.g. for > JTAG/serial combos in uftdi). > > With a kernel that makes it attach as usbgen, can you show the output > of usbgen from pkgsrc/sysutils/usbutil for your device? Like: > > usbgen -f ugen0 -v -D > > That would probably help to find a patch that allows both modes at the > same time. > > Martin
Dumping all descriptors DEVICE descriptor: bLength=18 bDescriptorType=1 bcdUSB=2.10 bDeviceClass=239 bDeviceSubClass=2 bDeviceProtocol=1 bMaxPacketSize=64 idVendor=0x20a0 idProduct=0x42b2 bcdDevice=107 iManufacturer=1 iProduct=2 iSerialNumber=0 bNumConfigurations=1 Current configuration is number 1 CONFIGURATION descriptor index 0: bLength=9 bDescriptorType=2 wTotalLength=118 bNumInterface=2 bConfigurationValue=1 iConfiguration=0 bmAttributes=80 bMaxPower=100 mA INTERFACE descriptor index 0, alt index 0: bLength=9 bDescriptorType=4 bInterfaceNumber=0 bAlternateSetting=0 bNumEndpoints=2 bInterfaceClass=11 bInterfaceSubClass=0 bInterfaceProtocol=0 iInterface=4 ENDPOINT descriptor index 0: bLength=7 bDescriptorType=5 bEndpointAddress=1-in bmAttributes=2 wMaxPacketSize=64 bInterval=0 ENDPOINT descriptor index 1: bLength=7 bDescriptorType=5 bEndpointAddress=1-out bmAttributes=2 wMaxPacketSize=64 bInterval=0 INTERFACE descriptor index 1, alt index 0: bLength=9 bDescriptorType=4 bInterfaceNumber=1 bAlternateSetting=0 bNumEndpoints=2 bInterfaceClass=3 bInterfaceSubClass=0 bInterfaceProtocol=0 iInterface=0 ENDPOINT descriptor index 0: bLength=7 bDescriptorType=5 bEndpointAddress=2-out bmAttributes=3 wMaxPacketSize=64 bInterval=5 ENDPOINT descriptor index 1: bLength=7 bDescriptorType=5 bEndpointAddress=2-in bmAttributes=3 wMaxPacketSize=64 bInterval=5