BIOS/HARDDISK serial numbers disappear on Windows

If the serial numbers of BIOS and HARDDISK HostIDs disappear on your Windows machine, you should check if all the drivers for your motherboard are correctly installed. This issue may occur after you have installed new firmware updates, or replaced generic Windows drivers with vendor-specific ones; for example for better OS performance, or to fix bugs.

This is not an LM-X License Manager error, bur rather indicates that the drivers provided by your hardware vendor do not work properly after update. To resolve this problem, make sure your drivers are correctly installed. Contact your hardware vendor for details on how to resolve this issue.

Mitigating the problem

One workaround to this problem is to use the HostID match rating setting, HOSTID_MATCH_RATE when locking a license to multiple HostIDs. This setting lets you specify the percentage required for a successful match, from 0 (no matching required) to 100 (exact matching required). For example, SETTING HOSTID_MATCH_RATE="50" indicates that a 50% or better match must be achieved so that the license can work. This means that you allow your users to run the software if only two out of four HostIDs values are valid.

"System time differs more than 24 hours" error

If there is a significant discrepancy between the LM-X License Server and license client, your lmx-server.log file will report an error message similar to the following:

[2013-09-24 11:44:07] CHECKOUT by pcuratolo@pcuratolo: FRONTEND
[2013-09-24 11:44:33] FAIL: Client pcuratolo@pcuratolo system time differs more than 24 hours. Please correct it!
[2013-09-24 11:44:33] CHECKIN by pcuratolo@pcuratolo: FRONTEND
[2013-09-24 11:44:33] FAIL: Client pcuratolo@pcuratolo system time differs more than 24 hours. Please correct it!
[2013-09-24 11:44:33] FAIL: New client pcuratolo@pcuratolo not allowed to connect.


This check is performed by LM-X to protect against deliberate attempts to set the system clock time in order to tamper with their license expiration time. To resolve this problem, you must ensure that server and client machine clocks are not more than 24 hours apart.

LMX_Free hangs when used within a dll file

When you have a dll, you typically have initialization code like the following:

BOOL APIENTRY DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
    switch (ul_reason_for_call)
    {
        case DLL_PROCESS_ATTACH:
        case DLL_THREAD_ATTACH:
        case DLL_THREAD_DETACH:
        case DLL_PROCESS_DETACH:
            break;
    }

    return TRUE;
}


Using this code to initialize and free LM-X handles can cause LMX_Free to hang when using the DETACH handlers, because the OS can close threads without passing the information to the LM-X library. You should instead initialize LM-X by explicitly calling code to initialize and free LM-X from the exported dll interface.