Librtlsdr zerocopy buffers not working on Tinkerboard Armbian

Karl gmkarl at
Mon Oct 1 20:21:36 UTC 2018


You can find the libusb version with e.g. `dpkg-query -W libusb-*`.

The api version you're asking about is LIBUSB_API_VERSION in libusb.h,
which is usually in /usr/include/libusb-1.0/libusb.h, or you can find
it with `pkg-config --cflags libusb-1.0`.

Karl Semich

On 9/30/18, Carl Laufer <admin at> wrote:
> I've been trying to get some RTL-SDRs to function properly on my
> Tinkerboard, running Armbian Bionic, Kernel 4.14y. I noticed that with the
> Osmocom drivers rtl_test would result in huge sample drops (millions of
> samples dropped each time). However, Keenerds branch did not drop any
> samples, nor did the presumably older Osmocom drivers from apt-get.
> I did a diff against Keenerds and discovered the new zerocopy buffer code
> in the Osmocom drivers. After commenting that out, the Osmocom drivers work
> fine on the Tinkerboard with Armbian and there is no sample loss.
> Strangely, on TinkerOS and Ubuntu OS for Tinkerboard, all of which run
> Kernel 4.4, I do not get sample loss with the Osmocom drivers and the
> zerocopy code enabled.
> I'm also running the Osmocom drivers on an Odroid XU4 with Ubuntu which is
> also running Kernel 4.14, and on Raspbian, and on those there is no sample
> loss. So it seems to be something specific to the Tinkerboard and Armbian
> with Kernel 4.14y.
> Not sure if the zerocopy code is just not getting activated on those other
> OSes or what. How do I check if the installed libusb API version is >=
> 0x01000105?
> Any ideas what could cause the zero copy code to result in the lost
> samples?
> Regards,
> Carl Laufer

More information about the osmocom-sdr mailing list