discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] USRP: libusb-1.0 branch


From: Thomas Tsou
Subject: [Discuss-gnuradio] USRP: libusb-1.0 branch
Date: Fri, 18 Sep 2009 15:49:27 -0400

I pushed an update of the libusb-1.0 support patch to a public github repository.

Public clone

git clone git://github.com/ttsou/gnuradio-libusb-1.0.git

Viewable at

http://github.com/ttsou/gnuradio-libusb-1.0

Libusb-1.0 is enabled with,

./configure --fusb-tech=libusb1

Why libusb-1.0?
The prior version of libusb provided a portable user-level library that worked well for USB initialization and configuration, but the synchronous calls proved incapable of supporting higher USRP data rates. To get around this, gnuradio requires some novel approaches to combine libusb with OS specific transfer methods. libusb-1.0 introduces an asynchronous I/O interface, which provides an alternative approach to the current multi-OS strategy.

Compatibility
The libusb-1.0 API is incompatible with prior libusb-0.12 interfaces. There are quite a few similarities, however, that do exist. Because libusb-1.0 is fairly new, and current availability is limited to Linux and Darwin, libusb-0.12 support is necessary for the indefinite future. Eric asked me to figure out how to cleanly support libusb-0.12 and libusb-1.0. This is the main addition of this update.

Changes
The installed interfaces are virtually unchanged. An extra argument required for libusb-1.0 defaults to null and is ignored in non-libusb1 builds, so existing packages that build against previous low-level code are unaffected. This change only affects usrp_prims. Also, some version dependent headers are generated out of the configure scripts. The code generation isn't ideal at this moment causing a number of Makefile warnings.

Testing
With this branch on Fedora 11, I get 32Mb/s on all of my machines using test_usrp_standard_rx or tx. I still need to find some time and put oprofile on it to compare against the native Linux USB devio implementation. That is unlikely to happen within the next few weeks though.

Information on the original patch can be found in the gnuradio-patch archives.

http://lists.gnu.org/archive/html/patch-gnuradio/2009-08/msg00003.html

Comments welcome. Thanks.

--
Thomas

reply via email to

[Prev in Thread] Current Thread [Next in Thread]