Feixiao

Feixiao

by thegwchr
Network Realtek

Open-source Realtek PCIe Wi-Fi driver for macOS - port of the Linux rtw88 driver

Advertisement
Advertisement (336ร—280)

Feixiao

Feixiao is a macOS kernel extension that ports the Linux rtw88 driver, bringing native support for Realtek PCIe Wi-Fi cards to macOS. This is the first native Realtek PCIe Wi-Fi driver for Hackintosh.

Overview

Before Feixiao, Realtek PCIe Wi-Fi cards had no native macOS support. Feixiao changes that by porting the Linux rtw88 driver directly to the macOS kernel, providing native scanning, connection, and data transfer for a wide range of Realtek chipsets.

Supported Chipsets

  • RTL8822BE
  • RTL8822CE
  • RTL8821CE
  • RTL8812AE
  • RTL8814AE

Note: USB and SDIO variants are not supported and are not planned.

Features

  • Native Scanning: Hardware-based scanning of 2.4GHz and 5GHz bands
  • WPA/WPA2 Support: Connect to Open and WPA/WPA2 networks (CCMP/PSK/TKIP/AES)
  • CLI Utility: Built-in rtw88ctl command-line tool for status, scanning, and connecting
  • GUI Support: Use Starskiff for a menu-bar Wi-Fi client

Installation

  1. Download the latest release from GitHub
  2. Extract the ZIP file โ€” it contains rtw88.kext and rtw88ctl
  3. Copy rtw88.kext to your EFI partition: EFI/OC/Kexts/
  4. Add the kext to your config.plist under Kernel > Add
  5. Reboot your system

Building from Source

  1. Clone the repository and submodules:
    git clone https://github.com/thegwchr/Feixiao.git
    cd Feixiao
    git submodule update --recursive
  2. Clone the rtw88 driver source:
    git clone https://github.com/thegwchr/rtw88-stable.git
  3. Build the kext and utility:
    make all
  4. The compiled rtw88.kext and rtw88ctl will be in build/out/

Usage

Check Status

./rtw88ctl status

Scan for Networks

./rtw88ctl scan
./rtw88ctl list

Connect to a Network

./rtw88ctl connect "Your_SSID" "Your_Password"

Troubleshooting

View Driver Logs

For OpenCore (pre-link injection):

dmesg | grep -i rtw88

For kextload/kmutil:

log stream --predicate 'process == "kernel" and (eventMessage contains "rtw88" or message contains "rtw88")' --info

Kernel Panics or Connection Failures

  • Ensure you are using the latest commit
  • Verify your specific cardโ€™s PCI ID is bound to the driver
  • Check that the kext is properly added to config.plist

Resources