Flyvideo 3000 / saa7134 on RH 7.3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



I have the Flyvideo 3000 card working (for TV) successfully on Redhat 7.3. I used the archives for this list to assist in getting this far, so thanks to all who have contibuted. The biggest problem I found was that there wasn't a step by step instuction for getting it going. So here's a doco that does just that. If there is a FAQ in the making, maybe it this could be added to it if it is found useful and correct.

This is how I got the Flyvideo 3000 working, in the hope it will help someone else. Note, this is based on a clean kernel source install.

Download Kernel 2.4.19 and uncompress it in /usr/src

Make a link to the kernel source in /usr/src (This is needed for the patch)

	ln -s /usr/src/linux-2.4.19 linux-2.4.19-rc3

Download patch http://bytesex.org/patches/v4l2-api-2.4.19.diff

Apply patch

	patch -p0 < v4l2-api-2.4.19.diff

There should be no errors.

I cheated a bit as I had a bit of problem getting the right options selected during the kernel config stage. The standard Redhat 7.3 .config has all I need (and more) so I used it.

	cp /boot/config-2.4.18-3 /usr/src/linux-2.4.19/.config

You may want to configure some extras like processor type etc before you compile. Use one of the kernel config tools to do this. I used xconfig.


The next steps involve compiling the kernel. The method I use is basically the same as the INSTALL readme in the kernel source directory.

	make dep
	make bzImage
	make modules

Not sure why, but I had to make the directory /lib/modules/2.4.19 (as root) before the make install.

As root
	mkdir /lib/modules/2.4.19
	make install
	make modules_install

The make install also updates the grub.conf. Not sure if it does lilo.conf.

If there were no errors it is time to reboot onto the new kernel. If there were errors you will need to work them out before going any further. I found it was easier to delete every thing related to the new kernel if there were problems and start again. (Very frustrating as the kernel build does take a while). During the install process files are added to the /boot and /lib/modules/2.4.19 directories.

WARNING WARNING WARNING - If you are going to delete files, make sure you know what you are deleting.

Once you have rebooted onto the new kernel, check you system logs to make sure there are no problems. Does everything still work?

The check which kernel is running use the following.

	uname -a

Linux baz 2.4.19 #4 Sat Sep 21 07:56:04 EST 2002 i586 unknown

It should show the kernel version (2.4.19) and the date it was built (Sat Sep 21 07:56:04).

Now it is time to build the saa7134 module. Note, you need to running the patched kernel before compiling the module.

Download the module source

http://bytesex.org/saa7134/saa7134-0.1.10.tar.gz

Uncompress the source in /usr/src

To compile the module, I followed the instructions in the README in the source directory.

	make
As root
	make install

Resoleve any errors before going any further. Mine compiled with no errors. I needed to copy the modules into the /lib/modules/2.4.19/kernel/drivers/media/video directory. Not sure why, but I read somewhere in the list.

Save the original tuner module

As root
	cd /lib/modules/2.4.19/kernel/drivers/media/video/
	cp tuner.o tuner.o.orig

Copy the modules

As root
cp /lib/modules/2.4.19/v4l2/*.o /lib/modules/2.4.19/kernel/drivers/media/video/

You will need to check module dependencies. There should be no errors. If there are, you will need to resolve them.

	depmod -a

If all is well, the last step involves testing the setup.

I added the following to my /etc/modules.conf

	pre-install saa7134 modprobe -k tuner;modprobe -k tda9887
	post-remove saa7134 modprobe -r tuner;modprobe -r tda9887
	options saa7134 card=2 mixer_nr=2

You might need to play around with the options a bit. I needed to set the card (2 = Flyvideo 3000) and mixer options to get it going. I'm not sure what the other options are. Maybe someone could add them to this doco.

Now a modprobe -k saa7134

	modprobe -k saa7134

A lsmod should show the following as well as your other loaded modules.

	lsmod

	saa7134                56492   0  (autoclean)
	tda9887                 2656   0  (autoclean) (unused)
	tuner                  10468   1  (autoclean)
	video-buf              12172   0  (autoclean) [saa7134]
	i2c-core               18752   0  (autoclean) [saa7134 tda9887 tuner]
	videodev                7712   3  (autoclean) [saa7134]
	v4l1-compat            11588   0  (autoclean) [saa7134]
	v4l2-common             7936   0  (autoclean) [saa7134 v4l1-compat]

If you look in /var/log/messages you should see somethimg similar to this.


Sep 22 08:05:06 baz kernel: Linux video capture interface: v1.00
Sep 22 08:05:06 baz kernel: i2c-core.o: i2c core module
Sep 22 08:05:07 baz kernel: i2c-core.o: driver i2c TV tuner driver registered. Sep 22 08:05:07 baz kernel: i2c-core.o: driver i2c tda9887 driver registered.
Sep 22 08:05:07 baz kernel: saa7130/34: v4l2 driver version 0.1.9 loaded
Sep 22 08:05:07 baz kernel: PCI: Assigned IRQ 10 for device 00:08.0
Sep 22 08:05:07 baz kernel: saa7134[0]: found at 00:08.0, rev: 1, irq: 10, latency: 32, mmio: 0xd5400000 Sep 22 08:05:07 baz kernel: saa7134[0]: subsystem: 1131:0000, board: LifeView FlyVIDEO3000 [card=2,insmod option] Sep 22 08:05:07 baz kernel: tuner: probing saa7134[0] i2c adapter [id=0x90000]
Sep 22 08:05:07 baz kernel: saa7134[0]/irq: looping -- clearing enable bits
Sep 22 08:05:07 baz kernel: tuner: chip found @ 0xc2
Sep 22 08:05:07 baz kernel: i2c-core.o: client [Philips PAL_BG (FI1216 and compa] registered to adapter [saa7134[0]](pos. 0). Sep 22 08:05:07 baz kernel: tda9887: probing saa7134[0] i2c adapter [id=0x90000] Sep 22 08:05:07 baz kernel: i2c-core.o: adapter saa7134[0] registered as adapter 0.
Sep 22 08:05:07 baz kernel: saa7134[0]: Huh, no eeprom present (err=-5)?
Sep 22 08:05:07 baz sa7134:
Sep 22 08:05:07 baz kernel: saa7134[0]: registered device video0 [v4l2]
Sep 22 08:05:07 baz kernel: saa7134[0]: registered device vbi0
Sep 22 08:05:07 baz kernel: saa7134[0]: registered device radio0
Sep 22 08:05:07 baz kernel: saa7134[0]: registered device dsp1
Sep 22 08:05:07 baz kernel: saa7134[0]: registered device mixer2

I have put the following script into /etc/init.d

#!/bin/sh
# Startup script for saa7134 tv card (Flyvideo 3000)
#
# description:

# Source function library.
. /etc/rc.d/init.d/functions


prog="Flyvideo 3000 Driver"

start() {
    echo -n $"Starting $prog ....... "
    /sbin/modprobe -k saa7134 card=2 mixer_nr=2
    echo
}

stop() {
        echo -n $"Stopping $prog ....... "
    /sbin/modprobe -r saa7134
    echo
}

case "$1" in
        start)
            start
            ;;

        stop)
            stop
            ;;

        *)
            echo $"Usage: $0 {start|stop}"
            exit 1

esac

exit 0


You will need to set up the symbolic links in the various rc directories to load this driver on boot. I used ksysv to do this. There might be a better way to do load this module on boot but I don't know how.

Try it out using xawtv, I use xawtv and the tv works very well. I have been playing with the FM radio, but although I've had it working, it's not easily repeatable. More work needed there.


Hopefully I haven't missed anything. I trust this may be of some use to someone.


Cheers,

Barrie





[Index of Archives]     [Linux DVB]     [Video Disk Recorder]     [Asterisk]     [Photo]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Free Photo Albums]     [Fedora Users]     [Fedora Women]     [ALSA Users]     [ALSA Devel]     [Linux USB]

Powered by Linux