[linux-dvb] VHF tuning fails with dnt Eurostick (dvb-usb-wt220u)

Patrick Boettcher patrick.boettcher at desy.de
Sat Dec 31 13:13:00 CET 2005


On Sat, 31 Dec 2005, Alain Vaslet wrote:
> the new firmware works great, thanks! No further problems with VHF.
>
> I even didn't need the patch, I simply managed the new firmware with a 
> symlink.

Yes, but it is better when there is a new firmware to make the driver look 
for a new name, that's why the patch.

> How did you manage to get the firmware? How did you extract it from the sys 
> file? Would be very interesting for me...

That's my secret :)

Just kidding, see the two scripts attached:

One is used to create the .hex-file from the usbsnoop.log and the other 
one creates the fw-binary.

Before creating the fw-binary one has to remove some parts by hand 
(CPU-restarts for example - they are done by the fw-loader-function).

regards,
Patrick.

--
   Mail: patrick.boettcher at desy.de
   WWW:  http://www.wi-bw.tfh-wildau.de/~pboettch/
-------------- next part --------------
#!/usr/bin/perl -w

use strict;

print STDERR "hex-file2binary converter.\n";


while (<>) {
	last if $_ =~ /:00000001FF/;
	my @line = $_ =~ /([0-9A-F]{2})/g;

	# intel address 16Bit address
	my $t = $line[1];
	$line[1] = $line[2];
	$line[2] = $t;

	foreach (@line) {
		printf "%c", eval "0x$_";
	}
}
-------------- next part --------------
#!/usr/bin/perl -w
use strict;

my ($time,$urb,$dir) = (0,0,0);
my $cb = undef;
my @val;
while (<>) {
	s/[\n\r]//g;
	$dir = "back" if /\<\<\</;
	$dir = "down" if /\>\>\>/;
	if (/\[(\d+).*URB (\d+)/) {
		$urb = $2;
		$time = $1;
	}

	if ($dir eq "down" && /^\ \ \ \ \d{8}: (.*)$/) {
		@val = split(/\ /,$1);
	}

	if ($dir eq "down" && /^\ \ Value\s+=\ (.*)$/) {
		printf(":%02X%s%s00%sFF\n",scalar @val,uc(substr($1,4,2)),uc substr($1,6,2),uc join("", at val));
	}
}


More information about the linux-dvb mailing list