|
|
|
Re: [PATCH, RFC] STB0899 signal strength (pctv452e, others too?) | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] | |
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
[Linux Media] [Asterisk] [Photo] [DCCP] [Netdev] [Xorg] [Util Linux NG] [Xfree86] [Devices] [Big List of Linux Books] [Fedora Users] [Webcams] [Fedora Women] [ALSA Devel] [Linux USB]
![]() |