I just tried this new ebuild from portage and found out some of the compiled modules are not put under the /lib/modules directory. Modules missing, shound be under MODULE_NAMES in the ebuild: cx25840 tuner wm8775 Reproducible: Always Steps to Reproduce: 1. Capture the emerge ivtv-0.2.0_rc3-r4 to a text file 2. Look at the compiled modules (.ko files) 3. Then look at the /lib/modules/KERNEL_VERSION/extra Actual Results: I did not see the cx25840.ko, tuner.ko and wm8775.ko under the /lib/modules/KERNEL_VERSION/extra. Expected Results: I should see the cx25840.ko, tuner.ko and wm8775.ko under the /lib/modules/KERNEL_VERSION/extra directory. Also change the echo comments about the modules too.
The pvr-150/500 support is still considered experimental, therefore it doesn't get installed. The tuner module should be unnecessary for the 250/350's.
I know of the experimental 0.3.0 support for the 150/500 cards, but this ebuild is installing the 0.2.0-rc3j stable realase. I might be confused, was the 150/500 support a port of the 0.3.0 driver or a patch to the 0.2.0 driver? If the modules are still not allowed to be installed, I can understand. However, could there be message at the end of the ebuild to inform the user why. Like myself, the user would be confused when the change log said it was included in the 0.2.0-rc3j release.
I just finished redoing my mythtv box last night and upgraded to this ivtv ebuild. All I got was static when I brought up myth so I did a little digging and from what it looks like, the tuner module *is* needed by the pvr250's. I'm at work at the moment so I'm not 100% positive this is true but I will check when I get home. My card gets detected incorrectly by the module so I have to force it with the following line in modules.d/ivtv: options ivtv ivtv_debug=1 tuner=39 Without the tuner.ko module installed in lib/modules I get the following error in dmesg: ivtv: ==================== START INIT IVTV ==================== ivtv: version 0.2.0 (rc3) loading ivtv: Linux version: 2.6.11.10 preempt K7 4KSTACKS gcc-3.3 ... ivtv: Tuner Type 47, Tuner formats 0x00001000, Radio: yes, Model 0x008d1598, Revision 0x00 ... ivtv: Setting Tuner 39 ivtv: i2c client addr: 0x61 not found! ivtv: i2c client addr: 0x61 not found! ... ivtv: ==================== END INIT IVTV ==================== If I change the ebuild to include tuner.ko then I get the following: ivtv: ==================== START INIT IVTV ==================== ivtv: version 0.2.0 (rc3j) loading ivtv: Linux version: 2.6.11.10 preempt K7 4KSTACKS gcc-3.3 ... ivtv: Tuner Type 47, Tuner formats 0x00001000, Radio: yes, Model 0x008d1598, Revision 0x00 ... ivtv: Setting Tuner 39 tuner: type set to 39 (LG NTSC (newer TAPC series)) by ivtv i2c driver #0 ... ivtv: ==================== END INIT IVTV ==================== Also without the tuner module installed when I tried to modprobe the ivtv module I got an error, something to the effect of: 'FATAL: tuner module not found', but the other modules still loaded. So what I can determine is that the tuner module is used to change the card type, and perhaps more. If you need more info just let me know and I will test my box tonight when I get home and report back if it now works instead of getting static. Thanks!
I am seeing a couple problems with an install from the 0.2.0_rc3-r4 ebuild. My setup is as follows: 1) I only put "ivtv" in /etc/modules.autoload/kernel-2.6 2) I have the two basic lines in /etc/modules.d/ivtv alias char-major-81 videodev alias char-major-81-0 ivtv 3) I rename my kernel's msp3400.ko in /lib/modules/<kernel version/kernel/drivers/media/video to kernel.msp3400. This allows ivtv's msp3400.ko module to load as needed. Up until now, whenever the ivtv module was loaded at boot (or manually) the following modules were loaded: Module Size Used by msp3400 27704 0 saa7115 12824 0 tuner 21668 0 tveeprom 12212 0 ivtv 809444 0 i2c_algo_bit 9480 1 ivtv i2c_core 19328 5 msp3400,saa7115,tuner,tveeprom,i2c_algo_bit videodev 8704 1 ivtv But with rc3-r4, msp3400 and saa7115 do not load. I have to either add them to my /etc/modules.autoload/kernel-2.6 or add this line to my /etc/modules.d/ivtv: add below ivtv msp3400 saa7115 But here's the real dealbreaker. Once I get all the modules loaded, I get video that looks sped up and no audio. For reference, I'm seeing this with a couple PVR-250 cards. However, once I unmerge rc3-r4 including removing all config files (ivtv references from the config files) and merge rc3-r3, everything works perfectly. The msp3400 and saa7115 modules are loaded with the two basic lines in /etc/modules.d/ivtv, the video looks good, and I have good audio. It appears rc3-r3 uses the rc3g.tar.gz tarball; rc3-r4, the rc3j.tar.gz tarball. Perhaps there's something in rc3j that's throwing off my PVR-250s? Here's the ivtv specific info from dmesg (from the working install): ivtv: ==================== START INIT IVTV ==================== ivtv: version 0.2.0 (rc3g) loading ivtv: Linux version: 2.6.11-gentoo-r9 SMP preempt PENTIUM4 4KSTACKS gcc-3.4 ivtv: In case of problems please include the debug info ivtv: between the START INIT IVTV and END INIT IVTV lines when ivtv: mailing the ivtv-devel mailinglist. ivtv: Unknown card: vendor/device: 4444/0016, subsystem vendor/device: 0070/0009 ivtv: Defaulting to WinTV PVR 250 card ivtv: Please mail the vendor/device and subsystem vendor/device IDs and what kind of ivtv: card you have to the ivtv-devel mailinglist: http://sourceforge.net/projects/ivtv ivtv: Prefix your subject line with [UNKNOWN CARD]. ivtv: Found an iTVC16 based chip ACPI: PCI interrupt 0000:03:00.0[A] -> GSI 21 (level, low) -> IRQ 21 ivtv: XXX PCI device: 0x2570 vendor: 0x8086 tveeprom: Hauppauge: model = 32031, rev = B210, serial# = 6196120 tveeprom: tuner = Philips FI1236 MK2 (idx = 10, type = 2) tveeprom: tuner fmt = NTSC(M) (eeprom = 0x08, v4l2 = 0x00001000) tveeprom: audio_processor = MSP3435 (type = 10) ivtv: i2c attach [client=tveeprom[0],ok] ivtv: Tuner Type 2, Tuner formats 0x00001000, Radio: yes, Model 0x00892450, Revision 0x00000000 ivtv: NTSC tuner detected ivtv: Radio detected tuner: chip found at addr 0xc2 i2c-bus ivtv i2c driver #0 ivtv: i2c attach [client=(tuner unset),ok] saa7115: starting probe for adapter ivtv i2c driver #0 (0x10005) saa7115: detecting saa7115 client on address 0x42 saa7115: writing init values ivtv: i2c attach [client=saa7115[0],ok] saa7115: status: (1E) 0xa5, (1F) 0xb1 msp34xx: ivtv version msp34xx: init: chip=MSP3435G-B6, has NICAM support, simple (D) mode, simpler (G) no-thread mode msp34xx: $Id$ compiled on: May 24 2005 15:24:04 ivtv: i2c attach [client=MSP3435G-B6,ok] ivtv: Encoder revision: 0x02040024 ivtv: Encoder Firmware is buggy, use version 0x02040011 ivtv: Configuring WinTV PVR 250 card with 5 streams ivtv: Create DMA stream 0 using 256 16384 byte buffers 4194304 kbytes total ivtv: Registered v4l2 device, streamtype 0 minor 0 ivtv: Create DMA stream 1 ivtv: Registered v4l2 device, streamtype 1 minor 32 ivtv: Create stream 2 using 40 52224 byte buffers 2097152 kbytes total ivtv: Registered v4l2 device, streamtype 2 minor 224 ivtv: Create DMA stream 3 using 455 4608 byte buffers 2097152 kbytes total ivtv: Registered v4l2 device, streamtype 3 minor 24 ivtv: Create stream 4 ivtv: Registered v4l2 device, streamtype 4 minor 64 ivtv: Setting Tuner 2 tuner: type set to 2 (Philips NTSC (FI1236,FM1236 and compatibles)) by ivtv i2c driver #0 ivtv: Setting audio matrix to input 3, output 1 ivtv: Switching standard to NTSC. ivtv: ivtv_enc_thread: pid = 29912, itv = 0xf8b23ea0 saa7115: decoder set norm NTSC saa7115: set audio: 0x01 ivtv: Initialized WinTV PVR 250, card #0 ivtv: Unknown card: vendor/device: 4444/0016, subsystem vendor/device: 0070/0009 ivtv: Defaulting to WinTV PVR 250 card ivtv: Please mail the vendor/device and subsystem vendor/device IDs and what kind of ivtv: card you have to the ivtv-devel mailinglist: http://sourceforge.net/projects/ivtv ivtv: Prefix your subject line with [UNKNOWN CARD]. ivtv: Found an iTVC16 based chip ACPI: PCI interrupt 0000:03:01.0[A] -> GSI 22 (level, low) -> IRQ 22 ivtv: XXX PCI device: 0x2570 vendor: 0x8086 tveeprom: Hauppauge: model = 32031, rev = B110, serial# = 6151408 tveeprom: tuner = Philips FI1236 MK2 (idx = 10, type = 2) tveeprom: tuner fmt = NTSC(M) (eeprom = 0x08, v4l2 = 0x00001000) tveeprom: audio_processor = MSP3435 (type = 10) ivtv: i2c attach [client=tveeprom[1],ok] tuner: chip found at addr 0xc2 i2c-bus ivtv i2c driver #1 ivtv: i2c attach [client=(tuner unset),ok] saa7115: starting probe for adapter ivtv i2c driver #1 (0x10005) saa7115: detecting saa7115 client on address 0x42 saa7115: writing init values ivtv: i2c attach [client=saa7115[1],ok] saa7115: status: (1E) 0x48, (1F) 0xc0 msp34xx: ivtv version msp34xx: init: chip=MSP3435G-B6, has NICAM support, simple (D) mode, simpler (G) no-thread mode msp34xx: $Id$ compiled on: May 24 2005 15:24:04 ivtv: i2c attach [client=MSP3435G-B6,ok] ivtv: Tuner Type 2, Tuner formats 0x00001000, Radio: yes, Model 0x00891450, Revision 0x00000000 ivtv: NTSC tuner detected ivtv: Radio detected ivtv: Encoder revision: 0x02040024 ivtv: Encoder Firmware is buggy, use version 0x02040011 ivtv: Configuring WinTV PVR 250 card with 5 streams ivtv: Create DMA stream 0 using 256 16384 byte buffers 4194304 kbytes total ivtv: Registered v4l2 device, streamtype 0 minor 1 ivtv: Create DMA stream 1 ivtv: Registered v4l2 device, streamtype 1 minor 33 ivtv: Create stream 2 using 40 52224 byte buffers 2097152 kbytes total ivtv: Registered v4l2 device, streamtype 2 minor 225 ivtv: Create DMA stream 3 using 455 4608 byte buffers 2097152 kbytes total ivtv: Registered v4l2 device, streamtype 3 minor 25 ivtv: Create stream 4 ivtv: Registered v4l2 device, streamtype 4 minor 65 ivtv: Setting Tuner 2 tuner: type set to 2 (Philips NTSC (FI1236,FM1236 and compatibles)) by ivtv i2c driver #1 ivtv: Setting audio matrix to input 3, output 1 ivtv: Switching standard to NTSC. ivtv: ivtv_enc_thread: pid = 29958, itv = 0xf8b38200 saa7115: decoder set norm NTSC saa7115: set audio: 0x01 ivtv: Initialized WinTV PVR 250, card #1 ivtv: ==================== END INIT IVTV ==================== Hmmm, here's the dmesg info from the non-working install. Note how it's referencing my cards at PVR-150s instead of PVR-250s. Could this be the issue? ivtv: ==================== START INIT IVTV ==================== ivtv: version 0.2.0 (rc3j) loading ivtv: Linux version: 2.6.11-gentoo-r9 SMP preempt PENTIUM4 4KSTACKS gcc-3.4 ivtv: In case of problems please include the debug info ivtv: between the START INIT IVTV and END INIT IVTV lines when ivtv: mailing the ivtv-devel mailinglist. ivtv: Unknown card: vendor/device: 4444/0016, subsystem vendor/device: 0070/0009 ivtv: Defaulting to WinTV PVR 150 card ivtv: Please mail the vendor/device and subsystem vendor/device IDs and what kind of ivtv: card you have to the ivtv-devel mailinglist: http://sourceforge.net/projects/ivtv ivtv: Prefix your subject line with [UNKNOWN CARD]. ivtv: Found an iTVC16 based chip ACPI: PCI interrupt 0000:03:00.0[A] -> GSI 21 (level, low) -> IRQ 21 ivtv: XXX PCI device: 0x2570 vendor: 0x8086 msp34xx: ivtv version msp34xx: init: chip=MSP3435G-B6, has NICAM support, simple (D) mode, simpler (G) no-thread mode msp34xx: $Id$ compiled on: May 24 2005 15:11:55 ivtv: i2c attach [client=MSP3435G-B6,ok] saa7115: starting probe for adapter ivtv i2c driver #0 (0x10005) saa7115: detecting saa7115 client on address 0x42 saa7115: writing init values ivtv: i2c attach [client=saa7115[0],ok] saa7115: status: (1E) 0xa5, (1F) 0xb1 tveeprom: Hauppauge: model = 32031, rev = B210, serial# = 6196120 tveeprom: tuner = Philips FI1236 MK2 (idx = 10, type = 2) tveeprom: tuner fmt = NTSC(M) (eeprom = 0x08, v4l2 = 0x00001000) tveeprom: audio_processor = MSP3435 (type = 10) ivtv: i2c attach [client=tveeprom[0],ok] ivtv: Tuner Type 2, Tuner formats 0x00001000, Radio: yes, Model 0x00892450, Revision 0x00000000 ivtv: NTSC tuner detected ivtv: Radio detected tuner: chip found at addr 0xc2 i2c-bus ivtv i2c driver #0 ivtv: i2c attach [client=(tuner unset),ok] ivtv: Failed to load module cx25840 ivtv: Failed to load module wm8775 ivtv: Encoder revision: 0x02040024 ivtv: Encoder Firmware may be buggy, use version 0x02040011 ivtv: Configuring WinTV PVR 150 card with 5 streams ivtv: Create DMA stream 0 using 256 16384 byte buffers 4194304 kbytes total ivtv: Registered v4l2 device, streamtype 0 minor 0 ivtv: Create DMA stream 1 ivtv: Registered v4l2 device, streamtype 1 minor 32 ivtv: Create stream 2 using 40 52224 byte buffers 2097152 kbytes total ivtv: Registered v4l2 device, streamtype 2 minor 224 ivtv: Create DMA stream 3 using 455 4608 byte buffers 2097152 kbytes total ivtv: Registered v4l2 device, streamtype 3 minor 24 ivtv: Create stream 4 ivtv: Registered v4l2 device, streamtype 4 minor 64 ivtv: Setting Tuner 2 tuner: type set to 2 (Philips NTSC (FI1236,FM1236 and compatibles)) by ivtv i2c driver #0 ivtv: i2c client addr: 0x44 not found! ivtv: Switching standard to NTSC. ivtv: i2c client addr: 0x44 not found! ivtv: Initialized WinTV PVR 150, card #0 ivtv: Unknown card: vendor/device: 4444/0016, subsystem vendor/device: 0070/0009 ivtv: Defaulting to WinTV PVR 150 card ivtv: Please mail the vendor/device and subsystem vendor/device IDs and what kind of ivtv: card you have to the ivtv-devel mailinglist: http://sourceforge.net/projects/ivtv ivtv: Prefix your subject line with [UNKNOWN CARD]. ivtv: Found an iTVC16 based chip ACPI: PCI interrupt 0000:03:01.0[A] -> GSI 22 (level, low) -> IRQ 22 ivtv: XXX PCI device: 0x2570 vendor: 0x8086 ivtv: ivtv_enc_thread: pid = 25521, itv = 0xf8b24f20 msp34xx: ivtv version msp34xx: init: chip=MSP3435G-B6, has NICAM support, simple (D) mode, simpler (G) no-thread mode msp34xx: $Id$ compiled on: May 24 2005 15:11:55 ivtv: i2c attach [client=MSP3435G-B6,ok] saa7115: starting probe for adapter ivtv i2c driver #1 (0x10005) saa7115: detecting saa7115 client on address 0x42 saa7115: writing init values ivtv: i2c attach [client=saa7115[1],ok] saa7115: status: (1E) 0x48, (1F) 0xc0 tveeprom: Hauppauge: model = 32031, rev = B110, serial# = 6151408 tveeprom: tuner = Philips FI1236 MK2 (idx = 10, type = 2) tveeprom: tuner fmt = NTSC(M) (eeprom = 0x08, v4l2 = 0x00001000) tveeprom: audio_processor = MSP3435 (type = 10) ivtv: i2c attach [client=tveeprom[1],ok] tuner: chip found at addr 0xc2 i2c-bus ivtv i2c driver #1 ivtv: i2c attach [client=(tuner unset),ok] ivtv: Tuner Type 2, Tuner formats 0x00001000, Radio: yes, Model 0x00891450, Revision 0x00000000 ivtv: NTSC tuner detected ivtv: Radio detected ivtv: Failed to load module cx25840 ivtv: Failed to load module wm8775 ivtv: Encoder revision: 0x02040024 ivtv: Encoder Firmware may be buggy, use version 0x02040011 ivtv: Configuring WinTV PVR 150 card with 5 streams ivtv: Create DMA stream 0 using 256 16384 byte buffers 4194304 kbytes total ivtv: Registered v4l2 device, streamtype 0 minor 1 ivtv: Create DMA stream 1 ivtv: Registered v4l2 device, streamtype 1 minor 33 ivtv: Create stream 2 using 40 52224 byte buffers 2097152 kbytes total ivtv: Registered v4l2 device, streamtype 2 minor 225 ivtv: Create DMA stream 3 using 455 4608 byte buffers 2097152 kbytes total ivtv: Registered v4l2 device, streamtype 3 minor 25 ivtv: Create stream 4 ivtv: Registered v4l2 device, streamtype 4 minor 65 ivtv: Setting Tuner 2 tuner: type set to 2 (Philips NTSC (FI1236,FM1236 and compatibles)) by ivtv i2c driver #1 ivtv: i2c client addr: 0x44 not found! ivtv: Switching standard to NTSC. ivtv: i2c client addr: 0x44 not found! ivtv: Initialized WinTV PVR 150, card #1 ivtv: ==================== END INIT IVTV ====================
Just got home and tested it out, looks like adding the tuner module was the key for me. I now get picture and sound, so I would recommend adjusting the ebuild to install the tuner module. Gregg, not sure what's wrong with your setup but it definitely looks like it's detecting the wrong card. I had to specify my card in /etc/modules.d/ivtv as follows: alias char-major-81 videodev alias char-major-81-0 ivtv options ivtv ivtv_debug=1 tuner=39 options msp3400 once=0 simpler=1 simple=0 add below ivtv msp3400 saa7115 tuner saa7127 You can see the line where 'tuner=39'. I would suggest looking in the ivtv docs for your card. They have a big list of all the cards and what number they are, but I can't remember the file name at the moment. Hope that helps.
Thanks, everybody for working through this bug. Jeremy, your /etc/modules.d/ivtv works nicely for my 350 at home. I'll give rc3-r4 a go at work this week with some added confidence. Thanks!
Kernel 2.6.11 supports up to tuner 52 which should work for all ivtv cards. When ivtv is ready, the ebuild will start installing the other modules.