If a CmDongle that is programmed as HID is recognized by the operating system, but is not displayed in the SEH UTN Manager, you may have to enable HID recognition in the SEH UTN Manager configuration. Please proceed as follows:
1. Open SEH UTN Manager
2. Select UTN server/device.
3. Navigate to menu "UTN Server".
4. Select the configuration in the browser window.
5. Select "Security" in my UTN Control Center.
6. Navigate left in the menu to "Device Access".
7. Remove the check mark at the end of the page in area USB Devices at
"Disable Input Devices (HID Class)" (see screenshot).
8. Click on "Save".
9. Select in SEH UTN Manager of the UTN server/device and click on "Update".
The CmDongle should now be displayed in the SEH UTN Manager and be recognized by CodeMeter.
CodeMeter officially supports Docker since version 6.90.
Previously, CodeMeter bound to all network interfaces available at startup when binding to port 22350.
Starting with version 6.90 this happens now only, if CodeMeter has been configured as a network server. Otherwise only the localhost interface is bound.
This makes it possible to run multiple instances of CodeMeter on a single host without conflicts when binding to the port, as long as only a single instance is configured as license server.
Whether CodeMeter should be configured as a license server can be decided during installation on Windows. Afterwards it can be changed via CodeMeter WebAdmin (Settings | Server | Server Access) or directly via Profiling (Server.ini on macOS/Linux, Registry on Windows) via the parameter 'IsNetworkServer'.
More information about profiling can be found in the CodeMeter User Help (chapter "Profiling").
For CmActLicenses on loaded in a container environment the following applies.
a) CmActLicense Firm Code licenses (Firm Code 5.xxx.xxx):
- None-Bind as binding scheme + CmActOption 'reimport'.
b) Universal Firm Code CmActLicenses (Firm Code 6.xxx.xxx):
- None-Bind as binding scheme + CmActOption 'reimport' OR
- Smart-Bind as binding scheme + CmActOption 'container'.
Possible scenarios include:
1. Multiple Docker containers will be used, each using its own CmActLicense license with binding scheme None + CmActOption 'reimport'.
2. Multiple Docker containers are used as license client and one (real) license server (not as container) is used additionally.
Here any CmActLicense or CmDongle container can be used on the license server without restrictions.
The license server can be the host or any other system in the local network.
3. Multiple Docker containers are used as license client and one container is used as license server.
The above restrictions for CmActLicenses apply to the server. Alternatively a CmDongle can be mounted.
- In Docker the CodeMeter service does not start automatically. You must start it explicitly in a startup script.
- When passing through CmDongles, make sure that the image has the required dependencies. On a Ubuntu 18.04 image libusb has to be installed after.
In general, Wibu-Systems does not recommend passing CmDongles through to Docker containers.
Instead, it is better, if the CmDongle is operated at a CodeMeter license server which is not running in Docker and the CodeMeter instances in Docker then access the licenses as clients via LAN.
To do this, you just need to enter the server address in the server search list.
You can do this with the command "cmu --add-server" or by editing the server.ini file (for details see the chapter "Profiling" in the CodeMeter Manual).
CmDongles (from Firm Ware version 2.02 and 2-XXXXXXX serial number) can be configured for two different communication modes:
- Mass Storage Device (MSD)
- Human Interface Device (HID)
If you want to pass a CmDongle into a Container, it is recommended to switch to HID communication, because for using MSD the container must be additionally executed with the --privileged parameter.
This use of --privileged is generally not recommended.
To configure your CmDongle, you can use the command line tool cmu:
cmu --hid --serial 3-1234567
Attention: Afterwards the CmDongle needs a physical replug to finish the configuration.
In general, there is the following to consider when passing through:
- A CmDongle can communicate with only one CodeMeter instance at a time.
So CodeMeter should not be installed on the host. If CodeMeter was previously installed on the host, the dongle should be replugged to reset the communication.
- The udev rules must still be installed on the host system.
You can find them in the CodeMeter installer package at /lib/udev/rules.d. You can simply unpack the package and add the udev rules
to /lib/udev/rules.d manually.
- CodeMeter should run in the container under the root user.
If it runs in the container only under the daemon user, the dongle may not be recognized.
CmDongle pass-through in MSD mode:
docker run --privileged -v /dev/bus/usb/:/dev/bus/usb/ my-container
CmDongle pass-through in HID mode:
docker run --device=/dev/bus/usb/002/004 my-container
Please note: The exact path (here /002/004) must be adjusted accordingly. To do this, you must use the "lsusb" command to read out which bus and device ID have been assigned for the dongle.
Unfortunately, Wibu-Systems cannot guarantee a pass-through of the client to the host on virtual machines (VM). This due to the use of VM software-specific structures and systems not provided by Wibu-Systems.
Two feasible options to make a USB device available to a VM exist: using the CodeMeter software in a client-server setup or employing an USB-over-Ethernet-HUB which makes available any device on the same network via Ethernet connection.
Using CodeMeter software in a client-server setup
In the first scenario, the CmContainer is physically connected to a machine which acts as server for the runtime.
On the server, the server function must be activated.
- Navigate in CodeMeter WebAdmin to the page " Configuration | Server | Server Access".
- Activate the option "Activate" in group "Network server" and click the "Apply" button.
On the client, i.e. the machine which has to license, the server must be made accessible.
- Navigate in CodeMeter WebAdmin to the page "Configuration | Basic | Server Search List License Access Privileges".
- Enter the IP address or DNS name of the server computer into the server search list and click the "Apply" button.
Please note that subnetworking and the use of VPN connections eventually interfere in that scenario.
USB over Ethernet HUB
The second scenario, for example, also employed at Wibu-Systems is to make available USB devices to virtual machines.
Please note that problems may occur in connection with energy saving options of the hubs suspending USB devices which results in missing detection of CmContainer.
WibuBoxen/CmDongles are no longer correctly detected, i.e, error messages display or WibuBoxen/CmDongles are generally not detected.
With Version 6.5 VmWare features the switch of USB communikation to the new "vmkusb". This "single USB Driver" apparently seems to increasingly cause problems with USB devices (HID, mass storage etc.).
As a solution for this problem VmWare suggests to deactivate this module (vmkusb).