Solução de problemas de congelamento de hardware do ESXi com PCI Passthrough

1

Eu tenho uma placa Supermicro X9SCM com uma placa PCI Express Atheros AR5008 (D-LINK DWA-556, Device = 0024 e Vendor = 168C). A placa pode ser marcada com sucesso para passagem PCI no ESXi (tentei versões 4.1 e 5.0), embora cada vez que eu inicie uma VM com a placa Wifi associada - o host inteiro congela e requer uma reinicialização a frio.

Existe uma boa chance de este cartão não ser compatível por algum motivo, embora pareça haver pelo menos um relatório Eu poderia encontrá-lo "trabalhando", ou pelo menos o convidado ser capaz de arrancar. Eu realmente gostaria de entender por que ele está falhando. Eu tentei cavar alguns arquivos de log e outros recursos para ver se eu posso obter qualquer conhecimento sobre como melhor solucionar isso, embora eu esteja longe de um especialista com ferramentas VMWare.

Aqui está o que eu vi até agora:

  • BIOS, versão mais recente (1.1a) e uma versão anterior (1.0c).
  • O BIOS possui um log que informa "PCI ERR" ou "PCI ERR - Asserted" sempre que esse evento de congelamento ocorre.
  • Eu peguei os vários logs do / var / log no host do ESXi, embora ainda não tenha conseguido ver nada muito útil deles. Talvez eu não saiba onde procurar.
  • Eu tentei adicionar a placa PCI ao arquivo passthru.map para ver se eu poderia sugerir ao ESXi como ele deve se comportar sem sorte. (Nota: Eu ainda não tentei todas as combinações de reset método / fpt compartilhável)
  • Eu li que pode haver uma diferença com os cartões PCI Express "Ativos". Acredito que isso possa estar se referindo a Gerenciamento de energia do estado ativo , embora eu não tenha certeza de como verificar isso.
  • Eu entrei em contato com o suporte da Supermicro para ver se há um problema conhecido com o BIOS / hardware, embora eu não tenha ouvido falar. Eu também tentei entrar nas comunidades VMWare e postar em seus fóruns, embora eu não tenha sido capaz de ativar minha conta por algum motivo estranho.

Mais uma vez, minha verdadeira pergunta é: como faço para entender por que esse dispositivo está causando o bloqueio do hipervisor quando ele é atribuído a um convidado?

    
por Goyuix 18.04.2012 / 02:09

3 respostas

1

Provavelmente não é o hipervisor que está bloqueando, mas algum tipo de hardware (como o comutador PCIe). Você teria dificuldade em depurar isso sem qualquer tipo de hardware de depuração PCIe e um todo Um monte de conhecimento específico do PCIe, por isso, provavelmente não vale a pena prosseguir. Em geral, passagem PCI não é o que você deve usar sem muita consideração.

Se você precisar de uma interface sem fio conectada na máquina virtual, considere usar um dispositivo externo (roteador / ponte) conectando a rede sem fio a uma rede com fio e usando uma interface virtual de dentro da sua máquina virtual conectando-se a essa rede. Outra opção seria usar uma interface conectada por USB juntamente com um redirecionador de rede USB .

    
por 18.04.2012 / 09:04
2

Perceba que essa pergunta pode ser datada, mas ainda aparece como um resultado do Google superior quando eu vejo esse problema. Encontrei uma solução aqui, então pensei em compartilhar.

Meu env:

  • VMware ESXi 6.5
  • SuperMicro SYS-E300-8D
  • OPNsense (baseado no FreeBSD) guest
  • Qualcomm Atheros AR9462

Suposições:

  • Você instalou fisicamente o cartão.
  • Você o habilitou para passagem no ESXi e reinicializou
  • Você adicionou este dispositivo PCI a uma VM

Resposta:

Defina os parâmetros de passagem corretos no /etc/vmware/passthru.map, adicionando uma entrada como essa.

# 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

Em seguida, reinicie o host.

Observação 1: o primeiro e o segundo campos aqui são específicos para fornecedores e dispositivos, mas recebi os valores (já em hex) da interface da Web do ESXi em Host > Manage > Hardware > Dispositivos PCI

Nota 2: Já existem outras coisas úteis no passthru.map, por isso não sobrescreva, anexe.

também defino

pciPassthru0.msiEnabled=false

no arquivo .vmx para o convidado, mas antes de obter o arquivo passthru.map corrigido, não tenho certeza de que é necessário.

Eu não terminei de configurar o cartão ou torná-lo útil, mas meu host agora continua em execução quando a VM é iniciada e o convidado a detecta.

    
por 26.09.2017 / 06:45
1

Estou curioso para saber qual é o seu plano aqui. Você está tentando executar a passagem PCI ESXi de uma NIC sem fio para uma máquina virtual convidada? Qual é o sistema operacional convidado? Qual é o objetivo dessa configuração?

Nem todos os dispositivos PCIe são compatíveis com o VMDirectPath. Isso pode ser simplesmente um deles.

    
por 18.04.2012 / 04:00