License Error:“Failed to Open the TCP Port Number in the License “终极解决方案

本文提供了一套详细的步骤来解决Synopsys、Cadence软件许可问题,包括确保lmgrd进程已彻底杀死、查看license用port是否被占用、确保tcp协议已启动、排查防火墙及seLinux设置、验证hosts文件配置、检查telnet服务可用性、处理nis相关问题等,旨在帮助用户排除许可错误。
为什么叫终极解决方案,不是笔者吹牛,这个列表比目前synopsys,cadence,的support文档里的内容都全,还有FLEXnet的帮助文档也没这全。
这些招大部分eda vendor的工程师也不全会,真实结论不是瞎说。这事折腾好久,花了很多精力,就让笔者吹吹牛吧,哈哈。

另外,如果以下的问题都排除了,还报这个license错,不要怀疑列表不全,99%的可能是其中哪一步做的不彻底。挨条重新查。

仅限于正版license,crack的问题千奇百怪,不讨论

正文开始:

1, 确保lmgrd进程已彻底杀死;
   # killall lmgrd

2,  确保license里的工具进程,比如synopsys的snpslmd,cadence的cdslmd也已彻底杀死
  # killall xxxx
以上两步比lmdown -c license.lic保险,也可交叉使用

3, 查看license用port是否被占用,如果是这个问题,可临时更改port启动一次试试,如果能成功说明是这个问题,按以下步骤更改回实际使用port
 # netstat -pan | grep port_number
 # lsof -i :port_number
得到占用这个端口的进程,kill掉就好了,如果不行,就等端口释放,可能需要几分钟。

4,确保tcp协议已启动
可通过ping 主机名查看,能ping通就没问题

5,确保防火墙未屏蔽这个端口或者关掉iptables
#service iptables stop

6,查看seLinux或者关闭
#setenforce 0

7,查看/etc/hosts,确保要有这行
127.0.0.1 localhost

8,查看telnet 主机名是否能通,如果不能login则通过以下方式更改

     1>安装telnet,telnet-server,xinetd

     2>修改/etc/xinetd.d/telnet  disable改为no

     3> /etc/init.d/xinetd restart


9,如果使用nis,确保/etc/nsswitch里所有item的第一个参数是  files

比如networks:   nisplus [NOTFOUND=return] files 要改为
        networks:   files  [NOTFOUND=return]  nisplus

以上问题通常不会一次全部碰到,从前往后发现哪个解决问题就可以了。

仅限于正版license,crack的问题千奇百怪,不讨论

2021/9/13新增

10, license获取比较慢,可能原因,license server list中有个别server不再提供服务,需要把该server ip从LM_LICENSE_FILE环境变量中删掉

Echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle

在虚拟机中使用SWB(Sentaurus Workbench)打开Sentaurus工具时,遇到“Failed to open TCP port in license”错误通常与许可证(License)配置、网络设置或虚拟机环境的限制有关。以下是详细的解决方案: ### 检查许可证服务器配置 确保Sentaurus使用的许可证服务器(License Server)已正确配置,并且虚拟机能够访问该服务器。检查`license.dat`文件中的`SERVER`和`DAEMON`条目,确保IP地址和端口号正确无误[^1]。 ```bash # 示例 license.dat 内容 SERVER your_license_server 001122334455 1702 DAEMON snpslmd /path/to/snpslmd ``` ### 验证网络连接 确认虚拟机与许可证服务器之间的网络连接正常。使用`ping`或`telnet`命令测试与许可证服务器的通信: ```bash ping your_license_server telnet your_license_server 1702 ``` 如果无法建立连接,检查虚拟机的网络模式(如桥接模式、NAT模式)以及防火墙设置,确保TCP端口1702(或其他指定端口)未被阻塞。 ### 配置防火墙和安全组 如果虚拟机运行在云环境中(如AWS、Azure),确保安全组规则允许从虚拟机到许可证服务器的入站和出站流量。对于本地虚拟机,检查操作系统防火墙是否允许该端口通信。 ### 检查许可证服务器状态 确保许可证服务器上的`lmgrd`服务正在运行,并且`snpslmd`守护进程已启动。可以使用以下命令检查服务状态: ```bash ps -ef | grep lmgrd ps -ef | grep snpslmd ``` 如果服务未运行,手动启动许可证服务: ```bash /path/to/lmgrd -c /path/to/license.dat ``` ### 调整虚拟机资源 某些情况下,虚拟机资源不足(如内存或CPU)可能导致许可证服务无法正常启动。确保虚拟机分配了足够的资源,并且没有其他进程占用过多系统资源。 ### 使用本地许可证 如果无法通过网络访问许可证服务器,可以尝试将许可证文件直接放置在虚拟机中,并配置Sentaurus使用本地许可证。修改`~/.synopsys_SIMv2.ini`文件,指定本地许可证路径: ```ini [License] Path=/path/to/local/license.dat ``` ### 日志分析 检查许可证客户端和服务器的日志文件,通常可以在`/var/log/snpslmd.log`或Sentaurus的输出日志中找到详细的错误信息。日志中可能包含具体的错误原因,例如端口冲突、授权失败等。 ### 其他注意事项 - **许可证版本兼容性**:确保使用的Sentaurus版本与许可证兼容,某些旧版本的许可证可能不支持新版本的软件。 - **许可证过期**:检查许可证是否已过期,过期的许可证可能导致授权失败。 - **多网卡问题**:如果虚拟机有多个网络接口,确保许可证服务绑定到正确的网络接口上。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值