Re: probs w voodoo tv fm card: no tuner response

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



Torgeir Veimo wrote:
> 
> Gunther Mayer wrote:
> >
> > What is your TV standard actually ?
> 
> Pal (Germany).
> 
> > What do you see in xawtv (blue, noise, rolling picture, else)?
> 
> Just random noise at the top of the picture. Static noise in the rest of
> the picture.
> 
> I took the pain of installing winME to check the card, and I do infact
> get a picture under linux when coldbooting from winME.
> 
> Now I'm interested in deleting that winme installation again, so how can
> I do a complete register readout or anything else to see what's is
> initialized differently under windows?


Is the sound fine?
a) after boot from windows
b) after power cycle (tune to a station despite you have no picture)

Try this:
1) Remove "pll=28" from your modules.conf (this
   shouldn't make a difference; I don't have this however and we are
   looking for subtle differences now).

2) Don't tune mt2032 to 0MHz.

   The current code makes me nervous, as this could drive the
   device to crazy conditions (I don't know why the security check
   in mt2032 doesn't catch 0 MHz).

   Bttv currently warns but lets this slip through, here is the fix:

--- tuner.c-orig        Wed Sep 26 19:24:10 2001
+++ tuner.c     Wed Sep 26 19:24:26 2001
@@ -419,6 +419,7 @@
                   check at all */
                printk("tuner: TV freq (%d.%02d) out of range (%d-%d)\n",
                       freq/16,freq%16*100/16,tv_range[0],tv_range[1]);
+               return;
        }
 
        if (t->type == -1) {

  This reminds me to the radio problem I fixed some time ago: after
  programming the philips tuner to 0MHz it would "hang" !
  (It mostly awoke when tuning to a extremely high freq.)


3) Some time ago I had a more complicated wake up sequence (by looking
   with bttool when starting in windows). This has a register dump too.


int voodoo200_init(struct bttv *btv)
{       unsigned char buf[21];
        int i;

        btv->i2c_client.addr= 0xC0 >>1;
        buf[0]=0;
        i2c_master_send(&btv->i2c_client, buf, 1);
        i2c_master_recv(&btv->i2c_client, buf, 21);

        for(i=0;i<21;i++) {
                if((i%8) == 0) printk("mt2032 hexdump:");
                printk(" %02x",buf[i]);
                if((i%8) == 7) printk("\n");
        }
        printk("\n");

        //wake up MSP3450G:
        btwrite(0x400a00,BT848_GPIO_DATA);
        bttv_gpio_tracking(btv, "0x400a00");

        btwrite(0x857fff,BT848_GPIO_DATA);
        bttv_gpio_tracking(btv, "0x857fff");

        btwrite(0x947fff,BT848_GPIO_DATA);
        bttv_gpio_tracking(btv, "0x947fff");

        btwrite(0x847fff,BT848_GPIO_DATA);
        bttv_gpio_tracking(btv, "0x847fff");

        btwrite(0x947fff,BT848_GPIO_DATA);
        bttv_gpio_tracking(btv, "0x947fff");

        btwrite(0x957fff,BT848_GPIO_DATA);
        bttv_gpio_tracking(btv, "0x957fff");

        return 0;
}

And add the call to the proper place:
        if (btv->tuner_type != -1)
                bttv_call_i2c_clients(btv,TUNER_SET_TYPE,&btv->tuner_type);

->        if (btv->type == BTTV_VOODOOTV_FM) {
->                voodoo200_init(btv);
                }


        /* try to detect audio/fader chips */
        if (!bttv_tvcards[btv->type].no_msp34xx &&

Or uncomment this line in tuner.c:

//buf[13]=0x32; // warmboot


4) There could be different hardware revisions which must be handled differently

-
Gunthe





[Index of Archives]     [Linux DVB]     [Video Disk Recorder]     [Asterisk]     [Photo]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Free Photo Albums]     [Fedora Users]     [Fedora Women]     [ALSA Users]     [ALSA Devel]     [Linux USB]

Powered by Linux