International * Contact  * Sitemap  * Links  * Register Software
Search  
 SUSE - simply change

Home Users

 Novell
  | Home  |  | Overview  |  | Products  |  | Support  |  | Downloads  |  | Distributors & Resellers  |
  SUSE LINUX Support   Online Help   License information   Security   Feedback
  Printable page

Installing the Remote Control of the Hauppauge WinTV PCI

Christin Seifert

Table of Contents

  1. Getting the Kernel Sources
  2. Compiling the Kernel
  3. Booting the New Kernel
  4. Compiling Lirc
  5. Automatic Start of lircd at Runlevels 3 and 5
  6. Compiling kwintv
  7. Setting up kwintv

This article describes the operation of the TV card Hauppauge WinTV PCI remote control (which was included with the card) under SUSE 7.1, kernel-2.4.2, kwintv-0.8.0, lirc-0.6.3.
First, some important notes:

  • Most of the commands listed here work only if you have root privileges. Thus, if you should see the error message "Permission denied", simply use su to switch users.
  • While it was also possible to install the remote control using the kernel sources included with SUSE, doing so caused the sound to quit working. The problem was that the compilation process created a kernel version 2.4.2 (as required by lirc), while the modules were compiled for 2.4.2.-4GB (the directory in /lib had the same name, but the problem could not be solved, as expected, with a symbolic link). While Version 2.4.2.-4GB was the default installation and could be used to compile lirc, a modprobe failed and informed the user of a kernel version mismatch.
  • SUSE cannot provide installation support for any problems that might occur while following these instructions (which were tested by different users and found to be working), because complex procedures such as kernel compilation are not included in the installation support package.

That is why it seems to me that users cannot get around having to download the original kernel sources (at least I could not skip this step). If the procedure works with the included SUSE kernel sources, Step 1 applies, specifically the installation of the kernel sources with YaST. (If somebody successfully accomplishes this, I am, of course, very interested in learning about the solution).

1. Installing the Kernel Sources

First, we must install the kernel sources. This is done by using YaST (series d, package lx_sus24) or, alternatively, we can use the original kernel available at www.kernel.org. In the first case, we can now proceed to Step 2. In the second case, it is best to start by storing the archive linux-2.4.2.tar.gz in the /tmp directory. Then we decompress the sources with

 tar xvzf  linux-2.4.2.tar.gz

Next, we copy the linux directory to /usr/src/linux-2.4.2, switch to the directory of kernel sources, and then update the symbolic link with:

 cd /usr/src
 rm linux
 mkdir linux-2.4.2
 ln -s linux-2.4.2 linux
 mv /tmp/linux/* /usr/src/linux

2. Compiling the Kernel

To compile the kernel, we start with the configuration of our current SUSE kernel.

 cp /boot/vmlinuz_24.config /usr/src/linux/.config
 make menuconfig

You should always select Loadable Module Support --> Enable Loadable Module Support, since doing so enables you to load kernel modules later on. It is important that you select

 IrDA (infrared) Support --> IrDA Subsystem Support

as the module. You don't need any of the other options listed under this menu item. You also must select

 Character Devices --> I2C Support --> I2C Support (i2c-core.o)

and

 I2C bit-banging Interface (i2c-algo-bit.o)
 Multimedia Devices --> Video For Linux (videodev.o)

as well as the submenu item

 Video For Linux --> BT484 Video For Linux (bttv.o)

Testing revealed that some files could not be compiled with this configuration (6pack.c). The solution is to disable the Amateur Radio Support --> Amateur Radio Support option - as long as you don't need to use the amateur radio functions. We can now finish and save the configuration. Even if you did not make any changes to the configuration you must save it and recompile the kernel. Next, we must compile the kernel and install the modules:

 make dep
 make bzImage
 make modules
 make modules_install

3. Booting the New Kernel

To make the kernel bootable, copy it to the /boot directory and insert the corresponding entry in /etc/lilo.conf.

 mkdir /boot/new
 cp arch/i386/boot/bzImage /boot/new/vmlinuz
 cp System.map /boot/new

Now we also insert the following lines in the /etc/lilo.conf file:

 image = /boot/new/vmlinuz
 root = /dev/hdax
     (The x is the same as the one under the entry for the linux label)
 label = new

Now all you need to do is activate lilo and you are all set to restart the system. Enter new in response to the lilo prompt.

4. Compiling the Lirc Package

We are now working with the appropriate kernel. Next, we need the Lirc sources. You can use YaST to install them (series zq, package lirc_spm), or, alternatively, you can go to www.lirc.org. Once again, we copy the archive to the /tmp directory, and then unzip it:

 cp /usr/src/packages/SOURCES/lirc-0.6.3pre3.tar.gz /tmp
 cd /tmp
 tar xvzf lirc-0.6.3pre3.tar.gz
 cd lirc-0.6.3pre3

Now all you need to do is execute a ./setup.sh. In the dialog box, select

 Driver configuration --> TV card --> Hauppauge TV card (new l2C layer required),

and then select Save Configuration & Run Configure. Then use the following commands to begin compiling:

 make
 make install

You now have installed this package as well. In the file /etc/modules.conf, insert the line

 alias char-major-61 lirc_i2c

or edit the line if it already exists. To load the module you can now execute a modprobe lirc_i2c after a depmod -a. Next, use /usr/local/sbin/lircd to start the daemon and you can run the first tests with the /usr/local/bin/irw tool. If you press a remote control button and an image appears on the screen, we are almost done ;-). chmod 666 /dev/lirc* lets all users on the system access the device. (This problem can also be solved more elegantly by creating a new group). Enter /usr/local/lib in /etc/ld.so.conf (if that has not yet been done) and activate ldconfig to make lirc functions available to other programs (incl. kwintv).

5. Automatic Start of lircd at Runlevels 3 and 5

To start the daemon automatically, we still need to copy the initscript to the correct location and position it in the runlevels at the left.

 cp /tmp/lirc-0.6.3pre3/contrib/lirc.suse6.2 /etc/init.d/lirc
 cd /etc/init.d/rc3.d
 ln -s ../lirc S80lirc
 ln -s ../lirc K80lirc
 cd /etc/init.d/rc5.d
 ln -s ../lirc S80lirc
 ln -s ../lirc K80lirc

Here you can select any number smaller than 99 instead of the number 80. The lirc script, for example, contains the number 20. Now you need to insert START_LIRCD="yes" in the /etc/rc.config file to specify the correct variable. After a restart, the following message

 Starting lircd ... done

should appear during the boot process.

6. Compiling kwintv

Now we still must teach our favorite TV application that the system has a remote control. I will describe the installation of kwintv below. In case the program has already been installed, you must first deinstall kwintv-RPM with yast (series k2de). Then install the kwintv-0.8.0 (series zq, package kwintv-spm) sources. (Note: The current Version 0.8.5 from the kwintv homepage did not compile during testing). Once again, copy the sources into the /tmp directory, and then unzip them:

 cp /usr/src/packages/SOURCES/kwintv-0.8.0.tar.bz2 /tmp
 cd /tmp
 bunzip2 kwintv-0.8.0.tar.bz2
 tar xfv kwintv-0.8.0.tar
 cd kwintv-0.8.0

An advance note: If the configuration or compilation fails, the problem might be missing libraries. The needed packages are qtdevel, qtlib and qtcompat from the xdev series, as well as the klibs and ksupp packages from the kde series. Next, we use the following configuration command:

 ./configure>conf.log

If the conf.log file now recognizes the devices, that is a very good sign ;-). (You can quickly check this with cat conf.log|grep lir). Now we use these compilation commands:

 make
 make install

and we are all done with this step.

7. Setting up kwintv

Start kwintv in the KDE, and then use Options --> IRC code bindings to assign keys to the functions (don't forget to select Save Options).

Have fun watching TV :-)

Further Information

* Reseller
* Reviews
* Support Database
* Hardware Database
* Education Program

Quick Links

* Security
* Support Portal
* Mailing Lists
* Feedback
* SUSE LINUX eNewsletter

Subscribe now!

Get the Live DVD and Run Linux in Seconds!

SUSE LINUX 9.1 Personal Live CD

Want a hassle-free way to try Linux? Download SUSE LINUX Professional 9.2 Live DVD. It runs completely from your DVD drive. No need to install anything.

 This server is powered by NPS.
Linux is a registered trademark of Linus Torvalds.
Last changed: 18.09.2003 14:54 MET DST by webmaster@suse.de