# setting up pixelview bt878 tuner

## Adel Ahmed

I've installed my old pixelview bt878, I'm looking for information on how to setup this tv tuner on gentoo, But it's confusing so far, it includes this 'bttv' module that I cannot find in my kernel sources(linux-3.12.21-gentoo-r1

please help me find this module or whichever module that can make this work

----------

## depontius

I ran one of those, way back when I first started running MythTV.  It got retired in favor of a pair of hvr-1600s, which then got retired in favor of an HD HomeRun Prime.

I remember it being a bit of a mess to get running.  It's not the bt8x8 chip itself, it's the attached tuner that's the problem.  You need to find out what kind of tuner module you've got on the card, and then pick the right support for that.  To be honest, at this point I don't remember if it was a kernel config item, a module parameter of some sort, or both.  In addition, one of the bits was wrong for my card, and every time I rebuilt the kernel I had to go tweak the source code slightly.  I believe that without the tweak I lost UHF channels, or something like that.  Basically at the time it was "SciFi", these days "SyFy" wouldn't be such a loss.

I'm sorry I can't help more.  I'll take a look at the source tree and see if it jogs my memory any.  That particular system is down at the moment, on the way to being retired, so I can't even look on the hard drive for tweak files.  When I was doing this there were plenty of resources on the web, though at the moment I don't even remember how I searched.  One of those resources was a web site pretty much dedicated to OSS video capture drivers.

Where are you getting an NTSC signal, these days?

----------

## NeddySeagoon

blakdeath,

Those bt878 are in two sorts. Those where you can get the sound working via PCI and those where you can't.

There was no standard way to wire the sound to the PCI interface so each card needed to be reverse engineered

Audio out of the jack and into the line input on the sound card works. 

You need 

```
BT848 Video For Linux (VIDEO_BT848)

CONFIG_VIDEO_BT848:

Support for BT848 based frame grabber/overlay boards. This includes

the Miro, Hauppauge and STB boards. Please read the material in

<file:Documentation/video4linux/bttv/> for more information.

To compile this driver as a module, choose M here: the

module will be called bttv.

Symbol: VIDEO_BT848 [=n]

Type : tristate

Prompt: BT848 Video For Linux

Location:

-> Device Drivers

-> Multimedia support (MEDIA_SUPPORT [=m])

-> Media PCI Adapters (MEDIA_PCI_SUPPORT [=n])

Defined at drivers/media/pci/bt8xx/Kconfig:1

Depends on: MEDIA_SUPPORT [=m] && MEDIA_PCI_SUPPORT [=n] && (MEDIA_ANALOG_TV_SUPPORT [=n] || MEDIA_DIGITAL_TV_SUPPORT [=y]) && VIDEO_DEV [=m] && PCI [=y] && I2C [=y] && VIDEO_V4L2 [=m] && RC_CORE [=n]

Selects: I2C_ALGOBIT [=y] && VIDEO_BTCX [=n] && VIDEOBUF_DMA_SG [=n] && VIDEO_TUNER [=n] && VIDEO_TVEEPROM [=n] && VIDEO_MSP3400 [=n] && VIDEO_TVAUDIO [=n] && VIDEO_TDA7432 [=n] && VIDEO_SAA6588 [=n]
```

and if you are lucky,  

```
Bt87x Audio Capture (SND_BT87X)

CONFIG_SND_BT87X:

If you want to record audio from TV cards based on

Brooktree Bt878/Bt879 chips, say Y here and read

<file:Documentation/sound/alsa/Bt87x.txt>.

To compile this driver as a module, choose M here: the module

will be called snd-bt87x.

Symbol: SND_BT87X [=n]

Type : tristate

Prompt: Bt87x Audio Capture

Location:

-> Device Drivers

-> Sound card support (SOUND [=y])

-> Advanced Linux Sound Architecture (SND [=m])

-> PCI sound devices (SND_PCI [=y])

Defined at sound/pci/Kconfig:171

Depends on: SOUND [=y] && !M68K && !UML && SND [=m] && SND_PCI [=y]

Selects: SND_PCM [=m]
```

Unless things have changed, tuners are not auto detected but there will be (or was) a sticker on the RF box on your card that will tell about the tuner.

With bttv loaded, there may even be a few hints in dmesg.

Unless things have changed, tuners are not auto detected but there will be (or was) a sticker on the RF box on your card that will tell about the tuner.

With bttv loaded, there may even be a few hints in dmesg.

The Phillips tuners, which were popular in the UK, have  for example,

```
Prompt: TDA 8290/8295 + 8275(a)/18271 tuner combo

Location:

-> Device Drivers

-> Multimedia support (MEDIA_SUPPORT [=m])

-> Customize TV tuners

Defined at drivers/media/tuners/Kconfig:29

Depends on: (MEDIA_ANALOG_TV_SUPPORT [=n] || MEDIA_DIGITAL_TV_SUPPORT [=y] || MEDIA_RADIO_SUPPORT [=n]) && MEDIA_SUPPORT [=m] && I2C [=y]
```

The Depends on must evaluate to true, or the option will be hidden in menuconfig

----------

## Adel Ahmed

thing is here's bt848:

http://oi58.tinypic.com/1y5s2r.jpg

I still can't find bt848:

http://oi60.tinypic.com/2vjsoeg.jpg

thanks

----------

## NeddySeagoon

blakdeath,

The boolean equation below needs to evaluate to true or the option will be hidden.

```
Depends on: MEDIA_SUPPORT [=m] && MEDIA_PCI_SUPPORT [=n] && (MEDIA_ANALOG_TV_SUPPORT [=n] || \

            MEDIA_DIGITAL_TV_SUPPORT [=y]) && VIDEO_DEV [=m] && PCI [=y] && I2C [=y] && VIDEO_V4L2 [=m] && RC_CORE [=n]]
```

make xconfig is easier to use for tracking down dependencies of hidden options, since it can show all the hidden things too.

----------

## Adel Ahmed

thing is I have all the dependencies built in or modularized, and I still can't see that option

unfortunately I cannot use xconfig because I don't have qt3 support

----------

## NeddySeagoon

blakdeath,

Its there but ...

```
───────────────────────────────── Media PCI Adapters ──────────────────────────────────┐

  │  Arrow keys navigate the menu.  <Enter> selects submenus ---> (or empty submenus      │  

  │  ----).  Highlighted letters are hotkeys.  Pressing <Y> includes, <N> excludes, <M>   │  

  │  modularizes features.  Press <Esc><Esc> to exit, <?> for Help, </> for Search.       │  

  │  Legend: [*] built-in  [ ] excluded  <M> module  < > module capable                   │  

  │ ┌───────────────────────────────────────────────────────────────────────────────────┐ │  

  │ │      --- Media PCI Adapters                                                       │ │  

  │ │            *** Media capture support ***                                          │ │  

  │ │            *** Media capture/analog TV support ***                                │ │  

  │ │      < >   Conexant cx23416/cx23415 MPEG encoder/decoder support (NEW)            │ │  

  │ │      < >   Zoran ZR36057/36067 Video For Linux (NEW)                              │ │  

  │ │      < >   Hexium Gemini frame grabber (NEW)                                      │ │  

  │ │      < >   Hexium HV-PCI6 and Orion frame grabber (NEW)                           │ │  

  │ │      < >   Siemens-Nixdorf 'Multimedia eXtension Board' (NEW)                     │ │  

  │ │            *** Media capture/analog/hybrid TV support ***                         │ │  

  │ │      < >   Conexant cx23418 MPEG encoder support (NEW)                            │ │  

  │ │      < >   Conexant cx23885 (2388x successor) support (NEW)                       │ │  

  │ │      < >   Conexant cx25821 support (NEW)                                         │ │  

  │ │      < >   Conexant 2388x (bt878 successor) support (NEW)                         │ │  

  │ │      < >   BT848 Video For Linux (NEW)                                        <- │ │  

  │ │      < >   Philips SAA7134 support (NEW)                                          │ │  

  │ │      < >   NXP SAA7164 support (NEW)                                              │ │  

```

The Depends on OR doesn't seem to work.  That will be a kernel bug.

I now have  

```
Depends on: MEDIA_SUPPORT [=m] && MEDIA_PCI_SUPPORT [=y] && (MEDIA_ANALOG_TV_SUPPORT [=y] || MEDIA_DIGITAL_TV_SUPPORT [=y]) && VIDEO_DEV [=m] && PCI [=y] && I2C [=y] && VIDEO_V4L2 [=m] && RC_CORE [=m]  
```

----------

## Adel Ahmed

well I've selected both dependencies in the or statement and I still cannot find that option in make menuconfig

----------

## NeddySeagoon

blakdeath,

menuconfig has an option to show all symbols that have a prompt.

Long story short press z to toggle the feature on and off. Symbols you cannot select look like this

```
  │ │    - - PC-style hardware                                                  │ │  

  │ │    - -   Multi-IO cards (parallel and serial)                             │ │  

  │ │    - -   Use FIFO/DMA if available                                        │ │  

  │ │    - -   SuperIO chipset support                                          │ │  

  │ │    - -   Support for PCMCIA management for PC-style ports                 │ │  

  │ │    - - SGI IP32 builtin port                                              │ │  

  │ │    - - Amiga builtin port                                                 │ │  

  │ │    - - Multiface III parallel port                                        │ │  

  │ │    - - Atari hardware                                                     │ │  

  │ │    - - Sparc hardware                                                     │ │  

  │ │    - - AX88796 Parallel Port                                              │ │  

  │ │    - - IEEE 1284 transfer modes 
```

However, you can choose them and read the help and the Depends on

----------

## Adel Ahmed

that was a long needed option, this will be very useful

even when I enable that option, I cannot find the video_bt848 under media pci adapters

----------

## NeddySeagoon

blakdeath,

Ouch!

Pastebin your .config file.  I'll drop it into the source tree and have a look.

----------

## Adel Ahmed

http://pastebin.com/BLjBbZdM

thanks

----------

## NeddySeagoon

blakdeath, 

WFM http://bpaste.net/show/540845/

You did not have the menu item selected, so could not go into the menu.

BT848 is on in that pastebin.  Yon way not like the mix of modules and built ins I have selected.

To see what I have done, diff my pastebin and yours.

----------

## Adel Ahmed

diffing both files resulted in so many differences, is this necessary? shouldn't I get the module in menu config as soon as I satisfy its dependencies?

----------

## NeddySeagoon

blakdeath,

Yes you should.  All I did was to get the kernel sources for your .config.

Put your .config file in and run make oldconfig.

oldconfig did nothing but it proved that you have not been using $EDITOR on the .config.

After that, I turned on the dependancies, then BT484 itself.

I suppose a lot of the diffs are a result of turning on menus.  The entire content of these menus will now be in the .config

----------

## Adel Ahmed

I'm trying to restore my old kernel, so I copied the file I posted earlier to .config but I get a different kernel I'm unable to boot form(and that is much larger than my old kernel)

any tips?

----------

## NeddySeagoon

blakdeath,

If you are migrating a .config between kernels, you must run make oldconfig to turn the incoming .config file into a legal .config file for the kernel you wish to build.  This applies to upgrades and downgrades.

When you boot your old kernel, does /proc/config.gz exist?

Thats its config file compressed with gzip.

----------

## Adel Ahmed

well I've tried make old config it produces hte same result

unforntunately I have disabled that option in the old kernel

very strange, I'm positive raid was enabled in the old kernel, I can try enabling that but the kernel is 25% larger(when I tried out oldconfig)

----------

## cjubon

bt848 has gone, afaik.

Just enable 

```
<M> Multimedia support

>>>   [*] Analog TV support

>>>   [*] AM/FM radio ... support

```

and under

```
encoder, decoder and other helper chips -->

>>>   <M> Micronas MSP34xx audio decoders

>>>   <M> Philips SAA7111/3/4/5 video decoders

>>>   <M> Philips SAA7127/9 digital video encoders

```

SAA7111/3/4/5 replaces bt848.

Under 'customize tv tuners' you may need

```
<M> NXP TDA18721 silicon tuner
```

These settings are for PVR 350 && kernel 3.14.4-ck

Regards, cjubon

----------

## NeddySeagoon

cjubon,

Its still in my 3.16.x

Press 'z' in menuconfig to see it, or use xconfig, so you can see all the hidden options.

----------

