Floating license installation and FLEXlm troubleshooting / debug

The following info will provide assistance to setup your FLEXlm server. NOTE: Since FLEXlm is a third-party tool, Altia cannot support it directly. Also, some/many FLEXlm problems arise from internal IT/network/firewall configurations that Altia cannot assist with.

NOTE: Due to our knowledge base search history, we would like to clarify that the spelling is with an L, not an i, so we added this sentence to make sure searches for FLEXim and FLEXIm still end up here at the FLEXlm or flexlm support article.

In a standard Altia Design software installation, there is a folder named "flexlm" and it has these files:

  • ALTIALMD.exe (Altia FLEXlm vendor daemon)
  • enduser.pdf (An end-user guide provided by FLEXlm)
  • lmgrd.exe (Altia FLEXlm lmgrd for Windows XP)
  • lmgrd_vista.exe (Altia FLEXlm lmgrd for Windows Vista/7/8/10 and Server 2008 or newer)
  • lmtools.exe (Altia FLEXlm LMTOOLS for Windows XP)
  • lmtools_vista.exe (Altia FLEXlm LMTOOLS for Windows Vista/7/8/10 and Server 2008 or newer)
  • lmutil.exe (Altia FLEXlm utililty program)
  • README.txt (Altia instructions for setting up a server)
  • startflexlm.bat (A sample script for starting the server for test purposes)

NOTE: It is best to take the contents of this folder and copy them to the new server computer. Or, if the server computer has Altia software installed, then these files are already on the server computer.

IMPORTANT TIP: It is Altia's experience to only use an Altia version of lmgrd.exe or lmgrd_vista.exe from the Altia software installation "flexlm" folder.  Other versions are not known to interface correctly to Altia's ALTIALMD process.

 

Introduction to an Altia floating license file

When lmgrd_vista.exe or lmgrd.exe starts, it opens the license (.lic) file that has been provided as a command line option. An Altia floating license file has these 3 lines at the beginning.

NOTE: If you DO NOT see these 3 lines (but with info that matches your server) at the start of your lic file, you have a node-locked license and will need to contact support@altia.com to inquire about getting a lic file for floating licenses. This may have some commercial impact, depending upon what your organization purchased from Altia.

SERVER MSPM1BLIC04 0050563ffffe 5057
VENDOR ALTIALMD
USE_SERVER

The 1st line should always start with the argument SERVER

The 2nd argument on the 1st line (MSPM1BLIC04 in the example) is the server computer's name or it can be the server's IP address (e.g., 1.2.3.4).  This field must be modified to match the server name or its IP address if the license file was provided by Altia with a default name.  It should be the name or IP address of the server computer as it is known on the network so that other computers can find it.  To test if another computer can reach the server computer using the specified name, open a command prompt window on the other computer and issue a ping command similar to:  ping  MSPM1BLIC04

The 3rd argument on the 1st line is the server computer's hostid (typically its MAC address or mulitple MAC addresses if the computer has multiple network interface cards).  This field is set by Altia when the license file is created.  If it needs to be changed, please submit a support ticket identifying the correct hostid for this field.  To determine a server computer's hostid, run the lmtools_vista.exe program on the server computer and click the "System Settings" tab.  The "Ethernet Address" field contains the computer's MAC address hostid(s) which you can provide to Altia (for example copy/paste into a support ticket).

The 4th argument on the 1st line is the TCP/IP port used for communication between the license server daemon process and client computers running Altia products.  It must be a port number not used by any other application running on the server computer.  The default 5057 has been found to work in almost all situations.

The 2nd line tells lmgrd_vista.exe or lmgrd.exe the name of the vendor daemon. On Windows, always use the name ALTIALMD to start altialmd.exe. Every vendor, such as Altia, has its own daemon.  The vendor daemon communicates with the server daemon on a random TCP/IP port by default.  This may cause problems for systems with only a fixed set of TCP/IP ports made available through the firewall.  To force ALTIALMD to a fixed port, change the VENDOR line to something like:

    VENDOR ALTIALMD port=5060

The 3rd line is always USE_SERVER

Other lines in the license file are license keys for specific Altia products.  Do not modify these lines.  Do not add a line below an existing line that ends with a backward slash (\) because it indicates that the next line is a continuation of the current line.  For example, the following lines must be together:

     INCREMENT altia_design ALTIALMD 3.0 31-may-2016 1 \
    SUPERSEDE ISSUED=27-apr-2015 \
    SIGN="03E9 70A0 5C12 822F 9369 FB3F 34DB 24A1 32DA BD38 A900 \
    BB2D 21A8 400A 6AE5 8D09 9C25 984F 43A3 901E DE72"

Use a # at the beginning of a line to write a comment (but don't break up a set of license key lines with a comment otherwise they will stop working).

 

Configuring the Altia FLEXlm Server Software as a Windows service on a PC

Please be SURE to carefully follow all of the steps below to configure your flexLM server (95% of flexLM problems arise from not following these steps, or not having the proper type of lic file):

To configure the Altia FLEXlm Server as a Windows service on the PC computer designated as the license server machine, you must have Administrator
 privileges.  Perform the following steps:

   1. On Windows XP, execute "lmtools.exe" from the directory containing
      this README file to start the LMTOOLS program.

      On Windows Vista/7/8/10 (or Server 2008 or newer), execute "lmtools_vista.exe" as Adminstrator (right
      click on "lmtools_vista.exe" and choose the "Run as administrator"
      option) to start the LMTOOLS program.

      IMPORTANT NOTE:  It is very important to run lmtools_vista.exe if
                       the computer is running Windows Vista/7/8/10 or Server 2008 or newer.

   2. In the "Server/License File" tab, click the "Configuration using
      Services" radio button and then click the "Config Services" tab.

   3. In the "Service Name" field, type a name for the service that you
      want to define.  For example:

          Altia FLEXlm Service

   4. In the "Path to the lmgrd.exe file" field, enter or browse to
      lmgrd.exe (lmgrd_vista.exe for a Windows Vista/7/8/10 or Server 2008 or newer) for this
      license server.

      For example, if the computer is running Windows 7 and Altia Design
      is installed in "c:\usr\altia", enter or browse to:

          c:\usr\altia\flexlm\lmgrd_vista.exe

                        IMPORTANT NOTE FOR WINDOWS VISTA/7/8/10
      It is very important to run lmgrd_vista.exe if the computer is running Windows
      Vista/7/8/10 or Server 2008 or newer.  The lmgrd.exe executable will not run correctly
      as a service on Windows release newer than XP.  Also, when the service starts
      (starting the service is described in the upcoming steps), there will be two
      lmgrd_vista.exe processes running (as viewed in the Task Manager when
      it is showing running processes from all users).  This is the expected
      behavior when using a FLEXlm lmgrd version 10.8 and higher as required
      for starting as a service on Windows Vista/7/8/10/etc.  When the lmgrd_vista.exe
      executable starts, it checks to see if it is starting as a service.
      If it is starting as a service, it spawns another lmgrd_vista.exe
      process.  This results in two lmgrd_vista.exe processes.

   5. In the "Path to the license file" field, enter or browse to the
      FLEXlm license file for this license server.  For example:

          c:\usr\altia\license\flexlm.lic

   6. In the "Path to the debug log file" field, enter or browse to the
      debug log file that this license server should write. Prefixing the debug
      log file name with the + character appends logging entries.  Use a
      .txt extension to open the file easily in Notepad.  For example:

          +c:\usr\altia\flexlm\debug.txt

   7. Check the "Use Services" box.  Also check the "Start Server at
      Power Up" box if the new service should start automatically on system
      boot.  If the "Start Server at Power Up" box is not checked, the
      service must be started manually from LMTOOLS or from the Windows
      Services panel each time the system restarts.

   8. Click the "Save Service" button to save the new service.

   9. You can use LMTOOLS to start the new server this first time.
      Click the "Start/Stop/Reread" tab and press the "Start Server"
      button.  Starting and Stopping the service is also possible from
      the Windows Services panel.

  10. To start, stop, or force the service to reread the license file
      at a later time, just execute "lmtools.exe" for a Windows XP
      computer or "lmtools_vista.exe" for a Windows Vista/7/8/10/etc.
      computer to start LMTOOLS.

      Click the "Configuration using Services" radio button in the
      "Service/License File" tab and highlight the service's name from
      the available list.  Switch to the "Start/Stop/Reread" tab and
      choose an operation to perform.

 Complete information about FLEXlm and more information about LMTOOLS
 is available from the "FLEXlm End Users Guide".  Open "enduser.pdf"
 in Acrobat Reader to view it.

 

Finally, ensure you have copied your lic file to both:

1) The folder location on the server computer where you pointed LMTOOLS to find the lic file

2) Each installation of Altia Design or Altia PhotoProto (on the server computer or other computers).  For example:

Altia Design:

C:\usr\altia{version}Build{number}\license

Altia PhotoProto:

C:\Program Files (x86)\Altia\PhotoProto\License

 

Troubleshooting

In this trouble-shooting section, we only refer to lmgrd_vista.exe and lmtools_vista.exe under the assumption that most servers are Windows Vista/7/8/10 or Server 2008 or newer and should be using lmgrd_vista.exe as well as lmtools_vista.exe to configure the service.

If the lmgrd_vista.exe is not able to start or cannot run altialmd.exe, there could be several reasons:

1. The SERVER line has the wrong server computer name or the wrong hostid (which is usually a MAC address).

2. The SERVER, VENDOR, or USE_SERVER line is missing.

3. The license keys in the license file have expired.

4. The lmgrd_vista.exe is not Altia's version of lmgrd_vista.exe v11.6.

5. The altialmd.exe is not in the same folder as the lmgrd_vista.exe. Both programs must be in the same folder.

3.  There is a firewall stopping the server daemon or vendor daemon from using their TCP/IP ports.

The Altia FLEXlm server software should be configured to write to a log file.  Open the log file in just a simple text editor such as Notepad to see what might be the cause of the problem. The log file is specified when using lmtools_vista.exe to configure the server as a Windows service.  The debug log file is set from the "Config Services" tab by setting the "Path to the debug log file" field. If the server is not being set up as a Windows service, then command line options are used when starting lmgrd.exe to specify the log file as in: -l debug_log_file_path.

If you are running the Altia FLEXlm server as a Windows service, the typical approach is to use the lmtools_vista.exe program to set this up. The earlier instructions explain how to do this. It is the best practice to configure this service to use Altia's lmgrd_vista.exe and the license (.lic) file and altialmd.exe should be in the same folder as lmgrd_vista.exe.

It is also Altia's experience that lmtools_vista.exe is not so great at stopping and starting the service. It works better to go to the Windows Services panel (under Administrative Tools in the Windows Control Panel) to start/stop the service.

IMPORTANT TIP: It is Altia's experience to only use an Altia version of lmgrd.exe or lmgrd_vista.exe from the Altia software installation "flexlm" folder.  Other versions are not known to interface correctly to Altia's ALTIALMD process.  Please check the output from "lmutil.exe lmstat -c <license_file_name.lic>" to confirm that it shows something like this:

    XXXXXXXXXX: license server UP <MASTER> "a version number"

    Vendor daemon status <on XXXXXXXXXX>:

Where "a version number" is v11.6 for lmgrd_vista.exe (on Windows Vista/7/8/10 and Server 2008 or newer) or v9.2 for lmgrd.exe (on Windows XP).  if the version number shows on your side differently, it indicates that license server program is not an Altia version of lmgrd_vista.exe or lmgrd.exe.

 

Still having trouble with lmgrd_vista.exe running?

Start lgmdr_vista.exe from a Command Prompt window like this:

         lmgrd_vista.exe  -z  -c  license_file.lic

This removes all possible issues with starting lmgrd as a service.  The output from this command often yields very good information.

 

How to test if the client computer can correctly access the Altia License Server software on the server computer

1. Open a Command Prompt window on the client computer.  In the Command Prompt window, change directory (cd) to the Altia Design "flexlm" folder like this:

>  C:
>  cd  \usr\altia{version}Build{number}\flexlm


2.  In the Command Prompt window, verify the name of the license files in the license folder like this:

>  dir  ..\license

3.  If the new license file is in the license folder, the dir command should show the file name as:
CompanyName.Person_Name.Date.expiresDate.lic

4.  In the Command Prompt window, execute this command.  Change the license file name if necessary:

>  lmutil  lmstat  -a  -c ..\license\CompanyName.Person_Name.Date.expiresDate.lic 


5.  The command from step 6D should report on the available licenses from the server.  Something like this:

lmutil - Copyright (c) 1989-2003 by Macrovision Corporation. All rights reserved.
Flexible License Manager status on Thu 12/29/2016 09:36

[Detecting lmgrd processes...]
License server status: 5057@your_server_name_here
    License file(s) on your_server_name_here: C:\your_path_here\CompanyName.Person_Name.Date.expiresDate.lic
  your_server_name_here: license server UP (MASTER) v11.6

Vendor daemon status (on your_server_name_here):

  ALTIALMD: UP v9.2

Feature usage info:
(list of your licensed products....an example list is below)
Users of altia_design:  (Total of 12 licenses issued;  Total of 0 licenses in use)
Users of deepscreen_1001:  (Total of 1 licenses issued;  Total of 0 licenses in use)
Users of deepscreen_10010991:  (Total of 1 licenses issued;  Total of 0 licenses in use)
Users of deepscreen_1081:  (Total of 1 licenses issued;  Total of 0 licenses in use)
Users of deepscreen_10810991:  (Total of 1 licenses issued;  Total of 0 licenses in use)
Users of connection_991:  (Total of 12 licenses issued;  Total of 0 licenses in use)

Using steps 1 through 5 above, you can both confirm that the client PCs can properly access the server, but also get a count of the total licenses in use. Please see below if the count seems inaccurate.

How to release a license that is checked out by a computer that lost its network connection

Altia uses a heartbeat message to check if the server is still alive.  This is part of the FLEXlm software.  Altia sends the heartbeat message every 60 seconds.

 If the connection between Altia and the server goes down between heartbeat messages and comes back up before the next heartbeat, Altia’s experience is that there is no problem.

If the connection is down when the heartbeat message is sent, that’s a problem and the license will not release when Altia exits.  The server keeps the license checked out for 2 hours.

A workaround is to shut down and restart the server or use these steps from the client computer to release the license gracefully.

For example, if Altia Design is installed in C:\usr\altia11Build783, do:

     1.  Open a Command Prompt window.

     2.  Change to the Altia Design "flexlm" folder with the command:

             cd  C:\usr\altia11Build783\flexlm

     3.  Execute "lmutil" for the lmremove operation.  The usage is:

             lmutil  lmremove  -c  licfile  feature  user  host  display
           OR:
             lmutil  lmremove  -c  licfile  -h  feature  host  port  handle

     4.  To determine the "feature" and "user" and "host" and
         "display" to pass to lmremove, the lmstat operation is
         helpful as in:

             lmutil  lmstat  -c  licfile  -f  feature_name

     Here is an example:

     C:\usr\altia11Build783\flexlm> lmutil  lmstat  -c  ..\license\flexlm.lic  -f  altia_design

         John Doe johndpc johndpc (v2.0) (johndpc/5057 201), start Mon 11/29 14:43
         Jane Doe janed1 janed1 (v2.0) (janed1/5057 102), start Mon 11/29 14:51

     C:\usr\altia11Build783\flexlm> lmutil  lmremove  -c  ..\license\flexlm.lic  altia_design  "John Doe"  johndpc  johndpc

     For a complete description of the lmremove operation, open the document enduser.pdf and see section
     7.10 (page 90).

 

What happens when the Altia software "license" folder contains multiple license files?

Altia software checks the .lic files in alphabetical order.  If a floating license file has a name "a.lic", another floating license file has a name "b.lic", and Altia Design is able to check-out its altia_design feature from the license server machine identified in "a.lic", it will stay connected to that license server machine. 

For example, if the Altia Design session found a floating altia_design feature license in "a.lic" and it now needs to check-out a 3D model license, it will only try to check-out a floating 3D model license from the server machine associated with the "a.lic" license file.  If that machine does not have a 3D model license available, check-out will fail.  Altia Design will not attempt to connect to the "b.lic" license server machine because it is already connected to the "a.lic" license server machine for the altia_design license.  It is a little different for DeepScreen license check-out because the check-out is from a different process (the code generator executable).  So if it has no luck checking out a deepscreen feature from the license server machine identified in "a.lic", it should try "b.lic" and so on.

If the "b.lic" file contains node locked licenses, the Altia software will read "b.lic" for additional check-outs even if the Altia software is already connected to a license server machine for the altia_design feature.

In summary, Altia software can only communicate with 1 license server machine per session, but it can read any number of .lic files for node locked licenses.

 

Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.