Wi-Fi 7

Đối với các thiết bị chạy Android 13 trở lên, Android hỗ trợ tiêu chuẩn Wi-Fi 7 (IEEE 802.11be). Trang này mô tả các tính năng Wi-Fi 7 của Android, bao gồm cả hoạt động cơ bản và hoạt động đa liên kết (MLO).

Các tính năng cơ bản của Wi-Fi 7

Phần này mô tả các tính năng cơ bản của Wi-Fi 7 có trong Android 13 trở lên.

Hỗ trợ Wi-Fi 7 trên thiết bị

Khung Android bao gồm API WifiManager#isWifiStandardSupported(int standard). Các ứng dụng có thể gọi API này bằng đối số ScanResults.WIFI_STANDARD_11BE để kiểm tra xem thiết bị có hỗ trợ Wi-Fi 7 hay không.

Khi API này được gọi, mô-đun Wi-Fi sẽ kiểm tra xem lớp phủ cấu hình config_wifi11beSupportOverride có được dùng làm chế độ ghi đè hay không và thực hiện những việc sau:

  • Nếu lớp phủ được đặt thành true, thì thiết bị được giả định là hỗ trợ Wi-Fi 7 bất kể phản hồi từ nl80211. Lớp này chỉ hữu ích cho những nhà sản xuất thiết bị không có trình điều khiển hỗ trợ Wi-Fi 7.
  • Nếu lớp phủ được đặt thành false (giá trị mặc định), mô-đun Wi-Fi sẽ sử dụng thông tin từ nl80211. Mô-đun Wi-Fi yêu cầu thông tin từ wificond, lệnh này sẽ gọi lệnh nl80211 NL80211_CMD_GET_WIPHY. Nếu thuộc tính NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY nằm trong phản hồi của trình điều khiển, thì thiết bị được giả định là có hỗ trợ Wi-Fi 7.

Hỗ trợ Wi-Fi 7 cho AP đã quét

Khung Android có API int ScanResult#getWifiStandard(). Các ứng dụng có thể gọi API này để kiểm tra xem điểm truy cập (AP) đã quét có hỗ trợ Wi-Fi 7 hay không. Nếu AP hỗ trợ Wi-Fi 7, API sẽ trả về ScanResults.WIFI_STANDARD_11BE. Thiết bị không bắt buộc phải hỗ trợ Wi-Fi 7 để các ứng dụng sử dụng API này.

Khi API này được gọi, mô-đun Wi-Fi sẽ kiểm tra xem EHT Capability IE có nằm trong kết quả được trả về của quá trình quét kết nối hay không. Nếu EHT Capability IE nằm trong kết quả quét, thì AP được quét sẽ hỗ trợ Wi-Fi 7. Lớp WifiTracker AOSP sẽ hiển thị thông tin hỗ trợ này trong giao diện người dùng khi chạy ở chế độ chi tiết.

Chế độ kết nối STA

Khung Android bao gồm API int WifiInfo#getWifiStandard(). Các ứng dụng có thể gọi API này để kiểm tra xem chế độ kết nối trạm (STA) hiện tại có phải là Wi-Fi 7 hay không. Chế độ kết nối STA là Wi-Fi 7 khi cả thiết bị và AP được kết nối đều hỗ trợ Wi-Fi 7. Nếu chế độ kết nối là Wi-Fi 7, API sẽ trả về ScanResults.WIFI_STANDARD_11BE.

Khi getWifiStandard được gọi, mô-đun Wi-Fi sẽ xác định chế độ bằng cách gọi API HAL ISupplicantStaIface#getConnectionCapabilities(). Việc triển khai API HAL này trong lớp AIDL wpa_supplicant sẽ kiểm tra xem EHT Capability IE có ở cả AssocReqAssocRsp hay không trong quá trình thiết lập kết nối.

Lựa chọn mạng

Trong Android 13, quá trình chọn mạng sử dụng một số tham số để xác định AP nào cần kết nối. Một trong các tham số là thông lượng ước tính của AP, được ước tính bằng khối ThroughputPredictor. Khối ThroughputPredictor sử dụng các tham số PHY của cả thiết bị và AP được quét.

Trong Android 13, ThroughputPredictor sử dụng các chức năng AP sau đây trong quá trình tính toán:

  • Hỗ trợ Wi-Fi 7 (802.11be)
  • Hỗ trợ băng thông kênh 320 MHz

Việc đưa các chức năng này vào logic ThroughputPredictor sẽ làm tăng cơ hội chọn AP có khả năng Wi-Fi 7 khi thiết bị có thể sử dụng các tính năng này.

Phạm vi dựa trên RTT Wi-Fi

Android cung cấp chế độ hỗ trợ API cho phần mở đầu EHT và băng thông kênh 320 MHz cho Wi-Fi RTT. Điều này cho phép hỗ trợ các chức năng liên quan đến Wi-Fi 7 trong phạm vi RTT bất cứ khi nào chip hỗ trợ.

HAL API

Các API HAL sau đây hỗ trợ các chức năng Wi-Fi 7 để đo khoảng cách dựa trên RTT:

API

Các ứng dụng có thể sử dụng những API sau để đo khoảng cách dựa trên RTT Wi-Fi 7:

Soft AP

Android hỗ trợ Wi-Fi 7 trong Soft AP và cung cấp các tính năng sau.

Bắt đầu Soft AP

Android hỗ trợ khởi động AP mềm ở chế độ Wi-Fi 7. Điều này được điều chỉnh theo cấu hình lớp phủ config_wifiSoftapIeee80211beSupported.

Mô-đun Wi-Fi sử dụng lớp phủ config_wifiSoftapIeee80211beSupported để đặt giá trị boolean HwModeParams#enable80211BE trong lệnh gọi API IHostApd#addAccessPoint(). Trong lớp AIDL hostapd, giá trị này được dùng để đặt các tham số hostapd.conf.

HAL API

Giá trị boolean enable80211BE trong HwModeParams trong HAL hostapd hỗ trợ việc khởi động AP mềm ở chế độ Wi-Fi 7.

Báo cáo thông tin về điểm truy cập ảo

Android có hỗ trợ API để đưa thông tin về Wi-Fi 7 và băng thông kênh 320 MHz vào thông tin về Điểm truy cập ảo được báo cáo.

HAL API

Hằng số WIFI_STANDARD_11BE trong giao diện AIDL Generation.aidl trong hostapd HAL, được dùng trong ApInfo được báo cáo trong lệnh gọi lại IHostapdCallback#onApInstanceInfoChanged(), hỗ trợ báo cáo thông tin về Điểm truy cập mềm.

API

Các ứng dụng có thể sử dụng các phương thức sau (API hệ thống) trong SoftApInfo để báo cáo thông tin về Soft AP.

Các tính năng của Wi-Fi 7 MLO

Hoạt động đa liên kết (MLO) là tính năng chính trong quy cách Wi-Fi 7 (802.11be). MLO là một tính năng bắt buộc đối với các thiết bị có nhiều đường liên kết (MLD) chạy ở chế độ Wi-Fi 7, cho dù là đồng thời hay không đồng thời.

Sơ đồ MLO

Hình 1. Sơ đồ MLO.

Như trong Hình 1, cả AP-MLD và STA-MLD đều có nhiều phiên bản AP hoặc STA đang chạy trên mỗi đường liên kết. Mỗi đường liên kết có một địa chỉ MAC AP hoặc STA riêng. AP hoặc STA cũng có địa chỉ MAC MLD để xác định thiết bị.

Lớp android.net.wifi.MloLink biểu thị đường liên kết MLO. Lớp này bao gồm các tham số sau:

  • int getLinkId(): Mã nhận dạng đường liên kết như được AP MLD quảng cáo.
  • MacAddress getApMacAddress(): Địa chỉ MAC của điểm truy cập. BSSID của phiên bản AP cho đường liên kết đó.
  • MacAddress getStaMacAddress(): Địa chỉ MAC STA. Địa chỉ MAC được chỉ định cục bộ cho phiên bản STA trên đường liên kết.
  • int getChannel(): Liên kết kênh. Số kênh của đường liên kết.
  • int getBand(): Vòng tay liên kết. Dải tần của đường liên kết.
  • int getState(): Trạng thái liên kết. Có thể ở một trong những trạng thái sau:

    • MLO_LINK_STATE_INVALID: Không hợp lệ. Được dùng cho các trường hợp khởi chạy và lỗi.
    • MLO_LINK_STATE_UNASSOCIATED: Chưa liên kết. Đường liên kết này không được liên kết với một AP.
    • MLO_LINK_STATE_IDLE: Không hoạt động. Đường liên kết được liên kết nhưng không hoạt động (không có giá trị nhận dạng lưu lượng truy cập (TID) nào được liên kết với đường liên kết).
    • MLO_LINK_STATE_ACTIVE: Đang hoạt động. Đường liên kết được liên kết và đang hoạt động (ít nhất một TID được liên kết với đường liên kết). Một đường liên kết đang hoạt động có thể ở chế độ tiết kiệm pin vì khung không giám sát trạng thái nguồn của đường liên kết.

Thông tin về MLO của AP Wi-Fi 7 đã quét

Các ứng dụng có thể nhận được các tham số MLO cho một MLD AP Wi-Fi 7 khi mô-đun Wi-Fi nhận được một đối tượng ScanResult từ AP-MLD. WifiTracker AOSP sẽ hiển thị các tham số MLO khi chạy ở chế độ chi tiết.

Mô-đun Wi-Fi thu thập thông tin MLO bằng cách thực hiện những việc sau:

  • Phân tích cú pháp phần tử thông tin (IE) có nhiều đường liên kết có trong phản hồi của đèn hiệu hoặc phản hồi của thiết bị dò tìm để đọc địa chỉ MAC MLD của AP và mã nhận dạng đường liên kết hiện tại.
  • Phân tích IE báo cáo về các thiết bị lân cận bị giảm (RNR) có trong phản hồi của đèn hiệu hoặc phản hồi thăm dò để đọc danh sách thông tin về các đường liên kết được liên kết.

API

Để nhận thông tin MLO của AP được quét, các ứng dụng có thể sử dụng những API sau:

Thông tin về MLO của AP Wi-Fi 7 đã kết nối

Khi một thiết bị kết nối với AP-MLD Wi-Fi 7, khung sẽ thu thập các tham số MLO của kết nối từ đối tượng WifiInfo. Đối tượng WifiTracker AOSP sẽ hiển thị thông tin này khi chạy ở chế độ chi tiết.

Khi thiết bị kết nối với AP-MLD, mô-đun Wi-Fi sẽ sao chép thông tin MLO từ đối tượng ScanResult nhận được từ AP. Sau đó, mô-đun này sẽ gọi API HAL ISupplicantStaIface#getConnectionMloLinksInfo() để đọc địa chỉ MAC của từng đường liên kết cho cả AP và STA, đồng thời cập nhật trạng thái của các đường liên kết được liên kết.

API

Để lấy thông tin kết nối MLO, các ứng dụng có thể sử dụng những API sau:

  • WifiInfo#getBSSID(): Trả về địa chỉ MAC của phiên bản AP (cho đường liên kết mà thiết bị được liên kết).
  • MacAddress WifiInfo#getApMldMacAddress(): Trả về địa chỉ MAC MLD của AP.
  • int WifiInfo#getApMloLinkId(): Trả về mã nhận dạng đường liên kết cho đường liên kết mà STA đã liên kết với AP.
  • List<MloLink> WifiInfo#getAffiliatedMloLinks(): Trả về danh sách các đối tượng MloLink cho tất cả các đường liên kết được AP-MLD quảng cáo, bao gồm cả đường liên kết được liên kết. Bạn có thể truy vấn cả địa chỉ MAC AP và STA trên mỗi đối tượng MloLink.

Quét AP-MLD

Phần mềm của nhà cung cấp cung cấp cho khung Wi-Fi kết quả quét cho từng phản hồi của beacon hoặc probe mà phần mềm nhận được. Điều này có nghĩa là khung Wi-Fi:

  • Có thể nhận được nhiều đối tượng ScanResults từ cùng một AP-MLD (vì AP có thể có nhiều đường liên kết phát tín hiệu).
  • Chỉ có thể nhận được một phần kết quả quét cho các đường liên kết AP của AP-MLD vì một số tín hiệu liên kết này có thể không được phần mềm nhận.

Phần mềm của nhà cung cấp chỉ báo cáo kết quả quét nhận được qua sóng và không được tạo (tổng hợp nhân tạo) kết quả quét dựa trên các đường liên kết được quảng cáo của AP-MLD.

Phần mềm của nhà cung cấp phải bao gồm biến thể cơ bản có nhiều đường liên kết và các IE RNR nhận được từ các thực thể AP trong kết quả quét được báo cáo. Nếu thiếu thông tin chi tiết về AP liên kết trong kết quả quét, thì phần mềm của nhà cung cấp có thể gửi các yêu cầu thăm dò đa liên kết (khung yêu cầu thăm dò bao gồm một phần tử đa liên kết Yêu cầu thăm dò) để đưa tập hợp đầy đủ hoặc một phần các chức năng, tham số và phần tử hoạt động của AP có AP-MLD được nhắm đến trong khung phản hồi.

Phần mềm của nhà cung cấp có thể kích hoạt tính năng thăm dò ML (sử dụng ML IE biến thể yêu cầu thăm dò trong khung yêu cầu thăm dò) nếu cần.

Liên kết mạng AP-MLD

Khi một thiết bị tham gia mạng AP-MLD, phần mềm của nhà cung cấp sẽ dùng đường liên kết AP đã chọn (đường liên kết được liên kết) để báo hiệu. Phần mềm của nhà cung cấp có thể liên kết với tất cả hoặc một số đường liên kết mà thiết bị hỗ trợ.

Sau khi liên kết thành công, trình điều khiển sẽ báo cáo ISupplicantStaIfaceCallback#onStateChanged() bằng BSSID của một đường liên kết cho AP-MLD. Sau đó, trình điều khiển sẽ chọn một đường liên kết của AP-MLD, miễn là kết quả quét được báo cáo cho khung hình cho đường liên kết đó.

Tính điểm mạng

Đối với các thiết bị chạy Android 14 trở lên, Android Wi-Fi Network Selection (Lựa chọn mạng Wi-Fi trên Android) hỗ trợ Wi-Fi 7 MLO. Điều này có nghĩa là Android sẽ chọn mạng Wi-Fi tốt nhất cho thiết bị dựa trên số lượng đường liên kết có sẵn cho MLO.

Để hỗ trợ MLO, thuật toán chọn mạng sử dụng các chức năng MLO sau đây từ chip Wi-Fi:

  • Số lượng đường liên kết tối đa đến STR
  • Số lượng đường liên kết tối đa để liên kết
  • Kết hợp đồng thời các dải tần

Lựa chọn mạng Wi-Fi MLO

Hình 2. Lựa chọn mạng MLO.

Truyền và nhận đồng thời (STR) là một sơ đồ tranh chấp phương tiện Wi-Fi cho hoạt động đa liên kết. Việc cách ly tín hiệu giữa các đường liên kết khác nhau là đủ để các đường liên kết có thể hoạt động độc lập và có khả năng truyền và nhận đồng thời trong các đường liên kết khác nhau. STR khác với STA một liên kết (SL) cũ và STA hai băng tần đồng thời (DBDC) cũ. Các STA liên kết với STA MLD dùng chung số sê-ri (SN) của bộ truyền và không gian chung để truyền dữ liệu được phân bổ cho các đường liên kết khác nhau nếu nhiều đường liên kết truyền có cùng danh mục truy cập (AC).

Số lượng tối đa các đường liên kết STR được sử dụng có thể khác với số lượng tối đa các đài phát mà chip hỗ trợ. Trong ví dụ ở Hình 2, số lượng đường liên kết STR tối đa là 2.

Các giao diện AIDL HAL sau đây hỗ trợ số lượng đường liên kết STR tối đa và số lượng đường liên kết liên kết tối đa:

Nhiều đường liên kết có thể hoạt động trên một đài phát bằng cách sử dụng sơ đồ tranh chấp, Enhanced Multi-Link Single Radio (eMLSR). Thiết bị có nhiều đường liên kết sử dụng eMLSR trên một tập hợp các đường liên kết nếu có thể nhận một số khung điều khiển cơ bản và thực hiện đánh giá kênh rõ ràng (CCA) đồng thời trên tập hợp các đường liên kết. Tuy nhiên, MLD chỉ truyền hoặc nhận dữ liệu trên một đường liên kết (đường liên kết được chọn linh hoạt trong mỗi khoảng thời gian cơ hội truyền (TXOP)) tại một thời điểm.

Trạm MLD có thể tối đa hoá số lượng đường liên kết kết hợp để có độ tin cậy cao hơn, thông lượng cao hơn và độ trễ thấp hơn (so với trạm cũ có một đường liên kết) bằng cách hoạt động đồng thời ở chế độ STR và eMLSR nếu được chip hỗ trợ. Trong Hình 2, số lượng tối đa của đường liên kết liên kết là 3.

Các giao diện AIDL HAL sau đây hỗ trợ khả năng số lượng đường liên kết liên kết tối đa:

Kết hợp đồng thời các dải tần

Khung này truy vấn chip để lấy các tổ hợp đài được phép (thông qua giao diện IWifiChip.aidl AIDL) có thể hoạt động đồng thời. Từ thông tin này, khung sẽ suy ra các tổ hợp băng tần đồng thời có thể. Sau đây là danh sách ví dụ về các tổ hợp băng tần đồng thời (GHz):

  • 2.4
  • 5
  • 6
  • 2,4 x 5
  • 2,4 x 6
  • 5 x 6

Giao diện AIDL HAL sau đây hỗ trợ các tổ hợp đài phát đồng thời:

Lựa chọn mạng

Trong quá trình chọn mạng (MLO), danh sách đề xuất được nhóm theo các thành viên có cùng địa chỉ MAC MLD. Điểm thông lượng tối đa dự đoán cho nhiều đường liên kết được tính cho mỗi nhóm, dựa trên số lượng đường liên kết STR tối đa và các tổ hợp băng tần đồng thời mà chip hỗ trợ. Nếu thiết bị có thể kết nối nhiều liên kết và chip hỗ trợ STR, thì điểm thông lượng dự đoán sẽ được thay thế bằng điểm thông lượng dự đoán nhiều liên kết. Điều này giúp tăng cường các đề xuất MLO trong quá trình chọn mạng.

Khi tham gia mạng AP-MLD, khung sẽ thực hiện lựa chọn SSID dựa trên thông tin nhận được trong đối tượng ScanResults do phần mềm của nhà cung cấp báo cáo. Sau khi khung chọn SSID, phần mềm của nhà cung cấp chịu trách nhiệm chọn BSSID cho AP (hoặc đường liên kết AP) phù hợp nhất để dùng cho việc liên kết.

Xử lý địa chỉ MAC STA của thiết bị

Phần này mô tả cách xử lý địa chỉ MAC STA của thiết bị (địa chỉ MAC MLD và địa chỉ MAC STA trên mỗi đường liên kết).

Địa chỉ MAC MLD

Khung Wi-Fi quản lý địa chỉ MAC MLD của thiết bị. Địa chỉ MAC MLD được xử lý theo cách tương tự như cách thiết bị không phải MLD xử lý địa chỉ MAC của chính thiết bị đó. Địa chỉ MAC có thể là địa chỉ MAC ngẫu nhiên hoặc địa chỉ MAC được cung cấp phần cứng dựa trên lựa chọn của người dùng. Địa chỉ MAC MLD được khung thiết lập bằng cách sử dụng API HAL IWifiStaIface#setMacAddress().

Phần mềm của nhà cung cấp quản lý địa chỉ MAC STA của thực thể (cho mỗi đường liên kết). Khi một thiết bị liên kết với một AP, phần mềm của nhà cung cấp sẽ chỉ định một địa chỉ MAC phiên bản cho mỗi đường liên kết được liên kết.

Phần mềm của nhà cung cấp sẽ chỉ định địa chỉ MAC cho mỗi đường liên kết dựa trên thuật toán của phần mềm. Thuật toán phải có thể lặp lại và là một hàm của những yếu tố sau:

  • Địa chỉ MAC STA-MLD do khung Wi-Fi đặt.
  • Mã liên kết (nhận được từ AP)

Điều này có nghĩa là nếu khung sử dụng lại cùng một địa chỉ MAC MLD, thì nhà cung cấp phải sử dụng lại cùng một địa chỉ MAC được liên kết cho mỗi phiên bản và ngược lại. Điều này đảm bảo rằng khi địa chỉ STA-MLD do khung tạo là cố định cho một SSID, thì địa chỉ MAC trên mỗi STA cũng là cố định.

Sau đây là một ví dụ về thuật toán gán địa chỉ MAC STA cho mỗi đường liên kết (các nhà cung cấp có thể triển khai bất kỳ thuật toán nào đáp ứng các tiêu chí của thuật toán):

  • Octet 0: Đảm bảo bạn đã đặt bit được quản lý cục bộ
  • Octet 1-4: Giống như địa chỉ MAC STA-MLD
  • Octet 5: Per-STA = (STA-MLD + link ID + 1) MOD (256)

Firmware của nhà cung cấp có thể thực hiện việc chuyển đổi đường liên kết và quản lý trạng thái tiết kiệm năng lượng của các đường liên kết để kích hoạt hoặc huỷ kích hoạt mà không cần có dữ liệu đầu vào từ khung Wi-Fi.

Khung Wi-Fi không mong đợi một thông báo khi trạng thái liên kết thay đổi.

Quản lý trạng thái tiết kiệm điện

Trạng thái tiết kiệm pin được bật theo mặc định trên khung Wi-Fi. Ở trạng thái tiết kiệm pin, phần sụn của nhà cung cấp sẽ quản lý trạng thái tiết kiệm pin của từng đường liên kết dựa trên các mẫu lưu lượng truy cập và quyết định kích hoạt hoặc huỷ kích hoạt đường liên kết.

Tuy nhiên, khung Wi-Fi có thể buộc trạng thái tiết kiệm pin bị tắt bằng cách gọi API HAL ISupplicantStaIface::setPowerSave(false). Nếu trạng thái tiết kiệm pin bị khung vô hiệu hoá, thì chương trình cơ sở của nhà cung cấp phải duy trì ít nhất một đường liên kết đang hoạt động (đã tắt chế độ tiết kiệm pin). Ở trạng thái này, việc triển khai chương trình cơ sở sẽ quyết định đường liên kết nào được đặt.

Đường dẫn dữ liệu

Điều này mô tả việc triển khai chương trình cơ sở của nhà cung cấp để xử lý lưu lượng truy cập tải lên và tải xuống.

Phần mềm cố định định tuyến lưu lượng truy cập đường lên đến một (hoặc nhiều) đường liên kết dựa trên việc triển khai nội bộ. Firmware của nhà cung cấp quyết định thời điểm thực hiện cân bằng tải, sao chép hoặc tổng hợp lưu lượng truy cập dựa trên các mẫu lưu lượng truy cập. Bạn nên sao chép lưu lượng truy cập của chương trình cơ sở đến nhiều đường liên kết trong những trường hợp sau:

  • Khi chế độ độ trễ thấp được thiết lập thông qua API HAL IWifiChip#setLatencyMode().
  • Khi có lưu lượng truy cập với mức độ ưu tiên của người dùng là 6 và 7.

Phần mềm phải thay thế địa chỉ MAC (đích) cho mỗi STA của tiêu đề MAC bằng địa chỉ MAC MLD-STA và địa chỉ MAC (nguồn) cho mỗi AP của tiêu đề MAC bằng địa chỉ MAC MLD-AP. Phần mềm phải thực hiện việc thay thế địa chỉ MAC này trước khi truyền qua bộ lọc APF vì các lệnh bộ lọc APF có bộ lọc dựa trên địa chỉ MAC MLD. Có một bộ lọc APF duy nhất cho tất cả các đường liên kết của một AP-MLD.

Đồng thời

Các trường hợp đồng thời, trong đó một đài được dùng cho một giao diện mới, phải có mức độ ưu tiên cao hơn việc dành riêng nhiều đài cho các đường liên kết của cùng một giao diện. Các trường hợp đồng thời cũng phải được ưu tiên hơn MLO, bất kể trường hợp nào xuất hiện trước. Việc sử dụng nhiều đường liên kết cho một giao diện duy nhất là có tính cơ hội, nghĩa là bạn chỉ sử dụng nhiều đường liên kết khi:

  • Bạn phải sử dụng MLO dựa trên quyết định của chương trình cơ sở về việc cân bằng tải, tổng hợp hoặc sao chép.
  • MLO đang hoạt động, tức là một giao diện khác không yêu cầu đài.

Đối với các thiết bị chạy Android 14 trở lên, khi AP Wi-Fi 7 thông báo về việc tạm thời vô hiệu hoá một trong các đường liên kết thông qua một phần tử ánh xạ TID sang đường liên kết được truyền trong các khung phản hồi của đèn hiệu, phản hồi thăm dò và phản hồi liên kết, trạm Wi-Fi 7 sẽ tiếp tục kết nối với AP bằng các đường liên kết còn lại đã được thiết lập mà không cần thực hiện một mối liên kết khác.

Đối với các thiết bị chạy Android 13 trở xuống, khung Wi-Fi không hỗ trợ việc nhận thông báo khi trạng thái liên kết thay đổi do việc liên kết TID, ngay cả khi liên kết được liên kết không được liên kết với một TID.

Ứng dụng Wi-Fi thông báo cho khung Wi-Fi về các thay đổi trong hoạt động liên kết TID thông qua các giao diện AIDL sau:

Các ứng dụng có thể nhận thông tin về những thay đổi trong mối liên kết giữa TID bằng cách sử dụng các API sau:

Đối với các thiết bị chạy Android 14 trở lên, bạn có thể dùng các API sau để nhận được khả năng thương lượng bản đồ liên kết đến TID cho trạm và AP.

Khả năng của chip

Các giao diện sau đây hỗ trợ khả năng của chip để thương lượng việc liên kết TID.

AIDL HAL

Giao diện AIDL để thương lượng việc ánh xạ TID với đường liên kết nằm trong FeatureSetMask trong hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl. Khả năng T2LM_NEGOTIATION = 1 << 8 cho biết chip này hỗ trợ tính năng ánh xạ TID với đường liên kết. API

Chức năng AP

Các giao diện sau đây hỗ trợ chức năng AP để thương lượng việc liên kết TID.

AIDL HAL

Khung này truy vấn chức năng AP từ ứng dụng yêu cầu cùng với chức năng kết nối hiện tại.

API

Số liệu thống kê về lớp liên kết bao gồm các thông tin cụ thể về đường liên kết Wi-Fi, chẳng hạn như RSSI, nhiều bộ đếm gói TX và RX, cũng như số liệu thống kê về đài. Khung Wi-Fi định kỳ thăm dò số liệu thống kê lớp liên kết và RSSI để chọn mạng tốt nhất hoặc đánh giá chất lượng của mạng đã kết nối. Đối với các thiết bị chạy Android 14 trở lên, số liệu thống kê về lớp liên kết bao gồm cả tính năng hỗ trợ nhiều đường liên kết. Để hỗ trợ Wi-Fi 7, Android hỗ trợ MLO trong cả số liệu thống kê lớp liên kết và quá trình thăm dò tín hiệu.

Số liệu thống kê cụ thể về đường liên kết có trong các giao diện AIDL lớp liên kết sau:

API hệ thống android.net.wifi.WifiManager#addOnWifiUsabilityStatsListener() sẽ lắng nghe mọi số liệu thống kê về lớp liên kết. Khung này định kỳ gọi API này để cập nhật số liệu thống kê về khả năng sử dụng Wi-Fi.

Các API dành riêng cho đường liên kết sau đây có trong android.net.wifi.WifiUsabilityStatsEntry.

int getRssi(int linkId)
int getLinkState(int linkId)
int getRadioId(int linkId)
int getTxLinkSpeedMbps(int linkId)
long getTotalTxSuccess(int linkId)
long getTotalTxRetries(int linkId)
long getTotalTxBad(int linkId)
long getTotalRxSuccess(int linkId)
long getTotalBeaconRx(int linkId)
int getRxLinkSpeedMbps(int linkId)
int getTimeSliceDutyCycleInPercent(int linkId)
ContentionTimeStats getContentionTimeStats(int linkId, @WmeAccessCategory int ac)
List<RateStats> getRateStats(int linkId)

Để truy vấn mã nhận dạng đường liên kết có sẵn, các ứng dụng có thể gọi phương thức android.net.wifi.WifiUsabilityStatsEntry#getLinkIds().

Các API trong android.net.wifi.WifiUsabilityStatsEntry cho một đường liên kết (không phải MLO) sẽ trả về số liệu thống kê tổng hợp cho các kết nối MLO. Sau đây là tiêu chí tổng hợp:

  • Các số liệu thống kê về gói được tổng hợp sau đây sử dụng tổng số liệu thống kê cho mỗi đường liên kết:

    public long getTotalTxSuccess()
    public long getTotalTxRetries()
    public long getTotalTxBad()
    public long getTotalRxSuccess()
    public int getRxLinkSpeedMbps()
    
  • Các số liệu thống kê sau đây sử dụng dữ liệu từ đường liên kết có RSSI cao nhất:

    public int getRssi()
    public int getLinkSpeedMbps()
    public long getTotalBeaconRx()
    public int getTimeSliceDutyCycleInPercent()
    public ContentionTimeStats getContentionTimeStats(@WmeAccessCategory int ac)
    public List<RateStats> getRateStats()
    

Đối với các thiết bị chạy Android 13, số liệu thống kê về lớp liên kết không tính đến việc sử dụng nhiều liên kết cho một giao diện duy nhất. Để hỗ trợ MLO, phần mềm của nhà cung cấp phải áp dụng logic tổng hợp sau đây khi báo cáo LinkLayerStats thông qua HAL API IWifi# getLinkLayerStats_1_6(). Đường liên kết tốt nhất là đường liên kết có RSSI cao nhất.

  • StaLinkLayerStats.iface.beaconRx: Báo cáo số lượng beacon cho đường liên kết tốt nhất được dùng cho giao diện.
  • StaLinkLayerStats.iface.avgRssiMgmt: Báo cáo avgRssiMgmt cho đường liên kết tốt nhất được dùng cho giao diện.
  • StaLinkLayerStats.iface.wmeXxPktStats (Xx = Vo, Vi, Be,Bk): Báo cáo số liệu thống kê tổng hợp về gói (tổng số) trên các đường liên kết của giao diện.
  • StaLinkLayerStats.iface.wmeXxContentionTimeStats (Xx = Vo, Vi, Be,Bk): Báo cáo số liệu thống kê về thời gian tranh chấp cho đường liên kết tốt nhất được dùng trên giao diện (số liệu thống kê về thời gian tranh chấp thấp nhất).

Khi một trong các đường liên kết của điểm truy cập Wi-Fi 7 được sử dụng lại, AP có thể thông báo việc xoá đường liên kết thông qua việc định cấu hình lại đường liên kết MLO. Các trạm có thể duy trì kết nối liền mạch với AP mà không cần liên kết lại trên các đường liên kết còn lại.

Giao diện AIDL onMloLinksInfoChanged nằm trong trình bổ trợ Wi-Fi tại ISupplicantStaIfaceCallback.aidl, hỗ trợ việc định cấu hình lại đường liên kết (AP xoá đường liên kết).

Khi khung Wi-Fi xử lý việc xoá một đường liên kết, trạng thái của đường liên kết sẽ được đặt thành MLO_LINK_STATE_UNASSOCIATED. Sau đó, khung này sẽ kích hoạt ConnectivityManager.NetworkCallback#onCapabilitiesChanged() cho một thay đổi về trạng thái liên kết.

Phương thức WifiInfo#getAffiliatedMloLinks trả về các đường liên kết MLO được liên kết. Phương thức MloLink#getState trả về trạng thái của đường liên kết. Nếu mối liên kết bị xoá, trạng thái mối liên kết được trả về là MLO_LINK_STATE_UNASSOCIATED.

Chiến lược Chip MLO

MLO cho phép các thiết bị gửi và nhận dữ liệu trên nhiều đường liên kết Wi-Fi cùng một lúc. Điều này có thể cải thiện hiệu suất cho những ứng dụng có các yêu cầu cụ thể như độ trễ thấp, băng thông cao và mức tiêu thụ điện năng thấp. Nhà cung cấp chip có thể phát triển các thuật toán về cách sử dụng các đường liên kết hiện có.

Các ứng dụng có đặc quyền có thể sửa đổi những thuật toán này bằng phương thức setMloMode trong Wifimanager và đặt các chế độ sau:

  • MLO_MODE_DEFAULT = 0
  • MLO_MODE_LOW_LATENCY = 1
  • MLO_MODE_HIGH_THROUGHPUT = 2
  • MLO_MODE_LOW_POWER = 3

Khung này sử dụng setMloMode trong giao diện AIDL IWifiChip để đặt chế độ MLO.