Re: m920x device: Genius TVGo DVB-T02Q

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

 



Hello

I'm new to the list. I've got a T02Q working (or that's what it seems,
although I can't tune anything yet, but I think is a matter of signal
strength). Some weeks ago my brother gave me a capturer of this model,
so I started to look for linux support. I read this conversation:

 m920x device: Genius TVGo DVB-T02Q
http://www.linuxtv.org/pipermail/linux-dvb/2007-August/019856.html


There is a problem in the perl script used to parse the snoopy logs
(I've got it from the wiki). You need to add a plus sign to the regexp
at the function write_bytes (lines passed to it had extra spaces which
caused empty values within array @bytes, thus giving extra zeros to
the resultant firmware). Here's the tuned script I used:

m920x_snoopypro_parser.pl
-------------------
#!/usr/bin/perl

$linenum = 0;
open(out,">fw") || die "Can't open fw";

sub get_tf_data {
       $full = "";

       $line = <STDIN>; $linenum++;
       while($line =~ m/^\S\S\S\S: ([0-9a-f ]+)/) {
               $full .= $1;
               $line = <STDIN>; $linenum++;
       }
       return $full;
}

sub write_bytes {
       my($str) = @_;

       @bytes = split(/ +/, $str); ################## look at this line
       foreach(@bytes){
               print out pack("C", hex($_));
       }
}

while($line = <STDIN>) { $linenum++;
       if($line =~ m/SetupPacket:/) {
               $setup_linenum = $linenum;
               $setup = get_tf_data();

               while($line = <STDIN>) { $linenum++;
                       if($line =~ m/TransferBuffer: 0x00000040/) {
                               #print "setup: " . $setup . "\n";

                               @bytes = split(/ /, $setup);
                               print out pack("v", hex($bytes[3] . $bytes[2]));
                               print out pack("v", hex($bytes[5] . $bytes[4]));
                               print out pack("v", hex("0x40"));

                               $lid = get_tf_data();
                               print "lid  : " . $lid . "\n";
                               write_bytes($lid);
                               last;
                       }elsif($line =~ m/No TransferBuffer/) {
                               last;
                       }elsif($line =~ m/TransferBuffer:/) {
                               last;
                       }
               }
       }
}
------------------

I've attached the firmware I've got with it. If you're interested in
the two usblogs I got with snoopypro thru a kvm-virtualized windows,
let me know (my last message was bounced for being too long). They're
two because the first is where the driver uploads the firmware to the
device, and the second is the conversation after the device reattaches
itself to the usb bus.

As for the patch to m920x.c, I won't waste my time trying to get the
last files on the repository again and making a diff again and getting
my mail message bounced again. The job done by Pere Blay was
marvelous, use that. The only important difference with mine is
structure "tvgot02q_zl10353_config": .demod_address should be 0x0f,
not 0x1e.

That's all for now.

--

Román.

Attachment: dvb-usb-t02q-02.fw
Description: Binary data

_______________________________________________
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