Date: Fri, 08 Apr 2005 16:47:43 -0700 From: Maksim Yevmenkin <maksim.yevmenkin@savvis.net> To: ticso@cicely.de Cc: David Gilbert <dgilbert@dclg.ca> Subject: Re: Tricky USB device. Message-ID: <4257181F.1040904@savvis.net> In-Reply-To: <20050408233301.GW96690@cicely12.cicely.de> References: <16982.46075.115518.130213@canoe.dclg.ca> <4256B5EB.9080506@savvis.net> <16982.47024.135663.645297@canoe.dclg.ca> <20050408190514.GS96690@cicely12.cicely.de> <16983.465.572693.73195@canoe.dclg.ca> <20050408233301.GW96690@cicely12.cicely.de>
next in thread | previous in thread | raw e-mail | index | archive | help
Bernd Walter wrote: > On Fri, Apr 08, 2005 at 06:12:33PM -0400, David Gilbert wrote: > >> Bernd> Has this device multiple interfaces? e.g. one HID and >> another Bernd> as described. I often thought about getting ugen >> working at Bernd> interface level too. >> >> Here's the output of udesc_dump on it. Right now, using the >> current version of libusb (not the version from ports), I can use >> usb_interrupt_write(dev, 1, "MK255", 5, 0) to send data to it --- >> and the data is sent --- at least lights on the USB hub flash. If >> I replace '1' with anything else, it doesn't accept it. However, >> it doesn't seem to have opened the relays. > > Yes - you must use 1 - there is only one out-endpoint. 0x81 is for > receiving data and endpoint 0 is the mandandory control endpoint. > Interrupt Endpoints are not variable in size. Both interrupt > endpoints are 8 Bytes, so you must read and write exact 8 Bytes per > transfer - 5 shouldn't work for USB compliant devices. hmmm... i was always confused about bMaxPacketSize. i was thinking that it limits the size of one usb transaction, and it could take several usb transactions to transfer one data packet. for example i have a bluetooth usb dongle that has Standard Endpoint Descriptor: bLength 7 bDescriptorType 05 bEndpointAddress 81 (in) bmAttributes 03 (Interruput) wMaxPacketSize 16 bInterval 1 and i certanly can receive data packets from this endpoint that are more (and less) then 16 bytes in size. so, i would guess (and i might be wrong) that it is ok to send/receive data packets that are not equal to bMaxPacketSize in size. max
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4257181F.1040904>