Asynchronous bulk transfers in usb2 ?

M. Warner Losh imp at bsdimp.com
Fri May 15 19:31:12 UTC 2009


In message: <200905152119.07569.thierry.herbelot at free.fr>
            Thierry Herbelot <thierry.herbelot at free.fr> writes:
: Le Friday 15 May 2009, Hans Petter Selasky a écrit :
: > On Friday 15 May 2009, Thierry Herbelot wrote:
: > > Hello,
: > >
: > > This is a follow-on for :
: > > http://www.mail-archive.com/freebsd-usb%40freebsd.org/msg04000.html,
: > > where a code snippet was posted to use the new USB stack.
: > >
: > > I've just recompiled my old experiment (which used to work at the time),
: > > and it does not seem to work with today's current (I made the cosmetic
: > > changes due to the change of name for the libusb, so the compile at least
: > > is OK).
: > >
: > > the issue is that the following loop (copied from the previous archived
: > > post) is never executed :
: > > --------------------
: > > 	while ( ( pdev = libusb20_be_device_foreach ( pbe, pdev ) ) )
: > > 	{
: > > 		ddesc = libusb20_dev_get_device_desc ( pdev );
: > > 		printf("vendor %x prod %x\n", ddesc->idVendor, ddesc->idProduct);
: > >
: > > 		/* stop with the first found device */
: > > 		if ( ddesc->idVendor == MY_VENDOR_ID )
: > > 		{
: > > 			libusb20_be_dequeue_device ( pbe, pdev );
: > > 			break;
: > > 		}
: > > 	}
: > > --------------------
: > >
: > > pdev is always NULL at the end of the loop (even though a USB device has
: > > been plugged, has been detected by the USB stack and is correctly seen,
: > > as per usbconfig, with the expected idVendor).
: > >
: > > I have not followed the recent developments on the USB stack : maybe some
: > > change is needed in my code ?
: >
: > Check permissions for devices under /dev/usb
: 
: *blush* (this is indeed the reason)
: 
: but .... this used to work ;-) (maybe it did no longer work after the device 
: nodes were added for the USB devices)
: 
: what is the recommended way to change the permissions for the usb device 
: nodes ? (with devd ?)
: 
: in the meantime, I'll try to run from root ...

I use devfs.rules:

[localrules=10]
	add path 'usb/*' mode 0660

and put my trusted to use usb users into group operator.

Warner


More information about the freebsd-usb mailing list