[linux-dvb] [RFC] TUV1236d / dvb-pll: rf input switching via module option

Michael Krufky mkrufky at linuxtv.org
Sat Sep 8 00:44:00 CEST 2007

David Engel wrote:
> The standard driver as of Linux v2.6.21 does analog and 8VSB
> on the top input and QAM on the bottom input.  My desired behavior is
> analog and QAM on one input and 8VSB on the other.  No problem.  It
> was an easy enough driver hack to make it do what I wanted.
> Others might be interested in this change too, so is there any
> willingness from the core DVB maintainers to accept a patch to make
> this configurable via a module parameter?  If so, would you like one
> global setting for all cards or one setting for each card?

I know I took a while with this... I was working on tuner refactoring and didn't have time.

Meanwhile, if we do any kind of module option for rf input selection, it must be one setting for each card.

Please test the following mercurial tree:


After building & installing the new modules, do:

modinfo dvb-pll

...to view the new module options.

If you have only one card in the system, you may do:

modprobe dvb-pll input=1

... then:

modprobe cx88-dvb


modprobe saa7134-dvb

After doing the above, your card will use input #1 regardless of whether you are using VSB or QAM.

If, however, you have multiple cards in the system, and the ATSC11[05] / HDTV Wonder is the second DVB card, then instead do:

modprobe dvb-pll input=0,2

...to specify that the dvb-pll module should autoselect the input used for the first card, and use input #2 for the second card.

Unfortunately, this does not allow for REVERSING the input selection -- this will only force it to use one or the other in digital mode.  If anybody has some ideas as to how to reverse the default selection in a clean way, I am open to suggestions.

If this works correctly, (and I have no doubt that it will) I can add the same option to the tuner-simple module, to allow the user to choose the rf input used for analog tv as well.

Please also note:

Pass debug=1 to dvb-pll, in order for dvb-pll to show you the instance ID of the tuv1236d.  If you have multiple cards in the system, this will be helpful to determine the order of the input option array to pass via modprobe.

debug output will look like this:

[ 3023.695903] dvb-pll[0] 0-0061: id# 11 (LG TDVS-H06xF) attached, autodetected

I also added a module option to force dvb-pll to use a dvb_pll_desc other than the one picked by default.  This is useful in some cases, where the vendor may release an alternate revision of the hardware using a different tuner, but without changing the pci subsystem / usb device ids.  This option should be used for debugging purposes, ONLY.

Please provide some feedback after testing this tree.  The changes in question are:


- dvb-pll: pass fe pointer into dvb_pll_configure() and set() functions
- dvb-pll: store instance ID in dvb_pll_priv structure
- dvb-pll: add module option to specify rf input
- dvb-pll: add module option to force dvb-pll desc id (for debug use only)

 dvb-pll.c |  145 +++++++++++++++++++++++++++++-------------
 1 file changed, 102 insertions(+), 43 deletions(-)


Mike Krufky

More information about the linux-dvb mailing list