[pvrusb2] New fwextract.pl available

Mike Isely isely at isely.net
Fri Sep 29 02:30:18 CDT 2006


On Fri, 29 Sep 2006, Andreas Korinek wrote:

> On Friday 29 September 2006 08:10, Mike Isely wrote:
> > I've updated fwextract.pl so that it recognizes the latest Hauppauge
> > driver package containing firmware - corresponding to here:
> >
> >   http://hauppauge.lightpath.net/software/pvrusb2/pvrusb2_inf_24117.zip
> 
> Sorry, doesn't work for me:
> 
> andreas at prometheus ~ $ perl ./fwextract.pl --search
> fwextract version: $Id: fwextract.pl 1353 2006-09-29 06:02:44Z isely $
> driverDir is win_driver
> Searching for firmware images in driver directory
> Searching for the following embedded file data:
> Performing exact search in win_driver
> Searching win_driver/pvrusb2_inf_24117.zip (size=738072)
> Failed to find firmware data within Windows driver files
> _______________________________________________
> pvrusb2 mailing list
> pvrusb2 at isely.net
> http://www.isely.net/cgi-bin/mailman/listinfo/pvrusb2
> 

That's not how you use it.  Look at the pvrusb2 documentation:

  http://www.isely.net/pvrusb2/setup.html#Firmware

Here's what you want to do:

  unzip pvrusb2_inf_24117
  fwextract.pl --driverDir=DriverD2

(This is assuming that you have fwextract.pl sitting in that directory or 
in your path.  The --driverDir=DriverD2 part is there because that's the 
subdirectory created when the unzip command is run.)

And that's it.  The result will be 3 firmware files in the current 
directory if it worked (and it will be obvious if it worked).

The --search option does the opposite of an extract.  With --search, the 
firmware files are already present and you're asking the script to go 
figure out where those same bags of bits can be found within the driver 
package.  That's how you train the tool to work on newer driver packages, 
AFTER you've extracted the firmware through other means (as described for 
when you're doing a manual extraction).  What --search does is cause the 
tool to search through all the driver files and locate where the firmware 
images actually are, through comparison with the already extracted 
firmware.  Once it finds the firmware, it prints out a table entry which 
can be put into the script and thus allow it automatically locate the same 
firmware files later within the driver package.  The location info is 
data-driven, using MD5 sums.  So it can find the right spot regardless of 
file name or which files are present, and it automatically verifies that 
what it extracts is correct.  MD5 sums also mean that it doesn't have to 
care which driver package version you're feeding.

To update fwextract.pl, I followed the manual extraction process here.  
Then I used --search to train the script, and then I put the results back 
into the script and re-issued it.  Now all you have to do is run the 
script and simply point it at where you have expanded the driver files.  
It will then locate and extract the firmware, using guidance from that 
table entry previously put in by me (or whomever else does this).

  -Mike


-- 
                        |         Mike Isely          |     PGP fingerprint
     Spammers Die!!     |                             | 03 54 43 4D 75 E5 CC 92
                        |   isely @ pobox (dot) com   | 71 16 01 E2 B5 F5 C1 E8
                        |                             |


More information about the pvrusb2 mailing list