常见EDA软件的licen管理
大型工程软件如Ansys、Fluent、Unigraph、ProE等安装需要经过注册程序Flexlm才可以使用,而Flexlm中涉及到很多知识、技巧,也存在许多问题。本篇文章就是针对上述软件安装中的常见问题作一些探讨与解决。莱曼特的LMT LicManager可对EDA软件的许可证进行集中监控管理。
Flexlm 介绍—常见EDA软件的licen管理一、什么是 Flexlm?
Flexlm 是由Flexera公司发明的软件加密方法Flexible Licen Manager。Flexera公司向软件厂商出售相关开发软件,软件厂商把此加密程序集成到自己的软件中。可以锁定机器的硬盘号,网卡号,使用日期,支持加密狗,以保护软件的知识产权。被80%以上的 EDA软件公司所采用,是目前最流行的EDA软件加密方法,保护着世界上价值几百亿美元的EDA软件。了解Flexlm可以使我们正确的安装,管理和使用多个EDA软件。
Flexlm所管理的是Licen文件,所以我们首先要了解Licen文件的结构,以便于运行Flexlm管理Licen文件。二、Licen文件的结构
Licen文件由注释行,Server行,Demon行, 以及Feature行构成。注释行: 当一行的开始是"#
"符号时,该行被Licen Manager(lmgr32xx)认为是注释行,有时候"|"也可以作为注释行的开始。
Server行 :Server行用来标识一台特定的主机,其格式是::
SERVER nodename id port-number
TCP端口号,如 1234
主机的ID号,Win95/98/NT平台下通常是网卡物理地址
主机的名称,win95/98/NT下可以用ipconfig命令看到
Server行开头的关键字,标识该行为Server行,不能更改. 例如:SERVER hostname 000012345678 TCP:1234
Daemon(或Vendor)行:Deamon行是用来标识不同的卖主, 或者说是用来标识不同的软件商吧。其常见格式是:
DAEMON daemon_name daemon_path
daemon的路径
daemon的名字
Deamon行的关键字,FLEXlm6.0以后的版本也支持用VENDOR 例如:
DAEMON cdslmd c:\cdslic\
Cadence Licen Daemon的路径
Daemon的名字为cdslmd (Cadence Licen Manager Daemon 的简称)
Feature行: Feature行是用来对软件特定的功能进行限制的,其常见的格式为:
FEATURE name vendor version expiration_date n Key "Vendor_String" hostID
版本号 过期时间 主机ID,可省略
厂商标识 厂商定义的字符串
Feature名称 20个字节的密码
Feature行的关键字 许可的终端用户个数
例如 FEATURE CADV_256SUPUC_ALL cdslmd 8.000 1-jan-0 9 2884F2781DB8 "J"
Vendor string
密码
允许9个终端用户
0年1月1日过期,0年表示永久有效
版本8.0,可以是时间,也可以是版本号.
厂商标识
Feature名称 ,即允许开通的功能详细的FLEXlm文件格式可以参考FLEXlm的End-Ur-Manual. 又如:
FEATURE maxplus2 alterad 2001.12 25-p-2002 uncounted E71125CEA376 \HOSTID=GUARD_ID=T000072362
FEATURE:关键字
maxplus2: FEATURE名
alterad:厂商标识
2001.12:版本标记
25-p-2002 :2002年9月25日超期,如:是permanent或0,表示永不过期
uncounted:使用人数限制
E71125CEA376:密码
HOSTID=GUARD_ID=T000072362 :运行机器的特征, 只有检测到存在T000072362的加密狗时,软件才可以使用。这里也可以指定硬盘号,网卡号等等三、Flexlm Licen manger工具的安装一些软件并不需要安装专门工具来管理licen,如:MaxplusII等。但更
多EDA软件需要专门工具进行管理。安装很多EDA软件的时候, 会有一个安装Licen Server的选项, 安装完成后会在控制面板中发现一个FLEXlm Licen Manager的工具.四、Flexlm Licen manger工具的使用点击Flexlm Licen manger,出现如下窗口中,找到相应,并指定licen.如果有多个Licen文件,要用分号隔开。有的EDA软件没有Licen Server安装选项.但软件本身就自带FLEXlm Licen Manager, 如 Leonado Spectrum程序组下可以找到FLEXlm Manager这个程序,用鼠标点击运行就会出现上面提到的那个管理窗口。 Win95/98下还需要在autoexec.bat中加入如下一行:
- SET LM_LICENSE_FILE=c:\flexlm\licen.dat如果有多个Licen文件,可以用分号隔开,如:
- SET LM_LICENSE_FILE=c:\flexlm\licen1.dat ; d:\altera\licen2.dat
Win2000和NT,则需要在系统环境变量中设定这些参数。设置完以后需要重新启动计算机
注意事项
不要随意更改系统时间!
- Flexlm加密系统会监测系统文件的时间
更改系统时间导致的常见错误信息:
-
Flexlm error, system clock has been t back
解决方法
- 查找C:\windows\下所有时间不正确的系统文件文件,在正常的系统时间下将其修改保存
- 应用专用文件时间管理软件修改文件时间,我们可以在互联网上下载这类软件,我已经下载了一个这样的软件
- 重装系统如需了解关于FLEXLM更详细的资料请参考FLEXlm的End-Ur-Manual或浏览:
设置环境变量以下都是针对Win95/98以及NT来说的.
一般说来,Licen Manager需要在设置一个环境变量才能找到Licen文件. (有的软件不需要设置环境变量,只需将licen文件放置到它的某个目录下面就可以了, 如Active VHDL3.3,只需将licen.dat放在它的dat目录下.) 通常环境变量名称是LM_LICENSE_FILE, 大小写无关,Win95/98下的设置方法是在autoexec.bat中加入一行: (不包括下面那些说明)
SET LM_LICENSE_FILE=c:\flexlm\mylicen.dat
环境变量路径: 该例是Licen文件的名称及路径
变量名称 如果有多个Licen文件,可以用分号隔开,如:
SET LM_LICENSE_FILE=c:\flexlm\licen1.dat;d:\flexlm\licen2.dat 应用软件的Licen Manager会自动遍历环境变量指定的所有Licen文件, 查找它所需要的Feature, 不同Licen文件路径的先后次序无关, 只有WorkviewOffice7.5比较特殊,必须将它的环境变量放在第一个才能工作,否则它就不工作:
SET LM_LICENSE_FILE=c:\WVO75\licen.dat;c:\flexlm\mylicen.dat除了LM_LICENSE_FILE这个环境变量名称外, 有些软件还使用自己特定的环境变量名称. 安装软件的时候, 安装程序会一般会自动添加这些环境变量. 如Specctra8.0使用CDS_LIC_FILE环境变量名称:
SET CDS_LIC_FILE=c:\cdsLic\licen.dat
MentorGraphicsRenoir以及ModelSimEE如果安装的时候选择Mentor Graphics Licen Manager, 软件会使用MGLS_LICENSE_FILE环境变量:
SET MGLS_LICENSE_FILE=c:\flexlm\licen.dat 如果Licen是由Server提供的, 那么环境变量的路径应该给出Server的名称以及端口, 而非Licen文件的路径以及名称, 如:
SET LM_LICENSE_FILE=
让Licen Manager去的1234端口获取Licen
WinNT下设置环境变量需要在控制面板里面添加, 格式相同.
Licen文件使用技巧这次想解决的问题是 -- Licen文件多了怎么办?不知道为什么FLEXlm很流行, 机器里面装得EDA软件多了, 会有若干个 Licen.dat.由于环境变量只是告诉Lmgr(licen manager)从哪儿找它所需要的licen文件, 所以:
第一个解决办法是可以将Licen.dat换个名字,如pwpcb.Lic, cct80.Lic等等,然后用设置多个Licen文件环境变量的办法将每一个文件的路径添加到环境变量中:
SET LM_LICENSE_FILE=c:\flexlm\pwpcb.Lic;c:\flexlm\cct80.Lic
Licen文件的名称/后缀可以任意选取,只要保证变量设置正确以及Licen文件有效即可。还可以这么做: ---- 不推荐使用 只设置一个环境变量设置: SET LM_LICENSE_FILE=c:\flexlm\licen.dat,然后把所有的Licen文件都 copy到FLEXlm目录下, 为了便于区分, 取比较容易记的名字,例如PowerPCB2.1.Lic, ModelSimEE5.2e.Lic, Specctra8.0.Lic,等等,需要用哪个软件的时候, 把相应的Licen文件copy一份然后改名为licen.dat即可。 Copy, Rename, Copy, 太麻烦了, 于是采用第二种解决办法--合并Licen.(注:仅用于没有 Server Line的Licen文件,且软件用的环境变量名为LM_LIC
ENSE_FILE) 前面介绍过Licen文件的格式, Licen文件的内容不再是陌生的了,可以用文本编辑器打开所有的Licen文件,把它们的内容统统copy&paste到 licen.dat里面. 然后只设置一个环境变量: SET LM_LICENSE_FILE=c:\flexlm\licen.dat
FLEXlm Server方式的Licen应该如下设置:
Licen.dat 文件放在主机中, 主机运行Server提供Licen服务, 客户端的环境变量设置为 SET LM_LICENSE_FILE=[TCP/IP端口]:[主机名称], 其中端口和主机名称应该和主机的Licen文件中的Server Line一致, 前面已经简单介绍过, 这里便不再赘述。启动Server的方式有两种, 一是Dos命令行方式, 二是Windoz的窗口方式
1. Dos 方式 在c: \flexlm目录下可以找到一个文件---Licen Manager Daemon, 这个Daemon是 FLEXlm Server。Licen.dat文件需要和Daemon文件放在同一个目录下,启动 licen rver,可在 c:\ flexlm 目录下执行:c:\flexlm\lmgrd -app -c ;关闭 licen rver,可在 c:\flexlm 目录下执行:c:\flexlm\lmutil lmdown:是Licen Manager Utility.
2. Windoz的窗口方式安装某些软件的时候, 会有一个安装Licen Server的选项, 选中它安装完成后会在控制面板中发现一个 FLEXlm Licen Manager的小工具. 在FLEXlm Licens
e Manager Setup的TAB里可以选择 Daemon, Licen文件,以及输出的日志文件; Control的TAB中可以启动/关闭Server以及查看Server状态, 另外几个 TAB还提供了一些其它辅助功能。
Windoz下的这个FLEXlm Licen Manager要比命令行方式的方便一些, 至少它可以浏览以选取Daemon/Licen文件, 不过有时候发现控制面板里面找不到. 事实上它是一个控制面板的扩展应用程序, 如在PowerPCB目录下可以找到FLEXlm.cpl这个文件, 用鼠标双击它就运行出上面提到的那个管理窗口。没有研究过解决一个主机运行多个Server分别对应不同的软件的问题。
1.设定环境变量(控制面板--->系统-->环境)LM_LICENSE_FILE,多数软件都使用这个变量,这也是冲突根源。但也有一些软件用别的名称,如:
UG--------->UGII_LICENSE_FILE=12345@CAD
ESRD------->ESRD5_LICENSE_FILE=F:\ESRD\STRESSCHECK5以下变量由软件安装时或第一次设定后自动保存在注册表里:
MASTERCAM----->MCFLEX_LICENSE_FILE=F:\MILL72\LICENSE
COSMOS系列---->BRNI_LICENSE_FILE=F:\COSMOSM\LICENSE\FLEXLM\LICENSE.D
AT
MSC系列------->MSC_LICENSE_FILE=F:\MSC\FLEXLM\LICENSES\LICENSE.DAT
MAPLE6-------->MAPLELMG_LICENSE_FILE=F:\MAPLE 6\LICENSE\LICENSE.DAT注意事项:
1. 没有设好会出现错误如:
I-DEASETECTED LOSS OF COMMUNICATION WITH I-DEAS LICENSE DAEMON.
2. RO/E好像不用设定LM_LICENSE_FILE安装自动设<COMPUTER NAME>@7788;
3. LM_LICENSE_FILE变量可设置多个路径如:
F:\FEMAP80\LICENSE.DAT;F:\MARC\curity\licen.dat;中间用";"格开
4. 若是I-DEAS和别的软件冲突可在\IDEAS\MS7\bin\d中加t LM_LICENSE_FILE=%SDRC_INSTL%\c\licen.dat
5. MASTERCAM7.2B安装后好像应清除LM_LICENSE_FILE设置,软件第一次运行时会让你查找LICENSE.DAT,然后自动保存在注册表里。
6. FEMAP8.0A的LICENSE.DAT应设在路径最前面,否则会出现以下错误INVALID LICENSE INFO,可能是它采用FLEXLM7.1b的原因?
7. :若设定多个LM_LICENSE_FILE路径有问题,可先设一个调试,确定是否是LM_LICENSE_FILE的原因?
8. 在控制面板-->FLEXLM LICENSE MANAGER-->SETUP中设SERVICE NAME,