Hello Xiaofan
Here's the output:
Bus 002 Device 015: ID 04d8:ff99 Microchip Technology, Inc.
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.01
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x04d8 Microchip Technology, Inc.
idProduct 0xff99
bcdDevice 0.00
iManufacturer 1
iProduct 2
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x40
(Missing must-be-set bit!)
Self Powered
MaxPower 448mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 0 (Defined at Interface level)
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
So from this you can see that my initial statement about EP1 and EP2 was wrong,
the In/out was the other way around, and the EP 2 address is 0x82.
Question: is there a way of not using the address, but using the Endpoint name
( EP1,EP2)? Or does this not make any sense at all?
I have been doing some more experiments. Apparently, if I increase the nTimeout
to 2000, and I use libusb_bulk_transfer
then I can also communicate with the device in Linux.
So I do not know exactly what this is caused by. From the documentation, I also
do not understand clearly what the difference between
the bulk and the interrupt transfer is.
Best regards
Wim
-----Original Message-----
From: Xiaofan Chen [mailto:[email protected]]
Sent: zaterdag 16 februari 2013 1:00
To: [email protected]
Subject: [SPAM] - Re: [Libusbx-devel] opening generic device EP in bulk
transfer - difference between Linux and Windows - Email found in subject
On Sat, Feb 16, 2013 at 4:09 AM, Wim De Kimpe <[email protected]>
wrote:
> ok, clear, so the example I used is not really the best example there
> is I guess.
>
> I was able to do some transfers to the device in linux now, but only
> when using libusb_bulk_transfer rather than
> libusb_interrupt_transfer.
> I am not sure if I really understand the difference between those 2.
>
Your email spam detection makes the thread subject a mess.
You may want to edit the subject to remove those mess in the reply.
Anyway, I've replied before, you need to know your device better.
Please post the output of "lsusb -vvv" result of your device under Linux.
And reading some ABCs of USB will help.
http://www.usbmadesimple.co.uk/
--
Xiaofan
------------------------------------------------------------------------------
The Go Parallel Website, sponsored by Intel - in partnership with Geeknet, is
your hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials, tech docs,
whitepapers, evaluation guides, and opinion stories. Check out the most recent
posts - join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
libusbx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libusbx-devel
------------------------------------------------------------------------------
The Go Parallel Website, sponsored by Intel - in partnership with Geeknet,
is your hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials, tech docs,
whitepapers, evaluation guides, and opinion stories. Check out the most
recent posts - join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
libusbx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libusbx-devel