I finally succeeded in getting 3 sdrs to work, after several early morning sessions of three or more hours. I'm running 1.6.0 auto_rx on a PI4.
I changed the serial numbers as specified using eeprom utility. I used 00000002, and 3, and 4 respectively. I verified this with rtl_test.. I changed the station.cfg file, accordingly and restarted auto_rx with : docker restart radiosonde_auto_rx.
The web page showed SDRs, 2, 3, and 4 .
After running for a minute or two, I got an error reported (Critical in Red), SDR 2 was misbehaving and needed to be reset. After several attempts at a reset (initiated by the software with no intervention by me), it said it was removing SDR 2 from the list and now the web page only showed SDRs 3 and 4.
I changed cables. I changed hubs (USB). I changed the order of SDRs defined in station.cfg
I powered down the PI4 and moved the RTL dongles to different positions on the 10 port powered USB hub.
All with the same results, I could not get more than 2 RTL dongles to work at the same time. The minute I added a 3rd and it was defined as SDR 2....I got the above failure. Very frustrating... All 3 behaved normally as single SDRs and all three behaved as 2 in a pair of SDRs, but SDR 2 failed repeatedly when added as number 3.
I should mention two of the SDRs are RTL-SDR v3 and one is Nooelec. It so happens that the Nooelec was assigned to serial number 2, but it worked singly and in a pair, so it was unlikely to be the cause.
Out of desperation, I reprogrammed with eeprom software, the SDR serial number which was 00000002 to 00000005, and made the corresponding change in station.cfg. I am now using serial numbers 3, 4 and 5, instead of 2, 3,and 4.
IT WORKED! It has been working for 24 hours since and has successfully been through two launch windows without a hitch. The software is behaving normally now.
My question:
Why did I need to change RTL Serial Number from 2 to 5? Was it a hardware or software conflict or both?
Here is the relevant section of my station.cfg file, that is currently running successfully: (Many comments snipped from the station.cfg file for brevity)
sdr_quantity = 3
#
# Network SDR Connection Details
#
#
sdr_hostname = localhost
sdr_port = 5555
#
# Individual RTLSDR Settings
#
[sdr_1]
# If using multiple SDRs, you MUST allocate each SDR a unique serial number using rtl_eeprom
# The serial number must NOT be 00000000 or 00000001, as this causes big confusion to the rtl utilities.
# i.e. to set the serial number of a (single) connected RTLSDR: rtl_eeprom -s 00000002
# Then set the device_idx below to 00000002, and repeat for the other [sdr_n] sections below
#
device_idx = 00000003
# Frequency Correction (ppm offset)
ppm = 0
# SDR Gain Setting
gain = -1
# Bias Tee - Enable the bias tee in the RTLSDR v3 Dongles.
bias = False
[sdr_2]
# As above, for the next SDR, if used. Note the warning about serial numbers.
device_idx = 00000004
ppm = 0
gain = -1
bias = False
# Add more SDR definitions here if needed. ([sdr_3], [sdr_4])
[sdr_3]
# As above, for the next SDR, if used. Note the warning about serial numbers.
device_idx = 00000005
ppm = 0
gain = -1
bias = False
==============================
Would someone please explain why this worked? I am uncomfortable with "stumbling on" to a solution without the vaguest idea why it works.
Thanks for your patience with a newbie!
73. Hasan, N0AN