• Become a Premium Member for $25/year with no ads to improve your community experience. Upgrade to Pro Account for faster response and no wait times!

How to Fix Intel WiFi and Bluetooth on macOS Sequoia and Later

This guide covers fixing Intel WiFi and Bluetooth on macOS Sequoia and Later using Clover and OpenCore. By following this guide, you'll be able to enable Intel based WiFi and Bluetooth on macOS Sequoia and Later using Clover or OpenCore Bootloader.

This guide must be followed on macOS Sequoia and later only. If you're running a prior version of macOS, there is an original Intel WiFi/BT guide that works with ease up to macOS Sonoma and has been linked below for reference:

Overview

When it comes to WiFi/BT, a number of vendors tend to opt for the Intel WiFi/BT due to its high availability, faster performance and easy to integrate. Most of the OEM machines you'll see, including the Desktop Motherboards (WiFi/BT variant), its generally shipped with Intel WiFi. The Intel WiFi has been lasting for more than 10yrs and still counting. By default, only Atheros and Broadcom WiFi/BT are natively supported on macOS, with the Airport features. If you're an Apple user (especially, macOS), you might have already known that when it comes to macOS, a limited number of devices are supported. Either the driver should be provided by Apple itself or from the device vendor.

Apple dropped the support for Atheros based WiFi cards since Mojave and the last macOS version to support the Atheros based WiFi cards (natively) was macOS High Sierra. After the discontinuance of the Atheros based cards, Apple still had active developments for the Broadcom based WiFi cards, which was majorly being used in Macs. Apple has been always selective and back then, there were Mac models with the Broadcom Ethernet chips as well. Apple has been using the Broadcom WiFi till date, including in their new Apple Silicon lineups. Despite the fact that Apple implemented several Intel based Ethernet chips, it never implemented the support for Intel based WiFi Cards, even in their new Mac lineups. The reason is unknown. One of the factor could be some of the hardware features which could be possible only with Broadcom or due to certain contractual requirements or easy implementation and learning from the past. Moreover, in the recent years, with the release of macOS Sonoma, Apple dropped support for a variety of Broadcom based WiFi cards. But the newer models are still in use and is being actively developed and maintained.

Although, it was never a problem for real Mac users, the non-Apple community had several struggles. Although, replacing the Intel WiFi card was easy on majority of the systems with a compatible card (such as Broadcom), some of the Notebooks and NUCs you'll see, comes with a soldered WiFi, so it was again a hassle to desolder and despite the desoldering the Intel WiFi, one could never find the Broadcom WiFi with that much of size to solder it back, hoping that it would work on macOS. Another issue to replace the Intel WiFi cards with a compatible was the availability. In several regions, its hard to find a Broadcom WiFi card which is compatible on macOS. Imagine, if the Intel WiFi worked OOTB or with the help of a community driven driver, how good it could be? A new life for systems running macOS on non-Apple computers. Seeing the widely adopted Intel WiFi cards on the non-Apple computers by OEM, a well known developer @zxytd started a project "AppleIntelWifiAdapter" with a ray of hope for Intel WiFi users on macOS. The project had initial findings and after years of waiting, this project was archived and further development moved to a new project called "OpenIntelWireless" aiming to provide support for Intel WiFi cards on macOS. If you're from the back era, you might have already known that Intel WiFi did not work until macOS High Sierra. Although, it was still in progress, the final release was at the time of macOS Catalina, which had a functional WiFi and the project was a huge success. Finally, users could utilize their Intel WiFi cards on macOS. Of course, it was not that perfect at the time of its initial release, but over the period of time, there has been tremendous support from the developer, adding support for newer models and fixing the bugs, making it reliable for the day to day use, in a production environment.

If you're reading this guide, you're probably familiar with the how Apple love to make changes in their macOS releases. This year, with the launch of Sequoia, there are some of the major changes in the Network stack and as a result, the Intel WiFi does not work on macOS Sequoia. This includes all Intel WiFi which were previously supported, prior to macOS Sequoia. Usually, the kext needs some update (backend) to include the support for a new macOS family so that it can work. However, it seems like the OpenIntelWireless developer @zxystd is busy with some other devs and no update has been possible yet.

For Intel WiFi, which is supported via third party kexts (AirPortitlwm and itlwm), it has been possible to utilize Intel WiFi cards which is shipped with variety of systems, on macOS. The OpenIntelWireless project offers two methods: AirPortitlwm, which is more of a native WiFi function (similar to native WiFi on real Macs) that uses the IO80211Family stack to support the native functions, with a few hicciups, but let's not forget that the project had numerous updates and improvements, making it reliable to use it on macOS. Although it provides certain Airport features such as AirDrop, etc., it lacks the performance and stability as compared to itlwm. The other method is itlwm, which utilizes the Apple's IOEthernet rather than the IO80211Family. Based on Open Source, it provides faster and stable performance as compared to Airportitlwm.

Currently, the Airportitlwm has not been updated for macOS Sequoia and as a result, it does not work at all. However, using the itlwm and Heliport, which uses an Ethernet interface does actually work on macOS Sequoia. However, as always, the itlwm lacks several functionalities such as Location, AirDrop. But at least it works, better than nothing ;) For users who want to have high speed internet with stability, you should definitely opt for itlwm, if you do not care about the AirPort features. Its still wireless and who cares if it uses the IOEthernet.

Talking about the Bluetooth, it works fine with the updated kexts. As the Bluetooth is on the USB bus, it has always worked upto an extent, before the OpenIntelWireless project. However, it was then not possible to turn on/off the Bluetooth Device and it had firmware issues. Now, with the project, a proper firmware is loaded onto the BT device and its also possible to turn on/off the Bluetooth within the macOS itself.


Compatibility



Almost all Intel WiFi/BT modules are compatible with the third-party kexts. Refer to the thread linked below for more information on Intel WiFi/BT compatibility:

Requirements



Following are the requirements for enabling Intel WiFi/BT on macOS Sequoia. Please ensure you meet the requirements before proceeding with this guide.

WiFi/ BT Hardware
macOS
  • macOS Sequoia or later (Pre-installed). See on the Fly patching for more information.
Bootloader
  • Clover or OpenCore. Please ensure to use the latest version to avoid issues.
Kexts
  • Vanilla Network kexts in S/L/E
  • Lilu
  • Itlwm and/or AirportItlwm
  • IntelBluetoothFirmware
  • IntelBTPatcher
  • BlueToolFixup
Tools
  • Heliport
  • IOReg
  • OCAT or any equivalent .plist editor
  • OCLP for root patching

If you're attempting a clean install or an upgrade, it is highly recommended to perform a clean install or the upgrade first before you follow this guide. In addition, this guide assumes that you have already mapped your USB Ports and have set the Bluetooth as Internal (255). See Mapping USB Ports for more information.

STEP 1: Setup BIOS

The very first step is to set up the BIOS to have the Intel WiFi/BT enabled on your system. This is because there are a few systems that have the option to Enable/Disable WiFi/BT in BIOS which affects the functionality under macOS.

1. On your target computer, boot to BIOS. Refer to your system/motherboard user manual for the BIOS Key.
2. Enable WiFi/BT function.
3. Save & Exit Setup.

STEP 2: Verify the WiFi Detection

The next step is to verify whether the installed card is being detected under macOS or not. This step is required in order to ensure you are on the right track and have the right card as per the compatibility list. If the Card is not detected, even following the guide correctly will not help you to get the card recognized. In addition, not all WWN slots are M.2. There are a few systems with cNVi slots, where even if you replace the card with a compatible one, the card will not be detected at all. This is because of the proprietary connectivity interface by Intel. This means the particular CNVi slot on the motherboard will accept only Intel-based WiFi/BT Cards therefore if you replace the card, you must verify the detection of the WiFi/BT module. To verify the WiFi/BT detection, follow the steps below:

1. Download Hackintool.
2. Open Hackintool.
3. Locate your WiFi module under the PCIe section in Hackintool. The WiFi module is usually listed as a Network Controller under the Class and Subclass column:
Screenshot 2024-09-25 at 5.04.05 AM-min.png
4. The BT can be verified in the Hackintool>USB section. In case, if you're unable to verify the BT presence using Hackintool, you can verify it from the System Report>Hardware>USB section or even via IOReg:

Screenshot 2024-09-25 at 5.07.42 AM-min.png Screenshot 2024-09-25 at 5.33.10 AM-min.png
Hackintool will report the firmware loaded for the Bluetooth but there seems to be a bug. The firmware loading status can be also verified from System Report>Bluetooth:
Screenshot 2024-09-26 at 7.51.24 PM-min.png Screenshot 2024-09-25 at 5.26.41 AM-min.png
Moreover, the BT gets recognized as Broadcom instead of Intel. This is another bug where if a correct firmware is not loaded, the system tries to load the Broadcom firmware by default. The issue persist since Monterey onwards. As a result, the Bluetooth does not function at all even with the appropriate kexts injected via OpenCore which was fully functional on macOS Sonoma and prior.
Screenshot 2024-09-25 at 5.33.21 AM-min.png

STEP 3: Add Required Kexts

The next step is to install the required kexts in order to enable WiFi and Bluetooth support. Due to the nature of complexity involved for enabling WiFi on macOS Sequoia and later, this step has been divided into two separate sections i.e. WiFi and Bluetooth.

I. WiFi



Available Methods

There are essentially two methods to enable Intel WiFi on macOS Sequoia. As each method has different process involved, both the methods are described below in detail. Choose one of the method as per your preference:

MethodNotes
itlwm
  • Requires HeliPort App, which acts as a WiFi Client for Intel WiFi.
  • Has no Continuity features support.
  • Works as Ethernet Interface.
  • itlwm.kext uses Apple's IOEthernet rather than IO80211.
  • Based on open-source resources, provides stable and faster performance, and the ability to unload on Kernels that use prelinked kernel.
AirportItlwm
  • Works as a standalone kext.
  • Has Handoff and Universal Clipboard as Continuity features
  • Works as WiFi Interface.
  • AirportItlwm.kext uses Apple's IO80211Family.
  • It provides certain Airport features but lacks stability compared with itlwm.kext due to the ambiguity of reverse engineering.
  • Requires root patching (downgrading system kexts) on macOS Sequoia.

ℹ️ QUICK INFO: Do not use itlwm.kext and AirportItlwm.kext together.

Method #1: itlwm+HeliPort App

itlwm method is the standard method for enabling the Intel WiFi on macOS Sequoia and later. Using the itlwm method, you can enable the Intel WiFi with ease, without the need of any extra steps. This method is relatively easier than the second method but has certain iServices limitations and functions (such as Location, AirDrop and Handoff) will not work. The advantage of this method is that it uses the native (vanilla) network kexts and frameworks, and downgrading the system kexts or root patching isn't required in order to function. To enable WiFi using itlwm, follow the steps below:

1. Download itlwm.
2. Extract the kext.
3. Mount your ESP.
4. Depending on your bootloader,

Clover:
If you're using Clover, copy itlwm.kext to EFI/Clover/Kext/Others directory.

OpenCore
If you're using OpenCore, copy itlwm.kext to the EFI/OC/kexts directory.
Screenshot 2024-09-26 at 7.36.35 PM-min.png
5. Open your config.plist and add itlwm.kext entry in the Kernel>Add section of your config.plist.
Screenshot 2024-09-25 at 5.19.13 AM-min.png
Save your config.plist.

NOTE: Your kext list and entries may differ as each system is different and will have different requirements.

STEP 5: Install and configure Heliport

When using the itlwm method, you'll also need to install HeliPort. HeliPort acts as a WiFi Client. To install HeliPort, follow the steps below:

1. Download HeliPort.dmg.
2. Mount the DMG.
Screenshot 2024-09-25 at 5.10.30 AM-min.png
3. Move HeliPort to the Applications folder.
Screenshot 2024-09-25 at 5.10.33 AM-min.png
4. To ensure Heliport automatically launches on each boot, add Heliport to the Login items under Settings>General>Login Items & Extensions.

Screenshot 2024-09-25 at 4.49.42 AM-min.png

STEP 6: Boot using the new Configuration

Once you have performed all the above steps, you'll need to boot with the updated configuration. Simply restart your system for the applied changes to take effect. It is recommended to reset NVRAM twice at least.

STEP 7: Connecting to WiFi Network

As itlwm uses IOEthernet to function, the native WiFi icon will not work because itlwm does not use IO80211Family. To connect to your choice of the network, follow the steps below:

1. From the menubar, click on the Heliport Client icon. If there's no icon, open Heliport from the Applications folder.
2. Click on the network name (SSID) and connect to your preferred WiFi network.

Screenshot 2024-09-25 at 5.08.55 AM-min.png
When prompted, enter your network password.
Screenshot 2024-09-25 at 5.08.59 AM-min.png
You should be now connected to your preferred network:
Screenshot 2024-09-25 at 5.08.23 AM-min.png
Heliport also have Network Preferences to give you control over the networks. You can arrange the networks in the order you want, can remove the network and view the network password (if saved).
Screenshot 2024-09-25 at 5.13.54 AM-min.png

NOTE: See itlwm Boot Arguments for a list of supported boot arguments.

Method #2: AirportItlwm

Airportitlwm is the second method for enabling the Intel WiFi on macOS Sequoia and later. Although this method has several advantages (such as iServices, Location services) as compared to itlwm method. However, this method may appear as lengthy and complex but if you stick to the guide and follow it carefully, you should have no issues. Before you jump in, let's understand this method in detail. The steps are similar as of enabling Broadcom WiFi for macOS Sequoia and Later. The only difference is that you will have to spoof the Intel WiFi device to make it see as a Broadcom WiFi device to allow the root patching. If you're curious to know, why spoofing is needed, that is because since the release of macOS Sonoma, Apple has removed support for certain Broadcom WiFi models and has even got rid of the Brcm kexts these WiFi models were relying on. With the OCLP development, in an effort to make these devices work back on thew newer macOS versions, it is possible to block the native IOSkywalkFamily and inject an old working one from macOS Ventura along with the other Brcm kexts.

Just to let you know, currently there is no proper release of AirportItlwm for macOS Sequoia and the release intended for macOS Sonoma or prior won't even load on macOS Sequoia. This is because, AirportItlwm has the dependencies on these kexts and frameworks in order to function properly. However, due to the removal of these kexts frameworks and the change in the API, the AirportItlwm needs an update to match the requirements, which doesn't seem to be happening anytime soon. The development for Intel Wireless project has been kinda stopped now. Hence, there are no new releases for macOS Sequoia. The last version known to work is with macOS Sonoma. It has been almost 5 months since macOS Sequoia was announced but there has been no new releases for the Intel Wireless so far.

However, using OCLP, its possible to downgrade the native kexts and replace it with macOS Ventura, which will let you to use AirportItlwm in macOS Sequoia. The only downside is that the kexts will be of macOS Ventura (the WiFi related kexts and also the AirportItlwm) and the system will be root patched which shouldn't likely create any problems.

To understand the background and the patching process, please see Enabling Broadcom WiFi on macOS for more info.

This method should be followed by users who require such function. Do NOT use this method with itlwm.

To enable WiFi using the AirportItlwm method, follow the steps below:

STEP 1: Add Required Kexts

1. Download AirPortItlwm. Make sure to use the Ventura version.
2. Extract the Kext.
3. Mount your ESP.
4. Copy AirportItlwm.kext to the EFI/OC/Kexts directory.
5. Open your config.plist and add AirportItlwm.kext entry in the Kernel>Add section of your config.plist.

NOTE: If you're using a USB Ethernet Adapter that utilizes the ECM Protocol, you'll have to add ECM-Override.kext to prevent Kernel Panic as Apple's DriverKit stack uses IOSkywalkFamily for ECM Adapters. In addition, you'll need to specify the MinKernel to 24.0.0 to ensure that the kext only loads on macOS Sequoia and later. This step is completely optional and only required if you wish to use USB to Ethernet adapter/dongle that utilizes the ECM protocol.

NOTE: Your kext list and entries may differ as each system is different and will have different requirements.

STEP 2: Spoof WiFi Device

The next step is to spoof the Intel WiFi device so that the OCLP sees it as a Broadcom WiFi device which is required by OCLP to patch the system volume. Please note that we do not suggest spoofing other properties such as device-id, vendor-id etc. In order to patch the system volume, OCLP only checks for IOName for patching the particular device in question. Therefore, it is not necessary to spoof the device-id, vendor-id and spoofing other parameters are likely not needed. Not only its sufficient enough for patching but it makes more sense to just spoof the IOName, leaving the other device properties as default. The Broadcom kexts will never attach due to the fact its missing from the system and as long as they're not injected via OpenCore, the Kernel Panic shouldn't likely happen. However, to be on the safe side, it would be more than enough to just spoof the IOName for the particular Intel WiFi device in question.

Although it is possible to manually mount the snapshot and perform the necessary tasks i.e. downgrade the required kexts and frameworks and you will no longer require to spoof the WiFi device as Broadcom. However, it's quite complex and not that feasible. Moreover, in certain cases, if a mistake happens from user's side, it may lead the system into un-bootable state. Due to such reasons, OCLP approach is preferred instead. To spoof the Intel WiFi device as Broadcom, follow the steps below:

1. Download Hackintool.
2. Open Hackintool.
3. Locate your WiFi module under the PCIe section in Hackintool. The WiFi module is usually listed as a Network Controller under the Class and Subclass column:
Screenshot 2024-09-25 at 5.04.05 AM-min.png


4. Right click on the PCI path in the Device Path column and select Copy Device Path.
5. Assuming the config.plist is still open, navigate to the DeviceProperties section of your config.plist.
6. Click on the + button and add the device path that you copied from Hackintool.
7. Add the following key to the device path you added:

Key: IOName
Value: pci14e4,43a0
Type: String

NOTE: Values and letters are case sensitive.

STEP 3: Block Required Kexts

The next step is to block the IOSkywalkFamily.kext. This step is required for AirportItlwm method. Blocking the IOSkywalkFamily.kext in macOS Sequoia will allow us to manually inject a previous version of IOSkywalkFamily.kext(from Ventura), therefore allowing us to downgrade. This is required because, unless you don't block this kext, you'll not be able to inject the prior version of IOSkywalkFamily.kext, and while the previous version of IOSkywalkFamily.kext is injected and the native IOSkywalkFamily is left unblocked, it will throw an error when booting macOS due to duplicate kexts with slight differences. To block the IOSkywalkFamily.kext, follow the steps below:

1. Assuming the config.plist is still open, add the following under Kernel>Block section of your config.plist. In addition, you'll need to specify the MinKernel to 24.0.0 to ensure that the kext is only blocked on macOS Sequoia.

ArchIdentifier*CommentMinKernelMaxKernelStrategyEnabled
Anycom.apple.iokit.IOSkywalkFamilyAllow IOSkywalkFamily Downgrade24.0.0ExcludeYES
Screen Shot 2023-10-05 at 11.08.21 AM-min.png

STEP 4: Disable Secure Boot Model

Once you have blocked the IOSkywalkFamily.kext, the next step is to disable the Secure Boot Model. To disable the Secure Boot Model, follow the steps below:

1. Assuming the config.plist is still open, set the SecureBootModel to Disabled under the Misc>Security section of your config.plist.
Screen Shot 2023-10-05 at 11.08.56 AM-min.png

STEP 5: Disable Apple Mobile File Integrity

Once you have disabled the Secure Boot Model, the next step is to disable the Apple Mobile File Integrity (AMFI). You can either use a kext or boot arg to disable the AMFI (never both). Depending on your choice, choose one from below:

Using Kext

To disable AMFI using kext, follow the steps below:

1. Assuming the ESP is still mounted, copy AMFIPass.kext to the EFI/OC/kexts directory.
2. Assuming the config.plist is still open, add AMFIPass.kext entry in the Kernel>Add section of your config.plist.

Using Boot Args

To disable the AMFI using boot args, you can follow the steps below:

1. Assuming the config.plist is still open, add amfi=0x80 to the boot-args key under the 7C436110-AB2A-4BBB-A880-FE41995C9F82 UUID list in the NVRAM section of your config.plist.

Screen Shot 2023-10-05 at 11.09.14 AM-min.png

ℹ️ QUICK INFO: When using amfi=0x80 boot arg, certain applications may not respond and eventually crash (such as Firefox) as reported by @svan71. However, AMFIPass.kext is more suitable in such case scenarios.

STEP 6: Disable System Integrity Protection (SIP)

Once you have added the required boot args, the next step is to disable the System Integrity Protection. To disable the SIP, follow the steps below.

1. Assuming the config.plist is still open, set the csr-active-config to 03080000 as the DATA value for root patching.
Screen Shot 2023-10-05 at 11.09.20 AM-min.png


2. Save your config.plist.

⚠️ CAUTION: Do NOT enable the SIP after root patching, else the WiFi will not longer function. The SIP must remain either partially or completely disabled for the downgraded kexts and frameworks to load.

STEP 7: Boot using the new Configuration

Once you're done with the above steps, you'll need to boot with the updated configuration. Simply restart your system. It is recommended to reset NVRAM twice at least.

once you boot with the new configuration, the system will show that the wifi is enabled as the required kexts are injected. However, you won't be able to find and/or connect to any network.

Screenshot 2023-10-05 at 9.19.08 AM-min.png

Screenshot 2023-10-05 at 9.19.28 AM-min.png


Neither the WiFi Networks are available from the Menubar

Screenshot 2023-10-05 at 9.19.18 AM-min.png



If you check the IOReg, you'll find that neither the AirPort_BrcmNIC or the IOSkywalk Kexts are loading.

Screen Shot 2023-10-05 at 11.15.17 PM-min.png

STEP 8: Patch System Volume

The next step is to patch the system volume using OCLP in order to downgrade the required kexts and frameworks required for the functioning of the WiFi. To patch the system using OCLP, follow the steps below:

1. Download OpenCore Legacy Patcher (OCLP) from the download section of this forum.
2. Open OCLP and you'll see something similar to the screenshot attached below.
Screenshot 2023-10-05 at 9.13.21 AM-min.png


3. Click on Post Install Root Patch and you'll see something similar to the screenshot attached below:

Screenshot 2023-10-05 at 9.22.33 AM-min.png



As you can see, the OCLP has automatically detected what patch to apply.

Screenshot 2023-10-05 at 9.13.29 AM-min.png

ℹ️ QUICK INFO: If the SIP is enabled, you may notice a message stating "SIP is Enabled". If you notice that, make sure to disable it as described in STEP #1.

Click on Start Root Patching and you'll need to run OCLP as root. You'll see something similar to the screenshot attached below:

Screenshot 2023-10-05 at 9.22.37 AM-min.png


Click on Yes to relaunch OCLP as root. When prompted, enter your system password. You'll see something similar to the screenshot attached below:

Screenshot 2023-10-07 at 12.33.23 PM-min.png

Screenshot 2023-10-05 at 9.22.58 AM-min.png




Once the OCLP is launched as root, it will start patching the system volume.

Screenshot 2023-10-05 at 9.23.14 AM-min.png




Once OCLP finishes patching the system volume, it will prompt to reboot. Click on Reboot to restart your system.

Screenshot 2023-10-05 at 9.23.18 AM-min.png

Screenshot 2023-10-07 at 12.12.42 PM-min.png



STEP 9: Restart your System

After performing all the above steps, restart your system for the applied changes to take effect. It is recommended to reset NVRAM twice at least.







As you might be aware that, with the release of macOS Sonoma, Apple removed support for Broadcom WiFi cards. As a result, the Brcm kexts and framework required by the Broadcom WiFi cards were also removed as a result. If you own an Intel WiFi card, you're probably aware that Apple never shipped any of their Mac models with Intel/WiFi Cards. However, seeing the OpenIntelWireless project was introduced and two kinds of kexts were introduced at a later stage. The AirportItlwm requires these kexts and frameworks to function properly.









II. Bluetooth



Although the BT is integrated in the WiFi module, but it utilizes the USB bus and requires separate kexts to function. To enable Bluetooth support, you'll need to add Intel Bluetooth kexts. As the Bluetooth steps are universal and unrelated to that of WiFi, the steps for enabling Bluetooth would be the same, regardless of the method you use to enable WiFi, either itlwm or AirportItlwm. To enable Bluetooth for your Intel Card, follow the steps below:

STEP 1: Add Required Kexts

To install the kexts, follow the steps below:

1. Download IntelBluetoothFirmware, IntelBTPatcher and BlueToolFixup.
2. Extract the kexts.
2. Mount your ESP.
3. Depending on your bootloader,

Clover:
If you're using Clover, copy IntelBluetoothFirmware.kext, IntelBTPatcher.kext and BlueToolFixup.kext to EFI/Clover/Kext/Others directory.

OpenCore
If you're using OpenCore, copy IntelBluetoothFirmware.kext, IntelBTPatcher.kext, and BlueToolFixup.kext to the EFI/OC/kexts directory.

4. Open your config.plist and add IntelBluetoothFirmware.kext, IntelBTPatcher.kext, and BlueToolFixup.kext entries in the Kernel>Add section of your config.plist.

STEP 2: Add Bluetooth Parameters

Once you have added the required kexts, the next step is to add the required parameters so that the firmware can load. Please note that this step is crucial and without adding these parameters, the Bluetooth firmware will fail to load. To add the Bluetooth parameters, follow the steps below:

1. Open your config.plist and add the following keys under the 7C436110-AB2A-4BBB-A880-FE41995C9F82 UUID list in the NVRAM section of your config.plist:

Key: bluetoothExternalDongleFailed
Value: 00
Type: DATA

Key: bluetoothInternalControllerInfo
Value: 00000000 00000000 00000000 0000
Type: DATA

Screenshot 2024-09-25 at 5.19.40 AM-min.png
2. Navigate to the Delete section and add the following keys under the 7C436110-AB2A-4BBB-A880-FE41995C9F82 UUID list in the NVRAM section of your config.plist:
  • bluetoothExternalDongleFailed
  • bluetoothInternalControllerInfo
Screenshot 2024-09-25 at 5.19.50 AM-min.png

3. Save your config.plist

⚠️CAUTION: Values and letters are case sensitive.

STEP 3: Boot using the new Configuration

Once you have performed all the above steps, you'll need to boot with the updated configuration. Simply restart your system for the applied changes to take effect. It is recommended to reset NVRAM twice at least.

Verifying the WiFi and Bluetooth

The next step is to verify whether the WiFi and BT are working or not. Follow the steps to verify the WiFi function.

The built in System Preferences>WiFi will not have information as the itlwm uses IOEthernet instead of IO80211 and has its own management via Heliport.

Screenshot 2024-09-25 at 4.50.51 AM-min.png Screenshot 2024-09-25 at 5.09.36 AM-min.png

Despite the WiFi works, it will not appear/show in the System Preferences>WiFi. However, using the Network, the details are shown.

Screenshot 2024-09-26 at 9.41.29 PM-min.png Screenshot 2024-09-25 at 5.08.13 AM-min.png
Screenshot 2024-09-25 at 5.08.23 AM-min.png
Screen Shot 2024-09-27 at 10.01.06 AM-min.png
Screenshot 2024-09-25 at 5.12.16 AM-min(1).png



Screenshot 2024-09-25 at 5.00.45 AM-min.png
Screenshot 2024-09-25 at 5.26.51 AM-min.png Screenshot 2024-09-25 at 4.59.54 AM-min.png
Screenshot 2024-09-25 at 4.59.58 AM-min.png
Screenshot 2024-09-26 at 9.14.21 PM-min.png Screen Shot 2024-09-27 at 10.03.07 AM-min.png

Screen Shot 2024-09-27 at 10.02.35 AM-min.png

Recommended Configuration

The following configurations are the only valid configurations. Anything else is likely wrong and should not be used.

FunctionConfigurationKext Install Location
WiFi
  • itlwm+Heliport OR
  • AirportItlwm
  • EFI/CLOVER/Kexts/Others or EFI/OC/Kexts
Bluetooth
  • IntelBluetoothFirmware
  • IntelBTPatcher
  • BlueToolFixup
  • EFI/CLOVER/Kexts/Others or EFI/OC/Kexts


Troubleshooting

On some systems, it might be possible that despite the WiFi is detected, it doesn't work. See below for more information:
 
Last edited:
I've been fighting this for a very long time without success. I run sequioa 15.1 on my Fujitsu U729 laptop (having an AX210 wifi/BT card installed) and while wifi works flawlessly (ITWLM) and i can scan and see my BT mice (Microsoft and Logitech) perfectly fine, it just will not pair either of them. I've tried everything from Dortania to more or less shady guides online (including the broadcom bt-fixup kext which will not work).

I double checked my config.plist accordig to the guide above and its 1:1 but still it will not work. Its very weird. Are there any alternatives to try out?
Attach your EFI to check.

The alternative is to replace the card with a compatible (BCM) one instead.
 
Absolutely. Its just that it worked with my MS BlueTooth mouse + Logitech Pebble mouse 2 on Ventura (but now it doesnt). On the other hand, i tried two BT keyboards with it, one MicroInnovations MP-0118 and one Linocell 20788 and they actually both work (the Linocell even with the trackpad). But the mice won't work for some reason. Could it be the BT version supported?

EFI attached. It will work on the u729, u748 and u758 Fujitsus.

 
Absolutely. Its just that it worked with my MS BlueTooth mouse + Logitech Pebble mouse 2 on Ventura (but now it doesnt). On the other hand, i tried two BT keyboards with it, one MicroInnovations MP-0118 and one Linocell 20788 and they actually both work (the Linocell even with the trackpad). But the mice won't work for some reason. Could it be the BT version supported?

EFI attached. It will work on the u729, u748 and u758 Fujitsus.

The kext loading order isn't correct. Secondly, the mapping isn't correct. For BT to function properly, all the USB ports should be mapped and the BT should be set to Internal. Your mapping is a complete mess. Probably, fixing that would yield better results.

If the other BT devices are working and one is not, it could be definitely the BT version.
 
The kext loading order isn't correct. Secondly, the mapping isn't correct. For BT to function properly, all the USB ports should be mapped and the BT should be set to Internal. Your mapping is a complete mess. Probably, fixing that would yield better results.

If the other BT devices are working and one is not, it could be definitely the BT version.


Thx. Yeah i did the remap (most probably wrong) by looking at the osx method. I found out that there is this potentially better way to do it, by using UTBMap (windows) and so i followed the guide as closely as possible here: https://chriswayg.gitbook.io/opencore-visual-beginners-guide/alternatives/usb-mapping-on-windows


The resulting UTBMap.kext and USBToolBox was placed in kexts and config.plist updated accordingly.

Now i see this (attached) and the mouse still shows up for pairing but will not pair once again.

I was aware that the order was important when it came to Lilu and VirtualSMC, but i now placed Whatevergreen (graphics) and USBToolbox followed by UTBMap in that order. It still refuses to work for me :(

The odd thing is that i have my older W530 Lenovo with Sequioa (same wifi-card etc) and there the same mice works flawlessly. Its a great mystery to me.
 

Attachments

  • Screenshot 2024-12-18 at 17.47.20.png
    Screenshot 2024-12-18 at 17.47.20.png
    689.4 KB · Views: 6
  • Screenshot 2024-12-18 at 17.50.05.png
    Screenshot 2024-12-18 at 17.50.05.png
    258.6 KB · Views: 6
  • config.plist
    config.plist
    45.1 KB · Views: 4
I've been fighting this for a very long time without success. I run sequioa 15.1 on my Fujitsu U729 laptop (having an AX210 wifi/BT card installed) and while wifi works flawlessly (ITWLM) and i can scan and see my BT mice (Microsoft and Logitech) perfectly fine, it just will not pair either of them. I've tried everything from Dortania to more or less shady guides online (including the broadcom bt-fixup kext which will not work).

I double checked my config.plist accordig to the guide above and its 1:1 but still it will not work. Its very weird. Are there any alternatives to try out?
HI , put it this way it helped me boot arg, -lilubetaall
 
Thx. Yeah i did the remap (most probably wrong) by looking at the osx method. I found out that there is this potentially better way to do it, by using UTBMap (windows) and so i followed the guide as closely as possible here: https://chriswayg.gitbook.io/opencore-visual-beginners-guide/alternatives/usb-mapping-on-windows


The resulting UTBMap.kext and USBToolBox was placed in kexts and config.plist updated accordingly.

Now i see this (attached) and the mouse still shows up for pairing but will not pair once again.

I was aware that the order was important when it came to Lilu and VirtualSMC, but i now placed Whatevergreen (graphics) and USBToolbox followed by UTBMap in that order. It still refuses to work for me :(

The odd thing is that i have my older W530 Lenovo with Sequioa (same wifi-card etc) and there the same mice works flawlessly. Its a great mystery to me.
Attach full EFI and a copy of IOReg to check
 
Just curious, Is Heliport going to be the way for here on? I have mine working on Sequoia 15.2. Thank you for everything.
 
Just curious, Is Heliport going to be the way for here on? I have mine working on Sequoia 15.2. Thank you for everything.
Yes, for the moment until there is a new release of kext.
 
  • Like
Reactions: menotyou

Latest posts

Forum statistics

Threads
1,933
Messages
18,033
Members
27,784
Latest member
enggkc