>Number:         180657
>Category:       usb
>Synopsis:       [PATCH] Filco Majestouch 2 keyboard recognized as keyboard and 
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-usb
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Jul 19 16:20:00 UTC 2013
>Originator:     Yamagi Burmeister
>Release:        FreeBSD 9.2-BETA1 r253470
FreeBSD happy.home.yamagi.org 9.2-BETA1 FreeBSD 9.2-BETA1 #0 r253470M: Fri Jul 
19 17:22:08 CEST 2013     r...@happy.home.yamagi.org:/usr/obj/usr/src/sys/HAPPY 

The "Filco Majestouch 2" keyboard (this is the version with german layout) is 
recognized as keyboard and mouse, despite being a normal keyboard without any 
bells and whistles. As soon as moused(8) opens the corresponding /dev/ums 
device the keyboard becomes unuseable. The problem can be seen by usbconfig 

ugen3.3: <USB Keyboard vendor 0x04d9> at usbus3, cfg=0 md=HOST spd=LOW 
(1.5Mbps) pwr=ON (100mA)
ugen3.3.0: ukbd0: <vendor 0x04d9 USB Keyboard, class 0/0, rev 1.10/1.01, addr 3>
ugen3.3.1: ums1: <vendor 0x04d9 USB Keyboard, class 0/0, rev 1.10/1.01, addr 3>

The attached patch solves the problem by adding an UQ_UMS_IGNORE quirk for this 
keyboard to usb_quirk.ko. I've added a new vendor "FILCO" to usbdevs. It was 
added at the end of the vendor list cause I was unable to see how that list is 
sorted. I've also added a new device "MAJESTOUCH2" to the list. A revision 
range from 0x0000 to 0xffff may be to big. This device has a bcdDevice field of 

The complete usbconfig dump_device_desc output:

ugen3.3: <USB Keyboard vendor 0x04d9> at usbus3, 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 = 0x04d9 
  idProduct = 0x1818 
  bcdDevice = 0x0101 
  iManufacturer = 0x0000  <no string>
  iProduct = 0x0002  <USB Keyboard>
  iSerialNumber = 0x0000  <no string>
  bNumConfigurations = 0x0001 

The attached patch is against 9.2-BETA1 r253470.
Attach a "Filco Majestouch 2" to the computer and start moused(8) for the new 
/dev/ums device.
Index: usbdevs
--- usbdevs     (revision 253470)
+++ usbdevs     (working copy)
@@ -762,6 +762,7 @@
 vendor HP2             0xf003  Hewlett Packard
 vendor LOGILINK                0xfc08  LogiLink
 vendor USRP            0xfffe  GNU Radio USRP
+vendor FILCO           0x04d9  Filco
  * List of known products.  Grouped by vendor.
@@ -1694,6 +1695,9 @@
 /* FIC / OpenMoko */
 product FIC NEO1973_DEBUG      0x5118  FTDI compatible adapter
+/* Filco */
+product FILCO MAJESTOUCH2      0x1818  Majestouch-2 Keyboard
 /* Fossil, Inc products */
 product FOSSIL WRISTPDA                0x0002  Wrist PDA
Index: quirk/usb_quirk.c
--- quirk/usb_quirk.c   (revision 253470)
+++ quirk/usb_quirk.c   (working copy)
@@ -128,6 +128,8 @@
        /* Quirk for Corsair Vengeance K60 keyboard */
        USB_QUIRK(CORSAIR, K60, 0x0000, 0xffff, UQ_KBD_BOOTPROTO),
+       /* Filco Majestouch 2 is sometimes detected as mouse and keyboard */
+       USB_QUIRK(FILCO, MAJESTOUCH2, 0x0000, 0xffff, UQ_UMS_IGNORE),
        /* umodem(4) device quirks */
        USB_QUIRK(SANYO, SCP4900, 0x000, 0x000, UQ_ASSUME_CM_OVER_DATA),

freebsd-usb@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"

Reply via email to