In Debian, first blacklist the DVB modules in the /etc/modprobe.d/blacklist 

# DVB Modules
blacklist dvb-ttpci
blacklist bttv
blacklist bt878
blacklist dvb-usb-gp8psk
# end DVB Modules

Then look in /etc/udev/rules.d. The files there control module loading. I 
created a new file 010_DVB.rules and inserted the following information there 
(derived from udevinfo) :

KERNEL=="dvb*", ATTRS{vendor}=="0x1131", SYMLINK+="dvb-nexus", PROGRAM="/bin/sh
-c 'K=%k; K=$${K#dvb}; printf dvb/adapter0/%%s $${K#*.}'", ACTION=="add", 

KERNEL=="dvb*", ATTRS{serial}=="00221", SYMLINK+="dvb-gpix0 PROGRAM="/bin/sh -c
'K=%k; K=$${K#dvb}; printf dvb/adapter1/%%s $${K#*.}'", ACTION=="add", NAME="%c"

KERNEL=="dvb*", ATTRS{serial}=="00529", SYMLINK+="dvb-gpix1 PROGRAM="/bin/sh -c
'K=%k; K=$${K#dvb}; printf dvb/adapter2/%%s $${K#*.}'", ACTION=="add", NAME="%c"

As you can see, I have one Nexus FF card and two genpix USB adapters. My UDEV 
lines identify each device specifically, assign the dvb device node in /dev, 
and create a symlink with a identifiable device name (I use this in other init 
scripts to verify the device is present). Then I load the modules with an init 
script in /etc/init.d. The script loads my LCD driver, runs setpci to set 
latency for my nexus card, then loads the Nexus and two Genpix modules. The 
init script also makes it simple to unload all of the drivers without a reboot 
using "/etc/init.d/DVBsetup unload".

So there you go. A combination of blacklisting the modules, a UDEV script, and 
a startup script and you have full control of your /dev nodes and the boot-time 
load order of the modules.

Hope that helped!

vdr mailing list

Reply via email to