3.3  Go-HotSwap Installation Instructions

The Go-HotSwap CD contains Go-HotSwap versions for all the different operating systems. The CD's root directory contains the Windows version. The installation for the Windows version automatically starts when you insert the CD into your CD drive. The other versions of Go-HotSwap are located in the sub-directories according to the operating system (e.g., Linux).

3.3.1  Installation Instructions for Windows

This section refers to Go-HotSwap installation on Windows 7/Vista/Server 2008/Server 2003/XP/2000
[Note]
Driver installation on Windows requires administrator privileges.
  1. Insert the Go-HotSwap CD into the CD drive. (When installing Go-HotSwap by downloading it from Jungo's web site, double-click the downloaded Go-HotSwap file (HSxxx.exe) in your download directory, and go to step 3).
  2. Wait a few seconds until the installation program automatically starts. If for some reason it does not start automatically, double-click the file HSxxx.exe (where xxx is the version number) and click the Install Go-HotSwap button.
  3. Read the license text carefully, and click Yes if you accept its terms.
  4. Choose the destination location in which to install Go-HotSwap.
  5. In the Setup Type screen, choose one of the following:

    • Typical – to install all Go-HotSwap modules (generic Go-HotSwap toolkit + specific chipset APIs).
    • Minimal – to install only the generic Go-HotSwap toolkit.
    • Custom – to choose which modules of the Go-HotSwap to install; you may choose which APIs will be installed.

    We recommend that you choose Typical installation.

  6. You will be prompted to reboot your computer.

The following steps are for registered users only:

In order to register your copy of Go-HotSwap with the license you received from Jungo, follow the steps below:

  1. Activate the Go-HotSwap Configuration Manager by clicking
    Start | Programs | Go-HotSwap | Go-HotSwap Configuration Manager.
    OR
    Activate the WinDriver wizard GUI by clicking
    Start | Programs | Go-HotSwap | DriverWizard.
  2. Select the Register Go-HotSwap option from the File menu and insert the license string you received from Jungo. Click the Activate License button.
  3. To activate the source code you developed during the evaluation period, please refer to WD_License() function reference.

    Calling the appropriate function with the license string you received from Jungo converts your existing samples from evaluation-only to registered.

The installation process installs the following:

  • The kernel-mode element of the Go-HotSwap Engine
    • windrvr6.sys, in %windir%\system32\drivers.
  • Go-HotSwap API and the WinDriver API
    • GoHotSwap\include\windrvr.h
  • Sample applications that demonstrate the use of the Go-HotSwap API (user-mode – source code included)
    • GoHotSwap\hotswap\hs_detect
    • GoHotSwap\hotswap\hs_activate
    • GoHotSwap\hotswap\hs_reenum
    • GoHotSwap\samples\... – includes the following samples: BASIC_IO, INT_IO, PCI_DIAG, PCI_DUMP, PCI_SCAN, PCI_DMA, WDDEBUG, WDREG, SPEAKER, SPEAKER_GUI, CMOS and SHARED
  • Utilities
    • GoHotSwap\hotswap\hs_extender.exe
    • GoHotSwap\wizard\wdwizard.exe
    • GoHotSwap\kerplug\... includes Kernel PlugIn
    • GoHotSwap\util\... – includes the following utilities: PCI_DIAG, PCI_DUMP, PCI_SCAN, WDREG, WDDEBUG and WDDEBUG_GUI
  • Documentation
    • GoHotSwap\docs\...
  • Enhanced support for specific PCI chip-sets
    • GoHotSwap\altera
    • GoHotSwap\amcc
    • GoHotSwap\plx
    • GoHotSwap\xilinx

3.3.2  Installation Instructions for Linux

3.3.2.1  Preparing the System for Installation

In Linux, kernel modules must be compiled with the same header files that the kernel itself was compiled with. Since Go-HotSwap installs kernel modules, it must compile with the header files of the Linux kernel during the installation process.

Therefore, before you install Go-HotSwap for Linux, verify that the Linux source code and the file versions.h are installed on your machine:

Install the 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, please follow these steps:
    1. Become super user:
      $ su
    2. Change directory to the Linux source directory:
      # cd /usr/src/linux
    3. Type:
      # make xconfig
    4. Save the configuration by choosing Save and Exit.
    5. Type:
      # make dep

To run GUI Go-HotSwap 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

3.3.2.2  Installation

  1. Insert the Go-HotSwap CD into your Linux machine CD drive or copy the downloaded file to your preferred directory.
  2. Change directory to your preferred installation directory, for example to your home directory:
    /$ cd ~
  3. Extract the WinDriver distribution file – HS1021LN.tgz:
    $ tar xvzf /<file location>/HS1021LN.tgz

    For example:

    • From a CD:
      $ tar xvzf /mnt/cdrom/LINUX/HS1021LN.tgz
    • From a downloaded file:
      $ tar xvzf /home/username/HS1021LN.tgz

  4. Change directory to your Go-HotSwap redist directory:
    $ cd <Go-HotSwap directory path>/redist
  5. Install Go-HotSwap:
    1. <Go-HotSwap directory>/redist$

      ./configure --disable-usb-support

      [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.
    2. <Go-HotSwap directory>/redist$ make
    3. Become super user:
      <Go-HotSwap directory>/redist$ su
    4. Install the driver:
      <Go-HotSwap directory>/redist# make install
  6. Create a symbolic link so that you can easily launch the DriverWizard GUI:
    $ ln -s <path to Go-HotSwap>/wizard/wdwizard/ usr/bin/wdwizard
  7. Change the read and execute permissions on the file wdwizard so that ordinary users can access this program.
  8. 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

  9. Define a new WD_BASEDIR environment variable and set it to point to the location of your Go-HotSwap directory, as selected during the installation. This variable is used in the make and source files of the Go-HotSwap 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 Go-HotSwap makefiles.
  10. You can now start using Go-HotSwap!

[Tip]
Use the GoHotSwap/util/wdreg script to load the WinDriver kernel module.

The following steps are for registered users only

In order to register your copy of Go-HotSwap with the license you received from Jungo, follow the steps below:

  1. Start DriverWizard – <path to Go-HotSwap>/wizard/wdwizard.
  2. Select the Register Go-HotSwap option from the File menu and insert the license string you received from Jungo.
  3. Click the Activate License button.
  4. To register source code you developed during the evaluation period, please refer to the WD_License() function reference.

3.3.2.3  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 DriverWizard and the device file /dev/windrvr6 to trusted users.

For security reasons the Go-HotSwap installation script does not automatically perform the steps of changing the permissions on /dev/windrvr6 and the DriverWizard application (wdwizard).

3.3.2.4  The Installed Components

This process installs the Go-HotSwap package, which includes the following components:

  • windrvr6 – The Go-HotSwap kernel-mode element (in /kernel/drv)
  • windrvr.h – Go-HotSwap and WinDriver API (in GoHotSwap/include)
  • Go-HotSwap samples (user-mode source code included):
    • GoHotSwap/hotswap/hs_detect
    • GoHotSwap/hotswap/hs_activate
    • GoHotSwap/hotswap/hs_reenum
    • GoHotSwap/samples/... – includes the following samples: BASIC_IO, INT_IO, PCI_DIAG, PCI_DUMP, PCI_SCAN, PCI_DMA, WDDEBUG, WDREG, SPEAKER, SPEAKER_GUI, CMOS and SHARED
  • Utilities:
    • GoHotSwap/wizard/wdwizard
    • GoHotSwap/kerplug/...
    • GoHotSwap/util/... – includes the following utilities: PCI_DIAG, PCI_DUMP, PCI_SCAN, WDREG, WDDEBUG and WDDEBUG_GUI
  • Documentation:
    • GoHotSwap/docs
  • Enhanced support for specific PCI chip-sets:
    • GoHotSwap/altera
    • GoHotSwap/amcc
    • GoHotSwap/plx
    • GoHotSwap/xilinx