Opened 13 years ago

Closed 13 years ago

#1330 closed patch (fixed)

Add 8PSK support

Reported by: alannisota@… Owned by: danielk
Priority: minor Milestone: 0.20
Component: dvb Version: head
Severity: low Keywords:
Cc: Ticket locked: no

Description

This patch adds 8PSK support to mythtv. It is not ready to be included yet, but I've been asked to make it available This patch requires support in the kernel (which is still being discussed on the dvb-linux list as to how it will be implemented), as well as a card which supports it.

Current issues:

  • Kernel support is not available yet. This patch assumes that QPSK is enhanced with a 'modulation' parameter, but that may not be the final solution.
  • At this time the only card available for linux that supports 8psk is the genpix module (though there should be more soon now)
  • Patch won't compile on an unpatched kernel

I will update the patch once the dvb API change is finalized, and will make sure it can compile against other kernels at that point.

Daniel, feel free to close this if you don't feel it is apropriate at this point in time.

Attachments (2)

8psk.diff (6.4 KB) - added by anonymous 13 years ago.
8psk.2.patch (19.2 KB) - added by anonymous 13 years ago.

Download all attachments as: .zip

Change History (10)

Changed 13 years ago by anonymous

Attachment: 8psk.diff added

comment:1 Changed 13 years ago by danielk

Milestone: 0.20
Version: head

Can you make it so it will compile with the unpatched kernel?

Or if there is no define to key on, just make it enabled when "USING_8PSK" is defined. Then I can add this to the source but keep it disabled until it is ready to enable, it would make things easier on you since I expect this code to be changing a bit in the coming weeks.

comment:2 Changed 13 years ago by danielk

Resolution: invalid
Status: newclosed

closing ticket until patch is ready

comment:3 Changed 13 years ago by AlanNisota@…

Resolution: invalid
Status: closedreopened

I've been going back and forth with the guys on the linux-dvb list about how to correctly support DVB-S2. We still haven't closed on the final solution, but are much closer now. I'm including a patch which is implemented against this version of the DVB-S2 patch: http://www.linuxtv.org/pipermail/linux-dvb/2006-April/009817.html

It is, unfortunately a lot more invasive, as the dvb-devs have decided (or very nearly) to create a new API rather than just patching the one they have (probably a necessary step for the future, but it makes the mean time more complicated)

However, it does use #ifdefs such that it can play nicely with a standard kernel now.

Changed 13 years ago by anonymous

Attachment: 8psk.2.patch added

comment:4 Changed 13 years ago by AlanNisota@…

I forgot to add. I changed qpsk_8 (which was a real misnomer) to '8psk' in the modulation field, So anyone who wants to use it should rescan their transponders (this would be necessary anyway) If the patch is accepted, I can create a DB upgrade that does this:

UPDATE dtv_multiplex set modulation = "8psk" WHERE modulation = "qpsk_8";

But again, if you want to use an 8psk source, you really need to rescan your transponders, as Myth won't pick up 8psk channels otherwise.

comment:5 Changed 13 years ago by danielk

Resolution: fixed
Status: reopenedclosed

(In [9978]) Fixes #1330. Adds 8PSK DVB support.

In order to actually use DVB-S2, you will need to get the latest DVB kernel drivers from the DVB svn, and you may still need to apply the latest DVB-S2 patch floating around the mailing list. Then compile MythTV with those headers, which means you will probably need to use the "--dvbpath=..." ./configure option.

Older DVB API support is unaffected.

comment:6 Changed 13 years ago by danielk

(In [9983]) Refs #1330. Add stdint.h include to dvbtypes.h and remove unneeded cerror include.

comment:7 Changed 13 years ago by AlanNisota@…

Resolution: fixed
Status: closedreopened

The following additional patch is necessray on top of head to get it working, but it does work well.

Index: libs/libmythtv/dvbchannel.cpp
===================================================================
--- libs/libmythtv/dvbchannel.cpp.orig  2006-06-11 13:19:42.000000000 -0700
+++ libs/libmythtv/dvbchannel.cpp       2006-06-11 13:17:52.000000000 -0700
@@ -478,7 +478,14 @@
             hierarchy);
     else if (FE_ATSC == type)
         return cur_tuning.parseATSC(frequency, modulation);
-
+#ifdef FE_GET_EXTENDED_INFO
+    else if (FE_DVB_S2 == type)
+        return cur_tuning.parseDVBS2(
+            frequency,       inversion,     symbolrate,   fec,   polarity,
+            dvb_diseqc_type, diseqc_port,   diseqc_pos,
+            lnb_lof_switch,  lnb_lof_hi,    lnb_lof_lo, modulation);
+#endif
+   
     return false;
 }

comment:8 Changed 13 years ago by danielk

Resolution: fixed
Status: reopenedclosed

(In [10200]) Closes #1330. Fix for DVB-S2 (aka 8PSK support).

Note: See TracTickets for help on using tickets.