Keith,

I have had some success minimizing these kinds of problems on my SMP machine by tweaking my machine's IRQs. If any devices share your ivtv card's IRQ, remove / shuffle the cards until you have a good config where the card has its own IRQ.

Additionally, I found that setting ivtv's IRQ smp_affinity to a single processor helps. To do this, you'll have to:

1) Recompile your kernel without IRQ Balancing
2) Find your ivtv's IRQ from /proc/interrupts
3) echo "1" > /proc/irq/###/smp_affinity (where ### is your ivtv's IRQ, have to redo this every reboot)

Hope that helps!
- Rick

On Aug 21, 2006, at 10:10 PM, Keith Fischer wrote:

I am having a problem that looks similar to what Tim and others have described in this thread.

I installed Fedora Core 5 on a Athlon64 X2 and when I run mythtv (svn head) I get this error while changing channels.
2006-08-07 23:56:20.358 MPEGRec(/dev/video1) Error: select timeout - ivtv driver has stopped responding

I am using ivtv-0.7 with a Hauppague 150.  dmesg gives me this info.
ivtv: no version for "struct_module" found: kernel tainted.
ivtv:  ==================== START INIT IVTV ====================
ivtv:  version 0.7.0 (tagged release) loading
ivtv:  Linux version: 2.6.17-1.2174_FC5 SMP mod_unload gcc-4.1
ivtv:  In case of problems please include the debug info between
ivtv:  the START INIT IVTV and END INIT IVTV lines, along with
ivtv:  any module options, when mailing the ivtv-users mailinglist.
ACPI: PCI Interrupt Link [LAZA] enabled at IRQ 22
ACPI: PCI Interrupt 0000:00: 06.1[B] -> Link [LAZA] -> GSI 22 (level, low) -> IRQ 233
PCI: Setting latency timer of device 0000:00:06.1 to 64
bttv: driver version 0.9.16 loaded
bttv: using 8 buffers with 2080k (520 pages) each for capture
hda_codec: Unknown model for ALC882, trying auto-probe from BIOS...
ACPI: PCI Interrupt Link [LNEB] enabled at IRQ 19
GSI 20 sharing vector 0x42 and IRQ 20
ACPI: PCI Interrupt 0000:06:00.0[A] -> Link [LNEB] -> GSI 19 (level, low) -> IRQ 66
PCI: Setting latency timer of device 0000:06:00.0 to 64
NVRM: loading NVIDIA Linux x86_64 Kernel Module  1.0-8762  Mon May 15 13:58:14 PDT 2006
ivtv0: Autodetected Hauppauge WinTV PVR-150 card (cx23416 based)
ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 18
GSI 21 sharing vector 0x4A and IRQ 21
ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [LNKA] -> GSI 18 (level, low) -> IRQ 74
tveeprom 0-0050: Hauppauge model 26552, rev C268, serial# 8330773
tveeprom 0-0050: tuner model is LG TAPE H001F MK3 (idx 68, type 47)
tveeprom 0-0050: TV standards NTSC(M) (eeprom 0x08)
tveeprom 0-0050: audio processor is CX25843 (idx 37)
tveeprom 0-0050: decoder processor is CX25843 (idx 30)
tveeprom 0-0050: has radio, has no IR remote
tuner 0-0061: chip found @ 0xc2 (ivtv i2c driver #0)
tda9887 0-0043: chip found @ 0x86 (ivtv i2c driver #0)
usb 2-4: new high speed USB device using ehci_hcd and address 4
cx25840 0-0044: cx25843-23 found @ 0x88 (ivtv i2c driver #0)
usb 2-4: configuration #1 chosen from 1 choice
ohci_hcd 0000:00:02.0: wakeup
Initializing USB Mass Storage driver...
scsi4 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 4
usb-storage: waiting for device to settle before scanning
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
usb 1-2: new low speed USB device using ohci_hcd and address 2
usb 1-2: configuration #1 chosen from 1 choice
hiddev96: USB HID v1.10 Device [APC Back-UPS ES 650 FW:825.B1.D USB FW:B1] on usb-0000:00:02.0-2
usb 1-3: new low speed USB device using ohci_hcd and address 3
usb 1-3: configuration #1 chosen from 1 choice
input: Logitech USB-PS/2 Optical Mouse as /class/input/input1
input: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:02.0-3
cx25840 0-0044: loaded v4l-cx25840.fw firmware (16382 bytes)
wm8775 0-001b: chip found @ 0x36 (ivtv i2c driver #0)
ivtv0: loaded v4l-cx2341x-enc.fw firmware (262144 bytes)
ivtv0: Encoder revision: 0x02050032
ivtv0: Allocate DMA encoder MPEG stream: 128 x 32768 buffers (4096KB total)
ivtv0: Allocate DMA encoder YUV stream: 194 x 10800 buffers (2048KB total)
ivtv0: Allocate DMA encoder VBI stream: 120 x 17472 buffers (2048KB total)
ivtv0: Allocate DMA encoder PCM audio stream: 455 x 4608 buffers (2048KB total)
ivtv0: Create encoder radio stream
tuner 0-0061: type set to 47 (LG NTSC (TAPE series))
ivtv0: Initialized Hauppauge WinTV PVR-150, card #0
ivtv:  ====================  END INIT IVTV  ====================

ivtv0 warning: 1000 ms time out waiting for firmware
ivtv0 warning: Failed api call 0x00000082 with result 0xfffffff0
ivtv0 warning: ENC: Failed stopping capture -16
ivtv0 warning: 1000 ms time out waiting for firmware
ivtv0 warning: Failed api call 0x00000082 with result 0xfffffff0
ivtv0 warning: ENC: Failed stopping capture -16


I have done some testing and here is what I have found.

I do NOT have this problem with mythtv (svn head) on my Athlon XP (i386) single processor FC4 system with ivtv-0.7 and the same capture card.  Both systems are running 2.6.17.1.

I do NOT have the problem on the FC5 X2 box if I use mplayer and ptune-ui.pl.

I am not able to test with ivtv-0.8 due to mythtv not working with it or with ivtv-0.6 since I do not have a 2.6.16 kernel.

In the near future I will be testing FC4 i386 and FC4 x86_64 on the Athlong64 X2 system with and without SMP to see if that "helps"

Your insight is most welcome.

Keith
_______________________________________________
ivtv-devel mailing list

_______________________________________________
ivtv-devel mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-devel

Reply via email to