Bug 196323

Summary: Thinkpad usb keyboard with integrated mouse requires a usb quirk
Product: Base System Reporter: Joseph Mingrone <jrm>
Component: usbAssignee: freebsd-usb (Nobody) <usb>
Status: Closed FIXED    
Severity: Affects Some People    
Priority: ---    
Version: 10.1-RELEASE   
Hardware: amd64   
OS: Any   

Description Joseph Mingrone freebsd_committer freebsd_triage 2014-12-28 09:42:49 UTC
I have a Thinkpad keyboard with an integrated mouse like http://support.lenovo.com/us/en/documents/migr-73183.

# usbconfig -d ugen0.2 dump_device_desc
ugen0.2: <ThinkPad USB Keyboard with TrackPoint Lite-On Technology Corp.> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON (100mA)

  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0110 
  bDeviceClass = 0x0000 
  bDeviceSubClass = 0x0000 
  bDeviceProtocol = 0x0000 
  bMaxPacketSize0 = 0x0008 
  idVendor = 0x17ef 
  idProduct = 0x6009 
  bcdDevice = 0x0127 
  iManufacturer = 0x0001  <Lite-On Technology Corp.>
  iProduct = 0x0002  <ThinkPad USB Keyboard with TrackPoint>
  iSerialNumber = 0x0000  <no string>
  bNumConfigurations = 0x0001 

With a GENERIC kernel, the mouse doesn't work until this quirk:

# usbconfig add_dev_quirk_vplh 0x17ef 0x6009 0x0000 0xffff UQ_HID_IGNORE

The quirk wasn't necessary in the past when I was versions older than 10.

Thanks to frogs in #freebsd on freenode for helping me debug this.
Comment 1 Joseph Mingrone freebsd_committer freebsd_triage 2014-12-28 10:21:27 UTC
I had only done

# kldload ums

after booting for the first time.  After putting

ums_load="YES"

in /boot/loader.conf, ums wins the race and the mouse works in Xorg without the quirk.