[linux-dvb] How to force adaptor order when using 2 DVB cards?

Tim Hewett tghewett1 at onetel.com
Tue Feb 12 17:54:47 CET 2008

I have adapted dvbstream to allow an adaptor's string ident (e.g. "ST  
STV0299 DVB-S" for a Technisat SkyStar 2 DVB-S PCI card, i.e. the  
string which appears in dmesg when the DVB frontend is added) to be  
passed as the argument to '-c' instead of just the adaptor number. e.g.:

dvbstream -n 4400 -o -f 10847 -p v -s 22000 -c "ST STV0299 DVB-S" -D 1  
0 258 2327 2328 2329

I have three SkyStar 2 cards, a Wideview USB, AF9005 USB and AF9015  
USB all in one PC, so they often are assigned to different card  
numbers on boot up. Using the ident string allows the device's actual  
adaptor number to be searched for each time.

The change also allows individual cards to be addressed if you have  
more than one of the same type, by adding the number to the end of the  
string delimited by ':', e.g. "ST STV0299 DVB-S:1" means the second  
SkyStar card, even if it is at card number 4 with the first being at  
card number 1 (with other devices in between). I need this because  
each card has a different LNB configuration, e.g. one has a diseqc  
switch. Fortunately the ordering of the PCI cards stays the same  
relative to each other, even if they aren't always assigned the same  
adaptor number.

The code is a total hack but if it helps then I can publish it,  
perhaps it could even migrate into MythTV etc.

There are various other hacks I've added to dvbstream, e.g. to avoid  
the consequences of constantly changing PID assignments (as happens  
sometimes for the BBC and ITV in the UK) you can specify a channel  
name, e.g. "BBC 2 England" and have dvbstream discover the PIDs in the  
same way as 'scan -c'.



> Yep, it's horrible. This is what I did, the adapters 0,1,2 are still
> there but MythTV is configured to used 4,5 and 6.
> # My own DVB hell
> # Twinhan DVB-S Card
> #
> KERNEL=="dvb[0-9].frontend0", ATTR{dev}=="212:3",
> symlink+="dvb/adapter4/frontend0", GROUP="video"
> KERNEL=="dvb[0-9].demux0", ATTR{dev}=="212:4",
> symlink+="dvb/adapter4/demux0", GROUP="video"
> KERNEL=="dvb[0-9].net0", ATTR{dev}=="212:7",
> symlink+="dvb/adapter4/net0", GROUP="video"
> KERNEL=="dvb[0-9].dvr0", ATTR{dev}=="212:5",
> symlink+="dvb/adapter4/dvr0", GROUP="video"
> #
> # Nova-T Stick 1
> #
> KERNEL=="dvb[0-9].frontend0", ATTRS{serial}=="4030489593",
> symlink+="dvb/adapter5/frontend0", GROUP="video"
>  KERNEL=="dvb[0-9].demux0", ATTRS{serial}=="4030489593",
> symlink+="dvb/adapter5/demux0", GROUP="video"
> KERNEL=="dvb[0-9].net0", ATTRS{serial}=="4030489593",
> symlink+="dvb/adapter5/net0", GROUP="video"
> KERNEL=="dvb[0-9].dvr0", ATTRS{serial}=="4030489593",
> symlink+="dvb/adapter5/dvr0", GROUP="video"
> #
> # Nova-T Stick 2
> #
> KERNEL=="dvb[0-9].frontend0", ATTRS{serial}=="4027844315",
> symlink+="dvb/adapter6/frontend0", GROUP="video"
> KERNEL=="dvb[0-9].demux0", ATTRS{serial}=="4027844315",
> symlink+="dvb/adapter6/demux0", GROUP="video"
> KERNEL=="dvb[0-9].net0", ATTRS{serial}=="4027844315",
> symlink+="dvb/adapter6/net0", GROUP="video"
> KERNEL=="dvb[0-9].dvr0", ATTRS{serial}=="4027844315",
> symlink+="dvb/adapter6/dvr0", GROUP="video"
> I'm not sure if gmail has split the lines above but each actual line
> should start with KERNEL.
> Sim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.linuxtv.org/pipermail/linux-dvb/attachments/20080212/da1c3901/attachment.htm 

More information about the linux-dvb mailing list