From owner-freebsd-hackers@FreeBSD.ORG Sat Nov 24 13:36:52 2012 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 4E07E34C for ; Sat, 24 Nov 2012 13:36:52 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe08.c2i.net [212.247.154.226]) by mx1.freebsd.org (Postfix) with ESMTP id C08EB8FC14 for ; Sat, 24 Nov 2012 13:36:51 +0000 (UTC) X-T2-Spam-Status: No, hits=-1.0 required=5.0 tests=ALL_TRUSTED Received: from [176.74.213.204] (account mc467741@c2i.net HELO laptop015.hselasky.homeunix.org) by mailfe08.swip.net (CommuniGate Pro SMTP 5.4.4) with ESMTPA id 349811904; Sat, 24 Nov 2012 14:36:43 +0100 From: Hans Petter Selasky To: freebsd-hackers@freebsd.org Subject: Re: Questions about USB, uhid, ukbd and quirks Date: Sat, 24 Nov 2012 14:38:20 +0100 User-Agent: KMail/1.13.7 (FreeBSD/9.1-PRERELEASE; KDE/4.8.4; amd64; ; ) References: <50B0001C.6050202@daemonic.se> <201211241419.29050.hselasky@c2i.net> <50B0CA77.90501@daemonic.se> In-Reply-To: <50B0CA77.90501@daemonic.se> X-Face: 'mmZ:T{)),Oru^0c+/}w'`gU1$ubmG?lp!=R4Wy\ELYo2)@'UZ24N@d2+AyewRX}mAm; Yp |U[@, _z/([?1bCfM{_"B<.J>mICJCHAzzGHI{y7{%JVz%R~yJHIji`y>Y}k1C4TfysrsUI -%GU9V5]iUZF&nRn9mJ'?&>O MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Message-Id: <201211241438.20357.hselasky@c2i.net> Cc: Niclas Zeising X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 24 Nov 2012 13:36:52 -0000 On Saturday 24 November 2012 14:24:07 Niclas Zeising wrote: > On 11/24/12 14:19, Hans Petter Selasky wrote: > > On Saturday 24 November 2012 13:54:45 Niclas Zeising wrote: > >> On 11/24/12 13:23, Niclas Zeising wrote: > >>> On 11/24/12 13:17, Hans Petter Selasky wrote: > >>>> On Saturday 24 November 2012 12:13:49 Hans Petter Selasky wrote: > >>>>> On Saturday 24 November 2012 00:00:44 Niclas Zeising wrote: > >>>>>> Hi! > >>>>>> I have a couple of questions about USB. > >>>>>> I recently bought a new USB keyboard, a Logitech K120. When > >>>>>> attaching this to a FreeBSD system, however, it is detected as a > >>>>>> hid device (attaching to uhid) rather than a keyboard (attaching to > >>>>>> ukbd). The keyboard works fine, but I'm just curious as to why it > >>>>>> doesn't use ukbd. > >>>>> > >>>>>> The output from usbconfig for this keyboard is: > >>>>> Hi, > >>>>> > >>>>> It seems the UHID driver needs to be synced with UMS and UKBD > >>>>> regarding the > >>>>> detection logic. Can you try the attached patch and report back. > >>>>> > >>>>> --HPS > >>>> > >>>> One more thing to check: > >>>> > >>>> /etc/devd/usb.conf > >>>> > >>>> Is perhaps auto-loading uhid before ukbd, and that might also be part > >>>> of the > >>>> issue. > >>> > >>> Hi! > >>> Having ukbd in the kernel, and not uhid, makes uhid load as a module > >>> during boot and attach to the keyboard, even with your patch. I'm > >>> recompiling the kernel now with uhid as part of the kernel to see if it > >>> makes a difference. I'm not too confortable hacking /etc/devd/usb.conf, > >>> but if you can point me in the right direction I'll have a go at it. > >>> Regards! > >> > >> Having uhid in the kernel did not make a difference, it attached to the > >> keyboard (or rather, the keyboard attached to the uhid driver, I guess). > >> Regards! > > > > Could you dump the configuration descriptor of your device using > > usbconfig? > > > > usbconfig -d X.Y dump_curr_config_desc > > > > --HPS > > Attached patch contains the dump. From my reading of the USB spec, it > seems that this keyboard has two interfaces, one that detects as a > keyboard, and might be the boot device, and one that's just a regular > hid. I might also be very wrong in this. :) > I have a dump from a keyboard that only attaches to ukbd, if you need > something to compare to. That keyboard, however, believes it's a liteon > keyboard, rather than a logitech keyboard. That, however, is probably > Logitech's fault. > Thank you for helping out! > Regards! Hi, You should have one of each, one ukbd, and one uhid. If you run "usbconfig show_ifdrv" at what interface is the uhid and ukbd attached. Make sure both uhid and ukbd is loaded. Please add a printout, but is_keyboard should be non-zero, before and after my patch. So uhid is not attaching to the wrong interface, so to speak. --HPS