Welcome to the most active Linux Forum on the web.
Go Back > Blogs > disturbed1
User Name


Rate this Entry

MythTV, multiple IVTV cards

Posted 02-05-2011 at 02:55 PM by disturbed1
Updated 02-05-2011 at 02:57 PM by disturbed1

I have a MythTV backend with 4 tuners. 2 Asus Falcon2's (PVR-150 like), and an HVR1600. The HVR1600 is a dual tuner with analog and ATSC/Clear-QAM inputs.

This setup has been running for roughly 3 years, with the same issues.
/dev/video# ordering -
Upon the rare reboot, the tuners would reorder themselves. Considering the Falcon 2's use IVTV, and the HVR1600's analog tuner uses cx18, this can cause issues with MythTV. Usually I just resolved this by quickly running mythtv-setup and re-numerating the cards. Considering this PC only has to be rebooted 1 or 2 times a year, it's a non issue.

Most cards that use the ivtv driver have a tendency to not correctly register. Usually a cold boot, 30-60 seconds with no power to clear the card's registers will clear this. Your dmesg will have plenty of these if you have the same problem -
[ 3735.092084] wm8775 5-001b: chip found @ 0x36 (ivtv i2c driver #1)
[ 3735.095036] wm8775 5-001b: I2C: cannot write 000 to register R23
[ 3735.097982] wm8775 5-001b: I2C: cannot write 000 to register R7
[ 3735.100929] wm8775 5-001b: I2C: cannot write 021 to register R11
[ 3735.103875] wm8775 5-001b: I2C: cannot write 102 to register R12
[ 3735.106823] wm8775 5-001b: I2C: cannot write 000 to register R13
[ 3735.109771] wm8775 5-001b: I2C: cannot write 1d4 to register R14
[ 3735.112719] wm8775 5-001b: I2C: cannot write 1d4 to register R15
[ 3735.115666] wm8775 5-001b: I2C: cannot write 1bf to register R16
[ 3735.118613] wm8775 5-001b: I2C: cannot write 185 to register R17
[ 3735.121561] wm8775 5-001b: I2C: cannot write 0a2 to register R18
[ 3735.124508] wm8775 5-001b: I2C: cannot write 005 to register R19
[ 3735.127455] wm8775 5-001b: I2C: cannot write 07a to register R20
[ 3735.130402] wm8775 5-001b: I2C: cannot write 102 to register R21
The various forums, mailing lists, and wikis are full of hints to fix the /dev/video# remunerating using udev rules. I've read these over the years, and honestly it just makes my head hurt. It's not exactly what I would call plain simple human logic. Sure, if I spent ~5 minutes I could easily write my own rules, but I wanted a simpler, easier to understand fix.

Most modules offer the oppurtuninity to specify options while loading. A simple modinfo $MODULE will reveal these.
modinfo cx18
--- snip ---
parm:           cx18_first_minor:Set device node number assigned to first card (int)

modinfo ivtv
--- snip ---
parm:           ivtv_first_minor:Set device node number assigned to first card (int)
Exactly what I needed to fix my /dev/video# issues.
Originally Posted by /etc/modprobe.d/cx18.conf
options cx18 cx18_first_minor=0
options ivtv ivtv_first_minor=1
The ivtv cards will always start with /dev/video1, while the HVR1600 will always be /dev/video0 and /dev/dvb/adapter0/

Onto the Asus Falcon2 errors.
Completely reading the dmesg tells us exactly what to do -
[ 3653.781175] ivtv0: Unknown card: vendor/device: [4444:0016]
[ 3653.781176] ivtv0:               subsystem vendor/device: [1043:0666]
[ 3653.781178] ivtv0:               cx23416 based
[ 3653.781179] ivtv0: Defaulting to Hauppauge WinTV PVR-150 card
[ 3653.781180] ivtv0: Please mail the vendor/device and subsystem vendor/device IDs and what kind of
[ 3653.781181] ivtv0: card you have to the ivtv-devel mailinglist (
[ 3653.781182] ivtv0: Prefix your subject line with [UNKNOWN IVTV CARD].
[ 3653.781212] ivtv 0000:03:02.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
[ 3653.783255] tveeprom 4-0050: Huh, no eeprom present (err=-6)?
[ 3653.783257] tveeprom 4-0050: Encountered bad packet header [d8]. Corrupt or not a Hauppauge eeprom.
[ 3653.783258] ivtv0: Invalid EEPROM
[ 3653.786144] cx25840 4-0044: cx25843-24 found @ 0x88 (ivtv i2c driver #0)
[ 3653.795926] tuner 4-0043: chip found @ 0x86 (ivtv i2c driver #0)
[ 3653.795970] tda9887 4-0043: creating new instance
[ 3653.795971] tda9887 4-0043: tda988[5/6/7] found
[ 3653.800611] Chip ID is not zero. It is not a TEA5767
[ 3653.800655] tuner 4-0060: chip found @ 0xc0 (ivtv i2c driver #0)
But it is not an unkown card type. Searching the ivtv mailing list reveals 1,000s of these same issues. Some have no response, I'd imagine people are tired of answering the same question every couple of weeks

From modinfo ivtv, they list the cardtypes. By adding another ivtv option to your /etc/modprobe.d/$MODULE.conf, you can tell IVTV exactly which card you are using. My complete /etc/modprobe.d/cx18.conf
PHP Code:
options cx18 cx18_first_minor=0
options ivtv ivtv_first_minor
options ivtv cardtype
Notice the ivtv cardtype=. If I had 3 Asus Falcon2 tuners it would read
options ivtv cardtype=22,22,22
Posted in Uncategorized
Views 2003 Comments 0
« Prev     Main     Next »
Total Comments 0




All times are GMT -5. The time now is 02:35 AM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration