Re: AverMedia AverTV Hybrid+FM PCI (saa7134)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Pierpaolo Paolucci wrote:
*sorry in advance for my bad english

Hi Hartmut,

I got this card and I tried something about starting from
v4l-dvb-0616a6232978:


diff saa7134.h.orig saa7134.h
235a236

#define SAA7134_BOARD_AVERMEDIA_HYBRID_FM_PCI 97


diff saa7134-cards.c.orig saa7134-cards.c
2956a2957,2996

        [SAA7134_BOARD_AVERMEDIA_HYBRID_FM_PCI] = {
                .name           = "AverTV Hybrid+FM PCI",
                .audio_clock    = 0x00187de7,
                .tuner_type     = TUNER_PHILIPS_TD1316,
                .radio_type     = TUNER_TEA5767,
                .tuner_addr     = ADDR_UNSET,
                .radio_addr     = ADDR_UNSET,
// .tda9887_conf = TDA9887_PRESENT |

TDA9887_PORT2_INACTIVE,

.tda9887_conf = TDA9887_PRESENT |

TDA9887_PORT1_INACTIVE,

                .mpeg           = SAA7134_MPEG_DVB,
//                .gpiomask       = 0x00300003,
                .inputs = {{
                        .name = name_tv,
                        .vmux = 3,
                        .amux = TV,
                        .tv   = 1,
//                        .gpio = 0x00300001,
                        .gpio = 0x01,
                },{
                        .name = name_comp1,
                        .vmux = 1,
                        .amux = LINE1,
                        //.gpio = 0x02,
                },{
                        .name = name_svideo,
                        .vmux = 8,
                        .amux = LINE1,
                        //.gpio = 0x02,
                }},
                .radio = {
                        .name = name_radio,
                        .amux = TV,
                        //.gpio = 0x00300001,
                },
                .mute = {
                        .name = name_mute,
                        .amux = TV,
                        .gpio = 0x01,
                },
        },

3535a3576,3581

                .vendor       = PCI_VENDOR_ID_PHILIPS,
                .device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
                .subvendor    = 0x1461,
                .subdevice    = 0x2c00,
                .driver_data  = SAA7134_BOARD_AVERMEDIA_HYBRID_FM_PCI,
        },{

3659a3706

      case SAA7134_BOARD_AVERMEDIA_HYBRID_FM_PCI:


the last line is for:
       dev->has_remote = SAA7134_REMOTE_GPIO;

diff saa7134-input.c.orig saa7134-input.c
188a189

      case SAA7134_BOARD_AVERMEDIA_HYBRID_FM_PCI:


diff saa7134-dvb.c.orig saa7134-dvb.c
1075a1076,1083

      case SAA7134_BOARD_AVERMEDIA_HYBRID_FM_PCI:
              printk("%s: avertv hybrid+fm pci dvb setup\n",dev->name);

dev->dvb.frontend = mt352_attach(&avermedia_777,

&dev->i2c_adap);

              if (dev->dvb.frontend) {
dev->dvb.frontend->ops.tuner_ops.calc_regs =

mt352_aver777_tuner_calc_regs;

              }
              break;



dmesg output after modprobe saa7134-dvb:
saa7133[0]: avertv hybrid+fm pci dvb setup
DVB: registering new adapter (saa7133[0]).
DVB: registering frontend 0 (Zarlink MT352 DVB-T)...
Linux video capture interface: v2.00
saa7130/34: v4l2 driver version 0.2.14 loaded
ACPI: PCI Interrupt 0000:00:0b.0[A] -> Link [LNKD] -> GSI 11 (level,
low) -> IRQ 11
saa7133[0]: found at 0000:00:0b.0, rev: 209, irq: 11, latency: 32, mmio:
0xe3001000
saa7133[0]: subsystem: 1461:2c00, board: AverTV Hybrid+FM PCI
[card=97,autodetected]
saa7133[0]: board init: gpio is 12f404
input: saa7134 IR (AverTV Hybrid+FM PC as /class/input/input37
saa7133[0]: i2c eeprom 00: 61 14 00 2c 00 00 00 00 00 00 00 00 00 00 00 00
saa7133[0]: i2c eeprom 10: 00 ff 82 0e ff 20 ff ff ff ff ff ff ff ff ff ff
saa7133[0]: i2c eeprom 20: 01 40 01 02 02 03 03 01 08 ff 00 a3 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 32 00 c0 86 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
tuner 1-0043: chip found @ 0x86 (saa7133[0])
tda9887 1-0043: tda988[5/6/7] found @ 0x43 (tuner)
tuner 1-0060: TEA5767 detected.
tuner 1-0060: chip found @ 0xc0 (saa7133[0])
tuner 1-0060: type set to 62 (Philips TEA5767HN FM Radio)
saa7133[0]: registered device video0 [v4l2]
saa7133[0]: registered device vbi0
saa7133[0]: registered device radio0
saa7133[0]: avertv hybrid+fm pci dvb setup
DVB: registering new adapter (saa7133[0]).
DVB: registering frontend 0 (Zarlink MT352 DVB-T)...

I tested this configuration with xine and xawtv with slackware and
kernel 2.16.27.
stuff working:

the card is automatically recognized
svideo and composite are ok.
audio from external line only
dvbscan is able to get channels.
strangely enough, after dvbscan the tv is tuned to a channel

stuff not working:
tv not change channel
no video output from dvb
dvb seem not change channel
radio not working

any hint ?

thanks in advance.

best regards
   Pierpaolo


First: don't worry about bad english.
I am not sure whether i fully understood you.

You mean that dvbscan finds channels (more than one ?)
This would mean that the dvb section works. If you wish to watch
DVB i.e. you need a proper "channels.conf" file for xine. Do you
have installed one?
The radio chip tea5767 must be connected to a line input of the
SAA7134. If the video input works including sound, you just need
to change the .amux entry to LINE2.
The kernel log says if found only the radio tuner, not the tv tuner
this explains why analog tv doesn't work.
We need to find out why. Probably we need some GPIO magic.
Do things change if you unload the modules and load them again?
A note, currently, the initialization sequence is critical with
hybrid cards.

I hope this helps to make some progress...

Hartmut

_______________________________________________

linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux