Intel(R) QSFP+ Configuration Utility Release Notes
==================================================
June 6, 2019

Contents
========
- OVERVIEW
- SUPPORTED OPERATING SYSTEMS
- RUNNING THE UTILITY
  - OPTIONS
  - BASIC USAGE EXAMPLE
  - EXIT CODES
- CUSTOMER SUPPORT
- LEGAL


OVERVIEW
========
The Intel(R) QSFP+ Configuration Utility is a command line utility that allows
users to change the link type of the installed QSFP+ module. The supported types
are defined within the adapter's NVM. This utility displays only the devices
that
potentially support QSFP+ reconfiguration. Only one port per device is
displayed,
since changes affect the device as a whole, not individual ports.

NOTE: A reboot is required to apply configuration changes. On systems running
Oracle* Solaris* 11, you must perform a full reboot, not a fast reboot.


Supported Operating Systems
---------------------------
Microsoft Windows Server* 2008 R2 and later
Windows PE 3.0 and later
Linux* Kernel 2.6/3.x and later
Red Hat* Enterprise Linux* 6.5 and later
SUSE* Linux Enterprise Server 10 SP4 and later
UEFI 2.1 and later
Oracle* Solaris* 11
VMWare* ESXi* 5.5 and later
FreeBSD 10.1 and later

Notes:
- On systems running Linux, FreeBSD, Solaris, or ESXi, the base driver must be
present for QCU to function correctly.

- On Microsoft Windows systems, if the driver required to run the tool is not
present on the system, it will automatically be installed when QCU is run.


RUNNING THE UTILITY
===================
Using the "/?" option will display a list of supported command line options.
NOTE: The utility must be run with root/administrator privileges.


OPTIONS
-------
The Intel(R) QSFP+ Configuration Utility can be run with any of the following
command line options.
NOTE: The dash '-' character can be used in place of the slash '/' character.
NOTE: All options are case-sensitive.

/HELP or /?
	Displays command line help.

/VERSION
	Displays tool version information.

/EXITCODES
	Displays exit code help.

/DEVICES
	Displays supported devices present in the system.
	NOTE: The value "N/A" is displayed in the Mode column if the hardware
	      supports QSFP+ configuration but the current firmware does not.
	      See BASIC USAGE EXAMPLES below.

/NIC=XX
	Selects a specific adapter (1-32).

/INFO
	Displays supported QSFP+ link modes. Use only with /NIC.

/SET [LINK MODE]
	Configures selected QSFP+ link mode. Use only with /NIC.
	NOTE: You must reset the platform for the changes to take effect.


BASIC USAGE EXAMPLES
--------------------
The following examples show the tool's output for the /DEVICES option,
the /INFO option, and the /SET option.

/DEVICES:
---------
QCU>QCUW64E.EXE /DEVICES
NIC B:D   Ven-Dev   Mode  Adapter Name
=== ===   ========= ===== ============================================
1)  01:00 8086-1584 4x10  Intel(R) Ethernet Controller XL710 for 40GbE QSFP+
2)  04:00 8086-1583 N/A   Intel(R) Ethernet Controller XL710 for 40GbE backplan

/INFO:
------
> QCUW64E.EXE /NIC=3 /INFO

Intel(R) QSFP+ Configuration Utility vXX.XX.XX.XX
Copyright (C) 2015 by Intel Corporation.
Software released under Intel Proprietary License.

Adapter supports QSFP+ Configuration modification.
Current Configuration: 1x40
Supported Configurations: 1x40, 4x10

/SET:
-----
> QCUW64E.EXE /NIC=3 /SET 4x10

Intel(R) QSFP+ Configuration Utility vXX.XX.XX.XX
Copyright (C) 2015 by Intel Corporation.
Software released under Intel Proprietary License.

QSFP+ configuration changed. Please reset platform for the changes to take
effect.


Exit Codes
==========
The Intel(R) QSFP+ Configuration Utility returns exit codes to the command line.
A description of each of these codes can be found in the tool by running
QCU /EXITCODES.


Installation
=============


INSTALLING THE TOOL ON MICROSOFT* WINDOWS*
===========================================

To install the tools' drivers on Windows, run install.bat from the appropriate
directory of the install package.

Although the tool are not installed with install.bat, the driver that the tool
requires is copied into the local machine Windows driver directory. To run the
tool, launch a Command Prompt window from the Windows Start Menu. Go to the
media and directory where the tool is located and run the utility. The readme
files for each tool are found in the same directory as the tool. These tools
can be manually installed on the local hard drive in any directory.

The tool uses its own driver file (not the same as the system network driver).
If the driver sys file already exists in the drivers directory, install.bat may
fail to copy. Using the /y switch with install.bat will override and copy the
driver file regardless. However, this can be dangerous if an older version of
the driver is being used by another application such as Intel(R) PROSet for
Windows Device Manager. If a driver is already present in the drivers
directory, try running the tool from the command prompt. If it runs, then the
driver is fine. The tool will not run if the driver version present does not
match the driver version expected.

Note that you must have access to the %systemroot%\system32\drivers directory.
Only the administrator account has these privileges. You must be logged in as
administrator or the tools must be run as administrator.

Note that on Windows, any device that is disabled in device manager will not be
accessible by tools due to no memory resources. You would get an error code
0xC86A800E. To solve this problem, you can do one of the following:
1) Re-enable the device in device manager. Never disable this device when
   using tools.
2) Install an NDIS device driver for the device and make sure that it does
   not have a yellow or red bang by it in device manager.
3) Delete the device from device manager and restart the system. The install
   new hardware wizard should appear on next reboot. Do not cancel this. Just
   move the window aside and run the tool(s). Generally, you can click "cancel"
   on the wizard but there are some cases where Windows will disable the memory
   resources causing you to get back into the same state.


INSTALLING THE TOOLS ON EFI
===========================

The EFI 1.x tools are not supported in this release.

There is no installation required for EFI tools. The tools can simply be copied
from the appropriate directory to the drive that they will run from. The EFI2
binaries are for use with the UEFI Shell 2.X with the UEFI 2.3 HII protocol.
EFI2 tools will not run on the EFI Shell 1.X or if the UEFI 2.3 HII protocol is
not present.

Note that while EFI supports USB drives, there may be issues running tools from
the USB drive. Whether or not there are issues are BIOS specific. If you
experience issues, run the tool from hard disk instead.


INSTALLING THE TOOLS ON DOS
===========================

The tools support various DOS versions. There is no installation required for
DOS tools. The tools can simply be copied from the DOS directory on the CD to
the drive that they will run from. It is expected that the tools have a clean
boot environment. The tools will not run with memory managers and/or DOS
networking drivers loaded. The tools expect that they have full, unlimited
control of the hardware. The tools *WILL NOT* run properly if EMM386 is
present. The tools run in protected mode, 32-bit DOS. Therefore, they will not
be compatible with any TSR programs.


INSTALLING THE TOOL ON LINUX*
=============================

In order to run this tool on Linux*, the base driver must be installed on the
system.

On kernel 4.16 or higher, ensure iomem parameter set to relaxed
---------------------------------------------------------------
On Linux* kernel 4.16 and higher, the iomem parameter is set to "strict" by
default, which prevents the NVM update utilities from accessing the MMIO on
1GbE and 10GbE devices. Trying to update a device when "strict" is set causes
the device to lose link during the update process. Also, if you run any of the
NVM update utilities (NVMUpdate, NVMCheck, QCU, or Bootutil), the utility may
exit with the error "The selected adapter (location:[Bus:Device:Function])
cannot be initialized due to inaccessible device memory. Update the device
driver and reboot the system before running this utility again. Consult the
utility documentation for more information."

If you wish to update a device without losing link, you can either:
1. Install Linux base drivers (igb or ixgbe) from Release 24.1, or newer
2. Set the iomem kernel parameter to "relaxed" (i.e., iomem=relaxed) and reboot
the system before running the update utility.


INSTALLING THE TOOL ON VMWare* ESXi*
===================================

In order to run this tool on VMWare* ESXi*, the base driver must be installed
on the system.

Note that there are two versions of the utility. For ESXi 6.5 and later, use
qcun64e. For ESXi 5.5, use qcu64e.


INSTALLING THE TOOL ON FreeBSD*
===============================

In order to run this tool on FreeBSD*, the base driver must be installed on the
system.


CUSTOMER SUPPORT
================
- Main Intel web support site: http://support.intel.com

- Network products information: http://www.intel.com/network


Legal / Disclaimers
===================
Copyright (C) 2014 - 2019, Intel Corporation. All rights reserved.

Intel Corporation assumes no responsibility for errors or omissions in this
document. Nor does Intel make any commitment to update the information
contained herein.

Intel and the Intel logo are trademarks of Intel Corporation or its
subsidiaries in the U.S. and/or other countries.

*Other names and brands may be claimed as the property of others.

This software is furnished under license and may only be used or copied in
accordance with the terms of the license. The information in this manual is
furnished for informational use only, is subject to change without notice, and
should not be construed as a commitment by Intel Corporation. Intel Corporation
assumes no responsibility or liability for any errors or inaccuracies that may
appear in this document or any software that may be provided in association
with this document. Except as permitted by such license, no part of this
document may be reproduced, stored in a retrieval system, or transmitted in any
form or by any means without the express written consent of Intel Corporation.
