Solving the rtl-sdr Segmentation Error on Raspbian (16-2-2015)
The problem appears to be caused by the 11.1 version of libusb-1.0 that is used for the current Raspbian build. Upgrading to the latest version, 19.1, solves the problem.
The following procedure upgrades libusb-1.0 to the 19.1 release.
1 – First step is to add the Raspbian testing release, Jessie, to the apt sources.
2 – Type: sudo nano /etc/apt/sources.list
3 – Add this line to the sources.list: deb http://archive.raspbian.org/raspbian jessie main
4 – Hit ctl-X followed by Y then Return to save the changes.
5 – Update the cache by typing: sudo apt-get update
6 – Now install the latest libusb-1.0, this will come from the Jessie release and take a while to install. When asked about re-starting services, say yes.
7 – Type: sudo apt-get install libusb-1.0
8 – That’s it and you should be able to start and stop the IQ stream.
Mike, I appreciate the post as I’ve been frustrated by this problem with rtl_tcp. But after updating the sources.list as described I am unable to install the new libusb-1.0 with the following errors while doing the update:
Fetched 4,771 kB in 39s (119 kB/s)
Reading package lists… Error!
E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/apt/lists/archive.rasbian.org_rasbian_dists_jessie_main_i18n_Translation-en
E: The package lists or status file could not be parsed or opened.
then the following errors while trying to install libusb-1.0:
pi@raspberrypi /etc/apt $ sudo apt-get install libusb-1.0
Reading package lists… Error!
E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/apt/lists/archive.rasbian.org_rasbian_dists_jessie_main_i18n_Translation-en
E: The package lists or status file could not be parsed or opened.
Bottom line – the segmentation fault problem still occurs. Any thoughts?
73, Bob W9RAN
Hi Bob – Sorry to hear you’re having problems. I’ve just been through the libusb update as described in my post and it worked ok for me so I don’t think there’s a problem with the source.
What build are you starting from? I’m using the latest raspbian build dated 16-2-2015. I assume you get these errors after entering sudo apt-get update, is that correct?
Regards,
Mike
Mike, thanks for the reply and yes, I get the first errors when running update. I went ahead and tried to install and got the second set of errors, not surprisingly.
I thought I’d try starting from scratch with a fresh copy of Rasbian from the NOOBs image. I’ll add the jessie repository first and then run update-upgrade. Previously, I’ve always followed some build instructions that included installing the libusb-1.0-0-dev package before building the rtl-sdr code, and maybe that’s messing things up.
it makes sense that this should fix the problem, I just need to get the right libusb version installed.
73, Bob W9RAN
Mike – to your question,yes this is a brand new installation starting with the NOOBs image and update/upgrade after adding the jessie repository to sources.list. I could see that some files were coming from jessie rather than wheezy, but apparently not what I needed!
PRETTY_NAME=”Raspbian GNU/Linux 7 (wheezy)”
NAME=”Raspbian GNU/Linux”
VERSION_ID=”7″
VERSION=”7 (wheezy)”
ID=raspbian
The kernel version is 3.18.7 #755 from 2/12.
After adding jessie to the sources.list and going the apt-get update and install of libusb-1.0., the screen display showed that libusb-1.0.0.dev was installed and the version was 11.1 So clearly it is not getting the latest libusb version (19.1) I located the libusb.h file in /usr/include but can’t figure out how to see what version is it.
Repeating the process just produces the message that the latest version of libusb-1.0 is already installed.
I’m kind of out of ideas here, as I’m doing everything as you specify as far as I can see, but it’s not installing version 19.1 Any suggestions would be appreciated.
Also, is there a way to see which version of a library is installed? None of the Google suggestions I’ve tried produce anything resembling 11.1 or 19.1.
Thanks again,
Bob