My Requests

Drivers Manual

Kongsberg KMALL (TCP) - 20


Driver that decodes bathymetry data, seabed imagery (for raw storage) and water column data from the latest models Kongsberg multibeam echosounders equipped with firmware that supports the new "KMall" protocol.

For raw data processing the driver can optionally store raw bathymetry and seabed image records in the Qinsy database.

Supported systems (that QPS is aware of):

  • EM2040P
  • EM124
  • Kongsberg is working on releasing the format for other systems

Driver Information

Driver Kongsberg KMAL Interface Type UDP Driver Class Type
UTC Driver (question) Yes Input / Output Input Executable DrvQpsFreeBase.exe 
Related Systems

Related Pages

Please note that, due to a non-backwards compatible change in the protocol, systems that use the 'REV-I' or newer version of the protocol will only work with Qinsy 9.4.3 and later.

You can find out which protocol your system is using by looking at the software release notes as installed with the K-Controller/SIS:

The different KMall drivers only differ in the network protocol they use to connect to the PU:

  • UDP
    This is the preferred connection method for newer systems. Kongsberg refers to this as 'UDP multiport' as the data is divided over multiple ports.
    Make sure to set the IP address either to, or the IP of the machine running Qinsy.
    Make sure that the port configured in the K-Controller or SIS-5 is the same as the port set in Database Setup.
  • UDP Multicast
    This is the original network protocol supported by Kongsberg. Older systems may only support this protocol. The PU uses UDP multicast to send data to multiple clients.
    Newer systems still support this method, but 'multiport UDP' is advised.
    Should you want to use the multicast driver with a newer system, make sure that the 'Enable UDP/TCP data multiport' setting in the K-Controller or SIS-5 is turned off.
  • TCP
    TCP is a more robust protocol than UDP when it comes to connection loss, but because of this, there is a risk of connection problems when the data can't be read at the speed it comes in.
    From Kongsberg documentation:

    If SIS is unable to process data from the PU fast enough, the PU may start buffering datagrams.
    If the PC running SIS is used for other tasks than running SIS, e.g. transferring data to or from the PC, 
    the logging process may not be able to read data quickly enough and this may cause the PU to start buffering datagrams.
    Storage resources in the PU are very limited. When buffers are full, 
    the produced data will be discarded. The PU will send a message to inform the client when this happens.
    If SIS is used, this message will be shown in the SIS Message View.
    It is advised to refrain from using the PC to other CPU or disk intensive tasks when the echo sounder is pinging.

    For this reason we advise the use the 'UDP' driver over the use of the TCP driver.
    Should you want to use TCP anyway, then please make sure that if you also use SIS-5, that oth Qinsy and SIS-5 use TCP.
    From Kongsberg documentation:

    The TCP protocol can be enabled for all datagrams by setting “Use TCP for data from PU” to 1. 
    This is done in “Parameter Setup”. 
    Start from SIS’ tools menu or launch Setparameters.exe in the SIS5\bin folder.

Coding Notes

Driver decodes the following datagrams:

Raw range and depth, #MRZ

Bathymetry and imagery data

Water column #MWC

Water column data

The #MRZ message contains both 'raw' data (beam angle and travel time) and geo-referenced footprints (X,Y,Z). Of these two, only the raw data is decoded by the driver.

Multibeam quality

Since Qinsy 9.3.0 the driver decodes a quality indicator for each beam and supports filtering footprints on quality.

This quality indicator is based on the 'qualityFactor' field in the KMALL data.
The content of this field is described by Kongsberg as:

Estimated standard deviation as % of the detected depth. Quality Factor (QF) is calculated from IFREMER Quality Factor (IFQ): 

This value is multiplied by 128 and capped on 255 in order to translate it from a 'real number' to a byte value. 


The following items are licensed by Kongsberg. The data is not sent from the PU if the license is not there.
Note that Kongsberg supports soft licenses. 

  • Water column logging
  • Water column display
  • Extra detections

Extra detections

Extra detections are supported by Qinsy when using the KMALL format.
When using the ALL format (Kongsberg EM2040-EM710-EM712-EM302-EM122 - 20) the detections are stored as normal footprints.

Kongsberg also has an option to classify the extra detections. This is currently not supported by QInsy.

  • Please vote on FQI-559 - Getting issue details... STATUS .

System Interfacing

The multibeam system can be controlled from Kongsberg's K-Controller utility.

This utility is also used to configure IP addresses and ports used.


Please note that due to the communication technology used by Kongsberg (UDP multicast), you will need to select an IP address from the multicast range ( to

Phase Center offsets (PCO) used by Qinsy






port: -104,2,15


The x,y,z positions for the 3 TX line arrays are relative to the center of the sonar head face.
The x,y,z positions of the RX line array are relative to the centre of the sonar head face.
See figure by 'Kongsberg EM Series Multibeam echo sounder EM datagram formats, 850-160692/V July 2016 © Kongsberg Maritime AS' on this page.

center: 0,2,6

starboard: 104,2,15

EM2040P Installation Offsets

For the EM 2040P, the TX and RX arrays are integrated into a common sonar head. The transducer arrays are not placed at the center of the sonar head.
For most EM echosounders separate x,y,z installation parameters are given for the RX and the TX arrays.
For EM 2040P the installation parameters entered by the operator refer to a reference point on the face of the sonar head. This point is not marked on the sonar head.
The reference point used is the intersection between two diagonal lines drawn between the bumpers on the sonar head face.

Acknowledgement:  Text and Figure by Kongsberg EM Series Multibeam echo sounder EM datagram formats, 850-160692/V July 2016 © Kongsberg Maritime AS

System Configuration

Preferably a direct cross-over network cable should be used to transfer the data. This will minimize the chances of any dropped packets.

In case you are experiencing connection problems, i.e. data not coming into Qinsy, please have a look at the following tips.

Connection issue between Qinsy 9.2.0 and K-Controller

This was supposed to have been fixed and improved in Qinsy 9.2.0 but it turned out this is not yet working correctly.
The solution was that in Qinsy 9.2.0 it would check all the network cards for the multicase port, but that does not yet work properly.

A component has been made available under the Qinsy 9.2.0 - Known Issues to resolve this.
Please contact QPS Support in case you require assistance.

Connection loss between K-Controller and Qinsy 9.1.1

Currently Qinsy will only check the network adapter with the highest priority because the communication technology used is UDP multicast.
It is advised to change network priorities when there are multiple network adapters available to ensure that the network adapter connected to the PU has the highest priority.

To change priority of a network adapter use the following steps:

  1. Go to the Network Connections view
  2. Go to the Properties of the network adapter you want to prioritize
  3. Open up the Properties of Internet Protocol Version 4 (TCP/IPv4)
  4. Click the Advanced button
  5. Uncheck the 'Automatic metric' and assign a priority value for the adapter

    A lower 'Interface metric' number means higher priority.

Packet loss

A 'Balanced' (default) power plan on the PC can cause package dropouts from the second head.

This can be solved by changing the power plan on the PC from 'Balanced' to 'High Performance' when using a Windows 7 or Windows 10 pc.

Auxiliary data

Please note that the driver does not decode auxiliary sensors interfaced into the unit, such as position, motion, heading, etc. They are updated in a burst every second and we need updates as a continuous stream. 

These external sensors will have to be interfaced directly to Qinsy as well.


Coming from an old setup (either using SIS as controller or using the EM Controller in Qinsy) the following  needs to be considered:

  1. Changes in cabling: User can rewire the SV sensor to the processing unit directly.
  2. Entering geometry in the K-Controller: For a Qinsy setup it is not necessary to enter the full geometry. However, for Kongsberg support purposes it could be useful.
    There is the option of logging in KMall format in the K-Controller, and Kongsberg prefers that when supporting with problems. Problem finding is made easier if the offsets are correct.
  3. How to use the K-Controller: Kongsberg has a reference manual available: 'K-Controller Installation and runtime controller for EM multibeam echo sounders'.
  4. It is no longer possible to use the EM-controller in Qinsy with the new format. It is not possible to change settings from Qinsy.
  5. Which Kongsberg multibeam models are supported: Beginning 2019 the EM 2040P is supported with EM2040C; EM2040 and EM712 expected later during the year.
  6. Qinsy databases will be larger in size. More data is being sent and stored when raw data logging is on.

Qinsy Configuration

Multibeam System

Main Head

UDP (Qinsy 9.4.0 or newer)

Set the 'Multicast address' to, or to the IP address of the machine running Qinsy.
Make sure that the port number is the same in Database Setup and in the K-controller/SIS-5.

Make sure the 'Enable UDP/TCP data multiport' setting is ticked.

UDP multicast

Copy the IP address and port number settings from the 'Input Setup' page of the K-Controller:

If the 'Enable UDP/TCP data multiport'  setting is available (depends on the version of the K-Controller/SIS-5), switch it off

TCP (Qinsy 9.4.0 or newer)

Set the IP address in Database Setup to the IP address of the PU. Leave the port number at its default setting (13130).

In the K-Controller/SIS-5, make sure the 'Enable UDP/TCP data multiport' setting is ticked. The address and port settings should not matter.

Driver Specific Parameters

Selected preset Raw Bathymetry Storage Raw Seabed Image Storage Water Column Usage
FM Geocoder Toolbox (FMGT) (tick) (tick) (error)
FM Midwater (FMMW)




FM Geocoder Toolbox (FMGT & FM Midwater (FMMW)




XTF Export





Please use the Preset so the needed data packages are decoded.

Setting Option (bold=default) Description
Manufacturer Kongsberg


For the systems in this list you can now enter the reference point as node. See Knowledge Base document 'How-to Kongsberg Multibeam - Reference Position'
Raw Bathymetry Storage* Disabled/Enabled

When Enabled the Raw (original) Bathymetry packets (#MRC) and the Runtime Settings (#IOP) are stored in the database for usage in Fledermaus.

Raw Seabed Image Storage** Disabled/Enabled When Enabled the Seabed Image (#MRC) is stored in the database for usage in Fledermaus.
Water Column Usage Disabled/Enabled When Enabled the Water column data is decoded by the Driver.
The STORAGE of the water column is activated with a setting in the Controller's Session Setup - Database page.

Multibeam Echosounder Parameters


The offset of the transmit and receive transducers are known by Qinsy.

Therefore you only need to enter the Reference node of the Head.

Roll/Pitch/Heading offset These are the offsets between the reference frame of the Motion sensor (which is usually aligned with the vessel frame) and the reference frame of the multibeam head.
Max. Beams per ping This is the maximum amount of points we decode from the multibeam.
Sound Velocity We use the sound velocity from the unit (measured near the head).
Echosounder Stabilization Not applicable.

Echosounder Accuracy Parameters

Multibeam Echosounder Corrections

Output System

Difference SIS5 vs K-Controller

It is important that logging can only be started if SIS5 is running together with the K-Controller:

  • In SIS-5 you can remotely Start/Stop both Pinging and Logging.
  • In the K-Ctrl you can remotely Start/Stop Pinging only.

To record valid *.all and *.db files (without ping dropouts), we have to start and stop logging via Qinsy, however, an output system is required for this.

Add the XML files in the table below to this location:



The xml-files above are only visible when logged in to the QPS website, not when viewing the Drivers Manual from the Qinsy Console.

Create an Output system:


Keep in mind that this has been tested on one pc which ran Qinsy and SIS simultaneously, with IP address

  • This PC was running both the K-Controller and SIS-5

Logging data with Qinsy and SIS on the same PC

QPS advises to run SIS and Qinsy on separate PC's to allow both systems to run on maximum performance.
When logging data with both packages on one PC, this can lead to storage issues due to the large amounts of data.