Howto:Ubuntu
From IVTV
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.
