2026/4/16

Attempting to Bring Up Realtek RTL8922BE on Ubuntu 24.04 (Failed)

Hardware: Realtek Semiconductor Co., Ltd. RTL8922BE [10ec:8922] (rev 01)

Operating System: Ubuntu 24.04 LTS (Kernel 6.8.0-107-generic)


Step 1: Hardware Identification and Initial Setup

The system was found to have a Realtek RTL8922BE Wi-Fi 7 card, but no wireless interface was present. Initial checks showed the rtw89_8922be driver was missing from the default Ubuntu kernel.

Installed necessary build tools and headers:

sudo apt install git build-essential linux-headers-$(uname -r) network-manager iw

Step 2: Building the Driver from Source

We used the official backport repository for Realtek rtw89 drivers maintained by lwfinger:

git clone https://github.com/lwfinger/rtw89.git
cd rtw89
make
sudo make install
    

After installation, we encountered an Exec format error during modprobe due to conflicts with existing partial kernel modules. We successfully resolved this by unloading all related modules (rtw89_core, rtw89_pci, etc.) before loading the new rtw_8922ae driver.

Step 3: Firmware Issues and Troubleshooting

The driver successfully loaded but failed to initialize the hardware with the error: no suitable firmware found and failed to recognize firmware.

  • Discovery: The driver was looking for rtw8922a_fw.bin. We downloaded the latest versions (v1, v2, v3, v4) from the Linux Firmware repository.
  • Hardware Mismatch: We added debug logging to the driver and discovered the hardware is Cut C (CV=2). However, all publicly available firmware files (even the latest v4) only contain support for Cut A (CV=0) and Cut B (CV=1).

Step 4: Attempted Fallback and Final Failure

As a last-ditch effort, we patched the driver's firmware loading logic (fw.c) to force the hardware to accept the CV=1 firmware as a fallback for the CV=2 chip.

Result:

  • The driver successfully initialized and created the wlp7s0 interface.
  • The interface was visible in nmcli.
  • However, the hardware failed internal calibration with errors: failed to do RF RX_DCK result from state 4 and HW scan failed with status: -14.

Conclusion

The Realtek RTL8922BE Cut C (CV=2) revision found in this server is too new for the current publicly available drivers and firmware. While the driver can be "hacked" to load, the firmware for earlier revisions is physically incompatible with the RF calibration requirements of the newer chip revision.

Recommendation: Users with this hardware revision must wait for Realtek to release an updated firmware file (likely rtw8922a_fw-5.bin) that explicitly supports the CV=2 hardware revision.

沒有留言:

張貼留言