q: USB_SET_TIMEOUT in ugen.
Hans Petter Selasky
hselasky at c2i.net
Wed Mar 18 00:50:19 PDT 2009
Hi,
On Wednesday 18 March 2009, Weongyo Jeong wrote:
> Hello,
>
> During porting uath(4) to usb2 I found the following code failed to run:
>
> data = open("/dev/usb/0.2.2", O_WRONLY, 0);
> timeout = UATH_DATA_TIMEOUT;
> if (ioctl(data, USB_SET_TIMEOUT, &timeout) < 0)
> err(-1, "%s: USB_SET_TIMEOUT(%u)", datadev,
> UATH_DATA_TIMEOUT);
>
> and the error was:
>
> uathload: /dev/usb/0.2.2: USB_SET_TIMEOUT(1000): Invalid
> argument
Use the following macro instead:
#define USB_SET_TX_TIMEOUT _IOW ('U', 137, int)
There also is a match for USB_SET_RX_TIMEOUT .
USB_SET_TIMEOUT has been removed.
Also don't forget to include "usb_ioctl.h" .
Another idea:
Port the program to libusb ....
>
> It looks it's ok with calling ioctl(msg, USB_SET_TIMEOUT, ..) to
> /dev/usb/0.2.1
>
> And the behaviour of program isn't likely with usb1 that it worked well
> in usb1. After writing some data into msg and data pipe there was no
> any response using read(2). The problem source can be found at:.
>
> http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/user/weongyo
>/wireless/src/usr.sbin/uathload&HIDEDEL=NO
>
> Are there something I missed in here?
>
See hints above.
--HPS
More information about the freebsd-usb
mailing list