Installing ivtv driver for PVR-350 card

Platform:
Ubuntu Hoary Preview Release
AMD64
Hauppauge PVR-350

if you don’t already have it, get the basic stuff for building a kernel module.
Get basics for building a kernel module

Following the instructions at Ubuntu Linux FAQ

$ sudo apt-get install build-essential linux-headers-`uname -r`

If you get an error like this,

make: *** /lib/modules/2.6.10-2-386/build: No such file or directory. Stop.
make: *** [all] Error 2

this is the bit you need to revisit.

Get ivtv module source

Get the latest stable tarball from Chris Kennedy’s site:

http://ivtv.no-ip.info/ivtv-0.2.0-rc3g.tgz (as of Feb 24th 2005)

Unpack it.

Build and install the module.

$ cd driver
$ make
$ sudo mv /lib/modules/`uname -r`/kernel/drivers/media/video/msp3400.ko ~/msp3400.ko.orig # (or any other place; or just delete it)
$ sudo make install

Create /etc/modutils/ivtv
Create this file as follows:

alias char-major-81 videodev
alias char-major-81-0 ivtv
options ivtv ivtv_debug=1 ivtv_std=2

Now, I think you ought to able to have this at the top of the ivtv file, and for it to automatically pick up this directory.

keep
path[ivtv]=/lib/modules/2.6.10/extra

But that doesn’t work, so you’ll need to copy over the /lib/modules/2.6.10/extra directory into /lib/modules/`uname -r`/kernel/drivers.

Firmware
Extract the firmware and put that in /lib/modules

Create /etc/init.d/ivtv
Create this file as follows:

modprobe ivtv
modprobe ivtv-fb # if using PVR-350 and framebuffer

Make it executable

$ sudo chmod +x /etc/init.d/ivtv

Set ivtv to load at boot

$ sudo update-rc.d ivtv defaults 12 # need to run this before gdm if using card for X output

Gotchas

  1. If you’re using the default kernel, then you’ll find the ivtv modules end up in /lib/modules/2.6.10, rather than /lib/modules/2.6.10-5-386. (for example). Which means that modprobe will fail, because it won’t be able to find the modules. Fix this by copying the directory across, and re-running depmod

    # cp -r /lib/modules/2.6.10/ivtv /lib/modules/2.6.10-5-386/kernel/drivers/video
    # depmod

13 Comments

  • Andrew

    Reply Reply April 7, 2005

    I have almost the exact same setup as you. The only diffrence is no AMD64 just a Semptron processor. After going through your notes I still have not got TV out working. All I see on the tv screen is weird dianogal lines in multi colors. Also I never did have a /lib/modules/2.6.10/extra directory just a /lib/modules/2.6.10/ivtv but that is addressed in the gotcha’s. Do you have any more troubleshooting to add to help others and myself get things working?

  • Andrew Reitz

    Reply Reply April 13, 2005

    Hi, thanks a lot for this blog entry. I am new to Ubuntu (tho not Linux or MythTV), and these instructions were exactly what I was looking for. One note, however, I grabbed a newer version of the ivtv driver (ivtv-0.2.0-rc3i), and I didn’t end up with a ‘/lib/modules/2.6.10/extra’ directory.

    Thanks,
    -Andy.

  • Andrew

    Reply Reply April 18, 2005

    What does you xorg.conf file look like? How did you actaully get the output to the TV?

    I have expanded some on your instrustions some at my website but I am waiting to publish them until I get the x output going.

  • Rachel

    Reply Reply April 18, 2005

    I’ve added some instructions for getting X working on the TV-out from the PVR-350 card, and the full example xorg.conf file.

    I’ll add a couple of thoughts about troubleshooting too.

  • Phil

    Reply Reply June 13, 2005

    I’m unable to do ‘make’ on the ivtv drivers in ubuntu. I do have the kernel source installed, but i get a huge output of thousands of errors on make:

    make[1]: Entering directory `/usr/src/linux-source-2.6.10′
    CC [M] /usr/src/ivtv-0.3.6i/driver/msp3400.o
    In file included from include/linux/module.h:10,
    from /usr/src/ivtv-0.3.6i/driver/msp3400.c:38:
    include/linux/sched.h:4:37: asm/param.h: No such file or directory

    asm/param.h is located in /usr/include, so I dont get whats going on, or how I can fix this compilation. Any help would be appreciated.

  • Peter Binderup

    Reply Reply January 8, 2006

    “Firmware
    Extract the firmware and put that in /lib/modules”

    What do you mean with this? A little more info would be nice.

  • jam

    Reply Reply January 15, 2006

    Re firmware, lots of details here: http://ivtvdriver.org/index.php/Firmware

  • Jman

    Reply Reply February 11, 2006

    Thanks for setting up this page. Just did this for my pvr350 using Ubuntu Breezy (5.10), with linux kernel 2.6.12-10-386 and ivtv 0.4.2. It still works (usuing slightly adjust directories), with the following differences (for me at least).

    1) There was no ‘extra’ directory in /lib/modules/[kernel version], so I didn’t need to move those modules anywhere.

    2) There was an ‘ivtv’ directory created under /lib/modules/[kernel version], and I had to copy this directory to /lib/modules/[correct kernel version]/kernel/drivers/. ( & do depmod)

    3) After rebooting, I was getting errors in dmesg saying

    ivtv0: unable to open firmware v4l-cx2341x-enc.fw
    ivtv0: did you put the firmware in the hotplug firmware directory?

    I had to copy the ivtv firmware from the /lib/modules directory to /usr/lib/hotplug/firmware; also there was a file called v4l-cx2341x-init.mpg in the ivtv-0.4.2 (source) directory that I also had to copy to /usr/lib/hotplug/firmware; I had to link the ivtv-fw-dec.bin and ivtv-fw-enc.bin firmware files to v4l-cx2341x-dec.fw and v4l-cx2341x-enc.fw, and make sure they were all executable. Then the errors stopped and the card worked.

    There is some further info here that might be useful:
    http://ubuntuforums.org/showthread.php?t=106713

  • Jonathan

    Reply Reply September 5, 2006

    Can you show how you setup tvout for dapper?

  • p0dog

    Reply Reply September 13, 2006

    i am running ubuntu 6.06 with kernel 2.6.15-26-386 and using ivtv-0.4.6. I can capture video off the tuner and transfer the file to my laptop and play it just fine. When I execute dd if=/dev/video0 of=/dev/video16 bs=64k I get audio but no video. I also followed Rachel’s howto to get x working with my pvr-350 but I get these errors when executing startx

    Couldn’t open RGB_DB ‘/usr/X11R6/lib/X11/rgb’

    (EE) IVTVDEV_TST(0)Framebuffer id from dev /dev/fb1is 1
    (EE) IVTVDEV_TST(0)open /dev/video48 returned 7
    (EE) IVTVDEV_TST(0)get_fb returned 0 fbid 1
    bitsPerPixel=32, depth=24, defaultVisual=TrueColor
    mask: ff0000,ff00,ff, offset: 16,8,0
    Required symbol shadowAdd from module /usr/lib/xorg/modules/drivers/ivtvdev_drv.o is unresolved!
    Required symbol shadowSetup from module /usr/lib/xorg/modules/drivers/ivtvdev_drv.o is unresolved!
    Required symbol fbPictureInit from module /usr/lib/xorg/modules/drivers/ivtvdev_drv.o is unresolved!
    Required symbol fbScreenInit from module /usr/lib/xorg/modules/drivers/ivtvdev_drv.o is unresolved!
    Required symbol shadowAlloc from module /usr/lib/xorg/modules/drivers/ivtvdev_drv.o is unresolved!

    please help !?!?

Leave A Response

* Denotes Required Field