The instructions on this page are for the latest WinDriver version released for the target operating system (visit the on-line store for an updated list of the latest WinDriver versions). To install an older version of WinDriver, refer to the installation instructions in the WinDriver User's Manual for your WinDriver version.
The WinDriver CD contains all versions of WinDriver for all the different
operating systems. The CD's root directory contains the Windows version.
This will automatically run when you insert the CD into your CD drive. The
other versions of WinDriver are located in subdirectories i.e.,
\Linux, \Wince and so on.
Below you will find instructions for Windows, Windows CE, Mac OS X, and Linux.
- Any x86 32-bit or 64-bit (x64: AMD64 or Intel EM64T) processor.
- Any development environment supporting C, .NET, VB or Delphi.
- Windows 2000 requires SP4.
- Windows XP requires SP2.
Driver installation on Windows requires administrator privileges.
- Insert the WinDriver CD into your CD-ROM drive, or double-click the
downloaded installation file — WD<version>.EXE (for
example, WD10.2.0.EXE) — and follow the
installation instructions.
NOTE
When using the installation CD, wait a few seconds for the installation to begin automatically. If this does not happen, double-click the Windows installation file in the CD — WD<version>.EXE — and click the Install WinDriver button. - At the end of the installation, you may be prompted to reboot your computer.
- The WinDriver installation defines a WD_BASEDIR environment variable, which is set to point to the location of your WinDriver directory, as selected during the installation. This variable is used during the DriverWizard code generation — it determines the default directory for saving your generated code and is used in the include paths of the generated project/make files. This variable is also used from the sample Kernel PlugIn projects and makefiles.
- If the installation fails with an ERROR_FILE_NOT_FOUND error, inspect the Windows registry to see if the RunOnce key exists in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion. This registry key is required by Windows Plug-and-Play in order to properly install drivers using INF files. If the RunOnce key is missing, create it; then try installing the INF file again.
The following steps are for registered users only:
To register your copy of WinDriver with the license you received from Jungo, follow these steps:
- Start DriverWizard: Start | Programs | WinDriver | DriverWizard.
- Select the Register WinDriver option from the File menu, and insert the license string you received from Jungo.
- Click the Activate License button.
- To register source code you developed during the evaluation period:
- For USB: Refer to the documentation of WDU_Init() in the WinDriver User's Manual.
- For PCI: Refer to the documentation of
WDC_DriverOpen() in the
WinDriver User's
Manual.
When using the low-level WD_xxx API instead of the WDC_xxx API (which is used by default), refer to the documentation of WD_License() in the WinDriver User's Manual.
- An x86 / MIPS / ARM or Windows CE 4.x — 5.0 (.NET) or Windows
Embedded CE v6.00 target platform
or:
an ARMV4I Windows Mobile 5.0/6.0 target platform. - Windows 7/Vista/Server 2003/XP/2000 host development platform.
- For Windows CE 4.x — 5.0: Microsoft eMbedded Visual C++
with a corresponding target SDK or Microsoft Platform Builder with a
corresponding BSP (Board Support Package) for the target platform.
For Windows Embedded CE 6.0: Microsoft Visual Studio (MSDEV) .NET with the Windows CE 6.0 plugin.
For Windows Mobile: Microsoft Visual Studio (MSDEV) .NET 2005.
- The following instructions apply to platform developers who build Windows CE kernel images using Windows CE Platform Builder or using MSDEV 2005 with the Windows CE 6.0 plugin. The instructions use the notation "Windows CE IDE" to refer to either of these platforms.
- We recommend that you read Microsoft's documentation and understand the Windows CE and device driver integration procedure before you perform the installation.
-
Modify the project registry file to add an entry for your target
device:
- If you select to use the WinDriver component (see step
2), modify
WinDriver\samples\wince_install\<TARGET_CPU>\WinDriver.reg
(e.g., WinDriver\samples\wince_install\ARMV4I\WinDriver.reg). - Otherwise, modify WinDriver\samples\wince_install\project_wd.reg.
- If you select to use the WinDriver component (see step
2), modify
WinDriver\samples\wince_install\<TARGET_CPU>\WinDriver.reg
-
You can simplify the driver integration into your Windows CE platform
by following the procedure described in this step before the Sysgen
platform compilation stage.
NOTE
- The procedure described in this step is relevant only for developers who use Windows CE 4.x-5.x with Platform Builder. Developers who use Windows CE 6.x with MSDEV 2005 should skip to the next step [3].
- This procedure provides a convenience method for integrating WinDriver into your Windows CE platform. If you select not to use this method, you will need to perform the manual integration steps described in step 4 below after the Sysgen stage.
- The procedure described in this step also adds the WinDriver kernel module (windrvr6.dll) to your OS image. This is a necessary step if you want the WinDriver CE kernel file (windrvr6.dll) to be a permanent part of the Windows CE image (NK.BIN), which is the case if you select to transfer the file to your target platform using a floppy disk. However, if you prefer to have the file windrvr6.dll loaded on demand via the CESH/PPSH services, you need to perform the manual integration method described in step 4 instead of performing the procedure described in the present step.
- Run Microsoft Platform Builder and open your platform.
- From the File menu select
Manage Catalog Items.... and then click the
Import... button and select the WinDriver.cec
file from the relevant
WinDriver\samples\wince_install\<TARGET_CPU>\
directory (e.g.,
WinDriver\samples\wince_install\ARMV4I\).
This will add a WinDriver component to the Platform Builder Catalog. - In the Catalog view, right-click the mouse on the WinDriver Component node in the Third Party tree and select Add to OS design.
- Compile your Windows CE platform (Sysgen stage).
-
If you have chosen not to perform the procedure described in
step 2 above, perform
the following steps after the Sysgen stage in order to manually
integrate the driver into your platform.
- Run Microsoft Platform Builder and open your platform.
- Select Open Build Release Directory from the Build menu.
- Copy the WinDriver CE kernel file — WinDriver\redist\<TARGET_CPU>\windrvr6.dll — to the %_FLATRELEASEDIR% sub-directory on the target development platform (should be the current directory in the new command window).
- Append the contents of the project_wd.reg file in the WinDriver\samples\wince_install\ directory to the project.reg file in the %_FLATRELEASEDIR% sub-directory.
- Append the contents of the project_wd.bib file in the
WinDriver\samples\wince_install\ directory to the
project.bib file in the %_FLATRELEASEDIR%
sub-directory.
This step is only necessary if you want the WinDriver CE kernel file (windrvr6.dll) to be a permanent part of the Windows CE image (NK.BIN), which is the case if you select to transfer the file to your target platform using a floppy disk. If you prefer to have the file windrvr6.dll loaded on demand via the CESH/PPSH services, you do not need to carry out this step until you build a permanent kernel.
- Select Make Image from the Build menu and name the new image NK.BIN.
- Download your new kernel to the target platform and initialize it either by selecting Download/Initialize from the Target menu or by using a floppy disk.
- Restart your target CE platform. The WinDriver CE kernel will automatically load.
- Compile and run the sample programs to make sure that WinDriver CE is loaded and is functioning correctly (see the WinDriver User's Manual for an explanation on how to check your installation).
Installing WinDriver CE when Developing Applications for CE Computers:
Unless otherwise specified, "Windows CE" references in this section include all supported Windows CE platforms, including Windows Mobile.
The following instructions apply to driver developers who do not build the Windows CE kernel, but only download their drivers, built using Microsoft eMbedded Visual C++ (Windows CE 4.x — 5.x) or MSDEV .NET 2005 (Windows Mobile or Windows CE 6.x) to a ready-made Windows CE platform:
- Insert the WinDriver CD into your Windows host CD drive.
- Exit the automatic installation.
- Copy WinDriver's kernel module — windrvr6.dll — from
the WinDriver\redist\WINCE\<TARGET_CPU>\ directory on the
Windows host development PC to the Windows\ directory on your
target Windows CE platform.
- Add WinDriver to the list of device drivers Windows CE loads on boot:
- Modify the registry according to the entries documented in the file WinDriver\samples\wince_install\project_wd.reg. This can be done using the Windows CE Pocket Registry Editor on the hand-held CE computer or by using the Remote CE Registry Editor Tool supplied with MS eMbedded Visual C++ (Windows CE 4.x — 5.x) / MSDEV .NET 2005 (Windows Mobile or Windows CE 6.x). Note that in order to use the Remote CE Registry Editor tool you will need to have Windows CE Services installed on your Windows host platform.
- On Windows Mobile the operating system's security scheme prevents the loading of unsigned drivers at boot time, therefore the WinDriver kernel module has to be reloaded after boot. To load WinDriver on the target Windows Mobile platform every time the OS is started, copy the WinDriver\redist\Windows_Mobile_5_ARMV4I\wdreg.exe utility to the Windows\StartUp\ directory on the target.
- Restart your target CE computer. The WinDriver CE kernel will automatically load. You will have to do a warm reset rather than just suspend/resume (use the reset or power button on your target CE computer).
- Compile and run the sample programs to make sure that WinDriver CE is loaded and is functioning correctly (see the WinDriver User's Manual for an explanation on how to check your installation).
Windows CE Installation Note:
The WinDriver installation on the host Windows 7/Vista/Server 2003/XP/2000 PC defines a WD_BASEDIR environment variable, which is set to point to the location of your WinDriver directory, as selected during the installation. This variable is used during the DriverWizard code generation — it determines the default directory for saving your generated code and is used in the include paths of the generated project/make files.
Note that if you install the WinDriver Windows 7/Vista/Server 2003/XP/2000 toolkit on the same host PC, the installation will override the value of the WD_BASEDIR variable from the Windows CE installation.
- Any 32-bit x86 PowerPC processor with Mac OS X 10.5.x—10.6.x
or:
Any 64-bit x86 AMD64 or Intel EM64T (x86_64) processor with Mac OS X 10.6.x - Xcode:
- For Mac OS X version 10.6 — Xcode version 3.2
- For Mac OS X version 10.5 — Xcode version 3.1 or 3.2
Jungo strives to support new Mac OS X and Xcode versions as close as possible to their release. To find out the latest supported versions, refer to the WinDriver release notes.
Driver installation on Mac OS X requires administrator privileges.
- Insert the WinDriver CD into the CD drive on your Mac OS X development machine, or copy the downloaded installation package to your preferred location.
- Double-click the installation package — WD<version>MAC.pkg. (for example, WD10.2.0MAC.pkg) — and follow the installation instructions.
The following is done automatically as part of the installation:
- The WinDriver kernel module — WinDriver.kext — is
installed to
/System/Library/Extensions. - The WinDriver API framework — WDAPI.framework — is installed to /Library/Frameworks.
- Graphical WinDriver applications, such as the DriverWizard (wdwizard.app) and the Debug Monitor (wddebug_gui.app), are copied to the OS's /Applications folder.
The following steps are for registered users only:
To register your copy of WinDriver with the license you received from Jungo, follow these steps:
- Start DriverWizard, either by double-clicking
/Applications/wdwizard.app, or by running the following command
from a command-line prompt:
$ /Applications/wdwizard.app/Contents/MacOSX/wdwizard - Select the Register WinDriver option from the File menu, and insert the license string you received from Jungo.
- Click the Activate License button.
- To register source code you developed during the evaluation period, refer to the documentation of WDC_DriverOpen() in the WinDriver User's Manual. When using the low-level WD_xxx API instead of the WDC_xxx API (which is used by default), refer to the documentation of WD_License() in the WinDriver Low-Level API Reference.
- Any 32-bit x86 processor with a Linux 2.2.x (PCI/ISA only), 2.4.x or 2.6.x kernel
or:
Any 64-bit x86 AMD64 or Intel EM64T (x86_64) processor with a Linux 2.4.x or 2.6.x kernel
or:
Any PowerPC 32-bit architecture with a Linux 2.4.x or 2.6.x kernel
or:
Any PowerPC 64-bit architecture with a 2.6.x kernel.NOTE
Jungo strives to support new Linux kernel versions as close as possible to their release. To find out the latest supported kernel version, refer to the WinDriver release notes. - A GCC compiler.
NOTE: The version of the GCC compiler should match the compiler version used for building the running Linux kernel.
- Any 32-bit or 64-bit development environment (depending on your target configuration) supporting C for user mode.
- On your development PC: glibc2.3.x.
- libstdc++.so.5 is required for running GUI WinDriver applications (e.g., DriverWizard; Debug Monitor).
In Linux, kernel modules must be compiled with the same header files that the kernel itself was compiled with. Since WinDriver installs the kernel modules, it must compile with the header files of the Linux kernel during the installation process.
Therefore, before you install WinDriver for Linux, verify that the Linux source code and the file versions.h are installed on your machine:
Install linux kernel source code:
- If you have yet to install Linux, install it, including the kernel source code, by following the instructions for your Linux distribution.
- If Linux is already installed on your machine, check whether the Linux source code was installed. You can do this by looking for 'linux' in the /usr/src directory. If the source code is not installed, either install it, or reinstall Linux with the source code, by following the instructions for your Linux distribution.
Install version.h:
The file version.h is created when you first compile the Linux kernel source code. Some distributions provide a compiled kernel without the file version.h. Look under /usr/src/linux/include/linux/ to see if you have this file. If you do not, follow these steps in order to install the file:
- Become super user:
$ su - Change directory to the Linux source directory:
# cd /usr/src/linux - Type:
# make xconfig - Save the configuration by choosing Save and Exit.
- Type:
# make dep
To run GUI WinDriver applications (e.g., DriverWizard; Debug Monitor) you must also have version 5.0 of the libstdc++ library — libstdc++.so.5. If you do not have this file, install it from the relevant RPM in your Linux distribution (e.g., compat-libstdc++).
Before proceeding with the installation, you must also make sure that you have
a 'linux' symbolic link. If you do not, create one by typing:
/usr/src$ ln -s <target kernel>/ linux
For example, for the Linux 2.4 kernel type:
/usr/src$ ln -s linux-2.4/ linux
- Insert the WinDriver CD into your Linux machine's CD drive or copy the downloaded file to your preferred directory.
- Change directory to your preferred installation directory, for example
to your home directory:
$ cd ~ - Extract the WinDriver distribution file —
WD<version>LN.tgz (for example,
WD10.2.0LN.tgz):
$ tar xvzf /<file location>/WD<version>LN.tgzFor example:
- From a CD:
$ tar xvzf /mnt/cdrom/LINUX/WD<version>LN.tgz
- From a downloaded file:
$ tar xvzf /home/username/WD<version>LN.tgz
- From a CD:
- Change directory to your WinDriver redist/ directory (the tar
automatically creates a WinDriver/ directory):
$ cd <WinDriver directory path>/redist/ - Install WinDriver:
-
<WinDriver directory>/redist$./configure
NOTE
The configure script creates a makefile based on your specific running kernel. You may run the configure script based on another kernel source you have installed, by adding the flag --with-kernel-source=<path> to the configure script. The <path> is the full path to the kernel source directory, e.g., /usr/src/linux.
If the Linux kernel is version 2.6.26 or higher, configure generates makefiles that use kbuild to compile the kernel modules. You can force the use of kbuild on earlier versions of Linux, by passing the --enable-kbuild flag to configure.
- <WinDriver directory>/redist$ make
- Become super user:
<WinDriver directory>/redist$ su - Install the driver:
<WinDriver directory>/redist# make install
-
<WinDriver directory>/redist$./configure
- Create a symbolic link so that you can easily launch the DriverWizard
GUI:
$ ln -s <full path to WinDriver>/wizard/wdwizard/
usr/bin/wdwizard - Change the read and execute permissions on the file wdwizard so that ordinary users can access this program.
- Change the user and group IDs and give read/write permissions to the
device file /dev/windrvr6 depending on how you wish to allow
users to access hardware through the device.
If you are using a Linux 2.6.x kernel that has the udev file system, change the permissions by modifying your
/etc/udev/permissions.d/50-udev.permissions file. For example, add the following line to provide read and write permissions:
windrvr6:root:root:0666
Otherwise, use the chmod command, for example:
chmod 666 /dev/windrvr6 - Define a new WD_BASEDIR
environment variable and set it to point to the location of your
WinDriver directory, as selected during the installation. This variable
is used in the make and source files of the WinDriver samples and
generated DriverWizard code, and is also used to determine the default
directory for saving your generated DriverWizard project. If you do not
define this variable you will be instructed to do so when attempting to
build the sample/generated code using the WinDriver makefiles.
- You can now start using WinDriver to access your hardware and generate your driver code!
TIP!
Use the WinDriver/util/wdreg script to load the WinDriver kernel
module.
To automatically load WinDriver on each boot, add the following to the target
Linux boot file (/etc/rc.d/rc.local):
<path to wdreg>/wdreg windrvr6
The following steps are for registered users only:
To register your copy of WinDriver with the license you received from Jungo, follow these steps:
- Start DriverWizard:
<path to WinDriver>/wizard/wdwizard - Select the Register WinDriver option from the File menu, and insert the license string you received from Jungo.
- Click the Activate License button.
- To register source code you developed during the evaluation period:
- For USB: Refer to the documentation of WDU_Init() in the WinDriver User's Manual.
- For PCI: Refer to the documentation of
WDC_DriverOpen() in the
WinDriver User's
Manual.
When using the low-level WD_xxx API instead of the WDC_xxx API (which is used by default), refer to the documentation of WD_License() in the WinDriver Low-Level API Reference.
Restricting Hardware Access on Linux
CAUTION:
Since /dev/windrvr6 gives direct hardware access to user programs, it
may compromise kernel stability on multi-user Linux systems. Please restrict
access to the DriverWizard and the device file /dev/windrvr6 to trusted
users.
For security reasons the WinDriver installation script does not automatically
perform the steps of changing the permissions on /dev/windrvr6 and the
DriverWizard executable (wdwizard).