Quartus II 虚拟机许可证与网络隔离¶
问题现象¶
在 VirtualBox 虚拟机中的 Quartus II 编译 Cyclone IV E 工程时,Fitter 报错:
Error (119013): Current license file does not support the EP4CE6E22C8 device
Quartus II 64-Bit Fitter was unsuccessful
Quartus II Full Compilation was unsuccessful
同时,许可证工具中识别到的网卡主机号为 ffffffff0000。
运行环境¶
| 项目 | 内容 |
|---|---|
| 虚拟化软件 | VirtualBox |
| 虚拟机系统 | Windows |
| FPGA 工具 | Quartus II |
| 目标器件 | EP4CE6E22C8 |
| 安全要求 | 虚拟机不得访问宿主机和外部网络 |
原因分析¶
Quartus 的部分许可证会通过网卡 MAC 地址生成或校验主机号。原先虚拟机的网卡未启用,因此许可证管理器无法取得正常的 MAC 地址,显示为 ffffffff0000。
该值不是正常的以太网 MAC 地址。VirtualBox 实际分配的 MAC 地址是:
注意:错误 119013 的直接含义是当前许可证不支持目标器件。网卡识别异常会导致节点锁定许可证无法匹配;即使网卡恢复正常,许可证文件本身不包含该器件授权时,错误仍会存在。
解决方案¶
1. 保留虚拟网卡,但切断外部网络¶
在 VirtualBox 完全关闭虚拟机后,打开“设置 -> 网络”,按以下方式配置“网卡 1”:
| 配置项 | 设置值 |
|---|---|
| 启用网络连接 | 勾选 |
| 连接方式 | 内部网络(Internal Network) |
| 名称 | quartus-isolated |
| 适配器类型 | Intel PRO/1000 MT 桌面版(82540EM) |
| MAC 地址 | 0800275A66B7 |
| 虚拟有线连接 | 勾选 |
同时禁用“网卡 2”“网卡 3”“网卡 4”。不要使用 NAT、桥接网卡或仅主机网络。
“内部网络”是 VirtualBox 内部的隔离二层网络:只有加入同名内部网络的虚拟机可以相互通信;它默认不连接宿主机、物理网卡或互联网。使用唯一名称,并确保没有其他虚拟机在该网络中充当路由器或代理。
提示:不要点击 MAC 地址右侧的重新生成按钮。若许可证按 MAC 地址绑定,修改 MAC 会使已有许可证失效。
2. 在虚拟机内验证网络隔离和 MAC 地址¶
启动虚拟机后,在命令提示符执行:
预期结果:
ipconfig /all中能看到物理地址08-00-27-5A-66-B7。route print中没有通过该网卡访问外部网络的默认路由。Test-NetConnection的TcpTestSucceeded为False。
以上检查证明该虚拟机没有可用的外部网络出口。若需要最高级别的隔离,还应避免 USB 网卡直通,并确保虚拟机没有其他已启用的网络适配器。
3. 重新检查 Quartus 许可证¶
重新启动 Quartus II 后,打开:
根据安装版本处理:
| 场景 | 处理方式 |
|---|---|
| Quartus II Web Edition | 通常不需要 license.dat。清除错误的许可证文件或服务器路径,并检查 QUARTUS_LICENSE_FILE、LM_LICENSE_FILE 环境变量。 |
| 节点锁定或学校/企业许可证 | 确认许可证的主机号与 0800275A66B7 一致,并确认许可证授权了 EP4CE6E22C8。不一致时,应向许可证提供方申请匹配当前 MAC 的许可证。 |
| 浮动许可证 | 按单位许可服务器配置;内部网络隔离会使虚拟机无法访问外部许可证服务器。 |
不要通过修改许可证文件或伪造主机号绕过许可证校验。
验证结果¶
完成配置后,Quartus II 应能读取正常的虚拟网卡 MAC 地址,同时虚拟机不具备访问互联网的网络路径。
如果完整编译仍报 119013,则继续检查许可证版本、授权器件范围及 License Setup 中配置的许可证来源;此时问题不再是 VirtualBox 网络设置。