Re: Any chance of help with v4l-dvb-experimental / Avermedia A16D please?

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

 



Hi Mauro,

On Thu, 2008-03-27 at 14:42 -0300, Mauro Carvalho Chehab wrote:
> On Fri, 28 Mar 2008 01:34:58 +0900
> timf <timf@xxxxxxxxxxxx> wrote:
> 
> > [   53.141643] xc2028 2-0061: seek_firmware called, want type=F8MHZ SCODE (20000002), id 0000000100000007.
> > [   53.141649] xc2028 2-0061: Selecting best matching firmware (3 bits) for type=SCODE (20000000), id 0000000100000007:
> > [   53.141654] xc2028 2-0061: Found firmware for type=SCODE (20000000), id 0000000200000007.
> > [   53.141658] xc2028 2-0061: Loading SCODE for type=SCODE HAS_IF_5640 (60000000), id 0000000200000007.
> > [   53.233496] xc2028 2-0061: Device is Xceive 3028 version 1.0, firmware version 2.7
> 
> Unfortunately, you've suppressed the previous firmware loading lines. Up to here, everything is OK.
> 
> > [   53.445170] xc2028 2-0061: Device is Xceive 3028 version 1.0, firmware version 2.7
> 
> Still OK here.
> 
> > Mar 28 00:25:41 ubuntu kernel: [  352.902182] xc2028 2-0061: checking firmware, user requested type=F8MHZ (2), id 00000000000000ff, scode_tbl (0), scode_nr 0
> 
> Now, tvtime asked a different firmware from the previous one. tuner-xc2028 will try to load a new firmware set to match your video standard.
> 
> > Mar 28 00:25:41 ubuntu kernel: [  352.902196] xc2028 2-0061: load_firmware called
> > Mar 28 00:25:41 ubuntu kernel: [  352.902199] xc2028 2-0061: seek_firmware called, want type=BASE F8MHZ (3), id 0000000000000000.
> > Mar 28 00:25:41 ubuntu kernel: [  352.902203] xc2028 2-0061: Found firmware for type=BASE F8MHZ (3), id 0000000000000000.
> 
> It is trying to load F8MHz base firmware. This firmware seemed to be already
> loaded, but, since you've asked for a different standard, it will discard and
> reload the firmwares.
> 
> > Mar 28 00:25:41 ubuntu kernel: [  352.902207] xc2028 2-0061: Loading firmware for type=BASE F8MHZ (3), id 0000000000000000.
> > Mar 28 00:25:41 ubuntu kernel: [  352.903020] xc2028 2-0061: i2c output error: rc = -5 (should be 64)
> > Mar 28 00:25:41 ubuntu kernel: [  352.903022] xc2028 2-0061: -5 returned from send
> > Mar 28 00:25:41 ubuntu kernel: [  352.903026] xc2028 2-0061: Error -22 while loading base firmware
> > Mar 28 00:25:42 ubuntu kernel: [  352.955955] xc2028 2-0061: Retrying firmware load
> 
> The driver didn't like the idea of changing the firmware. Probably, the RESET
> command is wrong or incomplete (i suspect the latter).
> 
> If you look on other drivers, like cx88, a reset do something like:
> 
>                 cx_write(MO_GP1_IO, 0x101010);
>                 mdelay(250);
>                 cx_write(MO_GP1_IO, 0x101000);
>                 mdelay(250);
>                 cx_write(MO_GP1_IO, 0x101010);
>                 mdelay(250);
> 
> The first command is probably not needed, but the basic idea is to do something
> like ON-OFF-ON. However, on saa7134 code is something like:
> 
>                 saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x06e20000, 0x06e20000);
>                 saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x06a20000, 0x06a20000);
> 
> I suspect that this should be something like:
> 
>                 saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x06e20000, 0x06e20000);
>                 saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x06a20000, 0x06a20000);
>                 mdelay(250);
>                 saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x06e20000, 0);
>                 saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x06a20000, 0);
>                 mdelay(250);
>                 saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x06e20000, 0x06e20000);
>                 saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x06a20000, 0x06a20000);
>                 mdelay(250);
> 
> OR:
>                 saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x06e20000, 0);
>                 saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x06a20000, 0);
>                 mdelay(250);
>                 saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x06e20000, 0x06e20000);
>                 saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x06a20000, 0x06a20000);
>                 mdelay(250);
>                 saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x06e20000, 0);
>                 saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x06a20000, 0);
> 
> To be sure, I would need to have the regspy.exe (from Dscaler) results when a
> reset occurs on your board.
> 
> Could you please try to play with those things on your board and post the results?
> 
> Another interesting test would be to not let tvtime to select a different
> standard, but, instead, the same std loaded initially. This may help to see if
> your tuner is ok (if you see some kind of white noise or a bad tuned channel -
> this means that tuner is working - of course you'll need to disable signal detection).
> 
> 
> Cheers,
> Mauro

I couldn't help myself!!!!!

As a try1, I placed this into xc2028-reset, in saa7134-cards.c:

                saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x06e20000,
0x06e20000);
>                 saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x06a20000, 0x06a20000);
>                 mdelay(250);
>                 saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x06e20000, 0);
>                 saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x06a20000, 0);
>                 mdelay(250);
>                 saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x06e20000, 0x06e20000);
>                 saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x06a20000, 0x06a20000);
>                 mdelay(250);

I just had to quickly tell you that I built it with this, rebooted, clicked
on tvtime, and waited anxiously watching a black screen - then WAHOO!
A TV program I am viewing!!
OK, calm down me. I will do some more digging, try some different settings,
but good news - the tuner works.
I will do some debugs and post the results to you and all.

Yaaay!

Regards,
Tim


_______________________________________________
linux-dvb mailing list
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