Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 91837

Summary: ivtv-0.2.0_rc3j.ebuild not installing all compiled modules
Product: Gentoo Linux Reporter: Jerry Thoundayil <thoundayil>
Component: New packagesAssignee: Television related Applications in Gentoo's Portage <media-tv>
Status: RESOLVED LATER    
Severity: normal CC: jmjohnson
Priority: High    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Jerry Thoundayil 2005-05-07 15:16:07 UTC
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.
Comment 1 Brian Jackson (RETIRED) gentoo-dev 2005-05-09 08:20:55 UTC
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.
Comment 2 Jerry Thoundayil 2005-05-09 10:48:28 UTC
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.
Comment 3 Jeremy Johnson 2005-05-24 11:12:25 UTC
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!
Comment 4 Gregg Casillo 2005-05-24 12:38:50 UTC
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  ====================
Comment 5 Jeremy Johnson 2005-05-24 17:41:10 UTC
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.
Comment 6 Gregg Casillo 2005-05-29 19:55:45 UTC
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! 
Comment 7 Brian Jackson (RETIRED) gentoo-dev 2005-06-19 21:23:58 UTC
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.