Mis-detected E4000 instead of FC0013 tuner when using NOXON DAB Stick on Raspberry Pi

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/osmocom-sdr@lists.osmocom.org/.

Christoph Gommel cgommel at gmail.com
Thu Aug 9 12:13:47 UTC 2012


Hello Guys,

First of all: I am amazed by your project - many ideas come up in my
head what can be done with this tiny cheap SDR.

I have tested rtl_sdr with a linux-vm on my Mac successfully but
wanted to run it on my raspberry pi.

Unfortunately and thithout an explainable reason to me the tools
detect an E4000 instead of the soldered FC0013 on my stick - but only
on the PI.

To fix this issue I have changed the detection order in librtlsdr.c:

diff --git a/src/librtlsdr.c b/src/librtlsdr.c
index 3a67b53..cb34f1d 100644
--- a/src/librtlsdr.c
+++ b/src/librtlsdr.c
@@ -1073,13 +1073,6 @@ int rtlsdr_open(rtlsdr_dev_t **out_dev, uint32_t index)
        /* Probe tuners */
        rtlsdr_set_i2c_repeater(dev, 1);

-       reg = rtlsdr_i2c_read_reg(dev, E4K_I2C_ADDR, E4K_CHECK_ADDR);
-       if (reg == E4K_CHECK_VAL) {
-               fprintf(stderr, "Found Elonics E4000 tuner\n");
-               dev->tuner_type = RTLSDR_TUNER_E4000;
-               goto found;
-       }
-
        reg = rtlsdr_i2c_read_reg(dev, FC0013_I2C_ADDR, FC0013_CHECK_ADDR);
        if (reg == FC0013_CHECK_VAL) {
                fprintf(stderr, "Found Fitipower FC0013 tuner\n");
@@ -1088,6 +1081,13 @@ int rtlsdr_open(rtlsdr_dev_t **out_dev, uint32_t index)
                goto found;
        }

+       reg = rtlsdr_i2c_read_reg(dev, E4K_I2C_ADDR, E4K_CHECK_ADDR);
+       if (reg == E4K_CHECK_VAL) {
+               fprintf(stderr, "Found Elonics E4000 tuner\n");
+               dev->tuner_type = RTLSDR_TUNER_E4000;
+               goto found;
+       }
+
        /* initialise GPIOs */
        rtlsdr_set_gpio_output(dev, 5);

After compiling the lib the FC0013 is detected and the sticks works
great on my Pi.

Of course this is not a perfect solution and I will figure out later
in depth WHY the  E4K_CHECK_VAL comes out of the FC0013.

Anybody else who has or had the same problems?

the Hardware used is:
Bus 001 Device 004: ID 0ccd:00b3 TerraTec Electronic GmbH NOXON DAB/DAB+ Stick


regards

Christoph




More information about the osmocom-sdr mailing list