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
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to