How to set up WiFi on a Hackintosh: A complete guide

Installing macOS on non-Apple computers always presents a number of technical challenges, and the most challenging of these is invariably setting up a wireless connection. Unlike standard Windows PCs, where drivers are installed automatically or from a disc, in Hackintosh Everything depends on the compatibility of the specific chipset and network card model with the Darwin kernel. The user will need to understand the intricacies of ACPI, kernel patches, and the correct kext file loading order to transform a non-functional module into a fully functional internet interface.

Lack of Wi-Fi often becomes a critical issue, especially if you can't connect an Ethernet cable for the initial system setup or download the necessary files from the App Store. Many modern motherboards are equipped with controllers that are not supported by macOS by default, requiring manual hardware replacement or complex software emulation. In this article, we'll cover all available solutions in detail, from hardware selection to fine-tuning the EFI configuration file.

It's worth noting right away that there's no universal "one-click" solution, as the success of the operation directly depends on your processor architecture and operating system version. However, with up-to-date tools like OpenCore and understanding of the structure config.plist, you can revive virtually any compatible module. Below are proven methods that will help you get stable network access without having to buy expensive original Apple hardware.

Hardware compatibility and module selection

The foundation of a successful wireless network setup is choosing the right network adapter during computer assembly. macOS has historically supported a limited list of chipsets, and attempts to run unsupported hardware using software often result in unstable operation or a complete lack of functionality. The most reliable approach is to use chip-based cards. Broadcom, which are natively supported by the system and do not require complex emulation.

If you're building a system from scratch or planning an upgrade, consider the models used in original Macs of the corresponding year. For example, modern versions of macOS are compatible with the BCM94360 or BCM94331 series cards, which can often be found on AliExpress in PCIe or M.2 format with an adapter. These devices are detected by the system as AirPort and allow you to use not only the Internet, but also Handoff, AirDrop, and Continuity functions.

  • 📡 Broadcom BCM94360CD — native support, full functionality, requires transition from M.2 Key E to PCIe.
  • 📡 Intel AX200/AX210 — partial support via patches, only the internet works, no Handoff or AirDrop.
  • 📡 Realtek RTL88x — require third-party drivers, are often unstable, and are not recommended for critical tasks.

Laptop owners are often limited in their options, as the modules soldered onto the board cannot be replaced. In such cases, the only option is to use software workarounds for Intel cards, which have appeared in the latest versions of macOS. However, even here there are nuances: some older Intel models may perform more reliably than the newest ones due to specific kernel driver implementations.

Device ID Replacement Method for Broadcom Cards

One of the most common ways to "revive" a Broadcom card that is physically installed in the system but not detected by macOS is to spoof the device ID. The essence of this method is to convince the system driver AirPortBrcm4360 or AirPortBrcmNIC, that the model in front of it is supported, even if this is not the case. To achieve this, special patches are added to the OpenCore configuration that change Device ID on the fly.

The process begins with accurately identifying the vendor and device of your card. This can be done in Windows via the Device Manager or in Linux using the command lspciThe resulting hexadecimal codes will need to be used in the section PciRoot configuration file. It's important to understand that this method doesn't work with all chips, and success depends on how closely your adapter's architecture matches the original Apple cards.

To implement the patch you will need to edit the file config.plist using the editor ProperTree or OCAT. In the section ACPI or DeviceProperties (Depending on the OpenCore version and method), entries are added that redirect driver requests. After making these changes, you need to rebuild the EFI and test the results.

⚠️ Attention: An incorrect Device ID entry in the configuration file can cause the system to become unbootable (Kernel Panic). Always make a backup copy of the EFI before making changes to it. config.plist.

📊 What network adapter do you have?
Broadcom (original)
Broadcom (Chinese clone)
Intel Wi-Fi 6
Realtek
Another

Using Intel Itlwm and AirportItlwm Drivers

For users who are unable to replace their network card, open source projects have become an excellent solution, in particular itlwm And AirportItlwmThese drivers enable Wi-Fi on Intel cards, which are commonly installed in laptops and PCs. Unlike previous methods, this one doesn't emulate Broadcom, but uses a native Linux driver ported to macOS.

There are two main modes of operation for these drivers. The first is itlwm.kext, which creates a virtual Ethernet interface. In this case, the system doesn't display the standard Wi-Fi menu, and the connection is established through the network settings as a wired connection. The second option is AirportItlwm.kext, which is introduced into the process IO80211Family, allowing you to use the standard macOS interface, see lists of networks, and save passwords in the keychain.

To install, you will need to download the latest version. Heliport (if using kext mode) and the drivers themselves from the OpenIntelWireless GitHub repository. It's critical to select the driver version that matches your macOS version, as system updates often break kernel compatibility. The installation process involves copying kext files to a folder. EFI/OC/Kexts and updating the bootloader configuration.

# Example command to check if a module is loaded in the terminal (after installation)

kextstat | grep -i itlwm

It's worth noting that Intel Wi-Fi functionality on macOS is still limited compared to native Broadcom. For example, instant hotspot or internet sharing features may not work, and speeds on some bands may be lower than expected. However, for most web surfing and streaming tasks, it's sufficient.

Why isn't AirDrop working on Intel?

Continuity, AirDrop, and Handoff features require deep integration with Apple's proprietary protocols, which are only implemented in Broadcom chips. Intel drivers only emulate the basic 802.11 protocol, so advanced features remain unavailable.

Setting up OpenCore configuration

Correct operation of Wi-Fi on a Hackintosh is impossible without a properly assembled EFI. Configuration file config.plist It is the heart of the boot system and must contain links to all necessary drivers and patches. Errors in this structure often result in even compatible hardware remaining invisible to the operating system.

First of all, make sure that all the necessary kext files (for example, IO80211Family.kext, CryptexFixup.kext (for older versions or specific patches for Broadcom) have been added to the section KernelIt's important to respect the load order: some dependencies should be loaded before others. In OpenCore, this is controlled by the MinKernel and in order in the list.

You also need to check the section NVRAM, which can contain launch arguments. Some cards require the addition of specific flags, such as brcmfx-driver=1 or pcie_port_pm=offto avoid power saving issues that may cause the module to turn off after waking up from sleep.

macOS Sonoma+

File / Kext Purpose Necessary for The Path to EFI
AirPortBrcm4360_Injector.kext Forcing driver loading Broadcom (FakePCIID) OC/Kexts
BrcmFirmwareData.kext Downloading firmware Broadcom OC/Kexts
AirportItlwm.kext Interface driver Intel Wi-Fi OC/Kexts
IO80211FamilyLegacy.kext Basic driver family OC/Kexts

After making all the changes config.plist don't forget to run the command ctrl+shift+R in ProperTree to sort and save the file in the correct format. Incorrect XML or plist syntax will cause the uploader to ignore all settings.

Diagnostics and troubleshooting

Even if you follow all the instructions, situations may arise where Wi-Fi doesn't appear or is unstable. The first step in diagnostics is always checking the report. IORegistryThis utility displays a tree of all connected devices in real time. If your card isn't on the list, IO80211Controller or it hangs in a state disabled, this means that the driver did not load or the card was not initialized.

A common issue is an addressing conflict or incorrect power-saving settings. macOS may attempt to disable the card to conserve power, leading to connection interruptions. This can be resolved with a patch. DisableASPM or by disabling the corresponding options in the motherboard BIOS (for example, ERP Ready or Deep Sleep).

  • 🔍 Check the OpenCore bootloader logs (F2 at startup or file OpenCore.log) for errors Missing dependency.
  • 🔍 Make sure it is disabled in BIOS Secure Boot or set to mode Other OS, although for Wi-Fi this is less critical than for downloading.
  • 🔍 Try resetting NVRAM via the OpenCore menu to clear old network settings caches.

If the card is detected but doesn't see any networks, check your region in macOS settings. Some cards have frequency range restrictions depending on the selected country. You should also try changing your router's channel settings, switching from automatic channel selection to a fixed channel in the range 1-11.

⚠️ Attention: BIOS settings and interfaces may vary depending on the motherboard manufacturer. If you're unsure of a setting's meaning, consult the official manual for your motherboard to avoid interfering with other components.

Common mistakes and their solutions

One of the most common mistakes is ignoring macOS updates. Every major update (for example, switching from Ventura to Sonoma) can change the kernel structure, which can lead to broken Wi-Fi drivers. Always check the compatibility of your kext and OpenCore versions before updating the system.

Another problem is the use of outdated versions FakePCIIDIn modern OpenCore builds, this method is often replaced with native patches or built-in bootloader functions. Attempting to use older injections can cause driver conflicts and a KERNEL PANIC with code pointing to IO80211.

If you're using an Intel card and your internet connection is down after an update, try clearing the driver caches. This can be done by booting into Recovery Mode and clearing the folders. /System/Library/Caches And /Library/Caches, or simply reinstalling the kext files again with rebuilding the EFI.

☑️ Wi-Fi diagnostics

Completed: 0 / 5
Why doesn't macOS see my Broadcom card?

Most likely, the firmware is not loaded. Make sure the Kexts folder contains BrcmFirmwareData.kext, BrcmPatchRAM2.kext (or 3, depending on the version) and BrcmBluetoothInjector.kext. Also check that they are added to config.plist.

Can I use an external USB Wi-Fi adapter?

Technically, it's possible if there's a driver for it under macOS (for example, some Realtek or MediaTek models). However, the stability and speed of USB adapters on Hackintoshes are typically lower than that of internal PCIe cards, and they often require manual installation of kernel-signed drivers.

How do I know if Handoff is working?

Open System Preferences -> General. If the "AirDrop & Handoff" section is enabled, the toggles are active, and nearby Apple devices are visible in Control Center, emulation was successful. This feature is not available for Intel Wi-Fi.

Do I need to change the Wi-Fi card in my laptop?

If you're happy with the Intel patches (Itlwm), then you don't need to change anything. However, if the full functionality of the Apple ecosystem (Handoff, AirDrop, Continuity Camera) is critical, then replacing the module with a compatible Broadcom one (if the form factor and BIOS allow it) is the only solution.