KMAX Release Notes

Version 1.6


Additional Operating System Base

Version 1.5 now has two operating system flavors. The upgrade to 1.6 you use must be consistent with the underlying operating system base for your particular unit. The name of the upgrade file indicates which base that file is for.

  • FreeBSD 10.3 base -- Upgrade files for this base have a name similar to "update_kmax.1.6.2022-10.3-RELEASE.tar"
  • FreeBSD 12.0 base -- Upgrade files for this base have a name similar to "update_kmax.1.6.2022-12.0-RELEASE.tar" New units will be constructed using the FreeBSD 12.0 base. Units on the older FreeBSD 10.3 base continue to be supported.


  1. Additional platforms and network interface types. The FreeBSD 12.0 operating system base expands the number of platforms and network interface types that KMAX can support, such as the Intel i219 NIC and various Wi-Fi NICs. (KMAX itself does not contain the interfaces to configure Wi-Fi NICs. That task is performed using FreeBSD 12.0 command-line tools.)
  2. Several pre-written scenarios have been added. These include several for mobile communications.
  3. The set of command-line and Python tools has been expanded. These tools allow to create scripts to drive KMAX directly rather than through a web browser. Most of these tools work with Python 3.

Known Bugs

  1. Sometimes the update procedure times out at the user browser and a "500 Internal Server Error" is generated (along with a Python traceback). Although this seems alarming, it is harmless -- the KMAX will reboot itself shortly after the new update.
  2. FreeBSD 12.0 based systems have (hopefully temporarily) lost the means to identify network interfaces by blinking an LED.
  3. FreeBSD 12.0 based systems have (hopefully temporarily) lost link-state down notifications.

Prior Releases

Version 1.5

New Features

  1. A set of nine new mobile impairment scenarios has been added. These scenarios are intended to supersede the seven 3G and 4G impairments that we currently include. The new scenarios contain more detail on the origins of their values and a more methodical approach was used in creating them.


  1. The API commands that can be used to start and stop Packet Capture and Packet Playback have now been included in Help → Online Help → JSON Remote API → Command Categories → Packet Capture and Playback.
  2. The API commands that can be used to upload and download several categories of files (packet captures being the most relevant for most users) have now been documented in Help → Online Help → JSON Remote API → Command Categories → File Management.
  3. A Python language program has been added to the online help to demonstrate several common use cases of the JSON Remote API and another Python language program has been added to do the same for the Rest Interface. They may be found under Help → Online Help → JSON Remote API → and Help → Online Help → REST Interface →, respectively.
  4. Two new templates have been added that demonstrate the ability of Alter Transform nodes to modify classifiers in real time, based on traffic or elapsed time. This will only appear on systems licensed to use Alter Transform.

Bug Fixes

  1. On our newer KMAX-MM hardware, a bug in the LED drivers would cause front-panel LEDs to fail to all turn on after a successful boot, incorrectly implying the boot had failed. This has been fixed.
  2. Spurious graphics would appear on templates that were saved after the background graphics were deleted from a running scenario.
  3. Support added for Intel 7th Generation processors, NVME SSD storage, and new motherboards for KMAX-G/PRO units.

Version 1.4

New Features

  1. KMAX-V is released. KMAX-V is for use in a virtual machine on VMware hypervisors, particularly ESXi.

    Typically a KMAX-V virtual machine is connected to three or more virtual network interfaces, The first is for management and control; the second subsequent interfaces are the data bearing interfaces. These latter interfaces are typically attached to physical interfaces of VLANs.

    This makes it convenient to locate KMAX-V in a company or lab data center and use VLANs to bring client packets to and from the KMAX-V.

    KMAX-V is distributed as a .OVA file that may be directly imported by VMware tools to create a new virtual machine. KMAX-V uses a new floating license system. This requires that the customer establish a lightweight license server (provided by IWL) on a convenient Linux virtual or physical platform. This is usually a very easy task – often less than five minutes of effort. Once running the customer may have multiple instances of KMAX-V, but the number which may be simultaneously running is controlled by the number of license “seats”.

  2. KMAX was subjected to a battery of measurements for accuracy of delay, packet drop, and rate limitation. Tools from Spirent, Ixia, and IWL were used to make measurements and generate statistics. A report is being prepared describing KMAX accuracy and stability.


  1. Additional examples have been provided to demonstrate some common use cases for the kmaxw REST and kmaxd JSON APIs.

  2. A 32-band template has been added (an additional license key is required to activate this.)

  3. Startup time has been reduced.

Bug Fixes

  1. Fixed several bugs in the error handling for the REST API for classifier nodes

  2. Various bug fixes and minor code streamlining.

Version 1.3


  1. Updated the radio/wireless handoff scenario so that every band is active (but with the same impairment values.)

  2. Added new scenarios that are spin-offs of the more general App to Cloud emulation scenario:
    • App to Cloud Static Emulation (Load and Go).
    • App to Cloud Periodic emulation (Load and Go).
    • App to Cloud 4G 3G Handoff (Load and Go).
    • App to Cloud 4G WiFi Handoff (Load and Go).

Bug Fixes

  1. The 6-band template was not applying any drop, duplicate, or rate limit impairments on any of the flows (including the default flow) because it incorrectly linked the Classifier nodes to the delay node, thus bypassing the affected nodes. The template has been repaired. Any scenarios users saved that used the old template should be discarded – you will need to manually copy the impairment settings from the old templates to one made with the corrected one in the library.

  2. The GUI was only allowing waveform time steps down to 0.1 seconds but it should have been allowing down to 0.01 seconds.

  3. The rate limiter was assuming an incorrect overhead bit count for Ethernet frames containing Ethertypes that it did not recognize. This would cause the effective bit rate of those packets to be off by a few percent from the target rate. This bug has been corrected.

  4. A problem was fixed that would cause some KMAX-MM machines to report an error on boot-up.

Version 1.2

New Features

  1. New KMAX collections:

    • KMAX-V (for use on a Vmware ESXi virtual machine)
  2. New platforms: PC-Engines APU2, Intel Skylake, Supermicro 5019S-ML.

  3. RADIUS access control.


  1. The security allow/deny access lists have been extended to support both IPv4 and IPv6 addresses.

  2. Increased IPv6 support has been added for the management network interface. This includes SLAAC and DHCP6, and a persistent DUID to support consistent DHCP6 assignments.

  3. 10G network interfaces are now supported on certain platforms.

  4. New scenarios have been added. These include scenarios for:
    • Internet of Things
    • 3G/4G/LTE paths
    • WiFi handoff
    • Cloud computing, etc.

In addition there are now “load and go” scenarios that require no user tailoring before use.

  1. The scenario loader has been extended so that the various scenarios are enumerated under various categories. This makes it easier for the user to find an appropriate scenario.

  2. User modified or user-created scenarios may be saved so that they are automatically loaded when the KMAX system starts.

  3. Additional pre-written packet classifiers have been added.

  4. The packet parser used for packet classification and alteration has been extended.

  5. Increased functionality has been added to the Alter mechanism.

  6. Added a multi-span control to the graphical user interface to allow easier setting of control values over wide ranges of possible values.

  7. Improved the binding of templates to network interfaces so that it better conforms to user expectations.

  8. Improved packet capture and playback capabilities.

  9. Expanded the options for browser-type specific control.

  10. M.2 NVME SSD drive support has been added.

  11. Support UEFI booting.

Bug Fixes

  1. Improved rate limit logic to better handle real-time changes to the control values and to repair a bug that caused rate limiting to cut in too early when using the token bucket algorithm.

  2. Repaired bugs that were causing Websocket disconnects.

  3. Repaired bugs in the RED queue management option in the rate limiter.

  4. Improved the way that packet bursts are generated by the delay impairment.

  5. Improved the accuracy of KMAX probability distributions and timing.

  6. Disabling the re-sequence function now releases packets that are being held.

  7. Repaired an error in SNMP configuration that could cause the SNMP agent to fail to start.

  8. Waveform timing over multiple iterations is now more accurate.

  9. Corrected display of the various network interface names on the Dashboard page.

  10. SNMP traps are now more accurately generated when a network interface goes down.

  11. Increased use of the W3C validator on HTML and CSS pages.

  12. Increased granularity of licensing of KMAX functions.

  13. Security tightened by removing unused components and logins.

  14. Various bug fixes and user interface improvements.

  15. Overall performance improvements.

Getting KMAX

The update package consists of a single file, approximately 34 megabytes in size. Fetch the update file from the IWL support website:

  1. Use a web browser to visit

  2. Log in using the username and password previously provided to you by IWL when you acquired the KMAX. If you do not have the username or password, please contact IWL sales for assistance.

  3. Navigate through the “Downloads” items (and the sub-pages) to reach the KMAX support files for your particular KMAX model. Note: Some early KMAX-MM units used the FreeBSD 10.2 operating system (rather than 10.3), those units require the FreeBSD 10.2 version of the update package. All others use the FreeBSD 10.3 version.

  4. Download the “Current Stable Release” for your particular device (and operating system version.) Note, you will be required to agree to the IWL licenses for the KMAX product.

Updating Your Device

Use your web browser to initiate an update of the KMAX device:

  1. Navigate to the “Dashboard” web page of your KMAX. (This is the first page that is displayed after you agree to the license on the KMAX device’s home page.)

  2. Pull down the “Manage System” menu and select “Upgrade KMAX”

  3. Use the “Select KMAX package tar file...” button to locate the update package file you downloaded.

  4. Accept the update and wait for it to process. Your KMAX will reboot.

    After rebooting you should clear your web browser cache (some browsers, such as Firefox, may require that you restart the browser in order to fully clear its cache.)

    NOTE: You may see the following error when you do the update. It is harmless and is a side effect of your browser caching parts of the prior version: Error when processing template: kmax_check.html: "require_login_bool" not defined.

  5. Your update is complete, you may remove the update package file that you downloaded