Comorespondido aqui, o VirtualBox não sabe como emular Wi-Fi. Ele pode conectar um convidado ao Wi-Fi do anfitrião, mas o convidado ainda pensará que a conexão é "até oito placas PCI Ethernet virtuais".
Mas o Genymotion, que é um wrapper no VirtualBox,consegue fazer isso. Existe algo para fazer dentro do VirtualBox que irá replicar o que o Genymotion faz e abrir uma opção de Wi-Fi emulada?
Pode parecer redundante usar o Genymotion em cima do VirtualBox apenas para esse recurso supostamente básico.
Eu tenho uma teoria, mesmo que ela possa ser absurda. De acordo com pesquisas online, o VirtualBox permite conectar dongles USB Wi-Fi ao convidado. Será que a Genymotion encontrou uma maneira de falsificar um dongle USB Wi-Fi?
Responder1
Não sei como o Genymotion faz isso, mas sei como pode ser feito. Já vi vários produtos como o Genymotion que implementaram esse recurso.
Existem basicamente 3 métodos em teoria para fazer isso:
- Use a passagem PCI para passar a NIC Wifi para o convidado, da mesma forma que o VirtualBox pode passar dispositivos USB. Isto é MUITO improvável, pois este método é bastante difícil e não funcionará com a maioria do hardware. (O próprio VirtualBox, embora suporte a passagem PCI há anos, ainda considera isso "experimental".) E, como acontece com a passagem USB, a NIC Wifi não está mais disponível para o sistema host.
- Já existe um caminho de interface especial entre o host e o convidado. O VirtualBox usa isso, por exemplo, para sincronizar alterações no tamanho da exibição do convidado para o host, da área de transferência compartilhada e para implementar o sistema de arquivos virtual. Você pode estender isso para também enviar as informações extras entre o host e o convidado necessárias para transferir o tratamento do Wifi dos convidados para o host. Seria muito complicado usar esse método, porque manter os metadados Wifi e o tráfego de rede real sincronizados seria muito difícil, pois eles seguiriam caminhos de dados totalmente diferentes.
- O método que vi usado por todos os produtos semelhantes: Substitua o driver de rede convidado do VirtualBox e os dispositivos de ponte de rede do lado do host do VirtualBox por versões modificadas que não apenas passam pelo tráfego de rede, mas também pelas adições Wifi (como como Manipulação de SSID, descoberta de rede, autenticação, etc.)
O Genymotion parece usar esse método também. Acabei de notar que há outroperguntaneste site sobre Genymotion modificando a configuração dos drivers de ponte do host, o que parece implicar que eles usam isso de alguma forma.
Infelizmente não conheço nenhuma implementação gratuita (ou barata) para isso. Eu definitivamente poderia usá-lo sozinho.