Opened 13 years ago
Closed 13 years ago
#10153 closed Bug Report - General (fixed)
Can't tune QPSK channels using a dvb-s2 card on Linux 3.0 or later
Reported by: | Owned by: | danielk | |
---|---|---|---|
Priority: | minor | Milestone: | 0.25 |
Component: | MythTV - DVB | Version: | Master Head |
Severity: | medium | Keywords: | dvb-s2 linux 3.0 |
Cc: | Ticket locked: | no |
Description
I've been trying to get my tbs6981 dvb-s2 card to work with MythTV using a Linux 3.0.8 or 3.1 kernel. Turns out that there's been a change in the kernel that has implications for userland.
Prior to 3.0 if the DTV_DELIVERY_SYSTEM was set to 0 (SYS_UNDEFINED) for a QPSK (dvb-s) channel then the dvb kernel module changed this to SYS_DVBS to facilitate backward support for legacy api. From Linux 3.0 this has been removed. It's a bug I believe so I've submitted a bug report & patch here http://news.gmane.org/find-root.php?message_id=%3c1320506379.1731.12.camel%40gagarin%3e. However, the time frame to get this fixed is going to be extended so a workaround in Myth is needed. This bug affects both master and 0.24.1 fixes.
The fix is to always provide a valid delivery system for DTV_DELIVERY_SYSTEM. However, this may need a fix at the mysql level as currently all qpsk channels are recorded as having an undefined delivery system.
The attached kern.log fragment shows the ioctl transactions emitted after
sudo sh -c "echo 1 >/sys/module/dvb_core/parameters/frontend_debug"
Attachments (6)
Change History (10)
Changed 13 years ago by
Attachment: | cyclops-fe.log added |
---|
comment:1 Changed 13 years ago by
Changed 13 years ago by
Attachment: | 0041-libmythtv-Set-the-modulation-system-for-all-dvb-s2-c.patch added |
---|
Changed 13 years ago by
Attachment: | 0071-libmythtv-Set-the-modulation-system-for-all-dvb-s2-c.patch added |
---|
comment:2 Changed 13 years ago by
Milestone: | unknown → 0.25 |
---|---|
Owner: | changed from Janne Grunau to danielk |
Status: | new → assigned |
Version: | Unspecified → Master Head |
Thanks. I'll take a look at this next week. If you can rewrite this without the casting I may be able to apply this without modification, but effort is appreciated either way.
comment:3 Changed 13 years ago by
Attached patches without static_cast. NB this are not strictly C++ 0x compliant.
Changed 13 years ago by
Attachment: | 0041-libmythtv-Set-the-modulation-system-for-all-dvb-s2-c.2.patch added |
---|
Changed 13 years ago by
Attachment: | 0071-libmythtv-Set-the-modulation-system-for-all-dvb-s2-c.2.patch added |
---|
comment:4 Changed 13 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fixes #10153. Guess at DVB-S vs DVB-S2 when not explicitly set.
The problem was discovered by Lawrence Rust. It has been decided not to fix the DVB API regression upstream, so this code attempts to guess which system is being used using the modulation scheme as a hint.
Branch: master Changeset: 18249695bed199c3003a945358e5f2564954b2dc
This fix is becoming v. urgent as many Linux distros now ship Linux 3.x. Furthermore the Linux media group have rejected fixing it, FWIW I use the attached patches to fixes/0.24 and master.