I'm wondering how many of you are seeing this. I've got a DVBSky S960 and a TechnoTrend S2-4650 DVB-S2 USB tuners (both use the dvb-usb-dvbsky driver) and both are failing in the same way. Basically, the tuner works for a while and then you start to see errors like this in the logs:
2018-04-04 10:17:36.756 [ INFO] mpegts: 12149H in 4.8E - tuning on Montage Technology M88DS3103 : DVB-S #0
2018-04-04 10:17:37.159 [ ERROR] diseqc: failed to send diseqc cmd (e=Connection timed out)
2018-04-04 10:17:37.160 [ INFO] mpegts: 12265H in 4.8E - tuning on Montage Technology M88DS3103 : DVB-S #0
2018-04-04 10:17:37.535 [ ERROR] diseqc: failed to send diseqc cmd (e=Connection timed out)
And the tuner stops working completely. After a reboot things work ok for a while.
The problem is introduced since kernel 4.10. I did a kernel bisect between 4.9 and 4.10. It seems the commit that
breaks my tuner is the following one:
9d659ae14b545c4296e812c70493bfdc999b5c1c is the first bad commit
Author: Peter Zijlstra <[email protected]>
Date: Tue Aug 23 14:40:16 2016 +0200
locking/mutex: Add lock handoff to avoid starvation
This seems relatively harmless, and the mutex logic is used by countless of other drivers too. I've now confirmed that I can get a 4.10 kernel with working DVBSky S960 by reverting the following 4 patches from a vanilla 4.10 kernel:
I haven't been able to find a cause for this bug. I have reported it in the kernel bug tracker (199323 – DVBSky USB TV tuners do not work since 4.10 due to mutex issues) and to the linux-media mailing list (Regression: DVBSky S960 USB tuner doesn't work in 4.10 or newer — Linux media). In any case the ugly consequence of the bug is that I cannot use LE8 and watch satellite TV reliably.
I haven't seen the issue being reported that widely, hence this thread. I'd like to hear if anyone of you are seeing the same problem.