[Re: [linux-dvb] Compro Videomate DVB-T200 and friends

Hartmut Hackmann hartmut.hackmann at t-online.de
Mon Sep 11 22:31:43 CEST 2006

HI, James

James Fidell wrote:
> Replying to myself:
>>So, everything looks good to me so far.  The only outstanding problem
>>appears to be getting the firmware loaded.  Looking through the latest
>>mercurial code, it appears that it's the saa7134-dvb module that's
>>supposed to start the firmware loading off, so I guess I need to get
>>the mercurial code built and see what happens.
> And now I think I see why...
> Before attempting to upload new firmware, both tda10045_fwupload and
> tda10046_fwupload in tda1004x.c call tda1004x_check_upload_ok.  This
> returns -EIO if it couldn't find valid firmware or 0 if valid firmware
> is found.  Both the fwupload functions do:
>         if (tda1004x_check_upload_ok(state) == 0)
>                 return 0;
> which makes it look to me as if new firmware will never be uploaded
> to the card if it already has valid firmware of an earlier version.
> I may be heading in completely the wrong direction with this, but out
> of interest I changed the above code to force a firmware upload, and
> now get dmesg output:
> tda1004x: found firmware revision 26 -- ok
> tda1004x: waiting for firmware upload...
> tda1004x: timeout waiting for DSP ready
> tda1004x: found firmware revision 26 -- ok
> So either it still isn't uploading, or the version I downloaded a couple
> of hours ago isn't actually revision 29 at all.  Is there any easy way
> to check?
You are right, a new firmware download is only initiated when no firmware
is present. This is by intention and should not be changed.
Its a bit dangerous to fiddle around with the firmware loading mechanism,
this can easily end up in a crash of the on chip processor.
On some Compro cards, the PCI reset is not forwarded to the other chips.
So you need a power cycle to get the chips reset and to load other
A last hint. When i investigated the tuner module of you card, i noticed
that it tunes very slowly. When you notice that several scans give different
results, the cause can easily be that the tuner can receive all signals, but
a timeout of the scan routine prevents this.


More information about the linux-dvb mailing list