-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Nooelec nano 3 - Strange gain behaviour #3064
Comments
Noise of -40 dB is dead silence for an rtlsdr and normally -8 db is a jammed band, rtl_433 usually will trigger above -12 dB and needs at least 9 dB SNR. Seems like there might be problems setting the gain for the Nano 3 (with that rtlsdr lib version). Running a second rtl_433 over rtl_tcp will again set some parqameters. You can observe that running the rtl_tcp-server rtl_433 with Only settings of freq and rate are passed through. You can issue those with http requests to the api also (use
Try those calls on the http api when running only one rtl_433 and watch how the levels change. If it matches what you saw from the rtl_tcp experiment then we know what that apparently fixed. |
Thank you. Here is what happens when I feed various parameters into the HTTP interface with
Thank you. I don't know what's going on in my radio band and when. At the moment 868 MHz has the same issue. I will need to take care of that separately. The Raspberry Pi with the Nano 3 is sitting on my kitchen table.
I'm not using I am on a Raspberry Pi, the package versions are as follows:
The |
Note that you can also omit the arg for the gain call (or use an empty string) and that enables automatic gain in the rtlsdr.
Good clue, as the rtl_433 will disregard the rtl_tcp gain command.
It might be easier to just use one of our binary releases. Those are just executables with very few deps needed. I'd guess that setting automatic gain once things are running will then work. I.e. does this work: start rtl_433 as you normally would but add the http api ( |
Not sure whether passing an empty argument to the gain command has really done much. Currently autolevel is quiet. But look at the Cotech weatherstation here: initially it's seen it at -37db noise, then something happens and half a minute later it's seen again at -14db; then I issue the empty gain command and 15 seconds later it's again seen at -14 db.
I'm sorry if this is not really helpful. If I knew more about SDR and radio in general, I could probably give more qualified answers. |
The autolevel will be quiet if there are no changes. You can force the level output, e.g. every second (default is 10), with If just running rtl_433 reads around -40 dB will setting manual gain, then back to auto gain get better levels? I.e. if starting with no gain selected or |
Something definitely happens, but to be honest I'm not sure it's the gain settings causing it? Here we see two devices (a CoTech weatherstation and a Rubicson/Solight thermometer). We start off with no
|
Something is really wrong with how the auto gain on the Nano 3 behaves. Can't tell you what though. |
It's very frustrating. As a newbie, when you don't know what to expect, you never know if it's user error. In order to exclude driver issues I've tried again with the precompiled armhf binaries from here, the behaviour is the same. I'm a bit out of ideas. What would be a way to go forward? |
It's not an error on your part. The SDR is behaving strangely. AFAIK the Nano 3 uses a R820T2 tuner and we don't expect any of that weird gain behaviour. I would really dig into the rf spectrum presented. I.e. run rtl_433 with http and rtl_tcp output, run an SDR UI to observe the rtl_tcp waterfall, then issue gain commands and visually check the changes in the waterfall. Maybe even time the gain-set events with some script (using e.g. |
OK, so here are a few waterfalls from SDR++ connected to I made a little script that cycles gain values at 1 second intervals so that they're visually reproducible, with a frequency change in the middle to see if that has an impact. The supported gain values are what's reported by #!/bin/sh
SLEEP=1
# Supported gain values (29):
# 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7
# 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6
# 40.2 42.1 43.4 43.9 44.5 48.0 49.6
for i in 10 0 0.9 12.5 20.7 32.8 40.2 49.6 0 12.5
do
echo Setting gain $i
xh -q 10.0.0.6:8433/cmd cmd==gain arg==$i
sleep $SLEEP
done;
sleep 3
echo Setting frequency 434 MHz
xh -q 10.0.0.6:8433/cmd cmd==center_frequency val==434000000
for i in 10 0 0.9 12.5 20.7 32.8 40.2 49.6 0
do
echo Setting gain $i
xh -q 10.0.0.6:8433/cmd cmd==gain arg==$i
sleep $SLEEP
done; Here's the output from
Here's the waterfall (with no Here's the waterfall with Here's the waterfall with Here's the waterfall with This was a bit tedious to produce because the It looks as if autogain on the Nano 3 can send the gain beyond what I can set manually. If I try to set gain beyond 49.6 manually (with Here's a recording of the case with no |
I have a Nooelec Nano 3 that I'm trying to use for 433 MHz signals with dedicated SMA antenna for 433 MHz (it's about 17cm long and was sold to me as a 3dB antenna).
I notice strange behaviour with autolevels. Watch the noise floor (reported at -40-ish dB):
I've tried to compare this with running the same Nano3 not directly, but through
rtl_tcp
, and with an RTL-Blog v4. Here is the same when I run it throughrtl_tcp
. Watch the noise floor (at -8-ish dB):For reference here is the output of
rtl_tcp
during that time, nothing special:Here is the output of the RTL-SDR Blog v4 instead (noise floor at -8-ish dB):
What could be going on here? I replicated this with a second Nano 3 that shows the same behaviour.
The text was updated successfully, but these errors were encountered: