Howto:Ubuntu

From IVTV

Jump to: navigation, search

Contents

Packages on IVTV Servers

Packages for drivers and firmware are regularly updated and placed on the ivtv server if you would like/need a newer version than is present in Ubuntu repositories. See the repository hosting page, http://dl.ivtvdriver.org/ubuntu/ for more information about the packages that are included and what lines need to be added to your /etc/apt/sources.list to use these packages.

It's recommended that you follow the howto for your version of Ubuntu however, and use these packages if you have troubles with the version in the howto.

Ubuntu 7.04, "Feisty Fawn"

Ubuntu 7.04 includes IVTV firmware and drivers directly and doesn't require any installation. If you need the utilities such as ivtvctl, these are available in a separate package.

See https://help.ubuntu.com/community/Install_IVTV_Feisty information regarding IVTV on 7.04.

Ubuntu 6.10, "Edgy Eft"

The howto for Ubuntu 6.10 support is maintained on the Ubuntu Help Community pages.

See https://help.ubuntu.com/community/Install_IVTV_Edgy for more information about how to set up on 6.10.

Ubuntu 6.06 LTS, "Dapper Drake"

The howto for Ubuntu 6.10 support is maintained on the Ubuntu Help Community pages.

See https://help.ubuntu.com/community/Install_IVTV_Dapper for more information about how to set up on 6.06.

Ubuntu 5.10, "Breezy Badger"

Prepare the build environment

Firstly, edit the file /etc/apt/sources.list

sudo gedit /etc/apt/sources.list

and add the following sources:

deb     http://www.hellion.org.uk/debian sid main
deb-src http://www.hellion.org.uk/debian sid main

Now you can get the packages that are required.

sudo apt-get update
sudo apt-get install ivtv0.4-source module-assistant gcc-3.4 dpkg-dev


You may get the following error after the update: The following signatures couldn't be verified because the public key is not available. This will fix the error message:

wget http://www.hellion.org.uk/public_key.asc
apt-key add public_key.asc

Next, you will need to tell module-assistant to get all dependancies. This will automatically get all required kernel header and associated packages.

sudo module-assistant prepare

Now you need to compile the driver into a package:

sudo module-assistant auto-install ivtv0.4

You will now have a .deb package installed, but you can find it in /usr/src/ if you want to play with it later.

The ivtv0.4-utils package won't install cleanly on Ubuntu, but it will if you build it from source:

sudo apt-get --compile source ivtv0.4-utils

This will create a package called ivtv0.4-utils_0.4.3-1_i386.deb (or similar) in the current directory. You can install it with:

sudo dpkg -i ivtv0.4-utils_0.4.3-1_i386.deb

Unfortunately, the firmware package creation script /usr/bin/ivtv-makefwpkg (from the ivtv0.4-utils package) doesn't work with Ubuntu, because it places the firmware in /lib/firmware. I hacked the script to tell it to put the firmware in /lib/hotplug/firmware, but the easier option is to extract the files manually and copy them. To do this,

 cd utils
 wget ftp://ftp.shspvr.com/download/wintv-pvr_150-500/inf/pvr_2.0.24.23035.zip
 wget ftp://ftp.shspvr.com/download/wintv-pvr_250-350/inf/pvr_1.18.21.22254_inf.zip
 unzip pvr_2.0.24.23035.zip
 ./ivtvfwextract.pl pvr_1.18.21.22254_inf.zip
 cp HcwMakoA.ROM /usr/lib/hotplug/firmware/v4l-cx25840.fw
 cp HcwFalcn.rom /usr/lib/hotplug/firmware/v4l-cx2341x-enc.fw
 mv /lib/modules/ivtv-fw-dec.bin /usr/lib/hotplug/firmware/
 mv /lib/modules/ivtv-fw-enc.bin /usr/lib/hotplug/firmware/
 cp ../v4l-cx2341x-init-mpeg.bin /usr/lib/hotplug/firmware
 ln -s /usr/lib/hotplug/firmware/ivtv-fw-dec.bin /usr/lib/hotplug/firmware/v4l-cx2341x-dec.fw 


 Don't forget to link/copy the encoder to the /usr/local/lib/hotplug/firmware directory:
 $ sudo ln -s /usr/lib/hotplug/firmware/v4l-cx2341x-enc.fw /usr/local/lib/hotplug/firmware/

After this set of commands, if you execute

 ls -ltra /usr/lib/hotplug/firmware/

You should see

 drwxr-xr-x  3 root root   4096 2005-12-18 10:04 ..
 -rw-r--r--  1 root root 262144 2005-12-23 20:05 ivtv-fw-enc.bin
 -rw-r--r--  1 root root 262144 2005-12-23 20:05 ivtv-fw-dec.bin
 -r--r--r--  1 root root  14264 2005-12-23 20:08 v4l-cx25840.fw
 -r--r--r--  1 root root 376836 2005-12-23 20:08 v4l-cx2341x-enc.fw
 -rw-r--r--  1 root root 155648 2005-12-24 13:33 v4l-cx2341x-init-mpeg.bin
 lrwxrwxrwx  1 root root     41 2006-01-03 00:40 v4l-cx2341x-dec.fw -> /usr/lib/hotplug/firmware/ivtv-fw-dec.bin
 drwxr-xr-x  2 root root   4096 2006-01-03 00:40 .

Now lets tell Ubuntu that we have ivtv modules. Edit /etc/modules, and just stick "ivtv" at the end of the file. Update:: this is not needed anymore because hotplug will detect the hardware at boottime and load the ivtv module. Also edit /etc/modprobe.d/aliases, and put the following line in where it fits:

 alias char-major-81-0 ivtv

If you have a PVR-500, you also need to add the following line as well (increment the number for each card you have, the PVR-500 is actually 2 cards):

 alias char-major-81-1 ivtv

Then, do the following:

 depmod
 modprobe ivtv
 dmesg

If, at the end of the output of dmesg (or /var/log/syslog), you see a section starting with ==START INIT IVTV== and ending with ==END INIT IVTV==, you are in good shape, as long as the text in between these markers is not filled with errors.


If you get an error saying that modprobe cannot find the ivtv module, then try:

cp /lib/modules/2.6.15/ivtv/* /lib/modules/2.6.15-26-386/kernel/drivers/media/video/

of course, replace 2.6.15 and 2.6.15-26-386 with the appropriate numbers for your system.

Personal tools
development