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@xxxxxxx 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("",@val)); } }