--- 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)