Why my USB keyboard doesn't generate scancodes?

Hans Petter Selasky hselasky at c2i.net
Sun Jan 27 08:42:47 UTC 2013


On Sunday 27 January 2013 08:29:03 Yuri wrote:
> Sorry, forgot an important bit:
> 
> ugen1.2: <Microsoft Nano Transceiver v1.0 Microsoft> at usbus1, cfg=0
> md=HOST spd=FULL (12Mbps) pwr=ON
> 
> 
>   Configuration index 0
> 
>      bLength = 0x0009
>      bDescriptorType = 0x0002
>      wTotalLength = 0x0054
>      bNumInterfaces = 0x0003
>      bConfigurationValue = 0x0001
>      iConfiguration = 0x0000  <no string>
>      bmAttributes = 0x00a0
>      bMaxPower = 0x0032
> 
>      Interface 0
>        bLength = 0x0009
>        bDescriptorType = 0x0004
>        bInterfaceNumber = 0x0000
>        bAlternateSetting = 0x0000
>        bNumEndpoints = 0x0001
>        bInterfaceClass = 0x0003
>        bInterfaceSubClass = 0x0001
>        bInterfaceProtocol = 0x0001
>        iInterface = 0x0000  <no string>
> 
>        Additional Descriptor
> 
>        bLength = 0x09
>        bDescriptorType = 0x21
>        bDescriptorSubType = 0x11
>         RAW dump:
>         0x00 | 0x09, 0x21, 0x11, 0x01, 0x00, 0x01, 0x22, 0x39,
>         0x08 | 0x00
> 
>       Endpoint 0
>          bLength = 0x0007
>          bDescriptorType = 0x0005
>          bEndpointAddress = 0x0081  <IN>
>          bmAttributes = 0x0003  <INTERRUPT>
>          wMaxPacketSize = 0x0008
>          bInterval = 0x0004
>          bRefresh = 0x0000
>          bSynchAddress = 0x0000
> 
> 
>      Interface 1
>        bLength = 0x0009
>        bDescriptorType = 0x0004
>        bInterfaceNumber = 0x0001
>        bAlternateSetting = 0x0000
>        bNumEndpoints = 0x0001
>        bInterfaceClass = 0x0003
>        bInterfaceSubClass = 0x0001
>        bInterfaceProtocol = 0x0002
>        iInterface = 0x0000  <no string>
> 
>        Additional Descriptor
> 
>        bLength = 0x09
>        bDescriptorType = 0x21
>        bDescriptorSubType = 0x11
>         RAW dump:
>         0x00 | 0x09, 0x21, 0x11, 0x01, 0x00, 0x01, 0x22, 0x27,
>         0x08 | 0x01
> 
>       Endpoint 0
>          bLength = 0x0007
>          bDescriptorType = 0x0005
>          bEndpointAddress = 0x0082  <IN>
>          bmAttributes = 0x0003  <INTERRUPT>
>          wMaxPacketSize = 0x000a
>          bInterval = 0x0001
>          bRefresh = 0x0000
>          bSynchAddress = 0x0000
> 
> 
>      Interface 2
>        bLength = 0x0009
>        bDescriptorType = 0x0004
>        bInterfaceNumber = 0x0002
>        bAlternateSetting = 0x0000
>        bNumEndpoints = 0x0001
>        bInterfaceClass = 0x0003
>        bInterfaceSubClass = 0x0000
>        bInterfaceProtocol = 0x0000
>        iInterface = 0x0000  <no string>
> 
>        Additional Descriptor
> 
>        bLength = 0x09
>        bDescriptorType = 0x21
>        bDescriptorSubType = 0x11
>         RAW dump:
>         0x00 | 0x09, 0x21, 0x11, 0x01, 0x00, 0x01, 0x22, 0x3f,
>         0x08 | 0x01
> 
>       Endpoint 0
>          bLength = 0x0007
>          bDescriptorType = 0x0005
>          bEndpointAddress = 0x0083  <IN>
>          bmAttributes = 0x0003  <INTERRUPT>
>          wMaxPacketSize = 0x0020
>          bInterval = 0x0001
>          bRefresh = 0x0000
>          bSynchAddress = 0x0000
> 

Try to set this quirk on your keyboard:

UQ_KBD_BOOTPROTO

Then replug.

--HPS


More information about the freebsd-usb mailing list