Cấu hình Wi-Fi 6 (802.11ax) với hostapd trên Linux: Hướng dẫn thực hành hiệu năng

Networking tutorial - IT technology blog
Networking tutorial - IT technology blog

Sáu tháng sử dụng Wi-Fi 6 trên Linux: Đánh giá thực tế

Tôi đã dành nửa năm qua để vận hành một dàn các điểm truy cập (access point) chạy Linux dựa trên tiêu chuẩn 802.11ax. Bước nhảy vọt từ Wi-Fi 5 (802.11ac) không chỉ đơn thuần là tăng tốc độ. Nó đại diện cho một sự thay đổi cơ bản trong cách quản lý thời gian truyền dẫn (airtime) không dây. Trong khi 802.11ac tập trung vào các kênh rộng hơn, Wi-Fi 6 ưu tiên hiệu quả khi có hàng chục thiết bị cùng tranh chấp kết nối.

Trong các thử nghiệm của tôi, việc chuyển sang 802.11ax trên Linux đã giảm 35% độ trễ trung bình (tail latency) trong môi trường văn phòng đông đúc. Để đạt được kết quả này, bạn cần nắm vững các tham số Hiệu suất cao (High Efficiency – HE) và cách tối ưu hóa mạng Linux để đạt hiệu suất thực tế.

So sánh phương pháp: 802.11ac vs. 802.11ax trên Linux

Trong kỷ nguyên 802.11ac, chúng ta hầu như chỉ tập trung vào việc đạt được tốc độ VHT (Very High Throughput) cao nhất, như 866 Mbps hoặc 1.3 Gbps. Wi-Fi 6 giới thiệu High Efficiency (HE), thay đổi hoàn toàn chiến lược quản lý:

  • Truy cập môi trường truyền dẫn: 802.11ac dựa trên CSMA/CA—về cơ bản là “nghe trước khi nói”. Wi-Fi 6 sử dụng OFDMA. Điều này cho phép AP chia nhỏ một kênh 20MHz thành các Đơn vị tài nguyên (Resource Units – RU) nhỏ hơn, phục vụ đồng thời lên đến 9 máy khách trong một khung truyền dẫn.
  • Quản lý nhiễu: Các tiêu chuẩn cũ buộc AP phải chờ nếu chúng nghe thấy một thiết bị lân cận trên cùng một kênh. Wi-Fi 6 sử dụng BSS Coloring để gắn thẻ các gói tin. Điều này cho phép AP của bạn bỏ qua các nhiễu “xa” và tiếp tục truyền tin, cải thiện đáng kể khả năng tái sử dụng không gian.
  • Tiêu thụ điện năng: Thay vì các phương pháp PS-Poll cũ, Wi-Fi 6 sử dụng Target Wake Time (TWT). AP sẽ lập lịch chính xác các khoảng thời gian thức dậy cho máy khách, điều này rất quan trọng đối với các cảm biến IoT cần ngủ trong thời gian dài.

Ưu và nhược điểm của điểm truy cập Wi-Fi 6 dựa trên Linux

Ưu điểm

  • Tùy biến chuyên sâu: hostapd cung cấp các phần tử thông tin HE (HE Information Elements) cụ thể mà các bộ định tuyến phổ thông thường ẩn đi. Bạn có thể điều chỉnh thủ công MU-MIMO beamforming và phân bổ RU.
  • Linh hoạt phần cứng: Bạn có thể xây dựng một bộ định tuyến AX có khả năng đạt tốc độ 1.2 Gbps bằng cách sử dụng máy tính bảng đơn (SBC) x86 và một mô-đun không dây M.2 chất lượng cao.
  • Bảo mật hiện đại: WPA3-SAE và Opportunistic Wireless Encryption (OWE) được hỗ trợ mặc định trong các phiên bản hostapd cần thiết cho AX.

Nhược điểm

  • Độ chín của Driver: Đây vẫn là rào cản chính. Mặc dù nhiều card hoạt động hoàn hảo ở chế độ máy khách (client), nhưng hỗ trợ chế độ AP ổn định chỉ giới hạn ở một số nhà sản xuất cụ thể.
  • Độ phức tạp khi cấu hình: Một lỗi đánh máy nhỏ trong chuỗi tính năng HE có thể khiến máy khách Wi-Fi 6 không thể kết nối. Chúng thường sẽ tự động hạ cấp xuống Wi-Fi 4 hoặc 5 mà không có thông báo.

Phần cứng và Phần mềm

Để xây dựng một môi trường Wi-Fi 6 ổn định, hãy tránh các gói phần mềm lỗi thời trong các bản phân phối LTS cũ. Bạn cần một hệ thống hiện đại để xử lý các driver mới nhất:

  • Phần cứng: Chipset MediaTek MT7915 hoặc MT7916 (như Alfa AWV01) hiện là lựa chọn hàng đầu cho chế độ AP trên Linux. Tránh dùng Intel AX210 cho nhiệm vụ AP; tính năng “Location Aware Regulatory” (LAR) của nó thường khóa card ở tần số 2.4GHz khi chạy chế độ master.
  • Kernel: Sử dụng phiên bản 6.1 hoặc cao hơn. Các driver mt7921ath11k đã nhận được các bản vá ổn định lớn trong chu kỳ 6.6 LTS.
  • Phần mềm: hostapd v2.10 là mức tối thiểu bắt buộc. Các phiên bản từ năm 2021 trở về trước thiếu các chi tiết triển khai HE quan trọng.

Hướng dẫn triển khai: Cấu hình hostapd cho 802.11ax

Giả sử driver không dây của bạn đã được tải và wlan0 đã sẵn sàng, hãy tập trung vào các tối ưu hóa dành riêng cho AX.

Bước 1: Build hostapd với hỗ trợ AX

Các phiên bản trong kho lưu trữ tiêu chuẩn thường vô hiệu hóa các tính năng Wi-Fi 6 để giữ file thực thi nhỏ gọn. Việc build từ mã nguồn đảm bảo CONFIG_IEEE80211AX được kích hoạt.

# Cài đặt các công cụ build
sudo apt update
sudo apt install build-essential libnl-3-dev libnl-genl-3-dev libssl-dev pkg-config

# Tải mã nguồn hostapd mới nhất
git clone git://w1.fi/srv/git/hostap.git
cd hostap/hostapd
cp defconfig .config
echo "CONFIG_IEEE80211AX=y" >> .config
make -j$(nproc)
sudo make install

Bước 2: Cấu hình hostapd.conf

Cấu hình này nhắm tới thiết lập Wi-Fi 6 băng tần 5GHz. Hãy chú ý kỹ đến các cài đặt he_oper_chwidthvht_oper_chwidth.

interface=wlan0
driver=nl80211
ssid=Linux_AX_Lab
hw_mode=a
channel=36

# WPA3-SAE là bắt buộc cho nhiều tính năng AX
wpa=2
wpa_key_mgmt=SAE
rsn_pairwise=CCMP
ieee80211w=2
sae_password=MatKhauBaoMatCuaBan

# Kích hoạt Wi-Fi 4, 5 và 6
ieee80211n=1
ieee80211ac=1
ieee80211ax=1

# Độ rộng kênh 80MHz
vht_oper_chwidth=1
he_oper_chwidth=1
he_oper_centr_freq_seg0_idx=42

# BSS Coloring (1-63)
he_bss_color=42

# Target Wake Time
he_twt_required=1

Bước 3: Tinh chỉnh OFDMA và Regulatory Domains

Hiệu suất OFDMA phụ thuộc rất nhiều vào các thiết lập vùng quy định (regulatory settings) chính xác. Nếu khu vực của bạn không được thiết lập, driver có thể vô hiệu hóa các tính năng AX công suất cao để đảm bảo tuân thủ quy định.

# Thiết lập miền quy định quốc gia ngay lập tức
sudo iw reg set US

Xác minh rằng các tính năng HE đang được phát sóng bằng cách kiểm tra trạng thái giao diện:

iw dev wlan0 info

Bước 4: Kiểm chứng Target Wake Time (TWT)

TWT là một cải tiến lớn cho thời lượng pin. Trong phòng thí nghiệm của tôi, các mô-đun ESP32-C6 đã giảm 40% mức tiêu thụ điện năng khi kích hoạt TWT. Giờ đây AP sẽ quyết định khi nào máy khách thức dậy, thay vì máy khách phải liên tục thăm dò AP.

Kiểm tra và Xác thực

Sau khi khởi chạy hostapd, bạn phải xác minh rằng các máy khách không bị hạ cấp xuống các tiêu chuẩn cũ. Sử dụng lệnh station dump để xem số liệu thống kê thời gian thực.

sudo iw dev wlan0 station dump

Hãy tìm dòng rx bitrate. Nếu bạn thấy HE-MCS 1180MHz, bạn đang chạy thành công ở tốc độ Wi-Fi 6. Nếu thấy VHT-MCS, hãy kiểm tra lại các cờ tính năng (capability flags) trong hostapd.conf xem có bị sai lệch không. Sử dụng lệnh station dump để xem số liệu thống kê thời gian thực.

Lời kết

Vận hành Wi-Fi 6 trên Linux đòi hỏi bạn phải thay đổi những thói quen cấu hình “tiêu chuẩn” của thập kỷ trước. Bạn phải có chủ đích trong việc lựa chọn phần cứng và luôn cập nhật kernel. Tuy nhiên, kết quả nhận được là một mạng lưới xử lý lưu lượng mật độ cao với độ trễ biến thiên (jitter) thấp hơn đáng kể và sự công bằng thời gian truyền dẫn (airtime fairness) tốt hơn nhiều so với những gì 802.11ac có thể làm.

Share: