From owner-freebsd-current@FreeBSD.ORG Fri Jul 1 11:52:35 2011 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A2DEC1065675 for ; Fri, 1 Jul 2011 11:52:35 +0000 (UTC) (envelope-from ti.bugmenot@gmail.com) Received: from mail-gy0-f182.google.com (mail-gy0-f182.google.com [209.85.160.182]) by mx1.freebsd.org (Postfix) with ESMTP id 683158FC13 for ; Fri, 1 Jul 2011 11:52:34 +0000 (UTC) Received: by gyf3 with SMTP id 3so1660940gyf.13 for ; Fri, 01 Jul 2011 04:52:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:x-google-sender-delegation:date :x-google-sender-auth:message-id:subject:from:to:content-type; bh=zgbu3hf/Q5tZNRC7q5GClR/Qfy5kyI5NPHUuLaOW/Gs=; b=uVH4nQ6O6Zq8u3s/43MK7JQAPx3k+7lI4Kya3ako/1FgwkqLylbJdCeeFkGSYHrI5y fMpCXrAbJRmkK2dlITKrPb1QbE7Z1rFy7hWGm1/sQcBlX+0Yfd0JoJ/dfAMEpqCvl/LM C6Y6ZldP/ncivd0+qhEbWbduG1F9LPQHbBrzM= MIME-Version: 1.0 Received: by 10.236.185.169 with SMTP id u29mr4164799yhm.108.1309519295193; Fri, 01 Jul 2011 04:21:35 -0700 (PDT) Sender: ti.webdev@gmail.com X-Google-Sender-Delegation: ti.webdev@gmail.com Received: by 10.147.82.1 with HTTP; Fri, 1 Jul 2011 04:21:35 -0700 (PDT) Date: Fri, 1 Jul 2011 17:21:35 +0600 X-Google-Sender-Auth: W-UceNYx7nGU_TKXGi_j3CSLwQA Message-ID: From: ti bugmenot To: freebsd-current@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Subject: keyboard driver problem? X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jul 2011 11:52:35 -0000 I met with the same problem. I do not know how to solve this problem: http://lists.freebsd.org/pipermail/freebsd-current/2011-January/022022.html % uname -a FreeBSD td.local 9.0-CURRENT FreeBSD 9.0-CURRENT #3 r223706M: Fri Jul 1 16:50:12 YEKT 2011 root@td.local:/usr/obj/usr/src/sys/TI amd64 % dmesg ugen5.2: at usbus5 ugen6.2: at usbus6 ukbd0: on usbus5 kbd2 at ukbd0 ukbd2: on usbus6 ums0: on usbus5 kbd3 at ukbd2 ums0: 8 buttons and [XYZT] coordinates ID=1 ums1: on usbus6 ums1: 16 buttons and [XYZT] coordinates ID=0 % usbconfig -u 6 -a 2 dump_device_desc dump_curr_config_desc ugen6.2: at usbus6, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0110 bDeviceClass = 0x0000 bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0000 bMaxPacketSize0 = 0x0008 idVendor = 0x09da idProduct = 0x054f bcdDevice = 0x0102 iManufacturer = 0x0001 iProduct = 0x0002 iSerialNumber = 0x0000 bNumConfigurations = 0x0001 Configuration index 0 bLength = 0x0009 bDescriptorType = 0x0002 wTotalLength = 0x003b bNumInterfaces = 0x0002 bConfigurationValue = 0x0001 iConfiguration = 0x0000 bmAttributes = 0x00a0 bMaxPower = 0x0032 Interface 0 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0000 bAlternateSetting = 0x0000 bNumEndpoints = 0x0001 bInterfaceClass = 0x0003 bInterfaceSubClass = 0x0001 bInterfaceProtocol = 0x0001 iInterface = 0x0000 Additional Descriptor bLength = 0x09 bDescriptorType = 0x21 bDescriptorSubType = 0x11 RAW dump: 0x00 | 0x09, 0x21, 0x11, 0x01, 0x00, 0x01, 0x22, 0x84, 0x08 | 0x00 Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0081 bmAttributes = 0x0003 wMaxPacketSize = 0x000c bInterval = 0x0001 bRefresh = 0x0000 bSynchAddress = 0x0000 Interface 1 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0001 bAlternateSetting = 0x0000 bNumEndpoints = 0x0001 bInterfaceClass = 0x0003 bInterfaceSubClass = 0x0001 bInterfaceProtocol = 0x0002 iInterface = 0x0000 Additional Descriptor bLength = 0x09 bDescriptorType = 0x21 bDescriptorSubType = 0x11 RAW dump: 0x00 | 0x09, 0x21, 0x11, 0x01, 0x00, 0x01, 0x22, 0x57, 0x08 | 0x00 Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0082 bmAttributes = 0x0003 wMaxPacketSize = 0x0008 bInterval = 0x0001 bRefresh = 0x0000 bSynchAddress = 0x0000 ---------- Not work: #define UKBD_NKEYCODE 8 ---------- Not work: if (sc->sc_kbd_id != 0) { /* check and remove HID ID byte */ usbd_copy_out(pc, 0, &id, 1); if (id != sc->sc_kbd_id) { DPRINTF("wrong HID ID\n"); goto tr_setup; } offset = 1; len--; } else { offset = 0; } + if (len == 12) { + offset += 2; + len -= 2; + } + if (len == 11) { + offset += 1; + len -= 1; + }