ERROR rtlsdr_get_device_usb

For some time now I have been occasionally getting this error:
“[ERROR] rtlsdr_get_device_usb_strings(0) failed” or “usb_claim_interface error -6”.
I have 2 container IDs with 2 0: Nooelec, NESDR SMArt v5, SN: 3 and 1: Nooelec, NESDR SMArt v5, SN: 2.
If I send rtl_test command in a container, I see both SDR.
Is there any command to do to see only its own key for the single container? e.g.: container 1 sdr serial 2 and container 2 sdr serial 3 ?
I don’t understand why it works for a few days and then gives this error, and I don’t know where to search for the problem.

My guess is, that the docker containers don’t have a strict configuration for the specific SDR despite the separate serial numbers.

Some command line commands:

lsusb list all usb devices (with -v to be more verbose)
rtl_eeprom to list rtl sdr details and check the device/serial differences.

Check the docker config and log files to see if the right devices is used when an observation is running.

Is it possible that there is another process also trying to use one of the SDR devices?

I’ve checked the setup several times, but I can’t find any errors.
The problem occurs occasionally as if it is not reading the serial number correctly.
I tried adding this parameter:
SATNOGS_DEV_ARGS=“rtl=0” (but I don’t know if it’s correct) to the previous one:
SATNOGS_SOAPY_RX_DEVICE=“driver=rtlsdr,serial=3”
and this night the error did not occur.
Could it be a coincidence?
I’ll keep you under observation for the next few hours…

I don’t have a Nooelec SDR, so I can’t test it.

My suggestion would be to run SoapySDRUtil --find="driver=rtlsdr" and use the ,serial value as found by the command.

Example:

SoapySDRUtil --find="driver=rtlsdr"

######################################################
##     Soapy SDR -- the SDR abstraction library     ##
######################################################

Found Rafael Micro R820T/2 tuner
Found device 0
  driver = rtlsdr
  label = Generic RTL2832U OEM :: 00001220
  manufacturer = Realtek
  product = RTL2838UHIDIR
  serial = 00001220
  tuner = Rafael Micro R820T

That would result in SATNOGS_SOAPY_RX_DEVICE="driver=rtlsdr,serial=00001220"
If you look at the observation made with SatNOGS Network - Ground Station PE0SAT-11 and check the meta tab you can see all the values used.

I tried as you suggested, but the SDR serial numbers are correct, apparently, with the addition of the command SATNOGS_DEV_ARGS=“rtl=1” or “rtl=0”, I sometimes get the error, but it doesn’t block client.
I will still try to keep an eye on it, but I think with docker at each new receive cycle, it may have some problems identifying the correct SDR.

LOGS

Soapy serial
soapy

rtltest
rtltest

In my experience, there is some problems in the device id and serial nr identification. Device is usually is 0-x and serial is the string configured in eeprom. I simply chose a name/number that is distinctly a serial and not confused as device. Simple choice is the station id, like Jan had 00001220, with or without the leading zeroes. I’m using 1864 and in your case 3523 would suffice.

ok I’ll try to change my 2 serials to id 446 and 3523. I’ll update you on the results.