License Server Administration for CCS

From Texas Instruments Wiki
Jump to: navigation, search


New Licensing Policy

IMPORTANT UPDATE: FULL CCSv4, CCSv5 and CCSv6 license files are now available for NO cost and can be downloaded from the below link:

There are no restrictions in regards to time, code size, debug probe or target used. This license file is essentially the same the a full node-locked license mentioned below - with the exception that it is not locked to any MAC address (it is not node-locked). This file can be used as part of the process for Activating CCSv6, activating CCSv5 (step 2) and activating CCSv4.

Floating licenses are no longer supported.

All of the below (collapsed) information is now legacy information.


Old licensing information (Obsolete)

Chinese (??) translation

Introduction

IMPORTANT! Floating licenses are being discontinued and are not available for sale anymore. Please purchase node-locked licenses instead. For a limited time the node locked licenses are being sold at a discount. Go to https://store.ti.com/ and search for the term CCS-PROMO.

This page is intended for network adminstrators or Code Composer Studio users that have a multi-user floating license and need to setup the license server host PC in a network.

Note: if your Code Composer Studio license is for a single-user mode, this page is not for you.

Not supported on MacOS Please note that floating licenses are only supported by Windows and Linux CCS installations and not MacOS. MacOS only supports node locked licenses.

IMPORTANT! This page was updated to work with the latest release of Flexera licensing software (11.12.1.1). For the legacy version, please check the License Server Administration for CCS legacy page.

Floating Licenses

In the node locked single-user scenario, the license file (.lic) is stored on the machine running Code Composer Studio (one .lic file per machine). In the floating license scenario, a host PC is setup as a license server and each of the client machines are configured to "check-out" a license as needed.

Code Composer Studio makes use of FlexNet license server manager for product licensing, an industry-standard licensing technology from Flexera Software.

This page outlines administration details specific to Code Composer Studio and should not be used as a generic guide for FlexNet license server managers. A more generic guide is shown in the References section.

References

  • License Administration Guide from Flexera Software:
http://software-dl.ti.com/sdo/sdo_apps_public_sw/license_admin/fnp_LicAdmin.pdf

Requirements

1. Preconfigured license server host PC. Operating systems currently supported are Windows and Linux.

See License Administration Guide Chapter 8 "Selecting a License Server Machine" for details and requirements

2. The following utilities from the support page for FlexNet license server manager:

  • lmadmin if graphical installation is desired
  • lmgrd and lmtools for command-line installation. Windows also has an additional utility called lmutils.
  • Texas Instruments’ vendor daemon tidspssw
Note: Code Composer Studio and the tidspssw vendor daemon were built with FLEXnet publisher v11.12.1.1

3. Floating License File (extension .lic)) for Code Composer Studio.

Register online at http://www.ti.com/activatesoftware with your activation code to get your license file.
Note: You will need the Host ID to be assigned to the license file. It is usually the MAC address of your license server host PC. This information can be obtained in different ways as shown in the procedures listed at the end of this section.

License server setup

Windows: graphical setup

1. Download the graphical utility <lmadmin> and save it to any directory in your system:

http://software-dl.ti.com/sdo/sdo_apps_public_sw/license_admin/lmadmin-i86_n3-11_12_1_1.zip


2. Download the license server utility package that contains <lmutil>, <lmgrd> and <lmtools> and save it to the same directory as above

32-bit

http://software-dl.ti.com/sdo/sdo_apps_public_sw/license_admin/license_utils_i86_n3_11.12.1.1_v6.zip

64-bit

http://software-dl.ti.com/sdo/sdo_apps_public_sw/license_admin/license_utils_x64_n6_11.12.1.1_v6.zip


3. Download the TI daemon server <tidspssw.zip> and save it to the same directory as above:

http://software-dl.ti.com/sdo/sdo_apps_public_sw/license_admin/tidspssw.zip


4. Run the <lmadmin> installer and follow the on-screen instructions:

Note: the graphical utility requires a Java Virtual Machine (JVM) to run.
  • In the step Important information select Install Visual C++ SP1 Redistributable Package if you do not have it installed in your system. If in doubt, check it anyways.
Note: If preferred, this package can be downloaded separately from this link.
  • In the step Service Configuration check the box Run as a service to guarantee the license server will be active even if nobody is logged to the host PC.
  • In the step Start the Server check the box Start server now. A browser window will open with the main license manager GUI. Leave it open for now.
  • Some customers reported the web browser is not opened properly at this point. In these cases, to manually access the license administrator GUI, open a web browser and type the URL 127.0.0.1:8090


5. Open a Windows Explorer window and unzip the utilities downloaded in step 2 above to the directory where <lmadmin.exe> is installed. The default installation directory is

C:\Program Files\FLEXnet Publisher License Server Manager


6. At last, unzip the TI daemon server to the installation directory

Note: on a Microsoft Windows system, the files <tidspssw.exe> and <tidspssw.exe.manifest> should be placed in the same directory as <lmadmin.exe>.


7. Go back to the browser window opened in step 4 and click on Administration at the top right corner (you may need to maximize the window to see this). The default username/password is admin/admin and the first run a window will open to perform a mandatory change to the password.


8. In the main administration view click on Vendor Daemon Configuration and click on the Import License icon. Browse to where the .lic file is located and click on Import license. A message will be displayed saying the license was successfully imported. Click OK.


9. The Vendor Daemon Configuration screen should now show a tidspssw daemon. Click on Sign Out and close the browser window.

IMPORTANT! Aditional usage and configuration details are located in Chapter 8 of the License Administration Guide (see references above)


10. The license server is now configured and running. Check the topic Configuring Code Composer Studio below to learn how to configure each CCS client.

  • To go back to the license administrator GUI in the future, open a web browser and type the URL 127.0.0.1:8090




Linux/UNIX: command line setup

The license server can be installed in a host PC with UNIX operating systems. FlexNet supports several types of UNIX systems and platforms, including all Linux releases that are LSB-compliant (for FreeBSD, check this question below). However, TI daemon servers are only available for Linux. The procedure below was tested in Ubuntu 10.4 LTS 32 and 64-bits.

The command-line setup is convenient for license servers as it allows remote management via a simple telnet or SSH terminal.

The procedure below creates a directory structure to help keep things organized and allow multiple licenses to be used by the server.

/opt
  |--> license_server
    |--> bin
    |--> licenses
    |--> logs


1. Open a terminal or console and create the directory structure below to accomodate the license server files:

host$ cd /opt
host$ sudo mkdir license_server
host$ cd ./license_server
host$ sudo mkdir bin
host$ sudo mkdir licenses
host$ sudo mkdir logs
host$ sudo chmod 777 *
Note: the last step is required to allow user access to the license file and the utilities.


2. Download the license server utility package that contains <lmutil> and <lmgrd> and save it to the directory bin created above.

32 bit:

http://software-dl.ti.com/sdo/sdo_apps_public_sw/license_admin/license_utils_i86_lsb-11.12.1.1_v6.tar.gz
Note: Depending on your Linux distribution you might need to install the packages lsb-core and lsb-base to properly run the <lmgrd> utility. Also, you may need to install 32-bit core support libraries. Refer to your linux distribution documentation to learn how to properly install these packages.


3. Download the TI daemon server <tidspssw> and save it to the directory bin created above: Linux:

http://software-dl.ti.com/dsps/dsps_registered_sw/sdo_ccstudio/CCSv4/tidspssw/re3/tidspssw


4. Go to the directory bin and extract the command-line utilities:

host$ cd bin
host$ tar xvf license_utils_i86_lsb-11.12.1.1_v6.tar.gz


5. The command-line utilities and the TI daemon server are supplied as read-only, therefore it is necessary to change their permissions:

host$ chmod 555 lmgrd
host$ chmod 555 lmutil
host$ chmod 555 tidspssw


6. Save the TI license file (extension .lic) received from the e-mail to the directory licenses created above. If already saved in your host PC, copy the file to the directory licenses.

host$ cp <location_of_license_file>/TMDSCCS-ALLF05-v4.0.lic /opt/license_server/licenses


7. Create an empty file in the directory logs created above that will log all license server activity

host$ touch /opt/license_server/logs/tidspssw.log


8. Run the license server manager <lmgrd>. It will point to the license directory and the log file created before:

host$ cd /opt/license_server/bin
host$ ./lmgrd -c /opt/license_server/licenses -l /opt/license_server/logs/tidspssw.log


9. To test if the license server is running and properly loaded the TI daemon <tidspssw> simply type:

host$ ./lmutil lmstat -a


10. The license server is now configured and running. Check the topic Configuring Code Composer Studio below to learn how to configure each CCS client.


11. In order to automatically start the license server manager, simply edit the local initialization file and add the license server command with complete paths:

/opt/license_server/bin/lmgrd -c /opt/license_server/licenses -l /opt/license_server/logs/tidspssw.log

Optional. If you prefer to log the initialization at boot time, include the following snippet of commands in your <rc.local> file:

echo starting lmgrd > /opt/license_server/logs/boot.log
umask 022; /opt/license_server/bin/lmgrd -c /opt/license_server/licenses/TMDSCCS-ALLF05-v4.0.lic -l /opt/license_server/logs/tidspssw.log >> /opt/license_server/logs/boot.log
/opt/license_server/bin/lmutil lmdiag >> /opt/license_server/logs/boot.log
/opt/license_server/bin/lmutil lmstat -a >> /opt/license_server/logs/boot.log
echo exiting lmgrd >> /opt/license_server/logs/boot.log
Note: Depending on the UNIX distribution the location and name of this file can change. For example, in Ubuntu it is /etc/rc.local, in RedHat it is /etc/rc.d/rc.local and in Solaris™ is /etc/rc.3/S99local. If in doubt, refer to your UNIX distribution documentation for details.
Note: Although Solaris 10 and newer uses SMF to enable and disable services, customized scripts should still be configured using the method above. Refer to Solaris SMF quick start guide at:
http://www.sun.com/bigadmin/content/selfheal/smf-quickstart.jsp
Note: when editing the initalization file make sure to run the editor using superuser (root) privileges.
host $ sudo vim /etc/rc.local
IMPORTANT! Aditional usage and configuration details are located in Chapter 11 of the License Administration Guide (see references above)

UNIX: graphical setup

The license server can be installed in a host PC with UNIX operating systems. FlexNet supports several types of UNIX systems and platforms, including all Linux releases that are LSB-compliant (for FreeBSD, check this question below). However, TI daemon servers are only available for Linux and Solaris® for SPARC™. The procedure below was tested in Ubuntu 10.4 LTS 32 and 64-bits.

1. Follow the steps 1 through 6 of the Command-line setup for UNIX, but extract the command-line utilities and the TI server daemon to the parent directory /opt/license_server and not /opt/license_server/bin.


2. Download the graphical utility <lmadmin> and save it to the directory /opt/license_server/bin

http://software-dl.ti.com/sdo/sdo_apps_public_sw/license_admin/lmadmin-i86_lsb-11_12_1_1.tar.gz
Note: the graphical utility requires a Java Virtual Machine (JVM) to run. Although it is included in several UNIX distributions, certain popular distributions require it to be installed separately. Refer to the documentation of your distribution for additional details.


3. The graphical utility is supplied as a tar.gz file and read-only, therefore it is necessary to unpack and change its permissions:

  • Linux:
host$ tar xzf lmadmin-i86_lsb-11_12_1_1.tar.gz
host$ chmod 555 lmadmin-i86_lsb-11_12_1_1.bin


4. Run the graphical utility installer with user (non-root) privileges

  • Linux:
host$ ./lmadmin-i86_lsb-11_12_1_1.bin


5. Follow the on-screen instructions.

  • In the step Choose Install Folder point to the directory: /opt/license_server
  • In the step Launch Configuration the default values can be used
  • In the step Start the Server check the box Start server now. A browser window will open with the main license manager GUI. Leave it open for now.
  • Some customers reported the web browser is not opened properly. In these cases, to manually access the license administrator GUI, open a web browser and type the URL 127.0.0.1:8090


6. Go to the browser window opened in step 5 and click on Administration at the top right corner. The default username/password is admin/admin and the first run a window will open to perform a mandatory change to the password.


7. In the main administration view click on Vendor Daemon Configuration and click on the Import License icon. Browse to where the .lic file is located and click on Import license. A message will be displayed saying the license was successfully imported. Click OK.


8. The Vendor Daemon Configuration screen should now show a tidspssw daemon. Click on Sign Out and close the browser window.

IMPORTANT! Aditional usage and configuration details are located in Chapter 8 of the License Administration Guide (see references above)


9. The license server is now configured and running. Check the topic Configuring Code Composer Studio below to learn how to configure each CCS client.


10. To run the license server as a system module, the script <lmadmin> located in the directory /opt/license_server/examples/service must run at system initialization. The supplied script contains instructions to be configured in RedHat Linux and Solaris®.

The script can be modified to use it with Ubuntu. An alternative is to simply add the line below to the file <rc.local> located in the directory /etc:
su user -c "/opt/license_server/lmadmin -root /opt/license_server" > "/opt/license_server/logs/boot.log"
Note: replace user above with a regular user name (non-root) of your server, as lmadmin does not run in superuser mode.
Note: when editing the initalization file make sure to run the editor using superuser (root) privileges.
host $ sudo vim /etc/rc.local

Installing in a Virtual Machine

The installation of the License server in a virtual machine has specific details that are not covered in this page. However, check chapter 15 of the License server administration guide (link at the top of this page) for a complete procedure.

The procedure also requires an additional utility called lmbind and provided in the link below for Windows 32 and 64-bits, and Linux 32-bits.

http://software-dl.ti.com/sdo/sdo_apps_public_sw/license_admin/lmbind-11.12.1.0.zip

Configuring Code Composer Studio

Once the license server is running it is required to configure CCS to properly recognize it, but before doing that, get either the server IP address or its fully qualified name and the port used by the license server.

Obtaining the server parameters

If the server was installed using the graphical configuration

1. Open a browser and type the URL 127.0.0.1:8090 to open the license manager GUI

2. Click on the link Administration on the top right and provide the credentials to access the admin area

3. From the System Information tab, write down either the Host Domain Name (for fully qualified name) or IPv4 Address (for the IP address) to set the license server address in CCS.

4. From the same tab, write down the License Server Manager Port in Use to set the port in CCS.

If the server was installed using the command line

1. Open a command prompt and issue the following commands:

host$ cd /opt/license_server/bin
host$ ./lmutil lmstat -c /opt/license_server/licenses -a


2. Locate the first line named License server status: which shows the port number (27000 is the default) followed by the symbol @ and the host name on the network.

3. Optionally the command below can be issued to find the IP address of the license server host.

host$ ifconfig
look for the field inet addr: of the active connection, which is typically eth0.

Configuring all CCS clients

Using the graphical license manager (recommended)

The recommended option is to configure CCS using the graphical license manager. Please refer to the topic Floating License of the section Running for the first time of the CCS release you have (CCSv4, CCSv5, CCSv6 for details.

Advanced license configurations

The options below are useful if deploying CCS in a large organization that requires either scripting the installation or if CCS is bundled with an OS installation image.

The <licenselocation.txt> file:

The <licenselocation.txt> file holds the location of licenses in a CCS installation. Its location varies depending on the version:

  • Up to CCS 4.1.x:
    • Located at ccsv4\DebugServer\license\licenselocation.txt
  • CCS 4.2.x and greater, and all CCSv5 Windows versions:
    • Stored in the user area, in a temporary directory created at install time and comprised of a sequence of numbers.
      • In Windows XP systems it is located in a subdirectory under C:\Documents and Settings\<username>\Local Settings\Application Data\.TI.
      • In Windows Vista and 7 systems it is located in a subdirectory under C:\Users\<username>\AppData\Local\.TI
  • CCSv6.0.x for Windows:
    • Stored in the user area, in a temporary directory created at install time:
      • In Windows 7 and 8 it is located in a subdirectory under C:\Users\<username>\AppData\Local\Texas Instruments\CCS
  • Linux versions of CCSv5.x
    • Stored in the user area, at /home/<username>/.TI
  • Linux versions of CCSv6.0.x
    • Stored in the user area, at /home/<username>/.ti (small caps)

This text file contains a single location entry per line, and they are searched in order they appear (first line takes precedence over subsequent lines).


Location entries are one of the following:

  • port@host where port is the port number and host is the host name of a license server system.
  • @host where host is the host name of a license server system. Since no port number is specified, a default port number between 27000 and 27009 is used. @localhost always works if the server is running on the same system as the application
  • A comma separated list of three port@host entries denoting a three-server redundant configuration. For example, port1@host1,port2@host2,port3@host3 specifies the three-server redundant configuration composed of host1, host2 and host3.
  • The actual text of the license file, with START_LICENSE\n as a prefix, and \nEND_LICENSE as suffix, where the embedded newlines (\n) are required.
IMPORTANT! If the license server setup procedure above was followed use the second option above, which only specifies the host.

Environment variables:

It is possible to specify the license locations using environment variables. If these environment variables exist, they take precedence over the licenses specified in <licenselocation.txt> or located at the ccsv4\DebugServer\license or ccsv5\ccs_base\DebugServer\license folders.

Two environment variables can be set:

  • TIDSPSSW_LICENSE_FILE overrides the application defined license location for Code Composer Studio ONLY.
  • LM_LICENSE_FILE overrides the application defined license location for all FlexNet-enabled applications. If you use multiple FlexNet-enabled applications, with a single license server serving all of them, this variable is useful as a quick way to tell all the applications where to search for licenses.

Locations are specified similar to the entries of <licenselocation.txt> but with complete paths to the location of license files. On Windows, multiple entries are separated by a semicolon (;).


Deployment of CCS with pre-configured license server configurations:

If your organization requires the installation of several copies of CCS, the license server configuration can be integrated as part of the installer.

1. Download and decompress a CCS install image from the downloads page:
http://processors.wiki.ti.com/index.php/Download_CCS


2. Create a directory called license under the CCS install_image installer directory:


3. Create a <licenselocation.txt> file that has the parameters for the license server host PC (i.e. 9900@myserver.mycompany.com) and copy it to the directory license created above.
\install_images\ccscore\license\licenselocation.txt
This file will automatically get installed into ccsv4\DebugServer\license or ccsv5\ccs_base\DebugServer\license folders during product installation. Users within the organization will never need to setup licensing and will never be asked to register the copy.


Re-hosting the floating license

If for any reason the license server host PC needs to be replaced by a different PC, the MAC address of the new host PC is different therefore requiring the license to be re-hosted.

1. Visit the page http://www.ti.com/activatesoftware (my.ti.com login is required) and click on the tab Manage Activated Software.


2. Locate the license and click on Manage.


3. The license information will be shown. Clicking on Re-host a license will open the page to do the re-hosting.


4. Review the terms and conditions.


5. Enter the hostID of the new server. Provide a host name and a hostID for the new server. Click Next.


6. Provide an e-mail address for the license file to be submitted. Click E-mail license.


7. Look in your inbox for two e-mails: myTI_license and myregistered_software in the subject.
  • The myTI_License e-mail contains the license file. Save this file and unzip it.



FAQ

Q: Where do I go to get help with licensing?

First check the FAQs here. If that does not solve the problem please try the CCS forum. If you have an issue with an activation code or re-hosting you can email ccs_license_file_help@list.ti.com.

Q: What does the error "No socket connection to license server manager" mean?

In this case CCS was able to connect to the license server but there is an issue with the daemon that is running. One thing to check is to ensure that the manifest file that is included inside the zip file with the daemon executable was also extracted. If this was not done you will see "unlicensed" in the CCS title bar and if you go to Help -> Licensing Options you will get a dialog box with the error message.

Q: What OS can the license server run on?

Windows, Linux and Solaris are supported.

Q: Can we use a single license server to handle multiple geographic locations?

Yes you could use a single license server to distribute licenses to different locations as long as all locations are on the same network. CCS performs a limited number of license checks and thus does not significant network bandwidth.

Q: Can I run CCS on the same machine that is running the license server?

Yes. One way to achieve this is to edit the first line of the licenselocation.txt file to read @localhost as described in License_Server_Administration_for_CCS#Advanced_license_configurations

Q: How do I setup a 3 server redundant configuration?

Note that we do not recommend setting up a 3 server redundant configuration for CCS as it is not necessary. It is not necessary since if CCS cannot contact your license server it will still continue to operate and will just inform you that there is a problem. Thus the main purpose of the redundant configuration to protect against a server going down is not necessary. However if you still want to set this up the information on how to do so is below.

Important: When you activate your license specify the name of your primary server in the description box. This will ensure that this name gets populated within the "VENDOR_STRING" field for each feature in the license file. It is important to do this at the time of activation as that section of the file cannot be edited afterwards.

After receiving your license file open it up in a text editor.

Edit your license file so that the top of the file looks like this

  1. Please Do not delete this comment line.

SERVER <name of primary server> <MAC address of primary Server> PRIMARY_IS_MASTER

SERVER <name of 2nd server> <MAC address of 2nd server>

SERVER <name of 3rd server> <MAC address of 3rd server>

VENDOR tidspssw USE_SERVER

Here is an example:

#Please Do not delete this comment line.

SERVER server1 0000ffee1111 PRIMARY_IS_MASTER

SERVER server2 0000ddee1111

SERVER server3 0000ccee1111

VENDOR tidspssw USE_SERVER


The server names other than the primary server are outside of the signed region of the license file so you can edit this file directly without needing TI to sign the file. It is also possible to change the MAC address associated with each server this way.


Q: I received a second floating license file. Can I combine the two?

Yes. The procedure is similar as if you were adding the first license file in your system.

  • If using Windows, open a web browser and type the URL 127.0.0.1:8080 (if using the default port) to open the license manager GUI. Then follow steps 7 through 10 of the procedure above. Restart the license server for the changes to take effect.
  • If using UNIX command line setup, stop the license server (./lmutil lmdown -vendor tidspssw) and follow steps 6 through 10 of the procedure above.
  • If using UNIX Graphical setup, open a web browser and type the URL 127.0.0.1:8080 (if using the default port) to open the license manager GUI. Then follow steps 6 through 9 of the procedure above. Restart the vendor daemon for the changes to take effect.
    • Depending on the configuration of your system, you may have problems in importing the license due to the lack of write permissions to the licenses/tidspssw directory. Thus you will need to give momentarily write permissions to this directory before proceeding.

Not recommended. If you prefer to merge the two or more license files received, check an interesting discussion in this forum thread on how to do this by directly editing the license file. Be extremely careful when manually editing the files, as this is very error prone. Always make backup copies of your received license files!

If you have multiple license files from different vendors, check Chapter 18 of the The License Administration Guide (located here).

Q: How do I get the license server to start when the machine boots?

If you are finding that on a windows license server the license server is only starting when you are logged in and shuts down when you log out there could be a problem with your settings in LMTOOLS. Run LMTOOLS, go to the "Config Services" tab and make sure that the two check boxes at the bottom are checked.

CCS License Admin Autostart.jpg

Q: I keep getting "CreateProcess error code: 0x36b1 File=tidspssw.exe", why is this?

If this is a Windows machine running the license server the cause could be that you do not have the required version of some Microsoft runtime libraries installed. They can be obtained here. Specifically we need version 8.0.50727.762 of msvcrt80.dll

Q: What does "Port Number is not numeric" mean?

When entering a port number, it is likely there may be a trailing blank after the number. For example, port 27009 entered as '27009 ' instead of '27009'. The port number will unfortunately not be accepted if such a trailing blank exists. Once removed, the wizard should accept the port entry and connect to the license.

Q: I have multiple licenses from different vendors. Can I use them on the same server?

Yes. Check chapter 18 of the License Administration Guide.
IMPORTANT! Pay special attention to the port configuration of each license: they must be different for each vendor.

Q: I have a server running FreeBSD. Can I install the license server software?

Note: these instructions were kindly provided by a developer external to TI.

Yes. The FreeBSD version tested is:

FreeBSD <HOSTNAME> 9.3-STABLE FreeBSD 9.3-STABLE #0: Sun Oct 26 05:28:09 UTC 2014
root@snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC  i386  32-bit

By default it does not have the LSB compatibility, thus when trying to run the setup program the following error occurs:

opt/license_server/bin # ./lmgrd
ELF binary type "0" not known.
./lmgrd: Exec format error. Binary file not executable.

Therefore additional packages must be installed:

1) pkg_add -r linux_base-f10
2)Edit /etc/rc.conf and add line linux_enable="YES"
3)Create symbolic link to mask the reguired library: ln -s /compat/linux/lib/ld-linux.so.2 /lib/ld-lsb.so.3
4)Brand the licesnce server executables so it runs with FreeBSD linux base libs:
brandelf -t linux /opt/license_server/bin/lmdiag
brandelf -t linux /opt/license_server/bin/lmgrd
brandelf -t linux /opt/license_server/bin/lmutil
brandelf -t linux /opt/license_server/bin/tidspssw
5) run lmgrd.






CN License Server Administration for CCS