Subject: Re: Missile launchers vs uhid
To: Quentin Garnier <cube@cubidou.net>
From: Stephen Borrill <netbsd@precedence.co.uk>
List: tech-kern
Date: 02/28/2007 16:02:26
On Wed, 28 Feb 2007, Quentin Garnier wrote:
> On Wed, Feb 28, 2007 at 02:59:25PM +0000, Stephen Borrill wrote:
> [...]
>> They both claim the device directly and try to detach the kernel uhid
>> driver before writing a very simple usb control message. This seems a lot
>> simpler than messing around with libusbhid, but I can't see how to achieve
>> it on NetBSD.
>
> Well you can always force ugen(4) to attach on it (using the locators in
> your kernel configuration).

Yes, I could, but as the python software works on FreeBSD (or at least 
it's in their ports), I guess their usb stack must have the capability to 
deal with:

     self.handle = self.dev.open()
     self.handle.detachKernelDriver(0)
     self.handle.detachKernelDriver(1)
     self.handle.setConfiguration(self.conf)
     self.handle.claimInterface(self.intf)
     self.handle.setAltInterface(self.intf)

followed by:
     self.dev.handle.controlMsg(0x21, 0x09, self.INITA, 0x02, 0x01)
     self.dev.handle.controlMsg(0x21, 0x09, self.INITB, 0x02, 0x01)
     self.dev.handle.controlMsg(0x21, 0x09, direction+self.CMDFILL, 0x02, 0x01)

Or am I being stupid? :-)

There doesn't seem to be a lot of documentation about this and usbhid(4) 
in particular says:

BUGS
      This man page is woefully incomplete.


-- 
Stephen