Need help with udev or adapter_nr module option

  • user warning: Table './drupal_gding/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '1:d516639158c6169821f39f134720d10c' in /var/www/mythdora/html/includes/cache.inc on line 26.
  • user warning: Table './drupal_gding/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>I have 2 individual DVB tuners and one dual DVB tuner in my system and their order keeps on changing randomly on boot. This is a problem for me because the dual tuner card has a problem with one channel, so I need the order to stay the same so that i can avoid recording that channel on the dual tuners. </p>\n<p>I have 2 Dvico Fusion HDTV DVB-T Lite<br />\nand one Dvico Fusion HDTV dual express</p>\n<p>The problem is these cards are so similar that there isnt much for for udev to pick out to tell them apart. From what I can tell the 2 lite tuners give the exact same info when I do:</p>\n<p>udevadm info -a -p $(udevadm info -q path -n /dev/dvb/adapter0/frontend0) ....with different adapter numbers of course.</p>\n<p>The dual tuners also give the exact same info. </p>\n<p>I have tried this udev rule, which appears to work:</p>\n<p># /etc/udev/rules.d/10-dvb.rules<br />\n#<br />\n# To Ientify serial nos etc for a Device call<br />\n# udevadm info -a -p $(udevadm info -q path -n /dev/dvb/adapter0/frontend0)<br />\n#</p>\n<p># Create a symlink for single tuner Dvico DVB-T Lite device<br />\n#SUBSYSTEM==\"dvb\", KERNEL==\"dvb1.frontend0\", ATTRS{device}==\"0x8852\", PROGRAM=\"/bin/sh -c \'K=%k; K=$${K#dvb}; printf dvb/adapter103/%%s $${K#*.}\'\", SYMLINK+=\"%c\"</p>\n<p># Create a symlink for single tuner Dvico DVB-T Lite device<br />\nSUBSYSTEM==\"dvb\", ATTRS{device}==\"0x8852\", PROGRAM=\"/bin/sh -c \'K=%k; K=$${K#dvb}; N=$${K#*.}; if [ ! -e /dev/dvb/adapter103/$N ] ; then printf dvb/adapter103/%%s $${K#*.}; else printf dvb/adapter104/%%s $${K#*.}; fi ; exit 0\'\", SYMLINK+=\"%c\"</p>\n<p># Create a symlink for both tuners of Dvico Dual DVB-T device<br />\n#SUBSYSTEM==\"dvb\", KERNEL==\"dvb0.frontend0\", ATTRS{device}==\"0x0878\", PROGRAM=\"/bin/sh -c \'K=%k; K=$${K#dvb}; printf dvb/adapter101/%%s $${K#*.}\'\", SYMLINK+=\"%c\"</p>\n<p># Create a symlink for both tuners of Dvico Dual DVB-T device<br />\nSUBSYSTEM==\"dvb\", ATTRS{device}==\"0x0878\", PROGRAM=\"/bin/sh -c \'K=%k; K=$${K#dvb}; N=$${K#*.}; if [ ! -e /dev/dvb/adapter101/$N ] ; then printf dvb/adapter101/%%s $${K#*.}; else printf dvb/adapter102/%%s $${K#*.}; fi ; exit 0\'\", SYMLINK+=\"%c\"</p>\n<p>adapter101-104 are created in /dev/dvb and I re-setup the tuners in mythtv-setup and it all looked good at first. But after a couple of reboots the dual tuner vanished and I was left with only 2 tuners. Mythtv-setup could only see 2 tuners at this point. The only way to get it back was to delete the udev rule and reboot, so then I had to add all the tuners again. </p>\n<p>I also tried:</p>\n<p># /etc/modules.d/dvb</p>\n<p># <br />\noptions bttv0 adapter_nr=1<br />\noptions bttv1 adapter_nr=2</p>\n<p># <br />\noptions cx23885 adapter_nr=3,4</p>\n<p>This looked like it was working at first but after a few days the tuners reverted back to random order. </p>\n<p>This is the site I\'ve been getting my info form:<br />\n<a href=\"http://www.mythtv.org/wiki/Device_Filenames_and_udev\">http://www.mythtv.org/wiki/Device_Filenames_and_udev</a></p>\n<p>I\'ve tries everything I can think of now, I could really use some help.</p>\n', created = 1369222448, expire = 1369308848, headers = '', serialized = 0 WHERE cid = '1:d516639158c6169821f39f134720d10c' in /var/www/mythdora/html/includes/cache.inc on line 109.
  • user warning: Table './drupal_gding/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '1:4bbfbc61f821b5a380898e5a72ca529e' in /var/www/mythdora/html/includes/cache.inc on line 26.
  • user warning: Table './drupal_gding/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>\n<div class=\"quote-msg\">\n<div class=\"quote-author\"><em>waynelivingstone</em> wrote:</div>\n<p>[ ... ]</p>\n<p>I have 2 Dvico Fusion HDTV DVB-T Lite<br />\nand one Dvico Fusion HDTV dual express</p>\n<p>The problem is these cards are so similar that there isnt much for for udev to pick out to tell them apart. From what I can tell the 2 lite tuners give the exact same info when I do:</p>\n<p>udevadm info -a -p $(udevadm info -q path -n /dev/dvb/adapter0/frontend0) ....with different adapter numbers of course.</p>\n<p>The dual tuners also give the exact same info. <br />\n[ ... ]</p>\n<p></p></div>\n</p>\n<p>I\'ve had difficulties with the seeming random order of device naming and made some udev rules for my cards. </p>\n<p>Your cards might have different serial numbers. They certainly have different PCI slot addresses. Perhaps one of these can help you differentiate the cards with a good rule. </p>\n<p>In my experience the udev rule, though tricky and sometimes difficult, was the way to go. I think you are on the right path with that.</p>\n', created = 1369222448, expire = 1369308848, headers = '', serialized = 0 WHERE cid = '1:4bbfbc61f821b5a380898e5a72ca529e' in /var/www/mythdora/html/includes/cache.inc on line 109.
  • user warning: Table './drupal_gding/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '1:24ce54900611029192c1562564d4ef7e' in /var/www/mythdora/html/includes/cache.inc on line 26.
  • user warning: Table './drupal_gding/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p>--<br />\nMichael Palmer</p>\n', created = 1369222448, expire = 1369308848, headers = '', serialized = 0 WHERE cid = '1:24ce54900611029192c1562564d4ef7e' in /var/www/mythdora/html/includes/cache.inc on line 109.

I have 2 individual DVB tuners and one dual DVB tuner in my system and their order keeps on changing randomly on boot. This is a problem for me because the dual tuner card has a problem with one channel, so I need the order to stay the same so that i can avoid recording that channel on the dual tuners.

I have 2 Dvico Fusion HDTV DVB-T Lite
and one Dvico Fusion HDTV dual express

The problem is these cards are so similar that there isnt much for for udev to pick out to tell them apart. From what I can tell the 2 lite tuners give the exact same info when I do:

udevadm info -a -p $(udevadm info -q path -n /dev/dvb/adapter0/frontend0) ....with different adapter numbers of course.

The dual tuners also give the exact same info.

I have tried this udev rule, which appears to work:

# /etc/udev/rules.d/10-dvb.rules
#
# To Ientify serial nos etc for a Device call
# udevadm info -a -p $(udevadm info -q path -n /dev/dvb/adapter0/frontend0)
#

# Create a symlink for single tuner Dvico DVB-T Lite device
#SUBSYSTEM=="dvb", KERNEL=="dvb1.frontend0", ATTRS{device}=="0x8852", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter103/%%s $${K#*.}'", SYMLINK+="%c"

# Create a symlink for single tuner Dvico DVB-T Lite device
SUBSYSTEM=="dvb", ATTRS{device}=="0x8852", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; N=$${K#*.}; if [ ! -e /dev/dvb/adapter103/$N ] ; then printf dvb/adapter103/%%s $${K#*.}; else printf dvb/adapter104/%%s $${K#*.}; fi ; exit 0'", SYMLINK+="%c"

# Create a symlink for both tuners of Dvico Dual DVB-T device
#SUBSYSTEM=="dvb", KERNEL=="dvb0.frontend0", ATTRS{device}=="0x0878", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter101/%%s $${K#*.}'", SYMLINK+="%c"

# Create a symlink for both tuners of Dvico Dual DVB-T device
SUBSYSTEM=="dvb", ATTRS{device}=="0x0878", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; N=$${K#*.}; if [ ! -e /dev/dvb/adapter101/$N ] ; then printf dvb/adapter101/%%s $${K#*.}; else printf dvb/adapter102/%%s $${K#*.}; fi ; exit 0'", SYMLINK+="%c"

adapter101-104 are created in /dev/dvb and I re-setup the tuners in mythtv-setup and it all looked good at first. But after a couple of reboots the dual tuner vanished and I was left with only 2 tuners. Mythtv-setup could only see 2 tuners at this point. The only way to get it back was to delete the udev rule and reboot, so then I had to add all the tuners again.

I also tried:

# /etc/modules.d/dvb

#
options bttv0 adapter_nr=1
options bttv1 adapter_nr=2

#
options cx23885 adapter_nr=3,4

This looked like it was working at first but after a few days the tuners reverted back to random order.

This is the site I've been getting my info form:
http://www.mythtv.org/wiki/Device_Filenames_and_udev

I've tries everything I can think of now, I could really use some help.

ID nearly identical cards

waynelivingstone wrote:

[ ... ]

I have 2 Dvico Fusion HDTV DVB-T Lite
and one Dvico Fusion HDTV dual express

The problem is these cards are so similar that there isnt much for for udev to pick out to tell them apart. From what I can tell the 2 lite tuners give the exact same info when I do:

udevadm info -a -p $(udevadm info -q path -n /dev/dvb/adapter0/frontend0) ....with different adapter numbers of course.

The dual tuners also give the exact same info.
[ ... ]

I've had difficulties with the seeming random order of device naming and made some udev rules for my cards.

Your cards might have different serial numbers. They certainly have different PCI slot addresses. Perhaps one of these can help you differentiate the cards with a good rule.

In my experience the udev rule, though tricky and sometimes difficult, was the way to go. I think you are on the right path with that.

--
Michael Palmer