Đố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 của Android Wi-Fi 7, bao gồm cả hoạt động cơ sở và hoạt động nhiều đường liên kết (MLO).
Các tính năng của Wi-Fi 7 cơ sở
Phần này mô tả các tính năng Wi-Fi 7 cơ sở 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 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 lớp phủ 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. Việc ghi đè này chỉ hữu ích đối với các 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), thì 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 nl80211NL80211_CMD_GET_WIPHY
. Nếu thuộc tínhNL80211_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à hỗ trợ Wi-Fi 7.
Hỗ trợ Wi-Fi 7 của AP đã quét
Khung Android bao gồm API int ScanResult#getWifiStandard()
mà các ứng dụng có thể gọi để 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 để ứng dụng có thể 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ó trong kết quả trả về của quá trình quét khả năng kết nối hay không. Nếu EHT Capability IE
có trong kết quả quét, thì AP được quét sẽ hỗ trợ Wi-Fi 7.
Lớp WifiTracker
AOSP 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()
mà các ứng dụng có thể gọi để kiểm tra xem chế độ kết nối của 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 đã 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ó nằm trong cả AssocReq
và AssocRsp
trong quá trình thiết lập kết nối hay không.
Lựa chọn mạng
Trong Android 13, tính năng lựa chọn mạng sử dụng một số tham số để xác định AP 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 cách sử dụng khối ThroughputPredictor
. Khối ThroughputPredictor
sử dụng các tham số PHY của cả thiết bị và AP đã quét.
Trong Android 13, ThroughputPredictor
sử dụng các chức năng của AP sau đây trong quá trình tính toán:
- Hỗ trợ Wi-Fi 7 (802.11be)
- Hỗ trợ chiều rộng kênh 320 MHz
Việc đưa các chức năng này vào logic ThroughputPredictor
sẽ tăng cơ hội chọn các AP có hỗ trợ 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 của Wi-Fi
Android cung cấp tính năng hỗ trợ API cho phần mở đầu EHT và băng thông kênh 320 MHz cho Wi-Fi RTT. Thao tác này cho phép hỗ trợ các tính năng liên quan đến Wi-Fi 7 theo thời gian trọn vòng (RTT) bất cứ khi nào chip được hỗ trợ.
API HAL
Các API HAL sau đây hỗ trợ các tính năng Wi-Fi 7 để đo khoảng cách dựa trên RTT:
EHT
: Hằng số trongenum RttPreamble
vàenum WifiRatePreamble
WIDTH_320
: Hằng số trongenum WifiChannelWidthInMhz
BW_320MHz
: Hằng số trongenum RttBw
API
Các ứng dụng có thể sử dụng các API sau đây để đo khoảng cách dựa trên RTT Wi-Fi 7:
ScanResult#PREAMBLE_EHT
ResponderConfig#PREAMBLE_EHT
(SystemApi)
Soft AP
Android hỗ trợ Wi-Fi 7 trong AP mềm và cung cấp các tính năng sau.
Khởi động Soft AP
Android hỗ trợ khởi động Soft AP ở 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 HwModeParams#enable80211BE
boolean 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
.
API HAL
Boolean enable80211BE
trong HwModeParams
trong HAL hostapd hỗ trợ khởi động Soft AP ở chế độ Wi-Fi 7.
Báo cáo thông tin về Điểm truy cập mềm
Android hỗ trợ API để đưa thông tin về Wi-Fi 7 và chiều rộng kênh 320 MHz vào thông tin về AP mềm được báo cáo.
API HAL
Hằng số WIFI_STANDARD_11BE
trong giao diện AIDL Generation.aidl
trong HAL hostapd, đượ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ề AP 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ề AP mềm.
SoftApInfo#getWifiStandard()
: Trả vềScanResults.WIFI_STANDARD_11BE
nếu AP mềm được khởi động ở chế độ Wi-Fi 7.SoftApInfo#getBandwidth()
: Trả vềSoftApInfo#CHANNEL_WIDTH_320MHZ
nếu sử dụng chiều rộng kênh 320 MHz.
Tính năng MLO Wi-Fi 7
Hoạt động nhiều đường liên kết (MLO) là tính năng chính trong thông số kỹ thuật 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ị nhiều đường liên kết (MLD) chạy trong Wi-Fi 7, cho dù đồng thời hay không đồng thời.
Hình 1. Sơ đồ MLO.
Như trong Hình 1, cả AP-MLD và STA-MLD đều có nhiều thực thể AP hoặc STA 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ị.
Biểu thị đường liên kết MLO
Lớp android.net.wifi.MloLink
đại diện cho đường liên kết MLO. Lớp này bao gồm các tham số sau:
int getLinkId()
: Mã đường liên kết do AP MLD quảng cáo.MacAddress getApMacAddress()
: Địa chỉ MAC của AP. 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 thực thể 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()
: Liên kết băng tần. Dải của đường liên kết.int getState()
: Trạng thái liên kết. Có thể là một trong các trạng thái sau:MLO_LINK_STATE_INVALID
: Không hợp lệ. Dùng cho các trường hợp khởi chạy và lỗi.MLO_LINK_STATE_UNASSOCIATED
: Không liên kết. Đường liên kết 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 theo dõi trạng thái nguồn của đường liên kết.
Thông tin MLO của Wi-Fi 7 đã quét
Ứng dụng có thể nhận tham số MLO cho MLD Wi-Fi 7 AP khi mô-đun Wi-Fi nhận được đối tượng ScanResult
từ AP-MLD. WifiTracker
AOSP 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 làm như sau:
- Phân tích cú pháp phần tử thông tin đa liên kết (IE) có trong phản hồi báo hiệu hoặc đầu dò để đọc địa chỉ MAC của AP MLD và mã liên kết hiện tại.
- Phân tích cú pháp báo cáo hàng xóm được rút gọn (RNR) IE có trong phản hồi báo hiệu hoặc đầu 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 AP MLO đã quét, ứng dụng có thể dùng các API sau:
ScanResult#BSSID
: Địa chỉ MAC của thực thể AP (đối với đường liên kết nhận được kết quả quét)MacAddress ScanResult#getApMldMacAddress()
: Trả về địa chỉ MAC MLD của AP.int ScanResult#getApMloLinkId()
: Trả về mã liên kết cho đường liên kết mà bạn nhận được ScanResult.List<MloLink> ScanResult#getAffiliatedMloLinks()
: Trả về danh sách các đối tượngMloLink
cho tất cả các đường liên kết do AP-MLD quảng cáo, bao gồm cả đường liên kết mà bạn nhận được ScanResult.
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 này 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 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 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
Để nhận thông tin kết nối MLO, ứng dụng có thể sử dụng các API sau:
WifiInfo#getBSSID()
: Trả về địa chỉ MAC của thực thể AP (đối với đườ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ã 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 đối tượngMloLink
cho tất cả đường liên kết do AP-MLD quảng cáo, bao gồm cả đường liên kết đã liên kết. Bạn có thể truy vấn cả địa chỉ MAC AP và STA trên mỗi đối tượngMloLink
.
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 tín hiệu hoặc phản hồi thăm dò mà nó nhận được. Điều này có nghĩa là khung Wi-Fi:
- Có thể nhận 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 beacon). - Có thể chỉ 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 firmware 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 mạng không dây 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 bởi AP-MLD.
Phần mềm của nhà cung cấp phải bao gồm các biến thể đa đường liên kết cơ bản 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 kết quả quét thiếu thông tin chi tiết về AP liên kết, thì phần mềm của nhà cung cấp có thể gửi yêu cầu thăm dò nhiều đường liên kết (khung yêu cầu thăm dò bao gồm phần tử yêu cầu thăm dò nhiều đường liên kết) để đưa vào bộ tính năng, tham số và phần tử hoạt động đầy đủ hoặc một phần của AP có AP-MLD được nhắm mục tiêu 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 biến thể yêu cầu thăm dò ML IE 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ẽ sử dụng đường liên kết AP đã chọn (đường liên kết được liên kết) để truyền tín 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 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 của đườ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, phần Lựa chọn mạng Wi-Fi dành cho Android sẽ 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 lựa chọn mạng sử dụng các tính năng MLO sau đây từ khối Wi-Fi:
- Số đường liên kết STR tối đa
- Số đường liên kết liên kết tối đa
- Kết hợp băng đồng thời
Hình 2. Lựa chọn mạng MLO.
Số đường liên kết STR tối đa
Truyền và nhận đồng thời (STR) là một sơ đồ tranh chấp môi trường Wi-Fi cho hoạt động nhiều đường liên kết. Bạn chỉ cần tách biệt 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 cũng như nhận đồng thời trong nhiều đường liên kết. STR khác với STA liên kết đơn (SL) cũ và STA song băng song song (DBDC) cũ. Các STA liên kết với STA MLD dùng chung một số thứ tự bộ phát (SN) và một 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 việc truyền nhiều đường liên kết có cùng một danh mục truy cập (AC).
Số lượng đường liên kết STR tối đa được sử dụng có thể khác với số lượng đài tối đa mà khối hỗ trợ. Trong ví dụ ở Hình 2, số đường liên kết STR tối đa là 2.
Các giao diện HAL AIDL sau đây hỗ trợ số lượng liên kết STR tối đa và số lượng tối đa của các tính năng liên kết liên kết:
hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
hardware/interfaces/wifi/aidl/android/hardware/wifi/WifiChipCapabilities.aidl
Số lượng đường liên kết kết hợp 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 giao thức tranh chấp, Đài phát đơn đa đường liên kết nâng cao (eMLSR). Thiết bị nhiều đường liên kết sử dụng eMLSR trên một nhóm đường liên kết nếu thiết bị đó có thể nhận một số khung điều khiển cơ bản nhất định và thực hiện đánh giá kênh rõ ràng (CCA) đồng thời trên nhóm đườ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 một cách linh động trong mỗi khoảng thời gian 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 liên kết để có độ tin cậy tốt hơn, thông lượng tốt 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 đồng thời hoạt động trong STR và eMLSR nếu chip hỗ trợ. Trong Hình 2, số lượng đường liên kết liên kết tối đa là 3.
Các giao diện AIDL HAL sau đây hỗ trợ tính năng tối đa cho số lượng đường liên kết liên kết:
hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
hardware/interfaces/wifi/aidl/android/hardware/wifi/WifiChipCapabilities.aidl
Kết hợp băng đồng thời
Khung này truy vấn khối để lấy các tổ hợp đài được phép (thông qua giao diện AIDL IWifiChip.aidl
) có thể hoạt động đồng thời. Từ thông tin này, khung sẽ lấy các tổ hợp băng tần đồng thời có thể có. Sau đây là ví dụ về danh sách 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 HAL AIDL sau đây hỗ trợ các tổ hợp đài phát đồng thời:
hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
Lựa chọn mạng
Trong quá trình lựa 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 số về băng thông nhiều đường liên kết được dự đoán tối đa được tính toán 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à khối hỗ trợ. Nếu đề xuất có thể tạo nhiều đường liên kết và khối 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 đường liên kết. Điều này giúp tăng cường các đề xuất MLO trong quá trình lựa chọn mạng.
Khi tham gia mạng AP-MLD, khung này 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 chọn SSID theo khung, phần mềm nhà cung cấp sẽ chịu trách nhiệm chọn BSSID cho AP (hoặc đường liên kết AP) tốt nhất để dùng để 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 của MLD
Khung Wi-Fi quản lý địa chỉ MAC MLD của thiết bị. Địa chỉ MAC MLD được xử lý giống như cách xử lý địa chỉ MAC của các thiết bị không thuộc công nghệ học máy.
Địa chỉ MAC có thể là địa chỉ MAC ngẫu nhiên hoặc địa chỉ MAC được cung cấp qua phần cứng dựa trên lựa chọn của người dùng. Địa chỉ MAC của MLD do khung thiết lập bằng API HAL IWifiStaIface#setMacAddress()
.
Địa chỉ MAC STA trên mỗi đường liên kết
Phần mềm của nhà cung cấp quản lý địa chỉ MAC STA (đối với 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 thực thể cho mỗi đường liên kết được liên kết.
Phần mềm của nhà cung cấp 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 lặp lại được và có chức năng như 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 thực thể 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à thuật toán mẫu để chỉ định đị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 do quản trị cục bộ
- Octet 1-4: Tương tự như Địa chỉ MAC STA-MLD
- Octet 5: Per-STA = (STA-MLD + mã nhận dạng đường liên kết + 1) MOD (256)
Xử lý nhiều đường liên kết
Phần mềm 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 pin của các đường liên kết để kích hoạt hoặc vô hiệu hoá mà không cần có dữ liệu đầu vào từ khung Wi-Fi.
Khung Wi-Fi không mong đợi 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 pin
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, chương trình cơ sở của nhà cung cấp quản lý trạng thái tiết kiệm pin của các đường liên kết riêng lẻ dựa trên mẫu lưu lượng truy cập cũng như 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 tắt trạng thái tiết kiệm pin bằng cách gọi API HAL ISupplicantStaIface::setPowerSave(false)
. Nếu khung tắt trạng thái tiết kiệm pin, thì phần mềm 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, quá trình 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
Phần này mô tả cách triển khai phần mềm của nhà cung cấp để xử lý lưu lượng truy cập tải lên và tải xuống.
Lưu lượng truy cập lên
Firmware định tuyến lưu lượng truy cập uplink đến một (hoặc nhiều) đường liên kết dựa trên cách triển khai nội bộ. Phần mềm cơ sở của nhà cung cấp quyết định thời điểm 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. Chương trình cơ sở nên sao chép lưu lượng truy cập cho nhiều đường liên kết trong các trường hợp sau:
- Khi chế độ độ trễ thấp được đặt thông qua API HAL
IWifiChip#setLatencyMode()
. - Khi có lưu lượng truy cập có mức độ ưu tiên của người dùng là 6 và 7.
Lưu lượng truy cập đường truyền xuống
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 AP-MLD.
Tính đồng thời
Các trường hợp đồng thời, trong đó một nút chọn được dùng cho một giao diện mới, phải có ưu tiên hơn việc dành nhiều nút chọn cho các đường liên kết của cùng một giao diện. Các tình huống đồng thời cũng phải được ưu tiên hơn MLO bất kể tình huống 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 là cơ hội, nghĩa là nhiều đường liên kết chỉ được sử dụng khi:
- MLO là bắt buộc dựa trên quyết định của phần mềm về việc cân bằng tải, tổng hợp hoặc sao chép.
- MLO có sẵn, nghĩa là đài không cần phải có một giao diện khác yêu cầu.
Ánh xạ TID-to-link
Đối với các thiết bị chạy Android 14 trở lên, khi AP Wi-Fi 7 thông báo tạm thời tắt một trong các đường liên kết thông qua phần tử ánh xạ TID-to-link được truyền trong beacon, phản hồi thăm dò và khung phản hồi liên kết, thì 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 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ợ nhận thông báo khi trạng thái liên kết thay đổi do liên kết TID với liên kết, ngay cả khi liên kết được liên kết không được liên kết với TID.
HAL (Lớp trừu tượng phần cứng) cho AIDL
Trình cấp phép Wi-Fi thông báo cho khung Wi-Fi về các thay đổi liên quan đến liên kết TID thông qua các giao diện AIDL sau:
hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantStaIfaceCallback.aidl
hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant/ISupplicantStaIface.aidl
hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant/MloLinksInfo.aidl
API
Ứng dụng có thể nhận thông tin về những thay đổi đối với mối liên kết TID-to-link bằng cách sử dụng các API sau:
ConnectivityManager.NetworkCallback.onCapabilitiesChanged()
: Lệnh gọi lại mạng được khung kích hoạt khi có sự thay đổi về mối liên kết TID với đường liên kết.WifiInfo#getAssociatedMloLinks()
: Trả về các đường liên kết MLO được liên kết.MloLink#getState()
: Trả về trạng thái của liên kết,MLO_LINK_STATE_ACTIVE
hoặcMLO_LINK_STATE_IDLE
.
Khả năng đàm phán liên kết ánh xạ TID
Đối với các thiết bị chạy Android 14 trở lên, bạn có thể sử dụng các API sau để có được khả năng đàm phán bản đồ TID-to-link cho trạm và AP.
Khả năng của khối
Các giao diện sau đây hỗ trợ chức năng của khối xử lý để đàm phán liên kết ánh xạ TID.
AIDL HAL
Giao diện AIDL để đàm phán ánh xạ TID-to-link nằm trong FeatureSetMask
trong hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
. Khả năng T2LM_NEGOTIATION = 1 << 8
cho biết rằng khối xếp hỗ trợ ánh xạ TID-to-link.
API
WifiManager.isTidToLinkMappingNegotiationSupported()
: Trả về khối hỗ trợ đàm phán liên kết TID-to-link.
Khả năng AP
Các giao diện sau đây hỗ trợ chức năng AP để đàm phán liên kết ánh xạ 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.
apTidToLinkMapNegotiationSupported
: Kiểm tra xem AP có hỗ trợ khả năng đàm phán bản đồ TID-to-link hay không.
API
WifiInfo.isApTidToLinkMappingNegotiationSupported()
: Trả về liệu AP có hỗ trợ đàm phán liên kết ánh xạ TID hay không.
Số liệu thống kê về lớp liên kết
Số liệu thống kê về lớp liên kết bao gồm các chi tiết cụ thể về 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ề radio. Khung Wi-Fi định kỳ thăm dò ý kiến về 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à thăm dò ý kiến về tín hiệu.
Bạn có thể tìm thấy số liệu thống kê theo liên kết trong các giao diện AIDL lớp liên kết sau:
hardware/interfaces/wifi/aidl/android/hardware/wifi/StaLinkLayerIfaceStats.aidl
hardware/interfaces/wifi/aidl/android/hardware/wifi/StaLinkLayerLinkStats.aidl
API hệ thống android.net.wifi.WifiManager#addOnWifiUsabilityStatsListener()
theo dõi tất cả 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 hữu dụng của 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, ứ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à các tiêu chí tổng hợp:
Số liệu thống kê tổng hợp về gói sau đây sử dụng tổng của các 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()
Số liệu thống kê về lớp liên kết trong Android 13
Đố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 đường liên kết cho một giao diện. Để 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 API HAL 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áoavgRssiMgmt
cho đường liên kết tốt nhất được sử 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) 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 sử dụng trên giao diện (số liệu thống kê về thời gian tranh chấp thấp nhất).
Định cấu hình lại mối liên kết MLO
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 cấp phép Wi-Fi tại ISupplicantStaIfaceCallback.aidl
hỗ trợ định cấu hình lại đường liên kết (xoá đường liên kết của AP).
Khi khung Wi-Fi xử lý việc xoá một đường liên kết, trạng thái đườ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()
để thay đổi trạng thái liên kết.
Phương thức WifiInfo#getAffiliatedMloLinks
trả về các Đường liên kết MLO đã liên kết. Phương thức MloLink#getState
trả về trạng thái của liên kết. Nếu đường liên kết bị xoá, trạng thái đường liên kết được trả về sẽ là MLO_LINK_STATE_UNASSOCIATED
.
Chiến lược MLO của chip
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, nhờ đó có thể cải thiện hiệu suất cho các ứng dụng 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 quyền có thể sửa đổi các thuật toán này bằng cách sử dụ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.