Какответил здесь, VirtualBox не умеет эмулировать Wi-Fi. Он может подключить гостя к Wi-Fi хоста, но гость все равно будет думать, что это одно из "до восьми виртуальных карт PCI Ethernet".
Но Genymotion, который является оболочкой над VirtualBox,удается ли это сделать. Можно ли что-то сделать внутри VirtualBox, чтобы повторить действия Genymotion и открыть эмулированную опцию Wi-Fi?
Может показаться излишним использовать Genymotion поверх VirtualBox только ради этой, предположительно, базовой функции.
У меня есть одна теория, даже если она может быть и надуманной. Согласно поиску в интернете, VirtualBox позволяет подключать USB Wi-Fi-донглы к гостевой ОС. Может быть, Genymotion нашел способ подделать USB Wi-Fi-донгл?
решение1
Я не знаю, как это делает Genymotion, но я знаю, как это можно сделать. Я видел несколько продуктов, таких как Genymotion, которые реализовали эту функцию.
Теоретически существует 3 основных метода сделать это:
- Используйте PCI pass-through для передачи Wifi NIC в гостевую систему, таким же образом, как VirtualBox может передавать USB-устройства. Это ОЧЕНЬ маловероятно, так как этот метод довольно сложен и не будет работать с большинством оборудования. (Сам VirtualBox, хотя и поддерживает PCI pass-through в течение многих лет, все еще считает это "экспериментальным".) И, как и в случае с USB pass-through, Wifi NIC больше не доступен хост-системе.
- Между хостом и гостем уже есть специальный интерфейсный путь. VirtualBox использует его, например, для синхронизации изменений размера дисплея от гостя к хосту, общего буфера обмена и для реализации виртуальной файловой системы. Вы можете расширить это, чтобы также отправлять дополнительную информацию между хостом и гостем, необходимую для передачи гостевой обработки Wi-Fi хосту. Однако было бы очень сложно использовать этот метод, поскольку синхронизация метаданных Wi-Fi и фактического сетевого трафика была бы очень сложной, поскольку они следовали бы по совершенно разным путям данных.
- Метод, который я видел во всех подобных продуктах: замена гостевого сетевого драйвера VirtualBox и сетевых мостовых устройств VirtualBox на стороне хоста на модифицированные версии, которые не только пропускают сетевой трафик, но и дополнения Wi-Fi (такие как обработка SSID, обнаружение сети, аутентификация и т. д.)
Genymotion, похоже, тоже использует этот метод. Я только что заметил, что есть еще одинвопросна этом сайте, где говорится о том, что Genymotion изменил конфигурацию драйверов моста хоста, что, по-видимому, подразумевает, что они используют это каким-то образом.
К сожалению, я не знаю бесплатных (или дешевых) реализаций для этого. Я бы определенно мог использовать это сам.