Problem calibrating RTL stick

Morning all, I am running through the process to calibrate a new RTL-SDR USB stick, and am having some issues. I am wondering if I might have a faulty stick. Here’s what I have done.

At the moment, the stick is connected to a Raspi 3 running the latest version of the client. I have installed kalibrate, and a scan of the GSM900 band found a base station on channel 26. When I run the kalibrate program, I get this:

pi@raspberrypi:~/kalibrate-rtl $ src/kal -c 26
Found 1 device(s):
0: Generic RTL2832U OEM

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Exact sample rate is: 270833.002142 Hz
[R82XX] PLL not locked!
kal: Calculating clock frequency offset.
Using GSM-900 channel 26 (940.2MHz)
Tuned to 940.200000MHz (reported tuner error: 0Hz)
average [min, max] (range, stddev)

  • 4.538kHz [-6783, -3469] (3314, 1324.203979)
    overruns: 0
    not found: 1281
    average absolute error: 4.827 ppm

That’s a huge standard deviation. So, I run it again and get this:

pi@raspberrypi:~/kalibrate-rtl $ src/kal -c 26
Found 1 device(s):
0: Generic RTL2832U OEM

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Exact sample rate is: 270833.002142 Hz
[R82XX] PLL not locked!
kal: Calculating clock frequency offset.
Using GSM-900 channel 26 (940.2MHz)
Tuned to 940.200000MHz (reported tuner error: 0Hz)
average [min, max] (range, stddev)

  • 4.911kHz [-6818, -3483] (3335, 1309.166382)
    overruns: 0
    not found: 1124
    average absolute error: 5.224 ppm

To my eye, this looks like there is something odd going on in here, with the RTL stick failing to lock onto the frequency properly. This is using the dipole antenna that came with the RTL-SDR stick, with the short antenna bits set for that frequency band.

Any thoughts?

Nothing wrong with your rtl. This is NOT 4 thousand ppm (or 5 thousand) it is only 4ppm (or 5ppm) !!!

Hello, I am trying to setup my node to work properly but I cannot make it work, so I am still debugging… In this process, I tried kal. However, I find no signal at all… The output for a random channel (e.g. 33) is:

kal -c 33 -D
debug: Mac OS X version
debug: FPGA Master Clock Freq: 52000000
debug: decimation : 192
debug: RX Subdev Spec : A
debug: Antenna : RX2
debug: Gain : 0.000000
Found 1 device(s):
0: Generic RTL2832U OEM

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Exact sample rate is: 270833.002142 Hz
[R82XX] PLL not locked!
kal: Calculating clock frequency offset.
Using GSM-900 channel 33 (941.6MHz)
Tuned to 941.600000MHz (reported tuner error: 0Hz)
debug: error limit: nan
debug: error limit: inf
debug: error limit: inf

The RTL is working properly, as well as the antenna. If I connect the RTL directly to my laptop and the antenna, I hear the APT from NOAA. However, through the RPI I do not get anything meaningful… The “[R82XX] PLL not locked!” part is a hint to anything or I shouldn’t be bothered?

Any help is appreciated - I am almost out of ideas :slight_smile:

Thanks,
Alexandros

I am a little bit confused!!!

are you running kal on Mac OS X or on rpi???

Generally “PLL not locked” has been "resolved’ in recent versions of librtlsdr although it shouldn’t be of a problem.

Okay, so you think the problem lies with Kalibrate? That would make sense. When I use the RTL stick on a PC, it receives lots of GSM signals, but I can’t get a darn thing with Kalibrate.

Also, much like the other poster below, I can receive the APT signal from a NOAA pass, but when I try it with satnogs (same antenna), I get a big sea of static.

try kalibrate with some gain, -g option

I have tried adding some gain, but I am still getting inconsistent results: see below for two runs with a 10dB gain that got different results, despite being just a couple of minutes apart. I don’t expect them to be identical, but I am surprised at how different they are:

pi@raspberrypi:~/kalibrate-rtl $ src/kal -s GSM900 -g 10
Found 1 device(s):
  0:  Generic RTL2832U OEM

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Exact sample rate is: 270833.002142 Hz
[R82XX] PLL not locked!
Setting gain: 10.0 dB
kal: Scanning for GSM-900 base stations.
GSM-900:
    chan:   21 (939.2MHz + 33.387kHz)    power:  229335.00
    chan:   26 (940.2MHz - 34.350kHz)    power:   94963.58
...chan 124
Difference of offsets between channels is >1kHz. This likely means that the correct PPM is too far away and you need to provide a rough estimate using the '-e' option. Try tuning against a local FM radio or other known frequency first.
pi@raspberrypi:~/kalibrate-rtl $ src/kal -s GSM900 -g 10
Found 1 device(s):
  0:  Generic RTL2832U OEM

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Exact sample rate is: 270833.002142 Hz
[R82XX] PLL not locked!
Setting gain: 10.0 dB
kal: Scanning for GSM-900 base stations.
GSM-900:
    chan:    8 (936.6MHz - 23.300kHz)    power:   96495.70
    chan:   26 (940.2MHz - 32.027kHz)    power:   79040.18
...chan 124
Difference of offsets between channels is >1kHz. This likely means that the correct PPM is too far away and you need to provide a rough estimate using the '-e' option. Try tuning against a local FM radio or other known frequency first.

Chasing down on another comment: what’s the version of libusb that works correctly , and how do I check that?

You cannot use arbitrary values for gain: you must use a supported one. Run rtl_test and watch the output to choose one in the middle - I guess something like 30.2 or similar.

Why do you think you have a problem with libusb ???

Gotcha. I ran RTL_test and used 29.7 from the list. Still getting inconsistent results:

pi@raspberrypi:~/kalibrate-rtl $ src/kal -s GSM900 -g 29.7
Found 1 device(s):
  0:  Generic RTL2832U OEM

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Exact sample rate is: 270833.002142 Hz
[R82XX] PLL not locked!
Setting gain: 29.7 dB
kal: Scanning for GSM-900 base stations.
GSM-900:
    chan:   22 (939.4MHz - 4.681kHz)    power:  176421.34
    chan:   26 (940.2MHz - 31.916kHz)    power:   79414.90
...chan 124
Difference of offsets between channels is >1kHz. This likely means that the correct PPM is too far away and you need to provide a rough estimate using the '-e' option. Try tuning against a local FM radio or other known frequency first.
pi@raspberrypi:~/kalibrate-rtl $ src/kal -s GSM900 -g 29.7
Found 1 device(s):
  0:  Generic RTL2832U OEM

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Exact sample rate is: 270833.002142 Hz
[R82XX] PLL not locked!
Setting gain: 29.7 dB
kal: Scanning for GSM-900 base stations.
GSM-900:
    chan:    3 (935.6MHz - 1.780kHz)    power:   56419.40
    chan:    8 (936.6MHz - 26.831kHz)    power:  113165.90
    chan:   21 (939.2MHz - 19.390kHz)    power:  356913.03
    chan:   26 (940.2MHz - 32.209kHz)    power:   47462.29
...chan 124
Difference of offsets between channels is >1kHz. This likely means that the correct PPM is too far away and you need to provide a rough estimate using the '-e' option. Try tuning against a local FM radio or other known frequency first.

$ src/kal -s GSM900 -g 29.7 -e 5

pi@raspberrypi:~/kalibrate-rtl $ src/kal -s GSM900 -g 29.7 -e 5
Found 1 device(s):
  0:  Generic RTL2832U OEM

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Exact sample rate is: 270833.002142 Hz
[R82XX] PLL not locked!
Setting gain: 29.7 dB
kal: Scanning for GSM-900 base stations.
GSM-900:
    chan:   21 (939.2MHz + 38.227kHz)    power:  196552.99
    chan:   26 (940.2MHz - 25.031kHz)    power:  645440.83
...chan 124
Difference of offsets between channels is >1kHz. This likely means that the correct PPM is too far away and you need to provide a rough estimate using the '-e' option. Try tuning against a local FM radio or other known frequency first.
pi@raspberrypi:~/kalibrate-rtl $ src/kal -s GSM900 -g 29.7 -e 5
Found 1 device(s):
  0:  Generic RTL2832U OEM

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Exact sample rate is: 270833.002142 Hz
[R82XX] PLL not locked!
Setting gain: 29.7 dB
kal: Scanning for GSM-900 base stations.
GSM-900:
    chan:    8 (936.6MHz - 22.492kHz)    power:   28778.09
    chan:   26 (940.2MHz - 2.293kHz)    power:   45815.42
    chan:   31 (941.2MHz + 31.086kHz)    power:   55600.94
...chan 124
Difference of offsets between channels is >1kHz. This likely means that the correct PPM is too far away and you need to provide a rough estimate using the '-e' option. Try tuning against a local FM radio or other known frequency first.

Hi,

Have you the possibility to use your sdr on a real computer just one time
and launch gqrx or sdrsharp (may be on the pi, I do not know if it
would pass).
You can then observe any known station (VOR, weather,…) and
calibrate the ppm on gqrx manually. It can not be done with commercial
broadcasting station as their frequency range is a bit too large.

Near Paris, I use the aeronautical weather station “Paris Radio” at
126MHz to check my calibration from time to time. Depending on your
location, may be can somebody on this page can help you find a proper
emission.

73,

It looks like your system is not running well at all. Please go through the steps I described in the manual section of the “Client Adjustment” Page and watch out where it fails.

I am running Kal on RPI. The Mac OS X is a debug message - I guess it’s just a wrong printf message…
I will try the gain option and see how that goes.
However, for any moderator reading the section “Adjusting the SatNOGS Client” of the wiki does not refer to either gain nor rtl_test :slight_smile:

Thanks!

It worked with the gain option!
I updated the error option in satnogs-setup and scheduled an observation for the next NOAA pass.
Hopefully I will see something different in the waterfall this time!

kal -c 76 -g 32.8
Found 1 device(s):
0: Generic RTL2832U OEM

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Exact sample rate is: 270833.002142 Hz
[R82XX] PLL not locked!
Setting gain: 32.8 dB
kal: Calculating clock frequency offset.
Using GSM-900 channel 76 (950.2MHz)
Tuned to 950.200000MHz (reported tuner error: 0Hz)
average [min, max] (range, stddev)

  • 146Hz [128, 168] (40, 11.153434)
    overruns: 0
    not found: 0
    average absolute error: -0.154 ppm

Should I also add the gain option in the satnogs-setup ???

Richard,

could you try scanning GSM-850 band ?

Of course!!!

Reconfigure the SatNOGS client system with sudo satnogs-setup -n. You can adjust the RTL-SDR gain under Advanced configuration options. There are options for RF, IF and BB gain.

Well, someone said that there were some bugs with older versions of rtlsdr, so I wanted to eliminate that as a possibility.