我有一个带有Atheros AR5008 PCI Express卡(D-LINK DWA-556,设备= 0024&Vendor = 168C)的Supermicro X9SCM板。 该卡可成功标记为ESXi中的PCI直通(我试过版本4.1和5.0),但是每次启动一个与Wifi卡关联的虚拟机 – 整个主机都冻结并需要硬重置。
这张卡有一个很好的机会,因为某种原因不兼容 – 虽然至less有一个报告,我可以find它“工作”,或者至less是客人可以启动。 我真的很想明白为什么它失败了。 我试图挖掘一些日志文件和其他资源,看看我是否可以收集任何有关如何最好地排除故障的知识,尽pipe我远离VMWare工具的专家。
这是我迄今为止所看到的:
同样,我真正的问题是:如何理解为什么这个设备导致虚拟机pipe理程序在分配给guest虚拟机时被locking?
这可能不是pipe理程序locking,而是某种硬件(如PCIe交换机)。 如果没有任何一种PCIedebugging硬件和一大堆PCIe专有知识,您将很难进行debugging,因此可能不值得追求。 一般来说,PCI传递不是你应该使用的,没有太多的考虑。
如果您需要虚拟机上的无线连接接口,请考虑使用将无线networking连接到有线networking的外部设备(路由器/网桥),并使用连接到此networking的虚拟机中的虚拟接口。 另一种select是将USB插入式接口与USBnetworkingredirect器一起使用。
我很好奇你的计划在这里。 您正试图将无线网卡的ESXi PCI直通运行到来宾虚拟机? 什么是客户操作系统? 这个设置的目的是什么?
并非所有PCIe设备都与VMDirectPath兼容。 这可能只是其中之一。
意识到这个问题可能过时了,但是当我遇到这个问题的时候,仍然是最好的谷歌结果。 在这里find一个解决scheme,所以我想分享。
在/etc/vmware/passthru.map中设置正确的传递参数,像这样添加一个条目。
# passthrough attributes for devices # file format: vendor-id device-id resetMethod fptShareable # vendor/device id: xxxx (in hex) (ffff can be used for wildchar match) # reset methods: flr, d3d0, link, bridge, default # fptShareable: true/default, false # Atheros Wireless 168c 0034 d3d0 false
然后重新启动主机。
注1:这里的第一个和第二个字段是供应商和设备特定的,但我从ESXi Web界面下的主机>pipe理>硬件> PCI设备
注2:passthru.map中还有其他有用的东西,所以不要只是覆盖,追加。
我也定了
pciPassthru0.msiEnabled=false
在客人的.vmx文件,但在获得passthru.map之前,所以我不积极,这是必要的。
我还没有完成configuration卡或使其有用,但是当VM启动并且guest虚拟机检测到它时,我的主机仍然保持运行状态。