FreeBSD Linux compatibility layer with multiple network cards cannot automatically switch networks. If you have wlan0, em0, or more network cards on your host, the corresponding networks in the Linux compatibility layer are eth0 and eth1. This applies to machines with multiple Ethernet cards as well. However, the compatibility layer defaults to using the network of eth0 corresponding to the em0 Ethernet card. If you only have wlan0, the compatibility layer has no network since em0 has no network. In this case, you need to use the command 'ifconfig em0 192.168.11.1/24' to assign a fake IP address to the em0 Ethernet card. This way, the Linux compatibility layer gains network access, specifically wlan0's network. I'm using the Ubuntu compatibility layer. Does anyone know what's going on here? What's the underlying principle? Are there better alternative solutions?