public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* [linux-dvb] Saa7134 with Avermedia M1155 hybrid card on Ubuntu 8.04
@ 2008-08-12 14:08 John Chajecki
  2008-08-12 20:39 ` hermann pitton
  0 siblings, 1 reply; 4+ messages in thread
From: John Chajecki @ 2008-08-12 14:08 UTC (permalink / raw)
  To: linux-dvb

Hi, I'm trying to get an Avermedia M1155 Hybrid Aalogue/DVB tuner card to work with my Ubuntu Linux 8.04 (hardy) installation on a Sony VGX-TP1E media centre PC. In dmesg the card is identified as a Philips saa1733/1735:

  
[17205.851529] saa7130/34: v4l2 driver version 0.2.14 loaded
[17205.851785] saa7133[0]: found at 0000:04:05.0, rev: 209, irq: 20, latency: 32
, mmio: 0xf0207800
[17205.851830] saa7133[0]: subsystem: 1461:e836, board: UNKNOWN/GENERIC [card=0,
insmod option]
[17205.851845] saa7133[0]: board init: gpio is effffff
[17206.006586] saa7133[0]: i2c eeprom 00: 61 14 36 e8 00 00 00 00 00 00 00 00 00
 00 00 00
[17206.006611] saa7133[0]: i2c eeprom 10: ff ff ff ff ff 20 ff ff ff ff ff ff ff
 ff ff ff
[17206.006629] saa7133[0]: i2c eeprom 20: 01 40 01 02 02 01 01 03 08 ff 00 00 ff
 ff ff ff
etc

However the board is shown as GENERIC, board=0. lsmod shows this:

Module                  Size  Used by
tuner                  28872  0
saa7134               147924  0
ir_common              42244  1 saa7134
compat_ioctl32          2304  1 saa7134
videobuf_dma_sg        14980  1 saa7134
videobuf_core          19716  2 saa7134,videobuf_dma_sg
tveeprom               13444  1 saa7134
mt352                   7684  0
videodev               36864  2 tuner,saa7134
v4l1_compat            15748  1 videodev
v4l2_common            12672  2 tuner,saa7134
i2c_core               24832  5 tuner,saa7134,tveeprom,mt352,v4l2_common


I've had a look at the supported board list at http://gentoo-wiki.com/HARDWARE_saa7134#i2c_Scan but my card does not seem to be present.

The saa1734 driver is loading, but there is no /dev/dvb or /dev//v4l directory.

Is this card not supported yet, or does it need to be manually loaded with the appropriate parameters?

I am quite willing to help with development and testing.



_
John Chajecki
Senior Infrastructure Engineer
Information Division
Resources Department
Leicester City Council

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [linux-dvb] Saa7134 with Avermedia M1155 hybrid card on Ubuntu 8.04
  2008-08-12 14:08 John Chajecki
@ 2008-08-12 20:39 ` hermann pitton
  0 siblings, 0 replies; 4+ messages in thread
From: hermann pitton @ 2008-08-12 20:39 UTC (permalink / raw)
  To: John Chajecki; +Cc: linux-dvb

Hello,

Am Dienstag, den 12.08.2008, 15:08 +0100 schrieb John Chajecki:
> Hi, I'm trying to get an Avermedia M1155 Hybrid Aalogue/DVB tuner card to work with my Ubuntu Linux 8.04 (hardy) installation on a Sony VGX-TP1E media centre PC. In dmesg the card is identified as a Philips saa1733/1735:
> 
>   
> [17205.851529] saa7130/34: v4l2 driver version 0.2.14 loaded
> [17205.851785] saa7133[0]: found at 0000:04:05.0, rev: 209, irq: 20, latency: 32
> , mmio: 0xf0207800
> [17205.851830] saa7133[0]: subsystem: 1461:e836, board: UNKNOWN/GENERIC [card=0,
> insmod option]
> [17205.851845] saa7133[0]: board init: gpio is effffff
> [17206.006586] saa7133[0]: i2c eeprom 00: 61 14 36 e8 00 00 00 00 00 00 00 00 00
>  00 00 00
> [17206.006611] saa7133[0]: i2c eeprom 10: ff ff ff ff ff 20 ff ff ff ff ff ff ff
>  ff ff ff
> [17206.006629] saa7133[0]: i2c eeprom 20: 01 40 01 02 02 01 01 03 08 ff 00 00 ff
>  ff ff ff
> etc

the etc can hold some information, better don't drop parts of the eeprom
dump.

> However the board is shown as GENERIC, board=0. lsmod shows this:
> 
> Module                  Size  Used by
> tuner                  28872  0
> saa7134               147924  0
> ir_common              42244  1 saa7134
> compat_ioctl32          2304  1 saa7134
> videobuf_dma_sg        14980  1 saa7134
> videobuf_core          19716  2 saa7134,videobuf_dma_sg
> tveeprom               13444  1 saa7134
> mt352                   7684  0
> videodev               36864  2 tuner,saa7134
> v4l1_compat            15748  1 videodev
> v4l2_common            12672  2 tuner,saa7134
> i2c_core               24832  5 tuner,saa7134,tveeprom,mt352,v4l2_common
> 
> 
> I've had a look at the supported board list at http://gentoo-wiki.com/HARDWARE_saa7134#i2c_Scan but my card does not seem to be present.
> 
> The saa1734 driver is loading, but there is no /dev/dvb or /dev//v4l directory.
> 
> Is this card not supported yet, or does it need to be manually loaded with the appropriate parameters?
> 
> I am quite willing to help with development and testing.

The card is not yet supported, but was seen previously on some Sony Vaio
stuff.

We have no reports for any details on it, but there is a slight chance
that it is very similar to card=138, the AVERMEDIA_M115.

There is no DVB-T support yet and you would need recent XCeive firmware
in /lib/firmware if my guessing is right.

Are you sure DVB-T for this one is announced at all?

Cheers,
Hermann



_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [linux-dvb] Saa7134 with Avermedia M1155 hybrid card on Ubuntu 8.04
@ 2008-08-14 16:00 Tim Farrington
  2008-08-14 23:10 ` hermann pitton
  0 siblings, 1 reply; 4+ messages in thread
From: Tim Farrington @ 2008-08-14 16:00 UTC (permalink / raw)
  To: linux-dvb, John.Chajecki

[-- Attachment #1: Type: text/plain, Size: 4652 bytes --]

Hi John,

I will try and help.

Try this and see if you get anywhere.

First, you need to install these:

sudo apt-get install build-essential mercurial

Next, you need to download v4l-dvb from Linuxtv.org into your home 
directory:

hg clone http://linuxtv.org/hg/v4l-dvb

Next, in Ubuntu 8.04, you will have to remove conflicting modules:
(beware this may affect things such as a webcam)

cd /lib/modules/`uname -r`/ubuntu
sudo rm -rf media
cd

Next, modify the source code in ~/v4l-dvb

In ~/v4l-dvb/linux/drivers/media/video/saa7134/saa7134-cards.c

Find this section:

    [SAA7134_BOARD_AVERMEDIA_M115] = {
        .name           = "Avermedia M115",
        .audio_clock    = 0x187de7,
        .tuner_type     = TUNER_XC2028,
        .radio_type     = UNSET,
        .tuner_addr    = ADDR_UNSET,
        .radio_addr    = ADDR_UNSET,
/*add this line*/.mpeg           = SAA7134_MPEG_DVB,
        .inputs         = {{
            .name = name_tv,
            .vmux = 1,
            .amux = TV,
            .tv   = 1,
        }, {
            .name = name_comp1,
            .vmux = 3,
            .amux = LINE1,
        }, {
            .name = name_svideo,
            .vmux = 8,
            .amux = LINE2,
        } },
    },

Find this section:

static int saa7134_xc2028_callback(struct saa7134_dev *dev,
                   int command, int arg)
{
    switch (command) {
    case XC2028_TUNER_RESET:
        saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00000000);
        saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00008000);
        switch (dev->board) {
        case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
        case SAA7134_BOARD_AVERMEDIA_M103:
            saa7134_set_gpio(dev, 23, 0);
            msleep(10);
            saa7134_set_gpio(dev, 23, 1);
        break;
        case SAA7134_BOARD_AVERMEDIA_A16D:
/*add this line*/case SAA7134_BOARD_AVERMEDIA_M115:
            saa7134_set_gpio(dev, 21, 0);
            msleep(10);
            saa7134_set_gpio(dev, 21, 1);
        break;
        }
    return 0;
    }
    return -EINVAL;
}

Find this section:

int saa7134_board_init1(struct saa7134_dev *dev)
...
    case SAA7134_BOARD_AVERMEDIA_CARDBUS:
/*    case SAA7134_BOARD_AVERMEDIA_M115: */ /*comment this line out*/
#if 1
        /* power-down tuner chip */
        saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0xffffffff, 0);
        saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0);
#endif
        msleep(10);
        /* power-up tuner chip */
        saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0xffffffff, 0xffffffff);
        saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0xffffffff);
        msleep(10);
        break;

Find this section:

    case SAA7134_BOARD_AVERMEDIA_A16D:
        saa7134_set_gpio(dev, 21, 0);
        msleep(10);
        saa7134_set_gpio(dev, 21, 1);
        msleep(1);
        dev->has_remote = SAA7134_REMOTE_GPIO;
        break;

Create a new case entry below it:

    case SAA7134_BOARD_AVERMEDIA_M115:
        saa7134_set_gpio(dev, 21, 0);
        msleep(10);
        saa7134_set_gpio(dev, 21, 1);
        break;

Find this section:

        switch (dev->board) {
        case SAA7134_BOARD_AVERMEDIA_A16D:
        case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
        case SAA7134_BOARD_AVERMEDIA_M103:
/*add this line*/case SAA7134_BOARD_AVERMEDIA_M115:
            ctl.demod = XC3028_FE_ZARLINK456;
            break;


In ~/v4l-dvb/linux/drivers/media/video/saa7134/saa7134-dvb.c

Find this section:

    case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
        dprintk("AverMedia E506R dvb setup\n");
        saa7134_set_gpio(dev, 25, 0);
        msleep(10);
        saa7134_set_gpio(dev, 25, 1);
        dev->dvb.frontend = dvb_attach(mt352_attach,
                        &avermedia_xc3028_mt352_dev,
                        &dev->i2c_adap);
        attach_xc3028 = 1;
        break;

Create a new case entry below it:

    case SAA7134_BOARD_AVERMEDIA_M115:
        saa7134_set_gpio(dev, 25, 0);
        msleep(10);
        saa7134_set_gpio(dev, 25, 1);
        dev->dvb.frontend = dvb_attach(mt352_attach,
                        &avermedia_xc3028_mt352_dev,
                        &dev->i2c_adap);
        attach_xc3028 = 1;
        break;

Save these files.
Next, use make to build the modules:

cd
cd v4l-dvb
make
sudo make install

Next, you need to extract and install the firmware:

In ~/v4l-dvb/linux/Documentation/video4linux/extract_xc3028.pl

you will find instructions on how to use this file to obtain the firmware.

Then, copy the firmware to /lib:

sudo cp xc3028-v27.fw /lib/firmware/`uname -r`

reboot

check dmesg.

See if that gets anywhere.

Regards,
Timf

[-- Attachment #2: m115.txt --]
[-- Type: text/plain, Size: 3918 bytes --]


First, you need to install these:

sudo apt-get install build-essential mercurial

Next, you need to download v4l-dvb from Linuxtv.org into your home directory:

hg clone http://linuxtv.org/hg/v4l-dvb

Next, in Ubuntu 8.04, you will have to remove conflicting modules:
(beware this may affect things such as a webcam)

cd /lib/modules/`uname -r`/ubuntu
sudo rm -rf media
cd

Next, modify the source code in ~/v4l-dvb

In ~/v4l-dvb/linux/drivers/media/video/saa7134/saa7134-cards.c

Find this section:

	[SAA7134_BOARD_AVERMEDIA_M115] = {
		.name           = "Avermedia M115",
		.audio_clock    = 0x187de7,
		.tuner_type     = TUNER_XC2028,
		.radio_type     = UNSET,
		.tuner_addr	= ADDR_UNSET,
		.radio_addr	= ADDR_UNSET,
/*add this line*/.mpeg           = SAA7134_MPEG_DVB,
		.inputs         = {{
			.name = name_tv,
			.vmux = 1,
			.amux = TV,
			.tv   = 1,
		}, {
			.name = name_comp1,
			.vmux = 3,
			.amux = LINE1,
		}, {
			.name = name_svideo,
			.vmux = 8,
			.amux = LINE2,
		} },
	},

Find this section:

static int saa7134_xc2028_callback(struct saa7134_dev *dev,
				   int command, int arg)
{
	switch (command) {
	case XC2028_TUNER_RESET:
		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00000000);
		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00008000);
		switch (dev->board) {
		case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
		case SAA7134_BOARD_AVERMEDIA_M103:
			saa7134_set_gpio(dev, 23, 0);
			msleep(10);
			saa7134_set_gpio(dev, 23, 1);
		break;
		case SAA7134_BOARD_AVERMEDIA_A16D:
/*add this line*/case SAA7134_BOARD_AVERMEDIA_M115:
			saa7134_set_gpio(dev, 21, 0);
			msleep(10);
			saa7134_set_gpio(dev, 21, 1);
		break;
		}
	return 0;
	}
	return -EINVAL;
}

Find this section:

int saa7134_board_init1(struct saa7134_dev *dev)
...
	case SAA7134_BOARD_AVERMEDIA_CARDBUS:
/*	case SAA7134_BOARD_AVERMEDIA_M115: */ /*comment this line out*/
#if 1
		/* power-down tuner chip */
		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0xffffffff, 0);
		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0);
#endif
		msleep(10);
		/* power-up tuner chip */
		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0xffffffff, 0xffffffff);
		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0xffffffff);
		msleep(10);
		break;

Find this section:

	case SAA7134_BOARD_AVERMEDIA_A16D:
		saa7134_set_gpio(dev, 21, 0);
		msleep(10);
		saa7134_set_gpio(dev, 21, 1);
		msleep(1);
		dev->has_remote = SAA7134_REMOTE_GPIO;
		break;

Create a new case entry below it:

	case SAA7134_BOARD_AVERMEDIA_M115:
		saa7134_set_gpio(dev, 21, 0);
		msleep(10);
		saa7134_set_gpio(dev, 21, 1);
		break;

Find this section:

		switch (dev->board) {
		case SAA7134_BOARD_AVERMEDIA_A16D:
		case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
		case SAA7134_BOARD_AVERMEDIA_M103:
/*add this line*/case SAA7134_BOARD_AVERMEDIA_M115:
			ctl.demod = XC3028_FE_ZARLINK456;
			break;


In ~/v4l-dvb/linux/drivers/media/video/saa7134/saa7134-dvb.c

Find this section:

	case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
		dprintk("AverMedia E506R dvb setup\n");
		saa7134_set_gpio(dev, 25, 0);
		msleep(10);
		saa7134_set_gpio(dev, 25, 1);
		dev->dvb.frontend = dvb_attach(mt352_attach,
						&avermedia_xc3028_mt352_dev,
						&dev->i2c_adap);
		attach_xc3028 = 1;
		break;

Create a new case entry below it:

	case SAA7134_BOARD_AVERMEDIA_M115:
		saa7134_set_gpio(dev, 25, 0);
		msleep(10);
		saa7134_set_gpio(dev, 25, 1);
		dev->dvb.frontend = dvb_attach(mt352_attach,
						&avermedia_xc3028_mt352_dev,
						&dev->i2c_adap);
		attach_xc3028 = 1;
		break;

Save these files.
Next, use make to build the modules:

cd
cd v4l-dvb
make
sudo make install

Next, you need to extract and install the firmware:

In ~/v4l-dvb/linux/Documentation/video4linux/extract_xc3028.pl

you will find instructions on how to use this file to obtain the firmware.

Then, copy the firmware to /lib:

sudo cp xc3028-v27.fw /lib/firmware/`uname -r`

reboot

check dmesg.


[-- Attachment #3: Type: text/plain, Size: 150 bytes --]

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [linux-dvb] Saa7134 with Avermedia M1155 hybrid card on Ubuntu 8.04
  2008-08-14 16:00 [linux-dvb] Saa7134 with Avermedia M1155 hybrid card on Ubuntu 8.04 Tim Farrington
@ 2008-08-14 23:10 ` hermann pitton
  0 siblings, 0 replies; 4+ messages in thread
From: hermann pitton @ 2008-08-14 23:10 UTC (permalink / raw)
  To: Tim Farrington; +Cc: John.Chajecki, linux-dvb

Hi Tim,

Am Freitag, den 15.08.2008, 00:00 +0800 schrieb Tim Farrington:
> Hi John,
> 
> I will try and help.
> 
> Try this and see if you get anywhere.
> 
> First, you need to install these:
> 
> sudo apt-get install build-essential mercurial
> 
> Next, you need to download v4l-dvb from Linuxtv.org into your home 
> directory:
> 
> hg clone http://linuxtv.org/hg/v4l-dvb
> 
> Next, in Ubuntu 8.04, you will have to remove conflicting modules:
> (beware this may affect things such as a webcam)
> 
> cd /lib/modules/`uname -r`/ubuntu
> sudo rm -rf media
> cd
> 
> Next, modify the source code in ~/v4l-dvb
> 
> In ~/v4l-dvb/linux/drivers/media/video/saa7134/saa7134-cards.c
> 
> Find this section:
> 
>     [SAA7134_BOARD_AVERMEDIA_M115] = {
>         .name           = "Avermedia M115",
>         .audio_clock    = 0x187de7,
>         .tuner_type     = TUNER_XC2028,
>         .radio_type     = UNSET,
>         .tuner_addr    = ADDR_UNSET,
>         .radio_addr    = ADDR_UNSET,
> /*add this line*/.mpeg           = SAA7134_MPEG_DVB,
>         .inputs         = {{
>             .name = name_tv,
>             .vmux = 1,
>             .amux = TV,
>             .tv   = 1,
>         }, {
>             .name = name_comp1,
>             .vmux = 3,
>             .amux = LINE1,
>         }, {
>             .name = name_svideo,
>             .vmux = 8,
>             .amux = LINE2,
>         } },
>     },
> 
> Find this section:
> 
> static int saa7134_xc2028_callback(struct saa7134_dev *dev,
>                    int command, int arg)
> {
>     switch (command) {
>     case XC2028_TUNER_RESET:
>         saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00000000);
>         saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00008000);
>         switch (dev->board) {
>         case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
>         case SAA7134_BOARD_AVERMEDIA_M103:
>             saa7134_set_gpio(dev, 23, 0);
>             msleep(10);
>             saa7134_set_gpio(dev, 23, 1);
>         break;
>         case SAA7134_BOARD_AVERMEDIA_A16D:
> /*add this line*/case SAA7134_BOARD_AVERMEDIA_M115:
>             saa7134_set_gpio(dev, 21, 0);
>             msleep(10);
>             saa7134_set_gpio(dev, 21, 1);
>         break;
>         }
>     return 0;
>     }
>     return -EINVAL;
> }
> 
> Find this section:
> 
> int saa7134_board_init1(struct saa7134_dev *dev)
> ...
>     case SAA7134_BOARD_AVERMEDIA_CARDBUS:
> /*    case SAA7134_BOARD_AVERMEDIA_M115: */ /*comment this line out*/
> #if 1
>         /* power-down tuner chip */
>         saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0xffffffff, 0);
>         saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0);
> #endif
>         msleep(10);
>         /* power-up tuner chip */
>         saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0xffffffff, 0xffffffff);
>         saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0xffffffff);
>         msleep(10);
>         break;
> 
> Find this section:
> 
>     case SAA7134_BOARD_AVERMEDIA_A16D:
>         saa7134_set_gpio(dev, 21, 0);
>         msleep(10);
>         saa7134_set_gpio(dev, 21, 1);
>         msleep(1);
>         dev->has_remote = SAA7134_REMOTE_GPIO;
>         break;
> 
> Create a new case entry below it:
> 
>     case SAA7134_BOARD_AVERMEDIA_M115:
>         saa7134_set_gpio(dev, 21, 0);
>         msleep(10);
>         saa7134_set_gpio(dev, 21, 1);
>         break;
> 
> Find this section:
> 
>         switch (dev->board) {
>         case SAA7134_BOARD_AVERMEDIA_A16D:
>         case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
>         case SAA7134_BOARD_AVERMEDIA_M103:
> /*add this line*/case SAA7134_BOARD_AVERMEDIA_M115:
>             ctl.demod = XC3028_FE_ZARLINK456;
>             break;
> 
> 
> In ~/v4l-dvb/linux/drivers/media/video/saa7134/saa7134-dvb.c
> 
> Find this section:
> 
>     case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
>         dprintk("AverMedia E506R dvb setup\n");
>         saa7134_set_gpio(dev, 25, 0);
>         msleep(10);
>         saa7134_set_gpio(dev, 25, 1);
>         dev->dvb.frontend = dvb_attach(mt352_attach,
>                         &avermedia_xc3028_mt352_dev,
>                         &dev->i2c_adap);
>         attach_xc3028 = 1;
>         break;
> 
> Create a new case entry below it:
> 
>     case SAA7134_BOARD_AVERMEDIA_M115:
>         saa7134_set_gpio(dev, 25, 0);
>         msleep(10);
>         saa7134_set_gpio(dev, 25, 1);
>         dev->dvb.frontend = dvb_attach(mt352_attach,
>                         &avermedia_xc3028_mt352_dev,
>                         &dev->i2c_adap);
>         attach_xc3028 = 1;
>         break;
> 
> Save these files.
> Next, use make to build the modules:
> 
> cd
> cd v4l-dvb
> make
> sudo make install
> 
> Next, you need to extract and install the firmware:
> 
> In ~/v4l-dvb/linux/Documentation/video4linux/extract_xc3028.pl
> 
> you will find instructions on how to use this file to obtain the firmware.
> 
> Then, copy the firmware to /lib:
> 
> sudo cp xc3028-v27.fw /lib/firmware/`uname -r`
> 
> reboot
> 
> check dmesg.
> 
> See if that gets anywhere.
> 
> Regards,
> Timf
> einfaches Textdokument-Anlage (m115.txt)
> First, you need to install these:
> 
> sudo apt-get install build-essential mercurial
> 
> Next, you need to download v4l-dvb from Linuxtv.org into your home directory:
> 
> hg clone http://linuxtv.org/hg/v4l-dvb
> 
> Next, in Ubuntu 8.04, you will have to remove conflicting modules:
> (beware this may affect things such as a webcam)
> 
> cd /lib/modules/`uname -r`/ubuntu
> sudo rm -rf media
> cd
> 
> Next, modify the source code in ~/v4l-dvb
> 
> In ~/v4l-dvb/linux/drivers/media/video/saa7134/saa7134-cards.c
> 
> Find this section:
> 
> 	[SAA7134_BOARD_AVERMEDIA_M115] = {
> 		.name           = "Avermedia M115",
> 		.audio_clock    = 0x187de7,
> 		.tuner_type     = TUNER_XC2028,
> 		.radio_type     = UNSET,
> 		.tuner_addr	= ADDR_UNSET,
> 		.radio_addr	= ADDR_UNSET,
> /*add this line*/.mpeg           = SAA7134_MPEG_DVB,
> 		.inputs         = {{
> 			.name = name_tv,
> 			.vmux = 1,
> 			.amux = TV,
> 			.tv   = 1,
> 		}, {
> 			.name = name_comp1,
> 			.vmux = 3,
> 			.amux = LINE1,
> 		}, {
> 			.name = name_svideo,
> 			.vmux = 8,
> 			.amux = LINE2,
> 		} },
> 	},
> 
> Find this section:
> 
> static int saa7134_xc2028_callback(struct saa7134_dev *dev,
> 				   int command, int arg)
> {
> 	switch (command) {
> 	case XC2028_TUNER_RESET:
> 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00000000);
> 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00008000);
> 		switch (dev->board) {
> 		case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
> 		case SAA7134_BOARD_AVERMEDIA_M103:
> 			saa7134_set_gpio(dev, 23, 0);
> 			msleep(10);
> 			saa7134_set_gpio(dev, 23, 1);
> 		break;
> 		case SAA7134_BOARD_AVERMEDIA_A16D:
> /*add this line*/case SAA7134_BOARD_AVERMEDIA_M115:
> 			saa7134_set_gpio(dev, 21, 0);
> 			msleep(10);
> 			saa7134_set_gpio(dev, 21, 1);
> 		break;
> 		}
> 	return 0;
> 	}
> 	return -EINVAL;
> }
> 
> Find this section:
> 
> int saa7134_board_init1(struct saa7134_dev *dev)
> ...
> 	case SAA7134_BOARD_AVERMEDIA_CARDBUS:
> /*	case SAA7134_BOARD_AVERMEDIA_M115: */ /*comment this line out*/
> #if 1
> 		/* power-down tuner chip */
> 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0xffffffff, 0);
> 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0);
> #endif
> 		msleep(10);
> 		/* power-up tuner chip */
> 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0xffffffff, 0xffffffff);
> 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0xffffffff);
> 		msleep(10);
> 		break;
> 
> Find this section:
> 
> 	case SAA7134_BOARD_AVERMEDIA_A16D:
> 		saa7134_set_gpio(dev, 21, 0);
> 		msleep(10);
> 		saa7134_set_gpio(dev, 21, 1);
> 		msleep(1);
> 		dev->has_remote = SAA7134_REMOTE_GPIO;
> 		break;
> 
> Create a new case entry below it:
> 
> 	case SAA7134_BOARD_AVERMEDIA_M115:
> 		saa7134_set_gpio(dev, 21, 0);
> 		msleep(10);
> 		saa7134_set_gpio(dev, 21, 1);
> 		break;
> 
> Find this section:
> 
> 		switch (dev->board) {
> 		case SAA7134_BOARD_AVERMEDIA_A16D:
> 		case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
> 		case SAA7134_BOARD_AVERMEDIA_M103:
> /*add this line*/case SAA7134_BOARD_AVERMEDIA_M115:
> 			ctl.demod = XC3028_FE_ZARLINK456;
> 			break;
> 
> 
> In ~/v4l-dvb/linux/drivers/media/video/saa7134/saa7134-dvb.c
> 
> Find this section:
> 
> 	case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
> 		dprintk("AverMedia E506R dvb setup\n");
> 		saa7134_set_gpio(dev, 25, 0);
> 		msleep(10);
> 		saa7134_set_gpio(dev, 25, 1);
> 		dev->dvb.frontend = dvb_attach(mt352_attach,
> 						&avermedia_xc3028_mt352_dev,
> 						&dev->i2c_adap);
> 		attach_xc3028 = 1;
> 		break;
> 
> Create a new case entry below it:
> 
> 	case SAA7134_BOARD_AVERMEDIA_M115:
> 		saa7134_set_gpio(dev, 25, 0);
> 		msleep(10);
> 		saa7134_set_gpio(dev, 25, 1);
> 		dev->dvb.frontend = dvb_attach(mt352_attach,
> 						&avermedia_xc3028_mt352_dev,
> 						&dev->i2c_adap);
> 		attach_xc3028 = 1;
> 		break;
> 
> Save these files.
> Next, use make to build the modules:
> 
> cd
> cd v4l-dvb
> make
> sudo make install
> 
> Next, you need to extract and install the firmware:
> 
> In ~/v4l-dvb/linux/Documentation/video4linux/extract_xc3028.pl
> 
> you will find instructions on how to use this file to obtain the firmware.
> 
> Then, copy the firmware to /lib:
> 
> sudo cp xc3028-v27.fw /lib/firmware/`uname -r`
> 
> reboot
> 
> check dmesg.
> 

thanks for helping out.

I'm crawling through my mail backlash and still haven't been on
Australian beaches, but met always very nice people from there on some
fine beaches with great waves on some of the other places.

My doubt here is, the M115 has a digital channel decoder at 0x1e/0x0f in
the eeprom. John's card does not have it.

Nothing is for sure on OEM eeprom stuff, let's see how far we can come
for now. But listing _all_ chips and xtals, yes do unsolder the tuner
shielding if needed :), is still the minimum for a report ;)

Cheers,
Hermann





_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-08-14 23:19 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-14 16:00 [linux-dvb] Saa7134 with Avermedia M1155 hybrid card on Ubuntu 8.04 Tim Farrington
2008-08-14 23:10 ` hermann pitton
  -- strict thread matches above, loose matches on Subject: below --
2008-08-12 14:08 John Chajecki
2008-08-12 20:39 ` hermann pitton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox