My Acer Aspire 7250
-0209 (latest BIOS 1.10) has a weird problem with internal Wi-Fi cards in its half-mini PCI Express slot. It came stock with a 2.4GHZ Wi-Fi-only card based on the Atheros AR5B125 chipset. Thinking the first card might be bad, I tried a second card, a Dell 1703 2.4GHz Wi-Fi/Bluetooth combo card based on the Atheros 10K chipset. I then tried a third card, a dual-band 2.4GHz-5GHz/Bluetooth combo card based on the Realtek RTL8821AE chipset. All three cards exhibit substantially similar behavior.
The laptop is configured to dual-boot either Windows 10 (1803 originally but upgraded to 1809) or Linux (Ubuntu 18.04 with kernel 4.15.0) from separate partitions. On the first boot under either operating system after a Wi-Fi card is installed, the operating system correctly identifies it (including the Bluetooth adapter if present on the card), and configures drivers for it. Upon reboot into either operating system, the card is no longer seen at all. When the card disappears under Windows, in Device Manager enabling showing of hidden devices lists the Wi-Fi driver grayed out and a message that the device is not connected. When the card disappears under Linux, it does now show up as would be expected in "lspci", "lsusb", or "lshw". However, if the card has Bluetooth, then that part of the card works fine despite the Wi-Fi part disappearing.
If the bottom cover is opened and a card is physically removed and reinserted, again Wi-Fi works on the first boot but not again. This proves that the PCI Express slot itself is not physically damaged.
The network stacks under both operating systems are known good: if a USB Wi-Fi device (one based on the Realtek RTL8812AU chipset) is present, it works reliably. The built-in Ethernet port works correctly also. Only the internal Wi-Fi card is problematic.
My hunch is that the problem lies in the BIOS failing to properly enumerate the Wi-Fi part of the card, which is PCI, even if it correctly enumerates the Bluetooth part of the card, which is USB. The failure to enumerate the PCI Wi-Fi device occurs regardless of whether there is any USB Bluetooth device on the same card, which is always correctly enumerated if present.
Could this be a BIOS bug? Is there some workaround to force the BIOS to go out and look for PCI devices without having to physically remove and reinsert the card?