# ASUS TV/Radio tuner problem??

## juppe22

I have ASUS card and I have tried to get it working, but It won't work...

I have newest stable gentoo-sources and use Gnome.

Somebody tell me what modules I have to build on kernel for tv-cards??

And then what program I need to listen radio and watch TV??

----------

## cato`

Read the docs in /usr/src/linux/Documentation/video4linux/bttv

tvtime is my prefered TV-program

----------

## qwkbrnfox

This is likely a bt848 chipset.  In your kernel config, check that 'Multimedia devices'->'Video for Linux' is either Y or M.  Then goto 'Video for Linux' menu and select 'bt848 Video for Linux' Y or M.  Do the old recompile the kernel thing (unless they where already selected, of course).

You also need some i2c stuff enabled in the kernel.  This is in 'character devices'->'I2C support'.  Turn on 'i2c support', 'i2c bit banging', and 'i2c in /proc'.  Again either 'Y' or 'M' is fine

Then, if you used 'Y' for either, reboot.  If you used modules then you should just be able to load them with 

```
modprobe i2c-core i2c-algo-bit videodev bttv
```

.  Hopefully that went smoothly.

xawtv is a pretty standard and reasonably simple tv-watching program.  'emerge xawtv' should load it up.  Follow the documentation to setup xawtv.  It's reasonably straightforward, but if you have a problem, ask away!

ps, I just remembered that there are two modules created with the 'bt848' option - bttv and tuner.  If you use 'modprobe bttv' it will automatically load tuner.  However, you may need to adjust the tuner settings.  Check out http://www.faqs.org/docs/Linux-mini/BTTV.html for info on what you may need to do.

Good luck...watching tv on a computer is great!  If you get this going, mythtv is something to look at to!

----------

## juppe22

Thank you answers, but i don't have bt848 Video for Linux under Video for Linux...i2c stuff found under I2C support...What I have to do?? Patch or change kernel??

----------

## qwkbrnfox

 *juppe22 wrote:*   

> Thank you answers, but i don't have bt848 Video for Linux under Video for Linux...i2c stuff found under I2C support...What I have to do?? Patch or change kernel??

 

Hmm, I've never used the gentoo sources.  It could be that they don't allow the bttv module, maybe because of low-latency patches used?  You could try the vanilla 2.4.22 kernel instead.

----------

## juppe22

Sorry...problem solved! first have to enable i2c stuff and go back to Video for Linux and then there is bttv848 and much more options...thanks...

----------

## juppe22

More problems...

```

root@gentoo root # modprobe bttv

/lib/modules/2.4.20-gentoo-r7/kernel/drivers/media/video/bttv.o: init_module: No such device

Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters.

      You may find more information in syslog or the output from dmesg

/lib/modules/2.4.20-gentoo-r7/kernel/drivers/media/video/bttv.o: insmod /lib/modules/2.4.20-gentoo-r7/kernel/drivers/media/video/bttv.o failed

/lib/modules/2.4.20-gentoo-r7/kernel/drivers/media/video/bttv.o: insmod bttv failed

root@gentoo root #

```

Any help??

----------

## qwkbrnfox

Uh oh.  Sounds like you don't actually have a bt8x8 device.  Can you pull the card and find the number on the major chipset?  It could be saa7xxx.  Maybe the name of the card would be useful, too.  Google for the name to see if you can figure out the driver.  The upside is, if it's one of saa7xxx series, it's a pretty quality card!

----------

## juppe22

It is ASUS TV FM Card TV7134. It is saa7133 and saa7134 series...

Now I have modprobed 

```

modprobe i2c-core i2c-algo-bit videodev saa7134

```

and emerge xawtv I try to start xawtv but get only segfault error and if try start xawtv -c /dev/v4l/video0 I can't found any tv channel...Have to I configure some settings before try use xawtv??

----------

## qwkbrnfox

That's interesting.  I imagine that you are using a 2.6.0 kernel?  Good thing, I don't think the saa7134 driver is in the 2.4 series.  I don't have it at least is 2.4.22 vanilla.

It sounds like you are really close, you just need to set up the channels, and maybe the tuner type.  For the latter, it will depend on what version of the saa7134 driver you have.  Can you do a 

```
grep -i asus /usr/src/linux/drivers/media/video/saa7134/*
```

to see if anything shows up?  If you get something that looks like/home/todd/saa7134-0.2.8/saa7134-cards.c:       [SAA7134_BOARD_ASUSTeK_TVFM7134] = {

/home/todd/saa7134-0.2.8/saa7134-cards.c:                .name           = "ASUS TV-FM 7134",

/home/todd/saa7134-0.2.8/saa7134-cards.c:                .subvendor    = PCI_VENDOR_ID_ASUSTEK,

/home/todd/saa7134-0.2.8/saa7134-cards.c:                .driver_data  = SAA7134_BOARD_ASUSTeK_TVFM7134,

/home/todd/saa7134-0.2.8/saa7134-cards.c:                .subvendor    = PCI_VENDOR_ID_ASUSTEK,

/home/todd/saa7134-0.2.8/saa7134-cards.c:                .driver_data  = SAA7134_BOARD_ASUSTeK_TVFM7134,

/home/todd/saa7134-0.2.8/saa7134.h:#define SAA7134_BOARD_ASUSTeK_TVFM7134 16

then you probably won't have to monkey with module parameters.  If you *don't* then when you load the module, try

```
modprobe saa7134 tuner=38
```

That's a bit of a shot in the dark.  In fact, you may need to try other tuner settings.  Or it may be easier to copy a new version of the driver into your kernel directory.

For setting the channels, try using scantv.  This is bundled with xawtv and will pick out your active channels.  You should set the norm (depending on where you live - if you don't know, ask), and maybe use the -a option.

Let us know how this goes!

----------

## juppe22

I use gentoo-sources-r7... I patch my kernel with http://bytesex.org/saa7134/ patch...

now I can modprobe saa7134, but maeby it's not working...

Here is my lsmod output

```

Module                  Size  Used by    Tainted: P

tda9887                 3136   1  (autoclean)

tuner                  10888   1  (autoclean)

saa7134                63736   0  (unused)

video-buf              11568   0  [saa7134]

v4l1-compat            11784   0  [saa7134]

v4l2-common             2912   0  [saa7134]

videodev                6496   3  [saa7134]

i2c-algo-bit            8296   0  (unused)

i2c-core               16200   0  [tda9887 tuner saa7134 i2c-algo-bit]

sg                     30172   0  (autoclean) (unused)

sr_mod                 18520   0  (autoclean) (unused)

sd_mod                 11212   0  (autoclean) (unused)

scsi_mod               90112   3  (autoclean) [sg sr_mod sd_mod]

ide-cd                 30760   0  (autoclean)

cdrom                  29856   0  (autoclean) [sr_mod ide-cd]

ip_conntrack_irc        3440   0  (unused)

ip_nat_ftp              3600   0  (unused)

ip_conntrack_ftp        4624   1  [ip_nat_ftp]

iptable_nat            18694   1  (autoclean) [ip_nat_ftp]

ipt_LOG                 3544   5  (autoclean)

ipt_state                568   6  (autoclean)

ip_conntrack           23904   4  (autoclean) [ip_conntrack_irc ip_nat_ftp ip_conntrack_ftp iptable_nat ipt_state]

iptable_filter          1740   1  (autoclean)

iptable_mangle          2168   0  (autoclean) (unused)

ip_tables              13504   7  [iptable_nat ipt_LOG ipt_state iptable_filter iptable_mangle]

snd-pcm-oss            39812   0  (unused)

snd-mixer-oss          13688   1  [snd-pcm-oss]

snd-intel8x0           20484   1  (autoclean)

snd-ac97-codec         43704   0  (autoclean) [snd-intel8x0]

snd-pcm                67840   0  (autoclean) [snd-pcm-oss snd-intel8x0]

snd-page-alloc          6996   0  (autoclean) [snd-intel8x0 snd-pcm]

snd-mpu401-uart         4000   0  (autoclean) [snd-intel8x0]

snd-rawmidi            15232   0  (autoclean) [snd-mpu401-uart]

snd-seq-oss            31200   0  (unused)

snd-seq-midi-event      4064   0  [snd-seq-oss]

snd-seq                42224   2  [snd-seq-oss snd-seq-midi-event]

snd-timer              16548   0  [snd-pcm snd-seq]

snd-seq-device          4452   0  [snd-rawmidi snd-seq-oss snd-seq]

snd                    34500   0  [snd-pcm-oss snd-mixer-oss snd-intel8x0 snd-ac97-codec snd-pcm snd-mpu401-uart snd-rawmidi snd-seq-oss snd-seq-midi-event snd-seq snd-timer snd-seq-device]

soundcore               4612   6  [saa7134 snd]

usbcore                42980   0  (unused)

nvidia               1632288  11

8139too                16328   1

mii                     2560   0  [8139too]

```

but grep -i asus /usr/src/linux/drivers/media/video/saa7134/*

grep: /usr/src/linux/drivers/media/video/saa7134/*: No such file or directory

I don't know what I have to do...

----------

## qwkbrnfox

If you applied the patch recently, it should have the ASUS card listed, so just try using scantv to see if it can pick the channels up.  Then, if that looks like it worked, try xawtv -c /dev/v4l/video0.  Hopefully, watch the Simpsons!

----------

## juppe22

scan tv found channel, but I get only black screen...I add my channels with channel editor, but xawtv output look like this...

```

ioctl: VIDIOC_TRY_FMT(type=VIDEO_OVERLAY;fmt.win.w.left=11;fmt.win.w.top=105;fmt.win.w.

width=384;fmt.win.w.height=288;fmt.win.field=ANY;fmt.win.chromakey=0;fmt.win.clips=(nil);fmt.win.clipcount=0;fmt.win.bitmap=(nil)): Invalid argument

ioctl: VIDIOC_S_FMT(type=VIDEO_OVERLAY;fmt.win.w.left=11;fmt.win.w.top=105;fmt.win.w.

width=384;fmt.win.w.height=288;fmt.win.field=ANY;fmt.win.chromakey=0;fmt.win.clips=0x80b9bac;fmt.win.clipcount=0;fmt.win.bitmap=(nil)): Invalid argument

ioctl: VIDIOC_OVERLAY(int=0): Invalid argument

v4l2: read: Input/output error

```

----------

## qwkbrnfox

The fact that scantv found a channel is a good sign.  I'm not exactly sure what the problem is - it almost looks like the video overlay that xawtv is trying to use is broken.  Try 'xawtv -c /dev/v4l/video0 -noxv' or 'xawtv -c /dev/v4l/video0 -fb'.  Read the xawtv man page for other ideas.  I'm feeling in the dark a bit here.

Does xine or mplayer work ok on your machine?  You could try to record with mencoder to see if it can record - then you won't be fighting with the video overlay stuff.  Check out the mencoder man page for an example of how to record.

Again, I could be totally wrong about this - it may be a different problem!   :Wink: 

----------

