Package: libdvbv5-0 Version: 1.20.0-1.1 Severity: important Tags: patch upstream
Dear Maintainer, It is not possible to tune a DVB-S channel after a DVB-S2 channel was tuned. Modulation, rolloff and pilot are kept from the previous DVB-S2 channel and can't work with DVB-S. This makes watching DVB-S channels with e.g. kaffeine impossible once a DVB-S2 channel was watched before. This also makes frequency scanning with kaffeine impossible, if a DVB-S2 channel was tuned before. Issue happens with Hauppauge WinTV NOVA HD-S2 (HVR-4000 based PCI card). It's not the first time this issue appears, see https://bugs.launchpad.net/ubuntu/+source/kaffeine/+bug/1241842 bug report and comment 1 to 4 (the description there is however not completely correct as it's not directly related to API switching). The patch there worked for years until kaffeine switched to libdvbv5. Please find attached a patch that solves this issue. With this patch it is again possible to watch channels with kaffeine in random order and also scanning works again. The bug affects libdvbv5 version 1.16.3-3 as provided with Buster and also 1.20.0-1.1 compiled for Buster. System information was collected from a system where the patch is applied. Unfortunately I cannot test with dvbv5-zap, as dvbv5-scan is unable to produce a proper channels file and dvbv5-zap seems not compatible with any channels file that w_scan can generate. My DVB-S/S2 setup is in a working condition as the old szap-s2 (not in Debian) is able to tune to any channel in any order. Thanks Andreas -- System Information: Debian Release: 10.5 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.19.0-10-amd64 (SMP w/4 CPU cores) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE=de:en_GB (charmap=UTF-8) Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages libdvbv5-0 depends on: ii libc6 2.28-10 ii libudev1 241-7~deb10u4 libdvbv5-0 recommends no packages. libdvbv5-0 suggests no packages. -- no debconf information
Bugfix to allow tuning from a DVB-S2 channel to a DVB-S channel. --- a/lib/libdvbv5/dvb-v5-std.c +++ b/lib/libdvbv5/dvb-v5-std.c @@ -125,6 +125,9 @@ DTV_INVERSION, DTV_SYMBOL_RATE, DTV_INNER_FEC, + DTV_MODULATION, + DTV_PILOT, + DTV_ROLLOFF, DTV_POLARIZATION, 0 }; --- a/lib/libdvbv5/dvb-fe.c +++ b/lib/libdvbv5/dvb-fe.c @@ -513,6 +513,14 @@ dvb_perror(_("Set delivery system")); return -errno; } + + // This is REQUIRED to tune from a DVB-S2 channel back to a DVB-S channel, + // at least with Hauppauge WinTV NOVA HD-S2 (HVR-4000 based PCI card) + if (sys == SYS_DVBS) { + dvb_fe_store_parm(&parms->p, DTV_MODULATION, QPSK); + dvb_fe_store_parm(&parms->p, DTV_PILOT, PILOT_AUTO); + dvb_fe_store_parm(&parms->p, DTV_ROLLOFF, ROLLOFF_35); + } } /*