Hi, On 07.12.2013 15:14, Markus Macher wrote:
No supported tuner found
Unfortunately it looks like you got a stick with a defective tuner (or a defect on the I2C bus/power supply of the tuner). Nevertheless, could you please try the attached patch (git apply *.patch), and report back the output of rtl_eeprom? It scans and lists all devices on the I2C bus, for the very unlikely case that your R820T uses a different address. Regards, Steve
>From 713211fb94c93d1d1d01df76c9a22cff50b0031d Mon Sep 17 00:00:00 2001 From: Steve Markgraf <[email protected]> Date: Sat, 7 Dec 2013 16:26:38 +0100 Subject: [PATCH] debug: scan I2C bus on startup Signed-off-by: Steve Markgraf <[email protected]> --- src/librtlsdr.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/librtlsdr.c b/src/librtlsdr.c index f08efd4..ee90817 100644 --- a/src/librtlsdr.c +++ b/src/librtlsdr.c @@ -1382,6 +1382,7 @@ int rtlsdr_open(rtlsdr_dev_t **out_dev, uint32_t index) uint32_t device_count = 0; struct libusb_device_descriptor dd; uint8_t reg; + uint16_t addr; ssize_t cnt; dev = malloc(sizeof(rtlsdr_dev_t)); @@ -1469,6 +1470,17 @@ int rtlsdr_open(rtlsdr_dev_t **out_dev, uint32_t index) /* Probe tuners */ rtlsdr_set_i2c_repeater(dev, 1); + fprintf(stderr, "I2C devices found:\n"); + + for (addr = 0; addr < 255; addr += 2) { + reg = 0; + r = rtlsdr_write_array(dev, IICB, addr, ®, 1); + r = rtlsdr_read_array(dev, IICB, addr, ®, 1); + if (r >= 0) + fprintf(stderr, "%02x ", addr); + } + fprintf(stderr, "\n"); + reg = rtlsdr_i2c_read_reg(dev, E4K_I2C_ADDR, E4K_CHECK_ADDR); if (reg == E4K_CHECK_VAL) { fprintf(stderr, "Found Elonics E4000 tuner\n"); -- 1.8.3.2
