Skip navigation
All Places > Licensing and Installation > Blog > 2013 > February
2013

Mentor Graphics applications using floating licenses depend on a license server running a version of FlexNet that is equal to or greater than the version of FlexNet the client application was built with. Also, our vendor daemon (mgcld) requires a FlexNet License Manager daemon (lmgrd) that is equal to or greater than the version of FlexNet our vendor daemon was built on. Failing to follow these requirements in your environment can lead strange behavior and a loss of productivity. Some symptoms may include:

 

  • Error "Vendor daemon is too old."
  • Checkout failures without a specific error message.
  • Failure of the license server to start.
  • Failure to write the report log.
  • Incorrect license counts.

 

What this boils down to is the importance of keeping your license server one step ahead of your applications. You can check the release notes for the Mentor Graphics applications you're running to determine license server version requirements. Furthermore, when updating your license server, you must ensure that you update both the lmgrd and mgcld.

 

 

Download the latest release of Mentor Standard Licensing, including verifying your daemon versions and updating your server:

 

http://supportnet.mentor.com/reference/technotes/public/technote.cfm?id=MG66951

Updating Your Licensing Manager (Server) on Windows (Video)

Setting up license servers, RSCM servers, DMS servers, etc..., they all require you to select an available port. Guessing just leads to frustration but fortunately, determining which ports are available is fairly simple. The netstat command works on both Windows and Linux and will show you which ports are in use and the processes that are using them. For example:

 

On Windows:

 

C:\>netstat -anu|more


Active Connections

 

 

 

  Proto  Local Address          Foreign Address        State           PID

 

  TCP    0.0.0.0:111            0.0.0.0:0              LISTENING       2856

 

  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       856

 

  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING       4

 

  TCP    0.0.0.0:902            0.0.0.0:0              LISTENING       2968

 

  TCP    0.0.0.0:912            0.0.0.0:0              LISTENING       2968

 

  TCP    0.0.0.0:1158           0.0.0.0:0              LISTENING       17196

 

-- More  --

 

 

More specifically, you can check if a particular port is in use:


 

C:\>netstat -ano | find /i "1718"

 

 

 

TCP    0.0.0.0:1718           0.0.0.0:0              LISTENING       2528

 

 

On Linux:

 

$ netstat -tulpn | grep 1717

tcp        0      0 0.0.0.0:1717                0.0.0.0:*                   LISTEN      21066/lmgrd       

$

 

Note: You'll need to be root to run netstat effectively.

 

 

Once you have this port usage information, you can make decisions about which ports you want your server processes to use.

 

Feel free to share your tips and ideas on this topic in the comments.

In case you didn't install all your SDD Flows into C:\MentorGraphics, you can follow the procedure defined in How to switch between SDD Flow releases when they are installed to different target locations to switch between them.

You might find yourself with a license file that has the Ethernet address of your license server but you have no idea which of your network hosts that Ethernet address resolves to. You could labor through a manual verification of every system on your network by loggin in remotely and checking the Ethernet address. On Windows, you might use a network utility like Wireshark (http://www.wireshark.org), which might actually work very well. But what if you're on Linux or Solaris? Fortunately, the ARP table can help you solve this problem.

 

ARP stands for Address Resolution Protocol (http://en.wikipedia.org/wiki/Address_Resolution_Protocol) and is the means of address resolution on your network. As network communication between hosts occur, ARP populates a table that contains the physical addresses of the hosts your system is communicating with. While not all hosts are cached in the table at a given time, you can populate the ARP table using ping or arping. Using one of these utilities in a loop can quickly move through all the IP adresses in a subnet and therby populate the ARP table for you.

 

Once this is done, it rather trivial to grep the ARP table for the Ethernet address you're looking for:

 

guyw@guyshost$ arp | grep 00:50:56:AB:4D:6E

netsrv-lic-o3.wv.me  ether   00:50:56:AB:4D:6E   C                     eth0

guyw@guyshost$

 

So in this case, I now know that 00:50:56:AB:4D:6E resolves to netsrv-lic-o3 and I can proceed with configuring my license server on that system.

 

There are likely numerous ways to address this problem. Feel free to share your tips with other users in the comments.