On Sun, 22 Jul 2007, Ron Gage wrote:

> The function number (0019 - Vendor Endpoint) appears to be relevant: I 
> am trying to send a control message to the device and am getting back 
> error -32 (EPIPE).  I'm using libusb for the comms right now.  Here is 
> the snip from my code:
> 
> 
>       handle = usb_open(dev);
>       if (!handle)
>         {
>         printf ("Could not open device.\n");
>         }
>       else
>         {
>         char buff[128];
>         printf ("Set Configuration returned 
> %d\n",usb_set_configuration(handle, 1));
>         printf ("Claim Interface returned %d\n",usb_claim_interface 
> (handle, 0));
>         while (1)
>           {
>           int r1,r2,x;
>           char b1[4096],b2[4096];
>           r1 = usb_control_msg(handle, 0,0x81,0x80,0, b1, 128,10000);
>           r2 = usb_control_msg(handle, 0,0x81,0x80,0, b2, 128,10000);

That looks very strange.  bRequestType = 0 and bRequest = 0x81 makes no 
sense.  Are you sure you don't want bRequestType = 0xc1 (IN, 
vendor-specific, interface recipient)?

> Set Configuration and Claim Interface are both returning 0 here, r1 and 
> r2 are both being set to -32.

Probably because one or both of those two values are wrong.

Alan Stern


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Linux-usb-users@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-users

Reply via email to