[mythtv] voodoo 3500 (very newbie)

Neil Trodden mythtv-dev@snowman.net
Fri, 13 Dec 2002 13:52:51 +0000

At 17:49 12/12/2002 -0600, you wrote:
>Yes please, I'm having gobs of 'fun' trying to sort this out.
>Besides being on my 5th linux install 3 RH, 2 Mandrake.
>Help me, please.

This is pretty much exactly what I did:

I got the bttv stable release 0.7.101 from http://bytesex.org/bttv/ and 
unpacked it using "tar zxf bttv-0.7.101.tar.gz" into my home directory.

There's no configure needed for bttv but you must have already either built 
a kernel before or have already run the kernel configure script. At the 
very least, cd to /usr/src/linux (or whatever the folder name is for your 
kernel sources) and do a "make menuconfig" then just exit and write the 
config file out when prompted.

Next, cd into the directory where you unpacked bttv and do a "make", 
follwed by a "make install". If you are not root at this point, look out 
for the prompt for the root password right at the end of the install process.

The bttv installation copies the newly compiled modules into the correct 
places and adds some entries to your kernel config file so next time you 
configure your kernel, you get the option to add in the bttv related modules.

Go back to /usr/src/linux and do a "make menuconfig". The options you need 
to enable are "Character Devices->I2C Support->I2C Support" & "Character 
Devices->I2C Support->I2C Bit-banging interfaces" - both as modules.

Then enable "Multimedia Devices->Video for linux" as a module and enable 
"Multimedia Devices->Video for linux->BT848 Video" as a module too.

Exit, save the config file and do a "make bzImage; make modules" then su to 
root and "make modules_install". Copy the bzImage file to your /boot/ 
directory (mine was in  /usr/src/linux/arch/i386/boot/bzImage)

At this point you should have the kernel modules that you need ready to go. 
You need to specify that these modules should be loaded at boot and you 
also need to pass some parameters to them. Go to the bttv folder you 
unpacked earlier and read the CARDLIST.orig and make a note of the card 
number you are using (I have card number 10 - a Hauppauge (bt878) which I 
checked with "cat /proc/pci | grep video").

I'm using gentoo linux which does module autoloading a bit different from 
Redhat or Mandrake so as far as I remember (for RH and Mandrake) you need 
to add the following to /etc/modules.conf:
# i2c
alias char-major-89     i2c-dev
options i2c-core        i2c_debug=1
options i2c-algo-bit    bit_test=1
# bttv
alias char-major-81     videodev
alias char-major-81-0   bttv
options bttv            card=10 radio=1         #change the card number here
options tuner           debug=1

Then add this to /etc/modules to autoload these modules:

..and that should do it. When you reboot, run dmesg and you should see some 
kernel messages like below:

i2c-core.o: i2c core module
i2c-algo-bit.o: i2c bit algorithm module
Linux video capture interface: v1.00
i2c-core.o: driver i2c TV tuner driver registered.
bttv: driver version 0.7.91 loaded
bttv: using 2 buffers with 2080k (4160k total) for capture
bttv: Host bridge is VIA Technologies, Inc. VT8367 [KT266]
bttv: Bt8xx card found (0).
bttv0: Bt878 (rev 17) at 00:0d.0, irq: 11, latency: 32, memory: 0xe3002000
bttv0: detected: Hauppauge WinTV [card=10], PCI subsystem ID is 0070:13eb
bttv0: using: BT878(Hauppauge (bt878)) [card=10,insmod option]
bttv0: Hauppauge/Voodoo msp34xx: reset line init [5]
i2c-algo-bit.o: Adapter: bt848 #0 scl: 1  sda: 1 -- testing...
i2c-algo-bit.o:1 scl: 1  sda: 0
i2c-algo-bit.o:2 scl: 1  sda: 1
i2c-algo-bit.o:3 scl: 0  sda: 1
i2c-algo-bit.o:4 scl: 1  sda: 1
i2c-algo-bit.o: bt848 #0 passed test.
tuner: probing bt848 #0 i2c adapter [id=0x10005]
tuner: chip found @ 0xc2
bttv0: i2c attach [client=(tuner unset),ok]
i2c-core.o: client [(tuner unset)] registered to adapter [bt848 #0](pos. 0).
i2c-core.o: adapter bt848 #0 registered as adapter 0.
bttv0: Hauppauge eeprom: model=44354, tuner=Philips FM1216 (5), radio=yes
tuner: type set to 5 (Philips PAL_BG (FI1216 and compatibles))
bttv0: i2c: checking for MSP34xx @ 0x80... found
i2c-core.o: driver i2c msp3400 driver registered.

Now Xawtv should run. I right-clicked after running it and set the Capture 
method to grab rather than overlay and then I got a picture but mythtv 
didn't need such a setting

There's a lot of detail here! If you still have problems, just drop me a 
line as I'm happy to help someone else avoid the hell this put me through!!

Neil Trodden