A Qosium measurement is parameterized by using a measurement controller, such as Qosium Scope. In most of the cases, you just install Qosium Probe as a system service once and start measuring without any modifications to the Probe itself. However, Qosium Probe has also operational parameters that in some measurement scenarios need attention. This article describes the available parameters and how to set them to the Probe.
The parameters of Qosium Probe can be edited via
QosiumProbe.ini, which is located in the installation directory of Probe. The file follows format
i.e., a single space between the parameter name and its value.
These are the operating parameters of Probe and cannot be set by a measurement controller. Qosium Probe reads the parameters at startup. Thus, if you make changes to the parameters, run the Probe down, make the changes, and then run the Probe up.
Qosium Probe shows outside as a server that accepts incoming QMCP connections. The address of the server can be defined with the parameter server_address. Server port (TCP) can be defined with the parameter server_port. By default, connections via all local IP addresses are accepted to port 8177.
Defines the IP address to which Probe is bound to.
0All addresses – Sets the general address 0.0.0.0 which accepts connections from all the local interfaces.
1Local address – Sets the local loopback address 127.0.0.1.
<IP address>– Interface IP address
Defines the port (TCP only, currently) of Qosium Probe to which the server is bound to.
0Port 8177 is used
<TCP port>– Your specified port at range
1 - 65534
Defines one part of the Qosium’s measurement fingerprint. This parameter provides a way to uniquely identify a Probe. The use of this parameter is voluntary and up to the user. You can specify here a number based on your own needs and rules. The set parameter value will appear in the Average Results and can be used, e.g., to classify results in Qosium Storage.
This parameter has also a very important role in Central server registration functionality explained later.
If you wish to limit who can control Qosium, it can be done from an IP address basis. You can select a network or even individual IP addresses from which the Qosium Probe accepts control. A typical example is that Qosium’s control is limited inside the corporate network. By default, there are no limitations. There are two parameters in QosiumProbe.ini that allow controlling the access and they are explained next.
This parameter turns the control limiting feature on/off and determines the way how the control addressing is defined.
0Function is off – Control is not limited
1Address mode – Each allowed controller address is given separately (the next parameter)
2Masking mode – An address mask will be used instead of separate addresses (the next parameter)
This parameter defines either the network or individual addresses that are allowed to control the Probe based on the mode (secu_ctrl_addr_mode).
Positioning support is an integral part of Qosium, but the direct support for GNSS receivers is an optional feature, and not all the builds support it. The log at Probe’s startup shows the supported features listing also whether GNSS is supported or not. Regardless of GNSS support location can be still fed to Qosium Probe via UDP messages or manually by measurement controllers.
This parameter is used to turn on/off the automatic location information collection, defining also the way how the collection is carried out.
0Off – No automatic location information collection
1GNSS with TSIP
2GNSS with NMEA
4NMEA data from UDP
When parameter location_mode is set to use NMEA data from UDP, this parameter will define the reception port for the UDP messages carrying the NMEA data. When using this, remember to activate at least the GGA message transmission from your external GNSS receiver.
1 - 65534
Qosium is able to collect some physical layer information statistics directly from the network device. In practice, this is about radio interface statistics, such as signal strength and SNR. This information is attached as a part of the measurement results, being valuable especially during field measurements.
Information gathering is handled by AT commands. Thus, when Qosium Probe is on a device that has a wireless modem supporting AT commands, physical layer information can be collected. Collected information is a property of Qosium Probe similar to location and collection takes place in the background. Thus, all measurements using the particular Probe will get the same information.
This parameter turns the physical layers information collection on/off and sets the collection mode.
0Off – Physical layer information collection is not active
1– AT commands are used
Defines the modem address to where the physical layers information collection AT commands will connect.
<Device>Address – Given in string format, example:
When physical layer information fetching by AT commands is activated, this parameter defines the command to get the signal information. In practice, the modem is fed with command `AT+
CSQ– A generally used command to gather signal strength (RSSI) supported by many devices
This parameter is very similar to the previous, but instead of signal information, cell information is collected.
In large Qosium setups, it is feasible to use a central server to collect information on the available measurement points in the network. A unique identifier can be defined for each device being a big help, e.g., when dynamic IP addressing is used. This enables you to detect at a quick glance which devices are in the network and what is their current IP address. A missing device in the list can be an indication of a network problem. The list of registered Probes can be fetched by, e.g., Qosium Scope.
Any Qosium Probe can act as such a central server. Thus, just put Qosium Probe running to the desired location that you wish to act as the Central server. Then parameterize the other Probe’s in the network as follows.
When using Central server registration, the parameter service_id has an important role. It is the one that is used to identify a Probe in the registration. A good way of operating is to have a separate list of the given IDs, i.e., which Service ID maps to what measurement point in the network.
Defines the Central server address where the registration is to be made. Thus, give here the IP address of your selected Central server.
<IP address>– Given in the standard dotted format (e.g.,
Defines the Central server port where the registration is to be made.
0– Port 8177 is used
<TCP port>– (e.g.,
This parameter is used, first, to turn on/off the registration feature, and second, to set the registration lifetime. It has a direct relation to the registration interval since it is carried out periodically.
0– Registration is off
1 - 4294967294
The Pcap-based packet capturing libraries operate as drivers at the kernel level. When packet capturing is activated from an application, such as Qosium, Pcap reserves a fixed amount of memory as a capture buffer regardless of the number of captured packets. This fixed allocation is made separately for each independent simultaneous capturing process. Thus, in the case of Qosium, each separate measurement controller, when connected and measuring in a Probe, causes this same reservation. Qosium Probe’s parameter pcap_cap_buff_size sets the size of this allocation.
Another parameter is also related to this: max_pcap_mem_reservation. It defines how much memory, as total per Probe, can be reserved for the Pcap processes. Thus, this parameter, together with pcap_cap_buff_size, determines how many clients a Probe can serve simultaneously. The purpose of max_pcap_mem_reservation is to avoid Qosium of consuming too much memory in the device. After all, a measurement should never hinder the operation of the measurement target.
Setting pcap_cap_buff_size is not always straightforward. If it is too small, Pcap starts to drop packets when measuring high-rate traffic stream. The Pcap drops will cause false packet loss and negative packet loss (the statistic Sent info not found). Luckily, the Pcap drops themselves are also collected as statistics, so detecting this situation is easy. If, on the other hand, pcap_cap_buff_size is set to an unnecessarily large value, the device’s memory capacity gets wasted for nothing. Also, a large pcap_cap_buff_size will decrease the maximum number of allowed simultaneous clients per Probe.
There are certain rules of thumb on how to set the pcap_cap_buff_size. If the measured traffic load is sufficiently small (< 10 Mbit/s), setting 10 MB as the reserved buffer size should be enough. When measuring very small traffic loads (« 1 Mbit/s), even 1 MB could be enough. When measuring high traffic loads (> 100 Mbit/s), it is recommended to set 100 MB or more. However, even these coarse rules do not hold in all the cases because the joint performance of packet capturing and Qosium’s internal processes is dependent on the processing power of the platform. If the platform is a typical desktop PC, a business laptop, or a powerful smartphone, then the said rules should hold quite nicely. If, however, the platform is, e.g., a resource-limited IoT device, paradoxically, you need a larger Pcap buffer. Then again, when Qosium is run in a high-power server platform or in a state-of-the-art desktop PC, less Pcap buffer is required.
Another dimension is how to set the max_pcap_mem_reservation parameter. In this, first, consider how many clients you wish to serve with the Probe. Second, examine how much free memory there is in the device where the Probe is installed. If the Probe is running in a powerful PC with plenty of memory, this is typically not a problem, but just set, e.g., 4 GB of memory to this, being well enough for many typical measurement cases. In performance-limited devices, consider free memory as the memory that is free while the device is operating its normal routines. For example, if the device where you run the Probe is a network video camera, let the camera stream its content with maximum resolution and then observe how much memory is free in the device. Based on this information, you can set max_pcap_mem_reservation. Remember also that all Qosium measurement threads themselves will consume some memory. A typical measurement thread measuring medium rate traffic takes about 10 MB of memory. For example, by setting pcap_cap_buff_size to 40 MB and max_pcap_mem_reservation to 400 MB, you can fit 10 clients in Qosium Probe. When running all 10 clients, they will take that 400 MB of memory in the Pcap driver level, but the Qosium measurement will take about 500 MB in total. Hence, max_pcap_mem_reservation should be set according to the free memory with some clearance.
In conclusion, when operating Qosium Probe in a high-power device, setting the two parameters is quite easy. Then, when operating in performance-limited devices, setting the parameters will be balancing with the resources, needs, and capabilities. In these cases, it is typical that experiments are needed to set the pcap_cap_buff_size and max_pcap_mem_reservation optimally for the needs.
Yet another parameter related to packet capturing is capture_snap_len. It sets the maximum length for the captured packets. When this parameter value is smaller than the length of the packet to be captured, the packet will be cut to this size before it is delivered from Pcap to Qosium. Qosium, in its normal operation, only glances inside the packet content, so no notable performance benefits are got by cutting the packets. Instead, if a packet is cut too short, it might have a negative effect on the QoS calculation process. In addition, when taking full Pcap captures, the cut bytes will be missing in the output capture file. Therefore, if you have no special needs to cut the packets, leave them as they are.
This parameter defines the size of the packet capturing buffer at Pcap. Its role in defining the success and efficiency of the packet capturing process is very important.
1 - 2147
This parameter sets the maximum joint Pcap buffer memory allocation of all the measurements. Together with the parameter pcap_cap_buff_size, the maximum number of simultaneous measurements is defined.
1 - 4294967294
This parameter is used to limit the capture length of packets.
0Off – The packets are not cut
1 - 4294967294– Your specified maximum length
This category contains some additional parameters that might be sometimes useful.
If Qosium Probe is not intended to be run as a service, but still needs to be run without a visible log window, this is the parameter to use. This parameter is active only in Windows-based platforms.
0Off – The log window is visible
1On – Qosium Probe is run at the background without a visible window
Qosium Probe is a multi-thread software. Every controller connection is run in a separate thread each constituting multiple threads. Thus, a multi-core platform is a natural environment for running Qosium Probe. Sometimes, however, there might be a need to limit Qosium Probe’s computational resource usage. This parameter can be used to limit Qosium Probe to operate only in a single CPU / processor core.
0Off – The CPU / core affinity is free
1On – Qosium Probe is forced to operate on a single CPU / core (the first one)