Troubleshooting

From IVTV

Jump to: navigation, search

Most problems with ivtv are either fixed in a new version or simply a configuration error. Before asking for help or giving up, make sure you have tried the following steps first:

Contents

Read the howto

It contains a step by step guide to setting up the drivers

Cold boot

Shutdown your machine and wait at least 30 seconds. The reason for this is that registers take a long time to clear. This is especially important when changing driver versions.

Remove conflicting module versions

See the howto for more information.

Test using multiple inputs

  • The tuner often has problems while the rest of the card works fine. Hook up an svideo or composite cable and test those inputs to isolate the problem.
  • Make sure you have specified the correct input using ivtvctl.

Use the latest stable release

or failing that, the latest svn release in the stable branch.

Use "cat /dev/videoX > test.mpg" to test

  • Use ivtv-tune to change channels and ivtvctl to change input.
  • Do not use MythTV or another application; they could be the cause of any problem.

Use the right firmware

In particular, if you are experiencing sound problems then first make sure you are using the correct audio firmware. It is a known problem with older versions that the audio standard is detected but remains muted. It seems to be fixed with the latest firmware.

Remove your module options.

Previous versions have required complicated module options. There are mostly not required any more.

Remember to rerun depmod and / or mkinitrd

If you have upgraded or edited your module options, but the changes seem not to have taken affect, you have most likely forgotten to to one or both of these things.

If you are upgrading from a previous version of ivtv

  • Make sure you don't have any old ivtv modules around.
  • Older 0.3 releases and 0.2 releases put the ivtv modules in a different location, so if you install a newer version the existing version doesn't get removed.
  • Check for the existance of ivtv.ko with:
find /lib/modules/`uname -r`/ -name ivtv.ko

If this gives more than one copy of the ivtv module, check the timestamp. Remove the ivtv.ko and other ivtv modules in the same directory: cx25840 tuner tveeprom msp3400 wm8775 tda9887 saa7115 saa7127.

If you have ghosting

The temporal_filter setting does not play well with scaled images. To fix it try the following:

ivtv pre-0.8

 ivtvctl -c dnr_temporal=0


0.8 and up

 v4l2-ctl --set-ctrl temporal_filter=0


Some cards are set to 8 by default.

If that change alone does not work, set your capture resolution to your standard's full default.
For 0.8 and up you would use the following for NTSC:

 v4l2-ctl --set-fmt-video=width=720,height=480


Remember that if you will be using MythTV you need to change the resolution settings in your recording profiles as well.

VBI Workaround
The problem appears to be related to VBI (http://en.wikipedia.org/wiki/VBI) when using MythTV. Changing the global "VBI Format" setting to "None" (under General in mythtv-setup) solved the problem on my Gentoo box (ivtv-0.9.1, mythtv-0.20_p12172, gentoo-sources-2.6.19-r5). Changing the capture resolution in MythTV also solved the problem (even with VBI enabled).

IVTV may cause hangs when run on an Intel processor with Hyperthreading enabled.

Try disabling HT if you experience hangs.

Card does not work. No debug info while loading ivtv

(only tested with debian sarge, other distribution may use other ways)

When you load the driver with "modprobe ivtv" (maybe after unloading ivtv before with "modprobe -r ivtv") an the following result appears,

 ============== START INIT IVTV ==============
 version 0.4.0 (tagged release) loading
 Linux version: 2.6.12 preempt 586 gcc-3.3
 In case of problems please include the debug info
 between the START INIT IVTV and END INIT IVTV lines when
 mailing the ivtv-devel mailinglist.
 ==============  END INIT IVTV  ==============

the driver does not find your card. You can check if your card is detected with

lspci

It should detect something like

Multimedia video controller: Internext Compression Inc iTVC16 (CX23416) MPEG-2 Encoder (rev 01)

If not maybe your card does not sits correctly in the PCI-slot or you must change PCI-Slot, so that card is detected correctly in linux.

Unknown symbol tveeprom_read and/or tveeprom_hauppauge_analog errors occur while loading ivtv module

If you get error messages about tveeprom_read and/or tveeprom_hauppauge_analog being unknown symbols with ivtv-0.5.0 or a later version, the problem is most likely that you have upgraded your kernel and the required v4l-kernel modules are still compiled and installed for the old kernel. Solution: cd ivtv/v4l-kernel; make distclean. With the 2.6 Kernel going into the Multimedia section, using the help tool select these modules and ivtv will load fine: Config_Video_V4L1_COMPAT. Now go into Video Capture Adapters and select; Philips SAA7134, Conexant 2388. Moving into Encoders and Decoders, Micronas MSP34xx, Wolfson Wm8775, Conexant Cx2341x and Cx2584x, Philips Saa7113/4/5, Philips Saa7127/9. Enabling these modules will trigger the tveeprom module to be compiled providing the missing symbols. This should work for both USB (as long as you have the USB modules selected also) and the PCI cards.

Example Errors
"tveeprom_hauppauge_analog" [/usr/src/ivtv-0.9.0/driver/ivtv.ko] undefined!
ivtv: Unknown symbol tveeprom_read
ivtv: Unknown symbol tveeprom_hauppauge_analog
Fix Confirmed
ivtv 0.9.0 / kernel 2.6.19
ivtv 0.10.1 / kernel 2.6.20

I upgraded to a newer version of ivtv, and now mythtv only gives me static/noise

If you upgraded from an older version of ivtv to a newer 0.4.1/0.5.1 or newer, and now you get static/noise on all channels with mythtv, you may need to reset the card configuration in mythtv-setup to get mythtv to set the tuner again.

Multiple tuners have very different audio levels

Not every Hauppauge card has the same audio line levels when capturing, and this can be quite noticeable in a multiple-tuner setup---recorded programs' audio levels will be different depending on which card did the capture. This can vary across model numbers (e.g., between the 150/500 series and the 250/350 series), and even within a series (new vs old versions of the 350, etc), and can be over 9dB if you're unlucky. You can see what some card's current input level is via (say) "ivtvctl -Y -d /dev/video2", and manually set the card's input level via, e.g., "ivtvctl -y volume=5400 -d /dev/video2". (On at least one version of the 350, if the card's audio level was 58950 and you set it to 54000, this will knock down its audio level by 6-9dB.) NOTE, however, that whatever application you're using to actually save the video might have its own ideas about audio level; both MythTV 0.18.1 and its SVN builds as of 1/13/06 seem to reset all cards to the same level every time a capture commences and provide no way to set individual cards' levels, so you may have to arrange to override this behavior in the application, or (yuck) even set up a background process to repeatedly smash the desired audio level into the relevant cards' registers at regular intervals if you can't easily change the application itself.

Linux 2.4 kernel and several problems

With old ivtv-driver versions I experienced unresolved symbol compile problems. In newer versions these were gone, but now there were troubles loading the firmware, which I must have reinstalled a zillion times before trying one last more thing: switch to kernel 2.6. All problems gone.

VBI (CC and teletext) with non default resolutions can cause video corruption

Quote from an e-mail Hans Verkuil send to the list.

I've just confirmed that capturing at anything but 720x480 (NTSC) or 720x576 (PAL) and capturing VBI at the same time (for teletext or closed captions) will produce bad video and bad VBI data on cards with a cx25840 such as the PVR150 and 500. Cards with a saa7115 are not affected.

Since MythTV for some reason captures by default at 480x480 I strongly recommend you change that to 720x480 (720x576 for PAL/SECAM) if you also want MythTV to process VBI for subtitles.

Since fixing the cx25840 setup is quite difficult due to the bad Conexant datasheet and the workaround is simple I will not fix this for the time being.

Note that this problem is only with sliced VBI, not with raw VBI.


Error: Huh, no eeprom present (err=-121)?

You can try to pass newi2c=1 or newi2c=0 to the ivtv module. Add it to /etc/modprobe.conf (or /etc/modules.d/ivtv if you are an gentoo user).

options ivtv newi2c=1

If setting this works please report it to the ivtv-devel mailing list.

PVR-350 with Philips FM1216ME MK5 tuner

When you have a PVR-350 with this tuner add the below to /etc/modprobe.conf

options ivtv tuner=38

This should not be needed on kernel version >=2.6.19

PVR-350 and overheating

If you have problems with a PVR-350 this could be overheating: these cards can get hot so make sure there is enough airflow.

If you have DMA errors

Have a look at the DMA page.

Can not tune with ivtv-tune

There was a bug in ivtv-tune which caused it to either ignore the change or switch to the radio. It was fixed in ivtv-0.6.3 and 0.4.6. The ivtv-0.7 and up versions already had the fix to begin with.

Lock up when loading ivtv module (udev related)

There is a rule in udev that causes the system to lock up. Commenting out the below rule has been reported to fix the problem. The rule files can be found in /etc/udev/rules.d/.

ACTION=="add", SUBSYSTEM=="firmware", ENV{FIRMWARE}=="*", RUN="/sbin/firmware_helper", OPTIONS="last_rule"

The problem is that udev and hotplug are trying to fullfil the same firmware request and locking each other. Since udev is slowly replacing this functionality, it's IMHO better to remove the firmware agent from hotplug. Just moving the file /etc/hotplug/firmware.agent away fixes the problem for a number of people (including me). BTW: This is not an IVTV related problem, it would happen with all firmware needing hardware.

udev causes ivtv to lock the system

For some unknown reason people experience locks with udev version >087. At this moment there is no work around other then downgrading to <=udev-087

Some people have found disabling udev coldplugging and placing ivtv in modules autoload file is a workable solution.

temporal_filter in kernel 2.6.19 (Symptom: Ghosting)

A bug was introduced in kernel 2.6.19 failed to set temporal_filter to 0 when scaling was used. This has been fixed in kernel 2.6.20 and maybe in 2.6.19.y release. The workaround will be in ivtv-0.9.2.

Testing for a Defective Tuner Card

In some instances, your trouble may be related to defective hardware. This is more likely the case on a card whose history you do not know, such as a newly purchased card. One way to test for defective hardware is to install the tuner card in a Windows machine and use the manufacturer supplied drivers and firmware to confirm proper operation. If your card works properly under Windows or your results are inconclusive, post your issue to the ivtv-user mailing list for additional assistance.

Below are some possible symptoms of defective hardware, as found by other users:

Card: WinTV PVR 150
Symptom: Cannot tune cable TV channels between 14-95
Description: The card is properly set for antenna/cable, but is still incapable of tuning a large number of channels.

Card: WinTV PVR 150
Symptom: Stereo Audio Not Available
Description: When tuning a channel known to be broadcast in stereo, software indicates that only mono is available. Behavior is identical under both Linux and Windows.

YUV capture (/dev/video32), the top third of the screen flickering

On capture the top part of the frame is missing from every 18th frame. This top part is very dark and it contains some grey diagonal block pattern.

A possible workaround for ivtv version < 0.8 is to reset the firmware. In ivtv >=0.8 this ioctl has been removed.

ivtvctl -H

PVR-350 TV-OUT with kernel 2.6.19 and up

If you get errors like below:

ivtv0-fb warning: IVTVFB_IOCTL_GET_FRAME_BUFFER no longer supported
ivtv0-fb warning:  - Please use FBIOGET_VSCREENINFO &  FBIOGET_FSCREENINFO
ivtv0-fb warning: IVTVFB_IOCTL_GET_ACTIVE_BUFFER no longer supported
ivtv0-fb warning:  - Please use FBIOGET_VSCREENINFO
ivtv0-fb warning: ivtv_fb_prep_frame: Nothing to do. count = 0
ivtv0-fb warning: IVTVFB_IOCTL_SET_ACTIVE_BUFFER no longer supported
ivtv0-fb warning:  - Please use FBIOPUT_VSCREENINFO

You need to pass osd_compat=1 to the ivtv-fb module. Add the below to /etc/modprobe.conf

options ivtv-fb osd_compat=1

Fedora 6 and pvr-350 tv out (kernel 2.6.19)

For some unknown reason some video modules like the saa7127 have been removed from the standard kernel. If you use the tv-out on a pvr-350 you will need to install the following package.

video4linux-kmdl

Kernel 2.6.22 firmware size

There is a bug in kernel 2.6.22 that the firmware size is reported wrong. If the loading of the firmware works then ignore it.

No stereo on PVR-150 (only lang2 and mono subchannels available)

A workaround implemented for some versions of the PVR-150 appears to cause this problem on other versions of the PVR-150. This workaround is usually enabled by default. To turn it off, you will need to recompile the ivtv kernel module per the instructions given at [1].

If you have followed all the steps above and still have problems

See asking for help.

Personal tools
development