Wrong signal strenght reading from Hauppauge Nova-T USB2 (dib3000p/mc)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi list,

When my Hauppauge Nova-T USB2 get a lock on any channel, it reports 0000
as the signal strength.

$ tzap -c ~/.mplayer/channels.conf "SetEnVeo"
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
tuning to 834000000 Hz
video pid 0x0579, audio pid 0x057a
status 03 | signal bc05 | snr 0000 | ber 001fffff | unc 0000ffff |
status 1f | signal bc08 | snr 0000 | ber 00000000 | unc 00000000 |
FE_HAS_LOCK
status 1f | signal 0000 | snr ffff | ber 00000000 | unc 00000000 |
FE_HAS_LOCK
status 1f | signal 0000 | snr ffff | ber 00000000 | unc 00000000 |
FE_HAS_LOCK


This confuses MythTV which refuses to shown any channel. I've patched
the dib3000mc_read_signal_strength function to fix strength and now it
works.

Has someone seen a similar behaviour?

Good bye.

diff -r d386c619fb67 linux/drivers/media/dvb/frontends/dib3000mc.c
--- a/linux/drivers/media/dvb/frontends/dib3000mc.c     Sun Jul 23
12:14:12 2006 +0200
+++ b/linux/drivers/media/dvb/frontends/dib3000mc.c     Mon Jul 24
23:14:36 2006 +0200
@@ -688,6 +688,11 @@ static int dib3000mc_read_signal_strengt
        *strength = (((val >> 6) & 0xff) << 8) + (val & 0x3f);

        deb_stat("signal: mantisse = %d, exponent = %d\n",(*strength >>
8) & 0xff, *strength & 0xff);
+       if (*strength == 0) {
+               u16 lock = rd(DIB3000MC_REG_LOCKING);
+               if (DIB3000MC_AGC_LOCK(lock))
+                       *strength = 0xFFFF;
+       }
        return 0;
 }




_______________________________________________

linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux