[mythtv-users] UDev rules for Dual Tuner Cards
Another Sillyname
anothersname at googlemail.com
Sun Apr 4 09:01:06 UTC 2010
On 4 April 2010 08:41, Another Sillyname <anothersname at googlemail.com> wrote:
> On 4 April 2010 08:13, Andre <mythtv-list at dinkum.org.uk> wrote:
>>
>> On 4 Apr 2010, at 06:46, Steven Ellis wrote:
>>
>>> I'm having some issues getting a UDEV rule to work correctly for a
>>> Hauppauge HVR-2200 card. My box has multiple DVB T + S cards and I want
>>> to make sure they get mapped to the same device numbers on each boot.
>>
>> There is another way, most of the v4l-dvb modules have a option parameter to specify the adapter numbers, for example:
>>
>> I have a /etc/modprobe.d/SatixS2.conf file containing:
>>
>> options ngene adapter_nr=10,11
>>
>> Then you need to depmod and rebuild initrd so that the correct options are set on boot, for Ubuntu the easiest way is:
>>
>> dpkg-reconfigure linux-image-2.6.31-20-generic
>>
>> or similar.
>>
>> modinfo modulename will tell you if your adaptor's module supports the adapter_nr parameter.
>>
>> Andre
>>
>>
>>>
>>> Using the tips on the MythTV Wiki
>>> -
>>> http://www.mythtv.org/wiki/Device_Filenames_and_udev#Example_for_twin_tuner_cards_with_no_difference_in_udevinfo_output
>>>
>>> I came up with the following rules
>>>
>>> SUBSYSTEM=="dvb", ATTRS{vendor}=="0x1131", ATTRS{device}=="0x7164", ENV{hvr2200}!="two", ENV{hvr2200}="two", PROGRAM="/bin/sh -c
>>> 'K=%k; K=$${K#dvb}; printf dvb/adapter170/%%s $${K#*.}'", SYMLINK+="%c"
>>> SUBSYSTEM=="dvb", ATTRS{vendor}=="0x1131", ATTRS{device}=="0x7164", ENV{hvr2200}=="two", ENV{hvr2200}="one", PROGRAM="/bin/sh -c
>>> 'K=%k; K=$${K#dvb}; printf dvb/adapter171/%%s $${K#*.}'", SYMLINK+="%c"
>>>
>>>
>>> The idea being that the two tuners always get mapped as devices 170 and 171.
>>>
>>> It looks like there is some sort of race condition as after a reboot I
>>> end up with the following
>>>
>>> /dev/dvb/adapter170:
>>> total 0
>>> lrwxrwxrwx 1 root root 18 2010-04-03 18:10 demux0 -> ../adapter2/demux0
>>> lrwxrwxrwx 1 root root 16 2010-04-03 18:10 dvr0 -> ../adapter1/dvr0
>>> lrwxrwxrwx 1 root root 21 2010-04-03 18:10 frontend0 -> ../adapter1/frontend0
>>> lrwxrwxrwx 1 root root 16 2010-04-03 18:10 net0 -> ../adapter2/net0
>>>
>>> /dev/dvb/adapter171:
>>> total 0
>>> lrwxrwxrwx 1 root root 18 2010-04-03 18:10 demux0 -> ../adapter2/demux0
>>> lrwxrwxrwx 1 root root 16 2010-04-03 18:10 dvr0 -> ../adapter1/dvr0
>>> lrwxrwxrwx 1 root root 21 2010-04-03 18:10 frontend0 -> ../adapter1/frontend0
>>> lrwxrwxrwx 1 root root 16 2010-04-03 18:10 net0 -> ../adapter2/net0
>>>
>>> With this neither of the adapters work as the symlinks are a mess.
>>>
>>> Has anyone managed to come up with a sensible udev rule for a HVR-2200
>>> or HVR-2250 card?
>>>
>>> Thanks
>>>
>>> Steve
>>> _______________________________________________
>>> mythtv-users mailing list
>>> mythtv-users at mythtv.org
>>> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users
>>>
>>
>> _______________________________________________
>> mythtv-users mailing list
>> mythtv-users at mythtv.org
>> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users
>>
>
> Are you just setup with HVR 2200 or are you using other inputs as well?
>
Sorry I missed a line in your original posting......
Rather then using a UDEV rule I did the following....
I blacklisted all the dvb devices in /etc/modprobe.d/blacklist.conf by
adding the following to the bottom of the file
---------------------------------------------------
# DVB Devices
# Required so we can force a specific load order for them
# This is the Hauppage DVB-S2 card
blacklist cx8800
blacklist cx8802
blacklist cx8802-alsa
blacklist cx8800
# This is the Hauppauge HVR2200 card
blacklist saa7164
# This is the Hauppauge NOVA 500 card
blacklist dvb_usb_dib0700
--------------------------------------------------------
I stopped mythbackend from starting automatically and then I then
created the following script and added it to /etc/rc.d/rc.local so
that it executes
/usr/local/bin/loaddvbcards
--------------------------------------------------------
# The DVB cards HAVE to be loaded in this specific order to ensure
the correct device is
# mapped against the correct profile in mythtv.
# Else you get a satellite card with a terrestrial profile and vice versa.
# Then mythbackend is started only when the cards are loaded and 'settled'.
modprobe dvb_usb_dib0700
sleep 3
modprobe saa7164
sleep 3
modprobe cx8800
sleep 3
modprobe cx8802
sleep 15
service mythbackend start
-----------------------------------------------------------
This has worked fine for me ever since and I've never had a problem
with a reboot causing a problem condition.
More information about the mythtv-users
mailing list