Releases: OpenIntelWireless/itlwm
v2.3.0 stable
- Support macOS Sonoma
- Users from macOS 14.0 to macOS 14.3 should use a separate kext due to an API change in 14.4+
- iMessage and related services will not work OOB with AirportItlwm.kext, use itlwm.kext or a builtin NIC as the primary device instead
- Switch to the
RS
rate control algorithm from iwlwifi - iwx: support AX101, AX411 Killer variants, and other devices (
0x7F70
,0x51F1
) - iwn: Sync changes from OpenBSD
- Many small bug fixes and optimizations
Full Changelog: v2.2.0...v2.3.0
v2.2.0 stable
- Support macOS Ventura, Location Services and Wi-Fi list should all work properly.
- Support connecting to hidden SSIDs from iwx devices(with itlwm.kext only).
- Synced updates from OpenBSD (partially).
- Use System default MTU.
- Support Killer 1650s (
0x43F0
), 1690i, and 1690s. - Support more Killer devices from the AX211 family.
- Add support for newer device variants (
0xA0F0:0x6074
,0x43F0:0x1652
) - iwx: Improve Tx performance by resolving a Tx queue threshold related issue, upload speeds should no longer be capped to 350 Mbps(Gen3 devices).
- Send
DEAUTH
frame before switching and disassociating from Access Points, this notifies routers that the current device has disconnected and may result in faster reassociate speeds. - Add support for VHT20 and VHT40.
- iwx: Support and upgrade firmware to version
68
. - iwm: Support and upgrade firmware to newest version.
- 11n and 11ac networks are more likely to be selected.
- Migrate fw_gen tool to Python3
- Fix incorrect abs macro and use
__builtin_abs
if available (#739). Thanks @pigworlds. - Fix
airport_up_time
(#833), noise sign and return codes (#834). Thanks @usr-sse2. - Fix VHT mcs set for single antenna Gen 1 devices
- Many small bug fixes and optimizations
Note: Handoff is disabled on Ventura in favour of faster Wi-Fi connection speed upon waking from sleep. Further fixes (no ETA) may be included in future releases.
Full Changelog: v2.1.0...v2.2.0
v2.1.0 stable
- Added 2 boot-args
-novht
: Disables 802.11AC support-noht40
: Disables 40MHz when using 2.4GHz (Use this option if the network with this config causes instabilities. BRCM cards disable 2.4GHz HT40 by default)
- iwx: Added support for new device families (AX210, AX211, AX411, and variants)
- Added support for more Killer Wi-Fi cards
- iwx: Expanded compatibility for new APIs used in newer versions of firmware
- Implemented BT/Wi-Fi COEX. 316x & 726x cards should have a much better Bluetooth experience when Wi-Fi is used at the same time
- Implemented MAC Address Changing. It is now possible to change the MAC Address using
ifconfig
- iwm/iwx: Polished support for LDPC
- iwn: Added support for Centrino Wireless-N 6150
- iwm: Fixed performance issues on 316x & 726x cards caused by misconfigured LDPC
- Channel 80+80MHz is not supported, fallback to 20MHz like what iwlwifi does
- Synced updates from OpenBSD (partially, only critical ones)
- Fix firmware crash when receive deauth/disassoc frames, eg: connected AP disappear suddenly.
- Fix WPA2/WPA3 mixed mode connection performance.
- Many small bug fixes and optimizations
Full Changelog: v2.0.0...v2.1.0
v2.0.0 stable
This version brings performance to the next level:
- iwm/iwx: Add support for 802.11AC
- iwm/iwx: Add support for VHT160 (160MHz)
- Add support for LDPC and STBC
- Improve RA rate scaling algorithm to support HT, VHT, and HE throughput
- AirportItlwm: Add support for macOS Monterey
- AirportItlwm: Add support for overriding Country Code by Airport (starting from macOS Mojave)
Priority: User Override > Firmware LOC > Airport Override
Adapters that don't provide Country Codes will now accept them fromairportd
- AirportItlwm: Fix DHCP auto-renewal and key update issues causing periodic disconnections
- Update PHY context when MIMO is disabled/unsupported to fix issues on single antenna cards
- iwn: Do not add rxon ht flags on initialization (#606 Credit @pigworlds)
Full changelog: v1.3.0...v2.0.0
v1.3.0 stable
This version brings significant speed and stability improvements
- Implement Tx Aggregation with A-MPDU and A-MSDU
- Add HT40 (40MHz) support to iwn (#516), iwm, and iwx devices
- Switch to the RA algorithm for rate selection (Credit Christian Ehrhardt and Stefan Sperling)
- Implement channel width changing between 20MHz and 40MHz
- Force disable ASPM to prevent devices being in unsupported states
- Correctly configure Tx QoS for iwx devices to eliminate stuttering when uploading
- Partially implement Airport SSID nodes cache age to optimize user experience
- Add retries if BSS association fails
- Decrypting multicast frames will no longer generate failures on iwx devices
v1.2.0 stable
- Use Apple RSN Supplicant for authentication. AirportItlwm now supports connecting to WPA/2 Enterprise networks. Credit @usr-sse2 (#311) (#349)
- Partially support Apple Watch Unlock (Not tested)
- Switch to MacKernelSDK
- Bug fixes for iwm and iwx
- IO80211Family headers update and bug fixes
- Support AWDL service initialization (no further services available)
- Add support for country code
- Adapters that don't report country codes (iwn, 7000 & 8000 series) can use
itlwm_cc=
COUNTRY_CODE
to select them
- Adapters that don't report country codes (iwn, 7000 & 8000 series) can use
- Support monitoring download speed
- Add support for iwn devices. Credit @pigworlds (#399) (#411) (#404) (#424)
- Change
itlwm
dependencies version to fit 10.9 and above - Change AirportItlwm match strategy to fix random kernel panic when system boots
- Sync openbsd net80211 (#453)
- Bug fixes for the MIRA algorithm. Credit @pigworlds (#465) (#466)
- Correct iwx sending traffic ids, improved performance
- Fix SSID disappering in Heliport when
itlwm
is associating - Use
kprintf
instead ofIOLog
to avoid missing interruptions while associating
v1.1.0 stable
itlwm
- Merged itlwmx to itlwm, itlwmx is now deprecated.
- Compressed firmware files, reduced itlwm size to 9.9 MB.
- Resolved an issue that causes the system to become unresponsive when uploading with P2P software.
A single itlwm.kext supports all the previously supported devices.
itlwm still needs to be used with Heliport and provides support for 10.12 and above systems.
AirportItlwm Beta
- Supports all itlwm-supported devices.
- Supports native Wi-Fi selection and switching with WPA/WPA2/Unencrypted Wi-Fi Networks.
- Supports Location Services.
- Handoff and Universal Clipboard perfectly supported. (#292 (comment))
Known Issues and limitations
- Handoff and Universal Clipboard are the only supported Continuity features.
- Instant HotSpot from iPhone can be recognized but may likely fail to connect. Workaround: use itlwm.kext with HeliPort.
- Apple Bluetooth peripherals may fail to connect. Workaround: use itlwm.kext with HeliPort or disable iCloud.
Bootloader Compatibility
Note:
OpenCore requires 0.6.1 or higher. Please read OpenCore's Official Document for more details.
Set SecureBootModel
to Default
to make sure IO80211Family loads properly.
Workaround for Users with Prelinked Kernel without ImmutableKernel
- Force
IO80211Family
to load. γSupports OpenCore and Clover(not tested)γ (Read theKernel - Force
section in OpenCore's manual for more info) - Load AirportItlwm from Terminal (Continuity features may not work)
- Extract IO80211Family from the system, insert AirportItlwm as a Plugin, and load the bundle with a bootloader.
- Or disable SIP and install AirportItlwm into
/Library/Extensions
(Take your own risk)
The latter two methods are not recommended, hence details are not provided.
v1.0.0 stable
itlwm is for gen1 device, and itlwmx is for gen2 device. If you want to know how to use and how to know your device, please go to the DOC.