Difference between revisions of "Windows"

From flashrom
Jump to: navigation, search
(Making libusb-based driver for your device)
Line 2: Line 2:
  
 
== Requirements ==
 
== Requirements ==
In order to use flashrom on Windows you must build it from source as explained below or just download a snapshot from [http://ra.openbios.org/~idwer/flashrom/mingw/ here].
+
In order to use flashrom on Windows you must either build it from source as explained below or just download a snapshot from [http://ra.openbios.org/~idwer/flashrom/mingw/ here].
If your programmer is COM or LPT-based, there is nothing more to do, because Windows has all drivers needed. Consult the man page about options you need.
+
If your programmer is COM or LPT-based, there is nothing more to do, because Windows has all drivers needed.
  
It isn't so easy for USB-based devices, because they needed special libusb-win32 driver, that must be generated and installed to make them available to flashrom executable.
+
It isn't so easy for USB-based devices, because they needed a special libusb-win32 driver, that must be generated and installed to make it available to the flashrom executable.
Because the nature of generation process, the generated driver has no digital signature and can't be installed on 64-bit Windows versions without some preparations.  
+
Because the nature of the generation process, the driver has no digital signature and can't be installed on 64-bit Windows versions without some preparations.  
  
 
== Obtaining libusb-win32 ==
 
== Obtaining libusb-win32 ==
The required installation file can be found on [http://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/ libusb-win32 project site].
+
The required installation file can be found on [http://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/ the libusb-win32 project site].
Please use the same version that was used for flashrom compilation. The version can be determined from snapshot file path.
+
Please use the same version that was used for flashrom compilation as indicated by the download path.
  
 
Download the file named ''libusb-win32-bin-x.y.z.t.zip'' and unpack ''/libusb-win32-bin-x.y.z.t/bin'' directory from it.
 
Download the file named ''libusb-win32-bin-x.y.z.t.zip'' and unpack ''/libusb-win32-bin-x.y.z.t/bin'' directory from it.
  
 
== Making libusb-based driver for your device ==
 
== Making libusb-based driver for your device ==
* Attach you USB device and click on ''Cancel'' or ''Close'' on Driver Installation Wizard window.  
+
* Attach your USB device and click on ''Cancel'' or ''Close'' on the Driver Installation Wizard window.  
  
* Run inf-wizard.exe from unpacked ''bin'' directory. Click on ''Next''.  
+
* Run inf-wizard.exe from the unpacked ''bin'' directory. Click on ''Next''.  
  
 
[[Image:Inf-Wizard-List.png]]
 
[[Image:Inf-Wizard-List.png]]
Line 27: Line 27:
 
* Do not alter Vendor ID, Product ID and MI. You can alter Manufacturer and Device names, if you want. Click on ''Next''.
 
* Do not alter Vendor ID, Product ID and MI. You can alter Manufacturer and Device names, if you want. Click on ''Next''.
  
* Select the destination of newly created driver and click on Save to save it.
+
* Select the destination for the newly created driver and click on Save.
  
 
[[Image:Inf-Wizard-Done.png]]  
 
[[Image:Inf-Wizard-Done.png]]  
Line 33: Line 33:
 
* If you are using 32bit Windows version or 64bit Windows version with unsigned driver installation option enabled, click on ''Install Now...'' to install the driver.
 
* If you are using 32bit Windows version or 64bit Windows version with unsigned driver installation option enabled, click on ''Install Now...'' to install the driver.
  
* If you have error message instead of successful driver installation, disable the enforced driver signing and install the driver after that.
+
* If you receive an error message instead of a successful driver installation, disable the enforced driver signing (your favorite search engine will give you details about that) and install the driver after that.
  
 
* Detach your device and attach it once again to finish the installation.
 
* Detach your device and attach it once again to finish the installation.
  
 
== Using flashrom ==
 
== Using flashrom ==
After successful driver installation you can use flashrom without Administrator privileges.
+
After installing the drivers successfully you can use flashrom without Administrator privileges.
Consult the man page about options you need.
+
Consult the man page about how to use it in general and the options available for your programmer.
  
 
= Building flashrom on Windows using MinGW/MSYS. =
 
= Building flashrom on Windows using MinGW/MSYS. =

Revision as of 18:26, 29 November 2012

Using flashrom on Windows

Requirements

In order to use flashrom on Windows you must either build it from source as explained below or just download a snapshot from here. If your programmer is COM or LPT-based, there is nothing more to do, because Windows has all drivers needed.

It isn't so easy for USB-based devices, because they needed a special libusb-win32 driver, that must be generated and installed to make it available to the flashrom executable. Because the nature of the generation process, the driver has no digital signature and can't be installed on 64-bit Windows versions without some preparations.

Obtaining libusb-win32

The required installation file can be found on the libusb-win32 project site. Please use the same version that was used for flashrom compilation as indicated by the download path.

Download the file named libusb-win32-bin-x.y.z.t.zip and unpack /libusb-win32-bin-x.y.z.t/bin directory from it.

Making libusb-based driver for your device

  • Attach your USB device and click on Cancel or Close on the Driver Installation Wizard window.
  • Run inf-wizard.exe from the unpacked bin directory. Click on Next.

Inf-Wizard-List.png

  • Select your device from the list, click on Next.

Inf-Wizard-Settings.png

  • Do not alter Vendor ID, Product ID and MI. You can alter Manufacturer and Device names, if you want. Click on Next.
  • Select the destination for the newly created driver and click on Save.

Inf-Wizard-Done.png

  • If you are using 32bit Windows version or 64bit Windows version with unsigned driver installation option enabled, click on Install Now... to install the driver.
  • If you receive an error message instead of a successful driver installation, disable the enforced driver signing (your favorite search engine will give you details about that) and install the driver after that.
  • Detach your device and attach it once again to finish the installation.

Using flashrom

After installing the drivers successfully you can use flashrom without Administrator privileges. Consult the man page about how to use it in general and the options available for your programmer.

Building flashrom on Windows using MinGW/MSYS.

Before you set up a MinGW/MSYS build environment, note that you can find snapshot downloads at http://ra.openbios.org/~idwer/flashrom/mingw/

Requirements

MinGW/MSYS

In order to build flashrom and various of its dependencies, we need a UNIX-like environment on Windows, which is provided by MinGW/MSYS.

  • Download the latest version (20110530 currently) of the automated MinGW installer named mingw-get-inst (double-click the installer *.exe, which will download and install all components).
    • Make sure you enable "MinGW Compiler Suite", "C++ compiler", "MSYS Basic System", and "MinGW Developer Toolkit" in the installer.
    • For simplicity it's recommended to leave the default install location of c:\MinGW unchanged.

Now open a MinGW shell via Start/Programs/MinGW/MinGW Shell and do the following:

$ mingw-get update
$ mingw-get install msys-wget msys-unzip

libusb-win32

libftdi

  • Install libftdi. The easiest method is probably to use the libftdi-0.18_mingw32.zip binaries from here.
    • Extract the ZIP file into a temporary directory.
    • Copy dll/libftdi.dll to /usr/local/bin.
    • Copy lib/libftdi.a and lib/libftdi.dll.a to /usr/local/lib.
    • Copy include/ftdi.h to /usr/local/include.

Building flashrom

Checkout the flashrom source code from svn (e.g. using TortoiseSVN), then:

$ cd flashrom
$ make