top of page

Start and Debug lmgrd and xilinxd

This post shows how to start and debug lmgrd and xilinxd. It explains commands to start the license manager (lmgrd), look up its port, find its peer (xilinxd), replace the port number in scripts with a command to find it, and log the network traffic to the port.


Index


Start the FlexNet License Manager Daemon (lmgrd)

Start lmgrd and xilinxd with:

~/tools/lin_flm_v11.17.2.0/lnx64.o/lmgrd -z -c- ~/licenses/ -l ~/license_log/license.log &
  • Run lmgrd from the directory ~/tools/lin_flm_v11.17.2.0/lnx64.o/.

  • Runs in the foreground because of the -z option, but is sent to the background due to the & (helps debugging)

  • Uses the license files located in the ~/licenses/ directory.

  • Log all activities to ~/license_log/license.log; the first place to look when debugging.


Figure Out the License Manager Daemon's (lmgrd) Port

Find the socket associated with the first instance of the lmgrd process:

ss -tulpan | grep $(pgrep -o lmgrd)

Transposed Output

Netid

tcp

tcp

State

LISTEN

ESTAB

Recv-Q

0

0

Send-Q

500

0

Local Address:Port

*:2100

[::ffff:127.0.0.1]:2100

Peer Address:Port

:

[::ffff:127.0.0.1]:59334

Process

users:(("xilinxd",pid=19852,fd=0),("lmgrd",pid=19850,fd=0))

users:(("lmgrd",pid=19850,fd=7))

  • The first data column indicates that the lmgrd and xilinxd processes are listening on port 2100 on all available network interfaces.

  • The second data column shows that lmgrd has an established connection on port 2100 to another process on the same machine using port 59334.


Look Up The License Manager Daemon's (lmgrd) Peer (xilinxd)

ss -tulpan 'dport = :59334 or sport = :59334'

Transposed Output

Netid

tcp

tcp

State

ESTAB

ESTAB

Recv-Q

0

0

Send-Q

0

0

Local Address:Port

127.0.0.1:59334

[::ffff:127.0.0.1]:2100

Peer Address:Port

127.0.0.1:2100

[::ffff:127.0.0.1]:59334

Process

users:(("xilinxd",pid=19852,fd=10))

users:(("lmgrd",pid=19850,fd=7))

The two columns indicate that there is an established TCP connection between two processes (xilinxd and lmgrd) on the same machine:

  • xilinxd is connected on port 59334 to lmgrd on port 2100.

  • lmgrd on port 2100 is connected back to xilinxd on port 59334.


Exporting and Looking Up the Port Number

Remove 2100 by changing...

export XILINXD_LICENSE_FILE=2100@localhost

...to:

export XILINXD_LICENSE_FILE=$(pgrep -o lmgrd)@localhost

Log All Traffic to the Port Number

For debugging TCP traffic use:

sudo tcpdump -vvv -XX -i any tcp and port 2100
  • -vvv:

    • This flag increases the verbosity of the output. It provides very detailed information about each packet, including headers, flags, and other metadata.

    • -v: Verbose output.

    • -vv: More verbose.

    • -vvv: Even more verbose, showing as much detail as possible.

  • -XX:

    • This flag tells tcpdump to display the packet's data in both hexadecimal and ASCII formats.

    • The first -X flag shows the packet data in both hex and ASCII.

    • The second -X (together as -XX) also includes the link-layer header in the output.

  • -i any:

    • Captures packets on any network interface. This is useful on machines with multiple network interfaces (e.g., Ethernet, Wi-Fi) because it captures from all of them.

  • tcp:

    • This tells tcpdump to filter the packets and only capture those that use the TCP protocol.

  • and port 2100:

    • Further filters the captured packets to only those that are using TCP and are directed to or from port 2100. This is useful if you know the specific port you want to monitor.


AMD/Xilinx Docs



Vivado License Manager

Start and Debug lmgrd and xilinxd Wrapup

This post has shown how to start and debug lmgrd and Xilinx. See the Index for topics.

© 2025 by Centennial Software Solutions LLC.

bottom of page