# How to distinguish SDR 820T and 820T2 dongles on Linux?

I have bought an 820T2 USB dongle, but \$ rtl_test detects it as Raphael Micro 820T chip.

Can rtl_test distinguish the two?

If not, how can I see, if the chip is the right one?

## 2 Answers

As far as I read the rtl_sdr source code, no, there's no special case for anything called "820T2"; the relevant file is rtl_sdr.h:

enum rtlsdr_tuner {
RTLSDR_TUNER_UNKNOWN = 0,
RTLSDR_TUNER_E4000,
RTLSDR_TUNER_FC0012,
RTLSDR_TUNER_FC0013,
RTLSDR_TUNER_FC2580,
RTLSDR_TUNER_R820T,
RTLSDR_TUNER_R828D
};


The detection in librtlsdr.c looks like this:

    reg = rtlsdr_i2c_read_reg(dev, R820T_I2C_ADDR, R82XX_CHECK_ADDR);
if (reg == R82XX_CHECK_VAL) {
fprintf(stderr, "Found Rafael Micro R820T tuner\n");
dev->tuner_type = RTLSDR_TUNER_R820T;
goto found;
}


In other words, the I²C interface of the R820 seems to be compatible to what your tuner does.

I'm personally not even aware of a R820T2 tuner IC. If it has capabilities that the R820T doesn't have, or if your tuner doesn't work, it might be worth your time to help extend rtl_sdr by contributing to the osmocom project by writing code, mails, or doing something otherwise helpful :)

The R820T and the R820T2 differ. The R820T can set a narrow IF filter (300 kHz) - but not if the gain is set at maximum. The R820T2 can not set a narrow filter - minimum bandwidth is about 800 kHz. This is easy to see when one runs the dongles with a spectrum display software having nothing connected to the antenna input. I use Linrad, set the IF filter to 300 kHz and gain to maximum. I see no simple way to implement a test to distinguish between the two chips in the drive routine. /Leif