Dump978-fa reports USB_Claim_Interface error -6

I have two NooElec dongles set up and have zero luck trying to get 978 up and running. I’m very new to this but had success setting my Raspberry Pi with 1090.

What outputs should I post to get some help?

Jun 17 16:22:50 Raspberrypi3ADSB systemd[1]: Stopped dump978 ADS-B UAT receiver.
Jun 17 16:23:15 Raspberrypi3ADSB systemd[1]: Started dump978 ADS-B UAT receiver.
Jun 17 16:23:15 Raspberrypi3ADSB dump978-fa[6212]: raw-port: listening for connections on 0.0.0.0:30978
Jun 17 16:23:15 Raspberrypi3ADSB dump978-fa[6212]: raw-port: listening for connections on [::]:30978
Jun 17 16:23:15 Raspberrypi3ADSB dump978-fa[6212]: json-port: listening for connections on 0.0.0.0:30979
Jun 17 16:23:15 Raspberrypi3ADSB dump978-fa[6212]: json-port: listening for connections on [::]:30979
Jun 17 16:23:15 Raspberrypi3ADSB dump978-fa[6212]: usb_claim_interface error -6
Jun 17 16:23:15 Raspberrypi3ADSB dump978-fa[6212]: Detached kernel driver
Jun 17 16:23:16 Raspberrypi3ADSB dump978-fa[6212]: Found Rafael Micro R820T tuner
Jun 17 16:23:16 Raspberrypi3ADSB dump978-fa[6212]: Reattached kernel driver
Jun 17 16:23:16 Raspberrypi3ADSB dump978-fa[6212]: usb_claim_interface error -6
Jun 17 16:23:16 Raspberrypi3ADSB dump978-fa[6212]: SoapySDR: using maximum manual gain 49.6 dB
Jun 17 16:23:16 Raspberrypi3ADSB dump978-fa[6212]: SoapySDR: using stream setting buffsize=262144
Jun 17 16:23:21 Raspberrypi3ADSB dump978-fa[6212]: Message source reports error: TIMEOUT
Jun 17 16:23:21 Raspberrypi3ADSB dump978-fa[6212]: Abnormal exit
Jun 17 16:23:21 Raspberrypi3ADSB systemd[1]: dump978-fa.service: Main process exited, code=exited, status=1/FAILURE
Jun 17 16:23:21 Raspberrypi3ADSB systemd[1]: dump978-fa.service: Failed with result 'exit-code'.

pi@Raspberrypi3ADSB:~ $ sudo piaware-status
PiAware master process (piaware) is running with pid 630.
PiAware ADS-B client (faup1090) is running with pid 848.
PiAware ADS-B UAT client (faup978) is not running.
PiAware mlat client (fa-mlat-client) is running with pid 989.
Local ADS-B receiver (dump1090-fa) is running with pid 480.
Local ADS-B UAT receiver (dump978-fa) is running with pid 7140.

dump1090-fa (pid 480) is listening for ES connections on port 30005.
dump978-fa (pid 7140) is listening for UAT connections on port 30978.
faup1090 is connected to the ADS-B receiver.
faup978 is NOT connected to the ADS-B UAT receiver.
piaware is connected to FlightAware.

dump978 is producing data on localhost:30978.
dump1090 is producing data on localhost:30005.

Have you set serials for the SDRS and configured serials for the two services?

How to Install and Configure Piaware 5.0 SD card image - Quickstart Guide

Not sure which thread it is for non piaware sd-card instructions.
These should also make sense for setting serials: Raspbian Lite: ADS B receiver · wiedehopf/adsb-wiki Wiki · GitHub

If everything is good it could also be that the 978 SDR is getting insufficient voltage or something like that.
Pretty sure the claim interface error isn’t the real error … not sure though:

Jun 17 16:23:16 Raspberrypi3ADSB dump978-fa[6212]: SoapySDR: using maximum manual gain 49.6 dB
Jun 17 16:23:16 Raspberrypi3ADSB dump978-fa[6212]: SoapySDR: using stream setting buffsize=262144
Jun 17 16:23:21 Raspberrypi3ADSB dump978-fa[6212]: Message source reports error: TIMEOUT

The interface claim error is most likely caused by both of your dongles having the same serial number.
Assuming you are using the Piaware image see this guide for details on how to configure things to use 2 dongles on a single pi :

Thanks. Yeah, I read about the “multiple dongle issue.” My Pi installation is a full “Buster” installation and I use VNC for access. I also run a couple of apps like “Boinc” (no low voltage or throttling issues at all).

pi@Raspberrypi3ADSB:~ $ rtl_test -t
Found 2 device(s):
  0:  Nooelec, NESDR Nano 3, SN: 00001090
  1:  Nooelec, NESDR Nano 3, SN: 00000978

Unfortunately it quite possibly is; the SoapySDR rtlsdr driver is terrible about reporting errors on device open (it just silently swallows the error code), or on most other device interaction, and if the device open fails then the first you know about it is when you get a stream timeout.

Info from @abcd567

Ok! It looks like I’m getting somewhere. Thanks LawrenceHill for the link and those commands. I had edited the piaware.conf file but I don’t think was enough. I’m not exactly sure what the difference is, but would everyone agree it seems to be connected now?

I guess I need to wait to see some 978 traffic to be sure. Is there a log somewhere?

pi@Raspberrypi3ADSB:~ $ sudo piaware-status
PiAware master process (piaware) is running with pid 605.
PiAware ADS-B client (faup1090) is running with pid 808.
PiAware ADS-B UAT client (faup978) is running with pid 838.
PiAware mlat client (fa-mlat-client) is running with pid 1001.
Local ADS-B receiver (dump1090-fa) is running with pid 493.
Local ADS-B UAT receiver (dump978-fa) is running with pid 495.

dump1090-fa (pid 493) is listening for ES connections on port 30005.
dump978-fa (pid 495) is listening for UAT connections on port 30978.
faup1090 is connected to the ADS-B receiver.
faup978 is connected to the ADS-B UAT receiver.
piaware is connected to FlightAware.

dump978 is producing data on localhost:30978.
dump1090 is producing data on localhost:30005.

I would say so, yes.
Also ,if this is your site 154998 then that is showing UAT positions being received now.

Yup - that’s mine. I just hadn’t pinged any 978 planes yet. Now, I’m showing 10 aircraft in the history. Thanks for the help and the links. It was both of these that were needed to make it work.

> sudo sed -i 's/--device-index [^ ]* /--device-index 00001090 /' /etc/default/dump1090-fa   
sudo sed -i 's/driver=rtlsdr[^ ]* /driver=rtlsdr,serial=00000978 /' /etc/default/dump978-fa   

1 Like

In my case the process to fix it was simple:
a) Check in what (random) order are your dongles:

$ rtl_test -t
Found 2 device(s):
  0:  Nooelec, NESDR Nano 3, SN: stx:978:0
  1:  Nooelec, NESDR Nano 3, SN: stx:1090:0

b) Then configure piaware to the proper index (0 or 1)

   $ piaware-config rtlsdr-device-index 1
   $ piaware-config uat-sdr-device driver=rtlsdr,rtl=0

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.