Date: Sat, 20 Jun 2009 11:37:35 +0200 From: Christoph Langguth <christoph@rosenkeller.org> To: freebsd-usb@freebsd.org Cc: Rui Paulo <rpaulo@freebsd.org> Subject: Re: How to add support for Macbook Pro (USB) keyboard? Message-ID: <4A3CADDF.6070708@rosenkeller.org> In-Reply-To: <200906020937.20466.hselasky@c2i.net> References: <4A0DC89C.6010708@rosenkeller.org> <200905162158.22210.hselasky@c2i.net> <4A0F25C5.9020706@rosenkeller.org> <200906020937.20466.hselasky@c2i.net>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------010706030300000008000904 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Hans Petter Selasky schrieb: > Hi Christoph! > > Rui Paulo has an additional patch for ukbd.c. Can you look at it and verify? > > --HPS > > <cite> > > Here's how it worked: > http://wiki.freebsd.org/AppleMacbook#head-7eab3730c3bf3d04bdfb0d1d3649eaddf2fed595 > > If there's any problem with the userland approach, I would like to know. > If there isn't, please consider removing the kenrel support for the > eject key. > > </cite> > Hi all! I've poked around a bit on my freshly reinstalled system. To make things short, usbhidctl does not yield anything for the keyboard. I guess the reason is quite simple: # kldload uhid uhid0: <Apple Computer, Inc. IR Receiver, class 0/0, rev 2.00/0.16, addr 2> on usbus5 uhid1: <Touchpad> on usbus5 So the keyboard isn't even recognized by uhid. See the attached file for some usbconfig device dumps, I can't make a lot of sense of it, but maybe someone can. What would one need to do to still make usbhidaction (as an example) work with this device, so that the "additional keys" like the eject button and brightness/volume control etc. (mapped onto Fn + the F1-F12 keys) would be reported? Thanks! --Chris --------------010706030300000008000904 Content-Type: text/plain; name="usbconfig.txt" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="usbconfig.txt" [root@ /usr/src/sys/dev/usb/input]# usbconfig -u 5 -a 2 dump_curr_config_desc ugen5.2: <IR Receiver Apple Computer, Inc.> at usbus5, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON Configuration index 0 bLength = 0x0009 bDescriptorType = 0x0002 wTotalLength = 0x0022 bNumInterfaces = 0x0001 bConfigurationValue = 0x0001 iConfiguration = 0x0001 <Apple Computer, Inc.> bmAttributes = 0x00a0 bMaxPower = 0x0032 Interface 0 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0000 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, 0x2a, 0x08 | 0x00 Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0082 bmAttributes = 0x0003 wMaxPacketSize = 0x0008 bInterval = 0x000a bRefresh = 0x0000 bSynchAddress = 0x0000 [root@ /usr/src/sys/dev/usb/input]# usbconfig -u 5 -a 3 dump_curr_config_desc ugen5.3: <Apple Internal Keyboard / Track Apple, Inc.> at usbus5, 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 = 0x0014 Interface 0 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0000 bAlternateSetting = 0x0000 bNumEndpoints = 0x0001 bInterfaceClass = 0x0003 bInterfaceSubClass = 0x0001 bInterfaceProtocol = 0x0001 iInterface = 0x0003 <Apple Internal Keyboard> Additional Descriptor bLength = 0x09 bDescriptorType = 0x21 bDescriptorSubType = 0x11 RAW dump: 0x00 | 0x09, 0x21, 0x11, 0x01, 0x0d, 0x01, 0x22, 0x9c, 0x08 | 0x00 Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0083 bmAttributes = 0x0003 wMaxPacketSize = 0x000a bInterval = 0x0008 bRefresh = 0x0000 bSynchAddress = 0x0000 Interface 1 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0001 bAlternateSetting = 0x0000 bNumEndpoints = 0x0001 bInterfaceClass = 0x0003 bInterfaceSubClass = 0x0000 bInterfaceProtocol = 0x0000 iInterface = 0x0004 <Touchpad> Additional Descriptor bLength = 0x09 bDescriptorType = 0x21 bDescriptorSubType = 0x11 RAW dump: 0x00 | 0x09, 0x21, 0x11, 0x01, 0x00, 0x01, 0x22, 0x1b, 0x08 | 0x00 Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0081 bmAttributes = 0x0003 wMaxPacketSize = 0x0040 bInterval = 0x0002 bRefresh = 0x0000 bSynchAddress = 0x0000 Interface 2 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0002 bAlternateSetting = 0x0000 bNumEndpoints = 0x0001 bInterfaceClass = 0x0003 bInterfaceSubClass = 0x0001 bInterfaceProtocol = 0x0002 iInterface = 0x0004 <Touchpad> Additional Descriptor bLength = 0x09 bDescriptorType = 0x21 bDescriptorSubType = 0x11 RAW dump: 0x00 | 0x09, 0x21, 0x11, 0x01, 0x00, 0x01, 0x22, 0x34, 0x08 | 0x00 Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0084 bmAttributes = 0x0003 wMaxPacketSize = 0x0008 bInterval = 0x0008 bRefresh = 0x0000 bSynchAddress = 0x0000 --------------010706030300000008000904--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A3CADDF.6070708>