AVerMedia Cardbus E500
From LinuxTVWiki
m |
m |
||
| Line 7: | Line 7: | ||
To make is work, I did the following: | To make is work, I did the following: | ||
| - | 1. Got the (almost) latest kernel from www.kernel.org (2.6.12-rc1) with support for tda8290 | + | 1. Got the (almost) latest kernel from www.kernel.org (2.6.12-rc1) with support for tda8290 75. |
2. In saa7134-cards.c I replaced the the board config entry for this card with the following: | 2. In saa7134-cards.c I replaced the the board config entry for this card with the following: | ||
| Line 60: | Line 60: | ||
Mar 28 21:57:55 localhost kernel: saa7134[0]: board init: gpio is effffff | Mar 28 21:57:55 localhost kernel: saa7134[0]: board init: gpio is effffff | ||
Mar 28 21:57:56 localhost kernel: tuner 0-004b: chip found @ 0x96 (saa7134[0]) | Mar 28 21:57:56 localhost kernel: tuner 0-004b: chip found @ 0x96 (saa7134[0]) | ||
| - | Mar 28 21:57:56 localhost kernel: tuner 0-004b: tuner: type set to tda8290 | + | Mar 28 21:57:56 localhost kernel: tuner 0-004b: tuner: type set to tda8290 75 |
Mar 28 21:57:56 localhost kernel: saa7134[0]: i2c eeprom 00: 61 14 ee d6 ff ff ff ff ff ff ff ff ff ff ff ff | Mar 28 21:57:56 localhost kernel: saa7134[0]: i2c eeprom 00: 61 14 ee d6 ff ff ff ff ff ff ff ff ff ff ff ff | ||
Mar 28 21:57:56 localhost kernel: saa7134[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff | Mar 28 21:57:56 localhost kernel: saa7134[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff | ||
| Line 94: | Line 94: | ||
After compiling and loading the module saa7134, the commands: | After compiling and loading the module saa7134, the commands: | ||
| - | tvtime --mixer=/dev/mixer:vol | + | tvtime --mixer=/dev/mixer:vol |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
Revision as of 18:01, 18 April 2007
I have an AverMedia Cardbus (E500) which works fine with Windows XP. In recent 2.6.11 kernels there is this line in drivers/media/video/saa7134/saa7134.h:
#define SAA7134_BOARD_AVERMEDIA_CARDBUS 46
but the corresponding entry in saa7134-cards.c didn't work for me, I couldn't tune in any channel.
To make is work, I did the following:
1. Got the (almost) latest kernel from www.kernel.org (2.6.12-rc1) with support for tda8290 75.
2. In saa7134-cards.c I replaced the the board config entry for this card with the following:
[SAA7134_BOARD_AVERMEDIA_CARDBUS] = {
/* Kees.Blom@cwi.nl */
.name = "AVerMedia Cardbus TV (E500)",
.audio_clock = 0x187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.inputs = {{
.name = name_tv,
.vmux = 1,
.amux = LINE2,
.tv = 1,
},{
.name = name_comp1,
.vmux = 3,
.amux = LINE2,
},{
.name = name_svideo,
.vmux = 8,
.amux = LINE2,
}},
.radio = {
.name = name_radio,
.amux = LINE1,
},
},
3. Added this code in saa7134-cards.c, under the function saa7134_board_init1():
case SAA7134_BOARD_AVERMEDIA_CARDBUS: /* wake-up tuner chip */ saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x0FFFFFFFF, 0x0FFFFFFFF); saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x0FFFFFFFF, 0x0FFFFFFFF); break;
4. With these compiled, installed and rebooted, I issued
modprobe saa7134 oss=1
This resulted in the following lines in /var/log/messages:
Mar 28 21:57:55 localhost kernel: Linux video capture interface: v1.00 Mar 28 21:57:55 localhost kernel: saa7130/34: v4l2 driver version 0.2.12 loaded Mar 28 21:57:55 localhost kernel: ACPI: PCI interrupt 0000:07:00.0[A] -> GSI 11 (level, low) -> IRQ 11 Mar 28 21:57:55 localhost kernel: saa7134[0]: found at 0000:07:00.0, rev: 1, irq : 11, latency: 64, mmio: 0x21000000 Mar 28 21:57:55 localhost kernel: saa7134[0]: subsystem: 1461:d6ee, board: AVerMedia Cardbus TV/Radio [card=46,autodetected] Mar 28 21:57:55 localhost kernel: saa7134[0]: board init: gpio is effffff Mar 28 21:57:56 localhost kernel: tuner 0-004b: chip found @ 0x96 (saa7134[0]) Mar 28 21:57:56 localhost kernel: tuner 0-004b: tuner: type set to tda8290 75 Mar 28 21:57:56 localhost kernel: saa7134[0]: i2c eeprom 00: 61 14 ee d6 ff ff ff ff ff ff ff ff ff ff ff ff Mar 28 21:57:56 localhost kernel: saa7134[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Mar 28 21:57:56 localhost kernel: saa7134[0]: i2c eeprom 20: ee df ff ff ff ff ff ff ff ff ff ff ff ff ff ff Mar 28 21:57:56 localhost kernel: saa7134[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff Mar 28 21:57:56 localhost kernel: saa7134[0]: registered device video0 [v4l2] Mar 28 21:57:56 localhost kernel: saa7134[0]: registered device vbi0 Mar 28 21:57:56 localhost kernel: saa7134[0]: registered device radio0 Mar 28 21:57:56 localhost kernel: saa7134[0]: registered device dsp2 Mar 28 21:57:56 localhost kernel: saa7134[0]: registered device mixer2
5. Video
At this point I could tune-in tv channels and see tv pictures with xawtv, tvtime and kdetv.
6. Audio
To get tv sound, I first typed in a terminal while tvtime was running (after killing artsd):
sox -tossdsp /dev/dsp2 -tossdsp /dev/dsp
However, this command is just a hack and sound terminates when changing channels in tvtime.
A better solution is to use Hartmut Hackman's code in CVS (as of 10 May 2005). I downloaded these files from linuxtv.org:
saa7134-oss.c,v 1.14 2005/05/18 22:45:16 hhackmann saa7134-tvaudio.c,v 1.23 2005/05/18 22:46:17 hhackmann
and set
.amux = TV
After compiling and loading the module saa7134, the commands:
tvtime --mixer=/dev/mixer:vol