Hi,

I get a floating point exception when I run rtl_tcp.  I traced the error with GDB to line 515 of tuner_r82xx.c
    if (vco_fra > (2 * pll_ref_khz / n_sdm))
I found that n_sdm was 0.

I don't understand how this code work and I'm very new to this software but it sure looks like a programming bug.

   513          /* sdm calculator */
   514          while (vco_fra > 1) {
   515                  if (vco_fra > (2 * pll_ref_khz / n_sdm)) {
   516                          sdm = sdm + 32768 / (n_sdm / 2);
   517                          vco_fra = vco_fra - 2 * pll_ref_khz / n_sdm;
   518                          if (n_sdm >= 0x8000)
   519                                  break;
   520                  }
   521                  n_sdm <<= 1;
   522          }

If the condition on line 515 ever evaluates to false then vco_fra doesn't get updated.  The loop will keep repeating with the same value of vco_fra until n_sdm becomes 0. 

Steve