# Someone who has there bttv card working in 2.6 read this!

## Solution_9

I have been battling with linux for about 2 months now trying to get my ATI TV Wonder card to work. It works, except for the tuner part of it. I am using the kernel from www.kernel.org, and it is version 2.6.2. 

All i am asking is for someone who has there card working to please post all there files [/etc/modules.autoload.d/kernel-2.6, etc], the steps they took [what they compiled into the kernel], etc. I really dont know what todo right now. Im so lost, and i feel like i have tried everything  :Sad: .

Please, anyone, this is a desperate cry to watch TV while developing free software. Hehe.

----------

## dfuse

What exactly doesn't work with the tuner? Which program do you use for watching tv? (I recommend tvtime) I have a bttv card (Hauppage) and it doesn't differ from installing it in 2.4. I just compiled all bttv references in the kernelconfig into the kernel (not as a module) and it just worked. When I'm home I'll see if I can post more detailed info about the kernel config.

----------

## ronmon

I have the same card running with 2.6.5-rc2-mm5. All the drivers are built as modules, since you have to pass an option to the module for the tuner to work correctly. Otherwise, you get a black and white picture and all the channels are off by one.

For drivers, you need v4l, bttv, i2c_algo_bit and (optionally) snd_bt87x. Then, the last two lines of my /etc/modules.autoload.d/kernel-2.6 are:

```

tuner type=2

bttv card=63

```

I also like tvtime for viewing. It seems to work the best of the several apps I have tried. If you still have problems try a newer kernel.

----------

## brimstone

I merged the newest kernel (gentoo-dev-sources 2.6.5-gentoo-r1) whith this config-options, and all i have to do is a 'modprobe bttv' to get xawtv to find the device (pinacle pctv)

```

# I2C support

CONFIG_I2C=y

# I2C Algorithms

CONFIG_I2C_ALGOBIT=m

# Multimedia devices

CONFIG_VIDEO_DEV=y

# Video For Linux

# Video Adapters

CONFIG_VIDEO_BT848=m

CONFIG_VIDEO_TUNER=m

CONFIG_VIDEO_BUF=m

CONFIG_VIDEO_BTCX=m

CONFIG_VIDEO_IR=m

```

Hope it helps

[/code]

----------

## spamspam

my ATI TV Wonder VE didn't work under development-sources<=2.6.2 but did under development-sources >=2.6.3. Also be sure to compile in i2c and the audio capture driver under ALSA.

----------

## Solution_9

Maybe because im using 2.6.2 its not working. I have tried lower versions of 2.6 and the same thing happens, which is nothing  :Razz: . I will compile 2.6.5, and if it doesn't work i will post all of my config files, and maybe find out what im doing wrong.

----------

## Solution_9

I tried to get 2.6.5-gentoo-r1 to work, but it was freezing at boot. I tried 2.6.4-kernel-r2, and it worked, except for my tv tuner  :Sad: . Here is all my files that have things todo with my bttv card.

 KERNEL CONFIGURATION 

```

<M> I2C support 

<M>   I2C device interface

I2C Algorithms  --->

--- I2C bit-banging interfaces

<M>   I2C PCF 8584 interfaces

<M> Video For Linux 

--- Video Adapters 

<M>   BT848 Video For Linux

```

 dmesg | grep bttv 

```

bttv: driver version 0.9.12 loaded

bttv: using 8 buffers with 2080k (520 pages) each for capture

bttv: Bt8xx card found (0).

bttv0: Bt878 (rev 17) at 0000:02:0a.0, irq: 22, latency: 32, mmio: 0xf47fe000

bttv0: detected: ATI TV Wonder [card=63], PCI subsystem ID is 1002:0001

bttv0: using: ATI TV-Wonder [card=63,insmod option]

bttv0: gpio: en=00000000, out=00000000 in=00ffffff [init]

bttv0: using tuner=2

bttv0: i2c: checking for MSP34xx @ 0x80... found

bttv0: i2c: checking for TDA9875 @ 0xb0... not found

bttv0: i2c: checking for TDA7432 @ 0x8a... not found

bttv0: registered device video0

bttv0: registered device vbi0

bttv0: PLL: 28636363 => 35468950 .. ok

bttv0: PLL can sleep, using XTAL (28636363).

```

 dmesg | grep tuner 

```

bttv0: using tuner=2

tuner: chip found at addr 0xc0 i2c-bus bt878 #0 [sw]

tuner: type set to 2 (Philips NTSC (FI1236,FM1236 and compatibles)) by bt878 #0 [sw]

```

 lsmod 

```

Module                  Size  Used by

nvidia               1704108  6 

sg                     31776  0 

tuner                  18060  0 

msp3400                23188  0 

bttv                  144492  0 

video_buf              18052  1 bttv

i2c_algo_bit            9992  1 bttv

v4l2_common             6016  1 bttv

btcx_risc               5000  1 bttv

i2c_core               20100  4 tuner,msp3400,bttv,i2c_algo_bit

videodev                8832  1 bttv

```

 /etc/modules.autoload.d/kernel-2.6 

```

bttv card=63 tuner=2 # just a side note: i have tried variations of this.

```

This is all i have put in, and i have seen people with less get it working  :Razz: . So im stumped.

----------

## ronmon

The only thing I see different than my setup is the modules.autoload file. Each module must be on a separate line and mine only works when the tuner is loaded first.

----------

## Solution_9

Ya i have tried that too. It doesn't seem to work either.

----------

## Solution_9

// bump \\

ok so im using kernel 2.6.6 now, and same no workie from my bttv card. 

here is my lsmod again

```

 lsmod

Module                  Size  Used by

nvidia               2072904  12 

sg                     31136  0 

snd_seq_midi            7584  0 

snd_emu10k1_synth       7936  0 

snd_emux_synth         36608  1 snd_emu10k1_synth

snd_seq_virmidi         7040  1 snd_emux_synth

snd_seq_midi_emul       7808  1 snd_emux_synth

snd_emu10k1            93828  2 snd_emu10k1_synth

snd_rawmidi            21664  3 snd_seq_midi,snd_seq_virmidi,snd_emu10k1

snd_ac97_codec         61956  1 snd_emu10k1

snd_util_mem            4480  2 snd_emux_synth,snd_emu10k1

snd_hwdep               8480  2 snd_emux_synth,snd_emu10k1

snd_seq_oss            33664  0 

snd_seq_midi_event      7424  3 snd_seq_midi,snd_seq_virmidi,snd_seq_oss

snd_seq                53136  8 snd_seq_midi,snd_emux_synth,snd_seq_virmidi,snd_seq_midi_emul,snd_seq_oss,snd_seq_midi_event

snd_seq_device          7816  7 snd_seq_midi,snd_emu10k1_synth,snd_emux_synth,snd_emu10k1,snd_rawmidi,snd_seq_oss,snd_seq

snd_pcm_oss            49956  0 

snd_pcm                87968  2 snd_emu10k1,snd_pcm_oss

snd_page_alloc          9988  2 snd_emu10k1,snd_pcm

snd_timer              23428  2 snd_seq,snd_pcm

snd_mixer_oss          18816  1 snd_pcm_oss

snd                    47972  18 snd_seq_midi,snd_emux_synth,snd_seq_virmidi,snd_emu10k1,snd_rawmidi,snd_ac97_codec,snd_util_mem,snd_hwdep,snd_seq_oss,snd_seq_midi_event,snd_seq,snd_seq_device,snd_pcm_oss,snd_pcm,snd_timer,snd_mixer_oss

tuner                  18316  0 

msp3400                23188  0 

bttv                  146604  0 

video_buf              17796  1 bttv

i2c_algo_bit            9992  1 bttv

v4l2_common             6016  1 bttv

btcx_risc               5000  1 bttv

i2c_core               20100  4 tuner,msp3400,bttv,i2c_algo_bit

videodev                8704  1 bttv

```

could someone post there so i can compare them

----------

## JazzSax006

```
/etc/modules.autoload.d/kernel-2.6 

 

Code:

 bttv card=63 tuner=2 # just a side note: i have tried variations of this. 

 

 

 This is all i have put in, and i have seen people with less get it working . So im stumped.
```

Try changing this line to just "bttv" and then create a file /etc/modules.d/bttv with the following in it:

```

alias char-major-89 i2c-dev

options i2c-algo-bit bit_test=1

alias char-major-81 bttv

options bttv card=63

options tuner type=2

post-install bttv modprobe tuner; modprobe videodev

```

Then run:

```
# modules-update
```

and reboot.

This is assuming that those are the correct vard and tuner numbers.  I dunno if this is the case as my card is a pinnacle card.

----------

## Solution_9

That does not work either. Im really in a stump here  :Sad: .

----------

## waxor

Not sure if this will help you, but the later TV Wonder cards (the Pro at least), use the CX88 driver, not the BTTV driver.

----------

## Solution_9

Well i had it working before, and everything works BUT the tuner part.

----------

## shakti

I have it working with latest love sources. I have BT878 support built into my kernel, it gets detected perfectly at boot.

here is my config:

http://www.youhavechoice.com/config

----------

## Solution_9

I tried the latest love sources [2.6.6], but it still never worked. I never had it built in to my kernel though.

Update:

With using everything that your kernel config shows, except for bttv as a module, it still does not work. I have no clue what to do anymore  :Sad: .

----------

## kraddler2003

just thought id add my  1 cent.   I have the same card.Bought it about 3 months ago.

I pass on these options in the /etc/modules.autoload.d.........

 options    bttv    radio=0    card=64

 options    tuner  type=17

I use these options and my tv card works fine  ..if you use TVtime  you should have RTC enabled in your kernel......

If you look at bttv documents you will see that the ati tv wohder uses card=64

and by default linux  sets the tuner at type=19..wich is pal...type=17 is ntsc

----------

## Solution_9

I have always been setting it to type 2. Thats what i have alwayss seen. I will try it and get back to you.

----------

## Solution_9

Changing the tuner type to 17 does not work. It is NTSC, but its like NTSC_M. Whatever that is.

My config is at http://8dn.com/~bmilleker/_OTHER/.config

----------

## shakti

why dont you try build in instead of mudule ?

----------

## Solution_9

I cant because it detects the tuner wrong. It sets it too 19, which is pal.

----------

## shakti

ok, but cant you change tv norm with tv-viewer? i can.

----------

## shakti

When my box boots up it also detects my tv-wonder with pal:

```

bttv: driver version 0.9.14 loaded

bttv: using 8 buffers with 2080k (520 pages) each for capture

bttv: Bt8xx card found (0).

bttv0: Bt878 (rev 2) at 0000:01:06.0, irq: 11, latency: 32, mmio: 0xd0001000

bttv0: detected: ATI TV Wonder [card=63], PCI subsystem ID is 1002:0001

bttv0: using: ATI TV-Wonder [card=63,autodetected]

bttv0: gpio: en=00000000, out=00000000 in=00ffffff [init]

bttv0: using tuner=19

bttv0: i2c: checking for MSP34xx @ 0x80... found

bttv0: i2c: checking for TDA9875 @ 0xb0... not found

bttv0: i2c: checking for TDA7432 @ 0x8a... not found

bttv0: registered device video0

bttv0: registered device vbi0

bttv0: PLL: 28636363 => 35468950 .. ok

msp34xx: init: chip=MSP3445G-B8 +nicam +simple +radio

msp3410: daemon started

tvaudio: TV audio decoder + audio/video mux driver

tvaudio: known chips: tda9840,tda9873h,tda9874h/a,tda9850,tda9855,tea6300,tea6420,tda8425,pic16c54 (PV951),ta8874z

cx2388x v4l2 driver version 0.0.3 loaded

tuner: chip found at addr 0xc0 i2c-bus bt878 #0 [sw]

tuner: type set to 19 (Temic PAL* auto (4006 FN5)) by b

t878 #0 [sw]

```

but all i got to do is change it with the app i am watching tv with... no problem there for me, so humor me and try it.

----------

## Deathwing00

Moved from Multimedia.

----------

## Solution_9

It does not work.

----------

## mohdtaha

hey i dont know if u solved the problem yet ... but try this

if u do an lsmod u should have atleast these

```

snd_bt87x               7876  0

tuner                  14476  0

msp3400                19092  0

bttv                  125932  0

video_buf              11780  1 bttv

i2c_algo_bit            7944  1 bttv

v4l2_common             4096  1 bttv

btcx_risc               3336  1 bttv

i2c_core               12932  4 tuner,msp3400,bttv,i2c_algo_bit

videodev                5632  1 bttv

```

if u dont then u should add them in the kernel

then u should type the following ... my card is the ati tv wonder PCI

```
rmmod tuner

modprobe tuner type=2

rmmod bttv

modprobe bttv card=63

```

run tvtime , if u get a message sayin that it could not open /dev/v4l/video

then u need to change the permissions on the file 

if this works out .. then add them to ur /etc/modules.autoload.d/kernel-2.6

try this and tell me what happens

good luck

----------

## Solution_9

That never worked. Here is my lsmod:

```

Module                  Size  Used by

sd_mod                 14112  1 

usb_storage            27776  1 

nvidia               1704108  10 

vmnet                  30736  6 

vmmon                  89824  5 

snd_seq_oss            34432  0 

snd_seq_midi_event      7424  1 snd_seq_oss

snd_seq                56208  4 snd_seq_oss,snd_seq_midi_event

snd_seq_device          7816  2 snd_seq_oss,snd_seq

snd_pcm_oss            50212  0 

snd_pcm                90272  1 snd_pcm_oss

snd_page_alloc         10372  1 snd_pcm

snd_timer              24324  2 snd_seq,snd_pcm

snd_mixer_oss          18944  1 snd_pcm_oss

snd                    49380  8 snd_seq_oss,snd_seq_midi_event,snd_seq,snd_seq_device,snd_pcm_oss,snd_pcm,snd_timer,snd_mixer_oss

serport                 4096  0 

msp3400                23188  0 

bttv                  144492  0 

i2c_algo_bit            9992  0 

tuner                  18060  0 

btcx_risc               5000  1 bttv

video_buf              18052  1 bttv

tvaudio                21388  0 

i2c_core               20153  1 

```

----------

## mohdtaha

the problem is .. why ur i2c's arent all with the i2c core u did something wrong when u added ur modules .. remove all of them and then add them in starting with i2c-core ...

----------

## Solution_9

I did what you suggested and still no dice. My dmesg is now:

```

Module                  Size  Used by

sg                     31776  0 

vmnet                  30736  4 

vmmon                  89824  0 

snd_seq_midi            7712  0 

snd_emu10k1_synth       7936  0 

snd_emux_synth         37504  1 snd_emu10k1_synth

snd_seq_virmidi         7040  1 snd_emux_synth

snd_seq_midi_emul       7808  1 snd_emux_synth

snd_emu10k1            95236  2 snd_emu10k1_synth

snd_rawmidi            22176  3 snd_seq_midi,snd_seq_virmidi,snd_emu10k1

snd_ac97_codec         60420  1 snd_emu10k1

snd_util_mem            4480  2 snd_emux_synth,snd_emu10k1

snd_hwdep               8736  2 snd_emux_synth,snd_emu10k1

snd_seq_oss            34432  0 

snd_seq_midi_event      7424  3 snd_seq_midi,snd_seq_virmidi,snd_seq_oss

snd_seq                56208  8 snd_seq_midi,snd_emux_synth,snd_seq_virmidi,snd_seq_midi_emul,snd_seq_oss,snd_seq_midi_event

snd_seq_device          7816  7 snd_seq_midi,snd_emu10k1_synth,snd_emux_synth,snd_emu10k1,snd_rawmidi,snd_seq_oss,snd_seq

snd_pcm_oss            50212  0 

snd_pcm                90272  2 snd_emu10k1,snd_pcm_oss

snd_page_alloc         10372  2 snd_emu10k1,snd_pcm

snd_timer              24324  2 snd_seq,snd_pcm

snd_mixer_oss          18944  1 snd_pcm_oss

snd                    49380  18 snd_seq_midi,snd_emux_synth,snd_seq_virmidi,snd_emu10k1,snd_rawmidi,snd_ac97_codec,snd_util_mem,snd_hwdep,snd_seq_oss,snd_seq_midi_event,snd_seq,snd_seq_device,snd_pcm_oss,snd_pcm,snd_timer,snd_mixer_oss

tuner                  18060  0 

bttv                  144492  0 

i2c_algo_bit            9992  1 bttv

soundcore               8800  2 snd,bttv

btcx_risc               5000  1 bttv

video_buf              18052  1 bttv

videodev                8832  1 bttv

v4l2_common             6016  1 bttv

tvaudio                21388  0 

msp3400                23188  0 

i2c_core               20100  5 tuner,bttv,i2c_algo_bit,tvaudio,msp3400

serport                 4096  0 

nvidia               1704108  10
```

----------

## shakti

For me it works using hotplug and my modules.autoload is empty.

----------

## Solution_9

hotplug?

----------

## shakti

hotplug scans pci bus and autoloads modules as needed, so no /etc/modules.autoload/kernelx.x.x

emerge -s hotplug

----------

## mohdtaha

hey .. can u show us the output when u type lspci to check if the card is being detected

```
 lspci 
```

----------

## mohdtaha

ok im not sure what ur doin wrong .. i just re installed linux last night .. and i just got my video to work again ... 

u must be doin something wrong ... not sure exactly what ... but try removing them all and then add them just like my list .. and then u should have a video0 in ur /dev directory ... emerge tvtime .. and u should be able to view cable

that's what i did .. and i got it 

good luck

----------

