Hi, Based on feedback from this list and also from libusb, I was to resolve these issues with my composite device. I can now send and receive data to it. Many thanks for your suggestions.
Peter Stuge wrote: >> Are ep1-2 and ep4 in different interfaces? If not I think you're in trouble >> if you want to use the MSC at the same time as HID. Yes, ep1-2 and ep4 are on different interfaces. Peter Stuge wrote: >> Using native HID on OS X? Yes, we use native HID support on OS X. Best regards, --- asad -----Original Message----- From: libhid-discuss-bounces+asad.ali=gemalto....@lists.alioth.debian.org [mailto:libhid-discuss-bounces+asad.ali=gemalto....@lists.alioth.debian.org] On Behalf Of Peter Stuge Sent: Monday, March 23, 2009 10:14 AM To: [email protected] Subject: Re: [libhid-discuss] Using composite USB devices Ali Asad wrote: > The device in question is a composite USB memory token that also > enumerates as an HID device. It has four end points; ep 1 and ep 2 for > bulk mass storage, ep 0 as control end-point, and ep 4 for interrupt > IN. > The control end-point is used for sending HID data from host to > device, and the interrupt end-point for sending HID data from device > to the host. Are ep1-2 and ep4 in different interfaces? If not I think you're in trouble if you want to use the MSC at the same time as HID. > I can talk to this device over HID on both Windows and Mac OS (Tiger > as well as Leopard), and now want to support Linux as well. Using native HID on OS X? > I am attaching the pseudo code of using the USB library (libhid gave > me similar results). Do you spot anything wrong in this appraoch? Posting to libusb-devel might be better. I'll try to give some hints here at least. > rv = usb_detach_kernel_driver_np(usb_handle, > MY_CONTROL_INTERFACE); Do you need to? > rv = usb_claim_interface(usb_handle, MY_CONTROL_INTERFACE); This makes me a bit scared. How many interfaces are there? You should have at least two. Output from lsusb -v and /proc/bus/usb/devices is always helpful in these questions. > rv = usb_interrupt_read(usb_handle, > > // ERROR: this call fails. I do not see any data on the USB bus. How does it fail? Please provide every single detail if you want us to be able to help you. //Peter _______________________________________________ libhid-discuss mailing list [email protected] http://lists.alioth.debian.org/mailman/listinfo/libhid-discuss http://libhid.alioth.debian.org/ _______________________________________________ libhid-discuss mailing list [email protected] http://lists.alioth.debian.org/mailman/listinfo/libhid-discuss http://libhid.alioth.debian.org/

