From owner-freebsd-drivers@FreeBSD.ORG Wed Jul 23 15:00:17 2014 Return-Path: Delivered-To: freebsd-drivers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 961FBFD0 for ; Wed, 23 Jul 2014 15:00:17 +0000 (UTC) Received: from demig.de (demig.de [81.169.228.196]) (using TLSv1.1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client CN "Parallels Panel", Issuer "Parallels Panel" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 19F8C2664 for ; Wed, 23 Jul 2014 15:00:16 +0000 (UTC) Received: (qmail 20259 invoked from network); 23 Jul 2014 16:52:32 +0200 Received: from ip-84-119-172-79.unity-media.net (HELO firewall.demig.intra) (84.119.172.79) by demig.de with ESMTPSA (DHE-RSA-AES256-SHA encrypted, authenticated); 23 Jul 2014 16:52:32 +0200 Received: from SRV-FS-2.Demig.intra (nameserver.demig.intra [192.168.148.248]) by firewall.demig.intra (8.14.4/8.14.4) with ESMTP id s6NEqUlx091514 for ; Wed, 23 Jul 2014 16:52:30 +0200 (CEST) (envelope-from nkoch@demig.de) Received: from [192.168.148.83] (192.168.148.83) by SRV-FS-2 (192.168.148.248) with Microsoft SMTP Server (TLS) id 14.3.123.3; Wed, 23 Jul 2014 16:52:25 +0200 Message-ID: <53CFCC28.5070302@demig.de> Date: Wed, 23 Jul 2014 16:52:24 +0200 From: Norbert Koch User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Subject: touch controller problem: uep_intr_callback not called X-Scanned-By: MIMEDefang 2.73 on 192.168.148.235 Content-Type: text/plain; charset="ISO-8859-15" Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.18 X-BeenThere: freebsd-drivers@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Writing device drivers for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Jul 2014 15:00:17 -0000 Hello. I have here a USB touch controller which should be handled by the *uep *driver. This is what usbconfig shows: ugen0.2: at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0110 bDeviceClass = 0x0000 bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0000 bMaxPacketSize0 = 0x0040 idVendor = *0x0eef* idProduct = *0x0001* bcdDevice = *0x0100* iManufacturer = *0x0001 * iProduct = *0x0002 * iSerialNumber = 0x0000 bNumConfigurations = 0x0001 First scenario: *ums.ko loaded, uep.ko not loaded* When I connect the controller driver ums is attached (*/dev/ums0*). When I touch the screen I see incoming traffic with usbdump. The messages are not correctly recognized, which is to be expected. 16:40:22.902239 usbus0.2 DONE-INTR-EP=00000081,SPD=FULL,NFR=1,SLEN=8,IVAL=3,ERR=0 frame[0] READ 6 bytes 0000 01 *80 3A 0A F6 07* -- -- -- -- -- -- -- -- -- -- |..:... | 16:40:22.903240 usbus0.2 SUBM-INTR-EP=00000081,SPD=FULL,NFR=1,SLEN=0,IVAL=3 frame[0] READ 64 bytes 16:40:22.908189 usbus0.2 DONE-INTR-EP=00000081,SPD=FULL,NFR=1,SLEN=8,IVAL=3,ERR=0 frame[0] READ 6 bytes 0000 01 *81 3A 0A F8 07* -- -- -- -- -- -- -- -- -- -- |..:... | The byte sequences above seem to correspond to up/down touch events. Second scenario: *both ums.ko and uep.ko loaded* When I connect the controller driver uep is attached (*/dev/ums0*). Whe I now touch the screen I don't see any traffic coming in. After putting some printfs in uep.c, ums.c and usb_transfer.c I found that neither *uep_intr_callback*() nor usbpf_xfertap() are being called. As uep.c is quite similar to ums.c in probing/attaching I don't understand why this is so. Could any usb driver expert give me a hint where to search further? Thank you. Norbert Koch