On Sat, May 19, 2012 at 11:57:35PM +0200, Klaus Schmidinger wrote: > On 19.05.2012 22:32, Juergen Lock wrote: > > Hi! > > > > (I guess the forums are not the best place to post this, hence > > reposted here...) > > > > By accident I stumbled across the special case for TT-budget S2-3200 > > (DVB-S/DVB-S2) in vdr's dvbdevice.c, and since both my tuners using > > the pctv452e driver have the same issue (which are STB0899 too, > > issue is the red/yellow/green bars in femon/osd didn't appear) > > I added an OPTION to the FreeBSD port (STB0899_SIGNAL in the port's > > make config menu) to enable the patch below. Optional since I don't > > know if there are STB0899-based tuners that don't have the problem, > > does anyone here know? (see log, if vdr logs like > > > > vdr: [29376960] frontend 0/0 provides DVB-S,DVB-S2,DSS with QPSK ("STB0899 Multistandard") > > > > and the bars appear without the patch please let us know, noting > > pci ids for the cards especially if different from 0x13c2:0x1019 > > or if it's usb, thanx!) > > > > Cheers, > > Juergen > > > > And here comes the patch, also at: > > > > http://www.freebsd.org/cgi/cvsweb.cgi/ports/multimedia/vdr/files/stb0899-signalstrength.patch?rev=1.2;content-type=text%2Fplain > > > > --- dvbdevice.c.orig > > +++ dvbdevice.c > > @@ -560,6 +560,12 @@ int cDvbTuner::GetSignalStrength(void) c > > switch (subsystemId) { > > case 0x13C21019: MaxSignal = 670; break; // TT-budget S2-3200 (DVB-S/DVB-S2) > > } > > +#if 1 > > + // XXX This is likely not correct for all cards using stb0899 > > + // but pctv452e usb ones seem to be affected too... > > + if (!strcmp(device->DeviceName(), "STB0899 Multistandard")) > > + MaxSignal = 670; > > +#endif > > int s = int(Signal) * 100 / MaxSignal; > > if (s> 100) > > s = 100; > > @@ -632,6 +638,12 @@ int cDvbTuner::GetSignalQuality(void) co > > switch (subsystemId) { > > case 0x13C21019: MaxSnr = 200; break; // TT-budget S2-3200 (DVB-S/DVB-S2) > > } > > +#if 1 > > + // XXX This is likely not correct for all cards using stb0899 > > + // but pctv452e usb ones seem to be affected too... > > + if (!strcmp(device->DeviceName(), "STB0899 Multistandard")) > > + MaxSnr = 200; > > +#endif > > int a = int(Snr) * 100 / MaxSnr; > > int b = 100 - (Unc * 10 + (Ber / 256) * 5); > > if (b< 0) > > Maybe I'm missing something here, but why don't you just add the subsystem id of your card > to the switch statements? Heh. Because a) it's usb, b) I'm on FreeBSD which doesn't emulate Linux' /sys/class/dvb nodes and finding out which /dev/dvb node belongs to which usbid isn't as straightforward there, and c) I was wondering if the bug maybe affects all STB0899 frontends not just some. Cheers, Juergen _______________________________________________ vdr mailing list vdr@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr