大型工程軟體如OrCAD、PADs, Ansys、Fluent、Unigraph、ProE等安裝需要經過注冊程式Flexlm才可以使用,而Flexlm中涉及到很多知識、技巧,也存在許多問題。本篇文章就是針對上述軟體安裝中的常見問題作一些探讨與解決。
Flexlm 介紹—常見EDA軟體的license管理
一、什麼是 Flexlm?
Flexlm 是由Globetrotter 公司發明的軟體加密方法Flexible License Manager。Globetrotter
公司向軟體廠商出售相關開發軟體,軟體廠商把此加密程式內建到自己的軟體中。可以鎖定機器的硬碟号,網卡号,使用日期,支援加密狗,以保護軟體的知識産權。被80%以上的
EDA軟體公司所采用,是目前最流行的EDA軟體加密方法,保護着世界上價值幾百億美元的EDA軟體。了解Flexlm可以使我們正确的安裝,管理和使用多個EDA軟體。
Flexlm所管理的是License檔案,是以我們首先要了解License檔案的結構,以便于運作Flexlm管理License檔案。
二、License檔案的結構
License檔案由注釋行,Server行,Demon行, 以及Feature行構成。
注釋行: 當一行的開始是"#"符号時,該行被License
Manager(lmgr32xx)認為是注釋行,有時候"|"也可以作為注釋行的開始。
Server行 :Server行用來辨別一台特定的主機,其格式是::
SERVER
nodename id port-number
TCP端口号,如
1700
主機的ID号,Win95/98/NT平台下通常是網卡實體位址
主機的名稱,win95/98/NT下可以用ipconfig指令看到
Server行開頭的關鍵字,辨別該行為Server行,不能更改.
例如:SERVER hostname 000012345678
TCP:1700
Daemon(或Vendor)行:Deamon行是用來辨別不同的賣主, 或者說是用來辨別不同的軟體商吧。其常見格式是:
DAEMON
daemon_name daemon_path
daemon的路徑
daemon的名字
Deamon行的關鍵字,FLEXlm6.0以後的版本也支援用VENDOR
例如:
cdslmd c:\cdslic\bin\cdslmd.exe
Cadence License Daemon的路徑
Daemon的名字為cdslmd
(Cadence License 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-User-Manual.
又如:
maxplus2 alterad 2001.12 25-sep-2002 uncounted E71125CEA376
\HOSTID=GUARD_ID=T000072362
? FEATURE:關鍵字
?
maxplus2: FEATURE名
? alterad:廠商辨別
? 2001.12:版本标記
25-sep-2002 :2002年9月25日超期,如:是permanent或0,表示永不過期
uncounted:使用人數限制
E71125CEA376:密碼
HOSTID=GUARD_ID=T000072362 :運作機器的特征, 隻有檢測到存在T000072362的加密狗時,軟體才可以使用。這裡也可以指定硬碟号,網卡号等等
三、Flexlm License manger工具的安裝
一些軟體并不需要安裝專門工具來管理license,如:MaxplusII等。但更多EDA軟體需要專門工具進行管理。安裝很多EDA軟體的時候,
會有一個安裝License Server的選項, 安裝完成後會在控制台中發現一個FLEXlm License Manager的工具.
四、Flexlm License manger工具的使用
點選Flexlm License manger,出現如下視窗中,找到相應lmgrd.exe,并指定license.如果有多個License檔案,要用分号隔開。有的EDA軟體沒有License
Server安裝選項.但軟體本身就自帶FLEXlm License Manager, 如
Leonado Spectrum程式組下可以找到FLEXlm Manager這個程式,用滑鼠點選運作就會出現上面提到的那個管理視窗。 Win95/98下還需要在autoexec.bat中加入如下一行:
- SET
LM_LICENSE_FILE=c:\flexlm\license.dat
如果有多個License檔案,可以用分号隔開,如:
LM_LICENSE_FILE=c:\flexlm\license1.dat ; d:\altera\license2.dat
Win2000和NT,則需要在系統環境變量中設定這些參數。設定完以後需要重新啟動計算機
注意事項
? 不要随意更改系統時間!
- Flexlm加密系統會監測系統檔案的時間
? 更改系統時間導緻的常見錯誤資訊:
- Flexlm
error, system clock has been set back
? 解決方法
- 查找C:\windows\下所有時間不正确的系統檔案檔案,在正常的系統時間下将其修改儲存
- 應用專用檔案時間管理軟體修改檔案時間,我們可以在網際網路上下載下傳這類軟體,我已經下載下傳了一個這樣的軟體
- 重裝系統
如需了解關于FLEXLM更詳細的資料請參考FLEXlm的End-User-Manual或浏覽:
[url]http://www.globetrotter.com[/url]
設定環境變量
以下都是針對Win95/98以及NT來說的.
一般說來,License
Manager需要在設定一個環境變量才能找到License檔案. (有的軟體不需要設定環境變量,隻需将license檔案放置到它的某個目錄下面就可以了, 如Active
VHDL3.3,隻需将license.dat放在它的dat目錄下.)
通常環境變量名稱是LM_LICENSE_FILE, 大小寫無關,Win95/98下的設定方法是在autoexec.bat中加入一行: (不包括下面那些說明)
SET
LM_LICENSE_FILE=c:\flexlm\mylicense.dat
環境變量路徑: 該例是License檔案的名稱及路徑
變量名稱
如果有多個License檔案,可以用分号隔開,如:
LM_LICENSE_FILE=c:\flexlm\license1.dat;d:\flexlm\license2.dat
應用軟體的License Manager會自動周遊環境變量指定的所有License檔案,
查找它所需要的Feature, 不同License檔案路徑的先後次序無關, 隻有WorkviewOffice7.5比較特殊,必須将它的環境變量放在第一個才能工作,否則它就不工作:
LM_LICENSE_FILE=c:\WVO75\license.dat;c:\flexlm\mylicense.dat
除了LM_LICENSE_FILE這個環境變量名稱外, 有些軟體還使用自己特定的環境變量名稱. 安裝軟體的時候, 安裝程式會一般會自動添加這些環境變量. 如Specctra8.0使用CDS_LIC_FILE環境變量名稱:
CDS_LIC_FILE=c:\cdsLic\license.dat
MentorGraphicsRenoir以及ModelSimEE如果安裝的時候選擇Mentor Graphics License Manager, 軟體會使用MGLS_LICENSE_FILE環境變量:
MGLS_LICENSE_FILE=c:\flexlm\license.dat
如果License是由Server提供的,
那麼環境變量的路徑應該給出Server的名稱以及端口,