Archived:AVerMedia AVerTV Hybrid+FM Cardbus (E506R)-V4L: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
Line 2: Line 2:


== AVerMedia TV+FM CardBus E506R ==
== AVerMedia TV+FM CardBus E506R ==

==== Info ====


[http://www.averm.co.uk/avermedia/aver/products_odm_E506.asp Original product page]
[http://www.averm.co.uk/avermedia/aver/products_odm_E506.asp Original product page]
Line 16: Line 18:
* Zarlink MT352 Digital Terrestrial TV Demodulator
* Zarlink MT352 Digital Terrestrial TV Demodulator


Analogue TV seems to work already (audio probably not)


There's some experimental code in
So...


http://linuxtv.org/hg/~mrechberger/v4l-dvb-kernel
Excuse me for beeing dumb and stupid, but I just took Marcus' code for [[Em2880]] from his repository at
[http://linuxtv.org/hg/~mrechberger/v4l-dvb-kernel http://linuxtv.org/hg/~mrechberger/v4l-dvb-kernel]


Setup:
And added XC3028 tuner defintion to SAA7134 code, leaving gpio initialization as for AverMedia E500 card.
<pre>

modprobe xc3028-tuner
(XC3028 code works with XC3018 tuner fine)
modprobe saa7134

</pre>
Guess what? It worked :)


Screenshot [http://jopic.ru/p1010202.jpg is here]
Screenshot [http://jopic.ru/p1010202.jpg is here]

Dmesg follows:

<pre><nowiki>
Linux video capture interface: v1.00
em28xx v4l2 driver version 0.0.1 loaded
usbcore: registered new driver em28xx
/home/lesha/dev/e506r/v4l-dvb/v4l/mt2060-tuner.c: mt2060_module_init
saa7130/34: v4l2 driver version 0.2.14 loaded
ACPI: PCI Interrupt 0000:03:00.0[A] -> Link [LNKB] -> GSI 11 (level, low) -> IRQ 11
saa7133[0]: found at 0000:03:00.0, rev: 209, irq: 11, latency: 64, mmio: 0x58000000
saa7133[0]: subsystem: 1461:f436, board: AVerMedia Cardbus TV/Radio (E506) [card=99,insmod option]
saa7133[0]: board init: gpio is effffff
tuner 0-0061: chip found @ 0xc2 (saa7133[0])
xc3028-tuner.c: only analogue and DVB-T are supported at the moment
saa7133[0]: i2c eeprom 00: 61 14 36 f4 00 00 00 00 00 00 00 00 00 00 00 00
saa7133[0]: i2c eeprom 10: 00 ff e2 0e ff 20 ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 20: 01 40 01 02 02 01 01 03 08 ff 00 ff ff ff ff ff
saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 40: ff 65 00 ff c2 1e ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
xc3028-tuner.c: selected videostandard PAL-B/G
xc3028-tuner.c: ANALOG Mode!
xc3028-tuner.c: loading new firmware
xc3028-tuner.c: Successfully loaded Firmware: 1027
xc3028-tuner.c: V4L2_STD_PAL
xc3028-tuner.c: V4L2_STD_PAL
saa7133[0]: registered device video0 [v4l2]
saa7133[0]: registered device vbi0
saa7133[0]: registered device radio0
saa7134 ALSA driver for DMA sound loaded
saa7133[0]/alsa: saa7133[0] at 0x58000000 irq 11 registered as card -1
</nowiki></pre>

The patches (dirty way, sorry, I'm not a programmer)

<pre><nowiki>
--- v4l-dvb/linux/drivers/media/video/saa7134/saa7134.h 2006-10-18 06:10:22.000000000 +0400
+++ /home/lesha/saa7134.h 2006-10-18 06:09:20.000000000 +0400
@@ -229,6 +229,8 @@
#define SAA7134_BOARD_ELSA_700TV 89
#define SAA7134_BOARD_KWORLD_ATSC110 90

+#define SAA7134_BOARD_AVERMEDIA_CARDBUS_506 99
+
#define SAA7134_MAXBOARDS 8
#define SAA7134_INPUT_MAX 8
</nowiki></pre>


<pre><nowiki>
--- saa7134-cards.c.org 2006-10-18 06:10:22.000000000 +0400
+++ saa7134-cards.c 2006-10-18 06:45:23.000000000 +0400
@@ -1591,6 +1591,33 @@ struct saa7134_board saa7134_boards[] =
.amux = LINE1,
},
},
+ [SAA7134_BOARD_AVERMEDIA_CARDBUS_506] = {
+ /* Kees.Blom@cwi.nl */
+ .name = "AVerMedia Cardbus TV/Radio (E506R)",
+ .audio_clock = 0x187de7,
+ .tuner_type = TUNER_XCEIVE_XC3028,
+ .radio_type = UNSET,
+ .tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
+ .inputs = {{
+ .name = name_tv,
+ .vmux = 1,
+ .amux = TV,
+ .tv = 1,
+ },{
+ .name = name_comp1,
+ .vmux = 3,
+ .amux = LINE2,
+ },{
+ .name = name_svideo,
+ .vmux = 8,
+ .amux = LINE1,
+ }},
+ .radio = {
+ .name = name_radio,
+ .amux = LINE1,
+ },
+ },
[SAA7134_BOARD_CINERGY400_CARDBUS] = {
.name = "Terratec Cinergy 400 mobile",
.audio_clock = 0x187de7,
@@ -3002,6 +3029,13 @@ struct pci_device_id saa7134_pci_tbl[] =
.subdevice = 0xd6ee,
.driver_data = SAA7134_BOARD_AVERMEDIA_CARDBUS,
},{
+ /* AVerMedia CardBus E506R */
+ .vendor = PCI_VENDOR_ID_PHILIPS,
+ .device = PCI_DEVICE_ID_PHILIPS_SAA7134,
+ .subvendor = 0x1461, /* Avermedia Technologies Inc */
+ .subdevice = 0xf436,
+ .driver_data = SAA7134_BOARD_AVERMEDIA_CARDBUS_506,
+ },{
/* TransGear 3000TV */
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
@@ -3435,6 +3469,7 @@ int saa7134_board_init1(struct saa7134_d
saa_writeb(SAA7134_GPIO_GPSTATUS3, 0x00);
break;
case SAA7134_BOARD_AVERMEDIA_CARDBUS:
+ case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
/* power-up tuner chip */
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0xffffffff, 0xffffffff);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0xffffffff);
</nowiki></pre>

Don't forget to fetch XC tuner firmware, that is needed by tuner driver, it's documented in the Em2880 Wiki

See [[Em2880]] page for more details.

So... someone, please assign E506R valid card id insted 99, cleanup and include this code to the tree, etc.

The only viewer program working for me is TVtime. KDEtv and Mplayer show different weird stuff and errors,
however this can be due to my idiotism.

Please don't forget to load required kernel modules before saa7134:

* tuner
* xc3028_tuner

Otherwise card will be detected without tuner.


--[[User:SunnyBUG|SunnyBUG]] 04:53, 18 October 2006 (CEST)
--[[User:SunnyBUG|SunnyBUG]] 04:53, 18 October 2006 (CEST)

Revision as of 15:01, 18 December 2006

Avermedia

AVerMedia TV+FM CardBus E506R

Info

Original product page

AVermedia released their card with binary only driver for Mandriva and FC3/4. For ancient kernels of course. Due to licensing from chip vendor and the fact that AVerMedia is a proud GPL violator -- they do not bother publishing source for their driver that is actually based on V4L.

Looking inside the card we can see that it is:

  • Philips SAA7135HL PCI Audio/Video Broadcast Decoder
  • Xceive XC3018 Silicon Tuner
  • Zarlink MT352 Digital Terrestrial TV Demodulator

Analogue TV seems to work already (audio probably not)

There's some experimental code in

http://linuxtv.org/hg/~mrechberger/v4l-dvb-kernel

Setup:

modprobe xc3028-tuner
modprobe saa7134

Screenshot is here

--SunnyBUG 04:53, 18 October 2006 (CEST)

Respect товарищу Hayova за 501R ;)))