Tricky USB device.
David Gilbert
dgilbert at dclg.ca
Fri Apr 8 15:12:42 PDT 2005
>>>>> "Bernd" == Bernd Walter <ticso at cicely12.cicely.de> writes:
Bernd> Then it really shouldn't have claimed to be one in the
Bernd> interface descriptor :( But the HID specification is more today
Bernd> than just _human_ interface. e.g. there are extensions for
Bernd> USV, ...
[...]
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.
I'm also not entirely clear how/when to use usb_interrupt_read()
... as many of the commands listed in the manual return data, but
usb_inerrupt_write() doesn't seem to allow for data to be returned,
but following usb_interrupt_write(), the read will hang.
... so I'm somewhat at a loss, but I also can't find my multitester
... and will be fetching another one tonight.
I'd appreciate any random knowledge anyone can summon on this topic.
Standard Device Descriptor:
bLength 18
bDescriptorType 01
bcdUSB 0110
bDeviceClass 00
bDeviceSubClass 00
bDeviceProtocol 00
bMaxPacketSize 8
idVendor 0a07
idProduct 00d0
bcdDevice 0000
iManufacturer 1
iProduct 2
iSerialNumber 3
bNumConfigurations 1
Configuration 0:
Standard Configuration Descriptor:
bLength 9
bDescriptorType 02
wTotalLength 41
bNumInterface 1
bConfigurationValue 1
iConfiguration 4
bmAttributes a0 (remote-wakeup)
bMaxPower 100 (200 mA)
Standard Interface Descriptor:
bLength 9
bDescriptorType 04
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 03
bInterfaceSubClass 00
bInterfaceProtocol 00
iInterface 5
HID Descriptor:
bLength 9
bDescriptorType 21
bcdHID 0100
bCountryCode 00
bNumDescriptors 1
bDescriptorType 22
wDescriptorLength 102
Standard Endpoint Descriptor:
bLength 7
bDescriptorType 05
bEndpointAddress 81 (in)
bmAttributes 03 (Interrupt)
wMaxPacketSize 8
bInterval 10
Standard Endpoint Descriptor:
bLength 7
bDescriptorType 05
bEndpointAddress 01 (out)
bmAttributes 03 (Interrupt)
wMaxPacketSize 8
bInterval 10
Codes Representing Languages by the Device:
bLength 4
bDescriptorType 03
wLANGID[0] 0409
String (index 1): www.ontrak.net
String (index 2): ADU208 USB Relay I/O Interface
String (index 3): C02053
String (index 4): Cfg1
String (index 5): EP10In
More information about the freebsd-hackers
mailing list