On Fri, Apr 11, 2008 at 6:11 AM, Scott Lovenberg <scott.lovenberg@xxxxxxxxx> wrote: > > Ribamar Santarosa de Sousa wrote: > > > > > > > > > Hello, > > > > There are some USB interfaces (such some kinds of HID) that don't have > > OUT endpoints and the unique manner to send them data is through > > control msg like Set_Report requests (chapter 7 of HID 1.1 > > specification). > > > > However, in the kernel interface for usb_control_msg() we need to pass > > a pipe which is obtained through usb_sndcrtlpipe(), which in turn > > requires an endpoint address. What endpoint should be passed to > > usb_sndctrlpipe() in these cases? > > > > Libusb's interface for usb_control_msg() doesn't require this pipe as > > parameter[1]. How is this pipe discovered before the calling of the > > kernel's usb_control_msg()? > > > > [1] http://libusb.sourceforge.net/doc/function.usbcontrolmsg.html > > > > -- > > To unsubscribe from this list: send an email with > > "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx > > Please read the FAQ at http://kernelnewbies.org/FAQ > > > > > > > http://www.lrr.in.tum.de/Par/arch/usb/usbdoc/ > > http://www.lrr.in.tum.de/Par/arch/usb/usbdoc/node16.html > Looks like it's a minor number (such that num % 16 == 0) > thanks for trying, but endPoints and their address are general usb issues and have nothing to do with the interfaces linux offers to access devices from userspace (as dev entries). these documents seem to be too introductory to cover this more specific issue. the correct answer is that the control out has the address zero, so a pipe can be obtained with: usb_sndctrlpipe(ud, 0) -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ