From owner-freebsd-current@FreeBSD.ORG Sun Sep 21 15:04:42 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 05BF316A4B3 for ; Sun, 21 Sep 2003 15:04:42 -0700 (PDT) Received: from srv1.cosmo-project.de (srv1.cosmo-project.de [213.83.6.106]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9889B43F75 for ; Sun, 21 Sep 2003 15:04:40 -0700 (PDT) (envelope-from ticso@cicely12.cicely.de) Received: from cicely5.cicely.de (cicely5.cicely.de [IPv6:3ffe:400:8d0:301:200:92ff:fe9b:20e7]) (authenticated bits=0) h8LM4PFs003807 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=OK); Mon, 22 Sep 2003 00:04:28 +0200 (CEST) (envelope-from ticso@cicely12.cicely.de) Received: from cicely12.cicely.de (cicely12.cicely.de [IPv6:3ffe:400:8d0:301::12]) by cicely5.cicely.de (8.12.10/8.12.10) with ESMTP id h8LM4OWZ043954 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 22 Sep 2003 00:04:25 +0200 (CEST) (envelope-from ticso@cicely12.cicely.de) Received: from cicely12.cicely.de (localhost [127.0.0.1]) by cicely12.cicely.de (8.12.9/8.12.9) with ESMTP id h8LM4OrY075218; Mon, 22 Sep 2003 00:04:24 +0200 (CEST) (envelope-from ticso@cicely12.cicely.de) Received: (from ticso@localhost) by cicely12.cicely.de (8.12.9/8.12.9/Submit) id h8LM4Fci075217; Mon, 22 Sep 2003 00:04:15 +0200 (CEST) Date: Mon, 22 Sep 2003 00:04:15 +0200 From: Bernd Walter To: Lars Eggert Message-ID: <20030921220414.GZ21665@cicely12.cicely.de> References: <3F57B0A0.2040508@isi.edu> <20030905072228.3def6a8b.steve@sohara.org> <3F63E246.8030801@isi.edu> <20030915190350.3e0fe0ec.steve@sohara.org> <20030918165710.GB19984@genius.tao.org.uk> <3F69FFC9.80308@isi.edu> <20030918231742.GB41432@genius.tao.org.uk> <3F6DE165.1020404@isi.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3F6DE165.1020404@isi.edu> X-Operating-System: FreeBSD cicely12.cicely.de 5.1-CURRENT alpha User-Agent: Mutt/1.5.4i cc: usb-bsd@eleetbsd.org cc: current Subject: Re: X10 Wireless Technology Inc USB Receiver X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: ticso@cicely.de List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 21 Sep 2003 22:04:42 -0000 On Sun, Sep 21, 2003 at 10:35:33AM -0700, Lars Eggert wrote: > Hi, > > I'm trying to get the USB RF remote control that comes with some ATI > Wonder cards to do something meaningful under -current. > > It shows up as an "X10 Wireless Technology Inc USB Receiver" with three > devices: /dev/ugen0, and the corresponding input (/dev/ugen0.1) and > output endpoints (/dev/ugen/0.2). Also see the attached usbctl output. > > Simply reading from the input endpoint /dev/ugen0.1 doesn't work. > > This page (http://remotew.free.fr/linux_en.htm) points at the Gatos > project, which has a Linux driver (ati_remote) that seems to make the > remote show up as a USB keyboard: > http://sourceforge.net/project/showfiles.php?group_id=12629 > > That driver sends a couple of magic bytes to the device during > initialization. I'm trying to do the same from userland: > > static char init1[]= { 0x80, 0x01, 0x00, 0x20, 0x14 }; > static char init2[]= { 0x80, 0x01, 0x00, 0x20, 0x14, 0x20, 0x20, 0x20 }; > > int main(int argc, char *argv[]) { > int out = open("/dev/ugen0.2", O_WRONLY); > if (out == -1) { > perror("ugen0.2"); > goto done; > } > > if (write(out, init1, sizeof init1) == -1) { > perror("write init1"); > goto done; > } > > if (write(out, init2, sizeof init2) == -1) { > perror("write init1"); > goto done; > } > > done: > close(out); > } > > Really simply. Here's what happens when I run it: > > write init1: Input/output error Are you shure that the above is correct data for the device? The IO error could also be returned from the device. What does USB_DEBUG with hw.usb.debug=2 and hw.usb.ugen.debug=2 say? Bevor I download the complete source you mentioned, can you give us the lines that lead to the above command? > it feels like I'm missing something extremely obvious, but I'm new to > the USB internals. The two endpoints are "interrupt" endpoints. I'm not > sure what that signifies, but I heard writing to them on -stable is > broken, but on -current it should work. I don't know, but it could also depend on the controller you use. E.g. ehci currently doesn't support interrupt endpoints at all. -- B.Walter BWCT http://www.bwct.de ticso@bwct.de info@bwct.de