สำหรับอุปกรณ์ที่ใช้ Android 13 ขึ้นไป Android รองรับมาตรฐาน Wi-Fi 7 (IEEE 802.11be) หน้านี้อธิบายเกี่ยวกับ Android ฟีเจอร์ของ Wi-Fi 7 รวมถึงการดำเนินการพื้นฐานและมัลติลิงก์ (MLO)
ฟีเจอร์ Wi-Fi 7 พื้นฐาน
ส่วนนี้อธิบายฟีเจอร์ Wi-Fi 7 พื้นฐานที่รวมอยู่ใน Android 13 ขึ้นไป
การรองรับ Wi-Fi 7 ของอุปกรณ์
เฟรมเวิร์กของ Android ประกอบด้วย
WifiManager#isWifiStandardSupported(int standard)
API ซึ่งแอปพลิเคชันสามารถเรียกใช้ด้วย
ScanResults.WIFI_STANDARD_11BE
เพื่อตรวจสอบว่าอุปกรณ์รองรับ Wi-Fi 7 หรือไม่
เมื่อมีการเรียก API นี้
โมดูล Wi-Fi
ตรวจสอบว่าการวางซ้อนการกำหนดค่าของ config_wifi11beSupportOverride
ซึ่งใช้เป็นการลบล้างและดำเนินการต่อไปนี้
- หากตั้งค่าการวางซ้อนเป็น
true
ระบบจะถือว่าอุปกรณ์รองรับ Wi-Fi 7 โดยไม่คํานึงถึงการตอบกลับจาก nl80211 การลบล้างนี้มีประโยชน์เฉพาะสำหรับ ผู้ผลิตอุปกรณ์ที่ไม่มีไดรเวอร์ที่รองรับ Wi-Fi 7 - หากตั้งค่าการวางซ้อนเป็น
false
(ค่าเริ่มต้น) โมดูล Wi-Fi ใช้ข้อมูลจาก nl80211 โมดูล Wi-Fi จะขอข้อมูลจาก wificond ซึ่งเรียกใช้ คำสั่ง nl80211NL80211_CMD_GET_WIPHY
หาก แอตทริบิวต์NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY
อยู่ในการตอบสนองจาก ไดรเวอร์ของอุปกรณ์นี้จะถือว่ารองรับ Wi-Fi 7
รองรับ AP Wi-Fi 7 ที่สแกน
เฟรมเวิร์กของ Android ประกอบด้วย
int ScanResult#getWifiStandard()
API ซึ่งแอปสามารถเรียกใช้เพื่อตรวจสอบว่าจุดเข้าใช้งาน (AP) ที่สแกนหรือไม่
รองรับ Wi-Fi 7 หาก AP รองรับ Wi-Fi 7 API จะแสดงผล
ScanResults.WIFI_STANDARD_11BE
อุปกรณ์ไม่จำเป็นต่อการรองรับ Wi-Fi 7 สำหรับแอปเพื่อใช้ API นี้
เมื่อมีการเรียก API นี้ โมดูล Wi-Fi จะตรวจสอบว่า EHT Capability IE
เป็น
ในผลลัพธ์การสแกนการเชื่อมต่อที่แสดงขึ้นมา หาก EHT Capability IE
อยู่ใน
ผลการสแกน AP ที่สแกนรองรับ Wi-Fi 7
คลาส WifiTracker
ของ AOSP จะแสดงข้อมูลการสนับสนุนนี้ในผู้ใช้
เมื่อใช้งานในโหมดแบบละเอียด
โหมดการเชื่อมต่อ STA
เฟรมเวิร์กของ Android ประกอบด้วย
int WifiInfo#getWifiStandard()
API แอปที่เรียกใช้ได้เพื่อตรวจสอบว่าการเชื่อมต่อสถานีปัจจุบัน (STA) หรือไม่
คือ Wi-Fi 7 โหมดการเชื่อมต่อ STA จะเป็น Wi-Fi 7 เมื่อทั้งอุปกรณ์และ
AP ที่เชื่อมต่อสนับสนุน Wi-Fi 7 ถ้าโหมดการเชื่อมต่อคือ Wi-Fi 7 API
การคืนสินค้า
ScanResults.WIFI_STANDARD_11BE
เมื่อมีการเรียก getWifiStandard
โมดูล Wi-Fi จะกำหนดโหมดตาม
กำลังเรียก
HAL API ISupplicantStaIface#getConnectionCapabilities()
การใช้งาน HAL API นี้ในเลเยอร์ AIDL ของ wpa_supplicant
จะตรวจสอบว่า
EHT Capability IE
ทั้งใน AssocReq
และ AssocRsp
ระหว่าง
การตั้งค่าการเชื่อมต่อ
การเลือกเครือข่าย
ใน Android 13 การเลือกเครือข่ายจะใช้
เพื่อกำหนดว่าจะเชื่อมต่อ AP ใด พารามิเตอร์อย่างหนึ่งคือ
อัตราการส่งข้อมูลโดยประมาณของ AP ซึ่งประมาณโดยใช้
บล็อก ThroughputPredictor
บล็อก ThroughputPredictor
ใช้พารามิเตอร์ PHY ของทั้งอุปกรณ์และ
AP ที่สแกน
ใน Android 13 นั้น ThroughputPredictor
จะใช้
ความสามารถของ AP ต่อไปนี้ในการคำนวณ
- รองรับ Wi-Fi 7 (802.11be)
- รองรับความกว้างของช่องสัญญาณ 320 MHz
การรวมความสามารถเหล่านี้ในตรรกะ ThroughputPredictor
จะช่วยเพิ่มศักยภาพของ
โอกาสเลือก AP ที่รองรับ Wi-Fi 7 เมื่ออุปกรณ์สามารถใช้สัญญาณเหล่านี้
ใหม่ๆ
ระยะที่ใช้ RTT ของ Wi-Fi
Android มีการรองรับ API สำหรับ EHT Preamble และความกว้างของช่องสัญญาณ 320 MHz สำหรับ RTT ของ Wi-Fi วิธีนี้ช่วยให้ รองรับความสามารถที่เกี่ยวข้องกับ Wi-Fi 7 ใน RTT ในช่วงใดก็ตาม ที่ชิปรองรับได้
API แบบ HAL
HAL API ต่อไปนี้รองรับความสามารถของ Wi-Fi 7 สำหรับระยะที่ใช้ RTT
EHT
: ค่าคงที่ในenum RttPreamble
และenum WifiRatePreamble
WIDTH_320
: ค่าคงที่ในenum WifiChannelWidthInMhz
BW_320MHz
: ค่าคงที่ในenum RttBw
API
แอปสามารถใช้ API ต่อไปนี้สำหรับระยะที่ใช้ RTT ของ Wi-Fi 7
ScanResult#PREAMBLE_EHT
ResponderConfig#PREAMBLE_EHT
(SystemApi)
AP แบบนุ่มนวล
Android รองรับ Wi-Fi 7 ใน Soft AP และมีสิ่งต่อไปนี้ ใหม่ๆ
เริ่มต้น Soft AP
Android รองรับการเริ่มต้น Soft AP ในโหมด Wi-Fi 7
รายการนี้อยู่ในบังคับของการวางซ้อน config_wifiSoftapIeee80211beSupported
การกำหนดค่า
โมดูล Wi-Fi ใช้การวางซ้อน config_wifiSoftapIeee80211beSupported
เพื่อตั้งค่า
บูลีน HwModeParams#enable80211BE
ใน
การเรียก API IHostApd#addAccessPoint()
ในเลเยอร์ Hostapd AIDL ค่านี้คือ
ใช้เพื่อตั้งค่าพารามิเตอร์ hostapd.conf
API แบบ HAL
enable80211BE
บูลีนใน HwModeParams
ใน Hostapd HAL รองรับ
เริ่มใช้ Soft AP ในโหมด Wi-Fi 7
รายงานข้อมูล Soft AP
Android รองรับ API เพื่อรองรับความกว้างของช่องสัญญาณ Wi-Fi 7 และ 320 MHz ในข้อมูล Soft AP ที่รายงาน
API แบบ HAL
ค่าคงที่ WIFI_STANDARD_11BE
ใน
Generation.aidl
อินเทอร์เฟซ AIDL ใน hostapd HAL ซึ่งใช้
ในApInfo
ที่รายงานในIHostapdCallback#onApInstanceInfoChanged()
Callback รองรับการรายงานข้อมูล Soft AP
API
แอปสามารถใช้เมธอดต่อไปนี้ (API ของระบบ) ใน
SoftApInfo
เพื่อรายงานข้อมูล Soft AP
SoftApInfo#getWifiStandard()
: คิกรีเทิร์นScanResults.WIFI_STANDARD_11BE
หาก Soft AP เริ่มต้นในโหมด Wi-Fi 7SoftApInfo#getBandwidth()
: คิกรีเทิร์นSoftApInfo#CHANNEL_WIDTH_320MHZ
หากใช้ความกว้างของช่องสัญญาณ 320 MHz
ฟีเจอร์ของ MLO Wi-Fi 7
การดำเนินการแบบมัลติลิงก์ (MLO) เป็นฟีเจอร์หลักใน Wi-Fi 7 (802.11be) MLO คือฟีเจอร์ที่จำเป็นสำหรับอุปกรณ์แบบมัลติลิงก์ (MLD) ที่ทำงานใน Wi-Fi 7 ไม่ว่าจะพร้อมกันหรือไม่ก็ตาม
รูปที่ 1 แผนภาพ MLO
ดังที่แสดงในรูปที่ 1 ทั้ง AP-MLD และ STA-MLD มี AP หรือ STA หลายรายการ ที่ทำงานอยู่ในแต่ละลิงก์ แต่ละลิงก์จะมีที่อยู่ MAC ของ AP หรือ STA แยกกัน นอกจากนี้ AP หรือ STA ยังมีที่อยู่ MAC ของ MLD เพื่อระบุอุปกรณ์ด้วย
การแสดงลิงก์ MLO
android.net.wifi.MloLink
จะแสดงลิงก์ MLO คลาสนี้มีพารามิเตอร์ต่อไปนี้
int getLinkId()
: รหัสลิงก์ตามที่ AP MLD โฆษณาMacAddress getApMacAddress()
: ที่อยู่ AP MAC BSSID ของอินสแตนซ์ AP สำหรับลิงก์นั้นMacAddress getStaMacAddress()
: ที่อยู่ MAC ของ STA ที่อยู่ MAC ที่กำหนดในเครื่องสำหรับอินสแตนซ์ STA บน ลิงก์int getChannel()
: ลิงก์ช่อง หมายเลขช่องของลิงก์int getBand()
: แถบลิงก์ กลุ่มของลิงก์int getState()
: สถานะลิงก์ อาจมีสถานะอย่างใดอย่างหนึ่งต่อไปนี้MLO_LINK_STATE_INVALID
: ไม่ถูกต้อง ใช้สำหรับการเริ่มต้นและกรณีข้อผิดพลาดMLO_LINK_STATE_UNASSOCIATED
: ไม่ได้เชื่อมโยง ลิงก์ไม่ได้เชื่อมโยงกับ APMLO_LINK_STATE_IDLE
: ไม่มีความเคลื่อนไหว ลิงก์เชื่อมโยงอยู่แต่ไม่ได้ใช้งาน (ไม่มีตัวระบุการเข้าชม (TID) จะจับคู่กับลิงก์ดังกล่าว)MLO_LINK_STATE_ACTIVE
: ใช้งานอยู่ ลิงก์เชื่อมโยงแล้วและใช้งานอยู่ (มี TID อย่างน้อย 1 รายการที่แมปกับ ลิงก์) ลิงก์ที่ใช้งานอยู่อาจอยู่ในโหมดประหยัดพลังงานเนื่องจาก จะไม่ตรวจสอบสถานะพลังงานของลิงก์
ข้อมูล Wi-Fi 7 AP MLO ที่สแกน
แอปรับพารามิเตอร์ MLO สำหรับ Wi-Fi 7 AP MLD ได้เมื่อโมดูล Wi-Fi
ได้รับ
ScanResult
จาก AP-MLD WifiTracker
ของ AOSP จะแสดงพารามิเตอร์ MLO เมื่อ
ที่ทำงานในโหมดแบบละเอียด
โมดูล Wi-Fi จะรวบรวมข้อมูล MLO โดยทำดังต่อไปนี้
- แยกวิเคราะห์เอลิเมนต์ข้อมูลแบบหลายลิงก์ (IE) ที่รวมอยู่ในบีคอน หรือ ตรวจสอบการตอบสนองเพื่ออ่านที่อยู่ MAC ของ AP MLD และรหัสลิงก์ปัจจุบัน
- แยกวิเคราะห์รายงานเพื่อนบ้าน (RNR) IE ที่ลดลงที่รวมอยู่ในบีคอนหรือการตรวจสอบ ตอบกลับเพื่ออ่านรายการข้อมูลลิงก์ที่เชื่อมโยง
API
หากต้องการรับข้อมูล AP MLO ที่สแกน แอปสามารถใช้ API ต่อไปนี้
ScanResult#BSSID
: ที่อยู่ MAC ของอินสแตนซ์ AP (สำหรับลิงก์ที่ผลการสแกนแสดง) ได้รับ)MacAddress ScanResult#getApMldMacAddress()
: แสดงผลที่อยู่ MAC ของ MLD ของ APint ScanResult#getApMloLinkId()
: แสดงรหัสลิงก์สำหรับลิงก์ที่ได้รับการสแกนผลลัพธ์List<MloLink> ScanResult#getAffiliatedMloLinks()
: แสดงรายการออบเจ็กต์MloLink
สำหรับลิงก์ทั้งหมดที่โฆษณาโดย AP-MLD รวมถึงลิงก์ที่ได้รับการสแกนผลลัพธ์
ข้อมูล Wi-Fi 7 AP MLO ที่เชื่อมต่อ
เมื่ออุปกรณ์เชื่อมต่อกับ Wi-Fi 7 AP-MLD เฟรมเวิร์กจะรวบรวมข้อมูล
พารามิเตอร์ MLO ของการเชื่อมต่อจากออบเจ็กต์ WifiInfo
AOSP
ออบเจ็กต์ WifiTracker
แสดงข้อมูลนี้เมื่อทำงานในโหมดแบบละเอียด
เมื่ออุปกรณ์เชื่อมต่อกับ AP-MLD โมดูล Wi-Fi จะคัดลอก MLO
ข้อมูลจากออบเจ็กต์ ScanResult
ที่ได้รับจาก AP จากนั้นโมดูล
เรียก HAL API ISupplicantStaIface#getConnectionMloLinksInfo()
เพื่ออ่านที่อยู่ MAC ของแต่ละลิงก์สำหรับทั้ง AP และ STA และเพื่ออัปเดต
สถานะของลิงก์ที่เกี่ยวข้อง
API
หากต้องการรับข้อมูลการเชื่อมต่อ MLO แอปจะใช้ API ต่อไปนี้ได้
WifiInfo#getBSSID()
: แสดงที่อยู่ MAC ของอินสแตนซ์ AP (สำหรับลิงก์ที่อุปกรณ์แสดง ที่เกี่ยวข้อง)MacAddress WifiInfo#getApMldMacAddress()
: แสดงผลที่อยู่ MAC ของ MLD ของ APint WifiInfo#getApMloLinkId()
: แสดงรหัสลิงก์สำหรับลิงก์ที่ STA เชื่อมโยงกับ APList<MloLink> WifiInfo#getAffiliatedMloLinks()
: แสดงรายการออบเจ็กต์MloLink
สำหรับลิงก์ทั้งหมดที่โฆษณาโดย AP-MLD รวมถึงลิงก์ที่เกี่ยวข้อง ทั้งที่อยู่ MAC ของ AP และ STA สามารถ จะค้นหาในออบเจ็กต์MloLink
แต่ละรายการ
การสแกน AP-MLD
ซอฟต์แวร์ของผู้ให้บริการจะให้ผลการสแกนสำหรับเฟรมเวิร์ก Wi-Fi แต่ละบีคอนหรือการตอบสนองการตรวจสอบที่มันได้รับ ซึ่งหมายความว่า Wi-Fi เฟรมเวิร์ก:
- อาจได้รับออบเจ็กต์
ScanResults
หลายรายการจาก AP-MLD เดียวกัน (เนื่องจาก AP จะมีลิงก์บีคอนได้หลายลิงก์) - อาจได้รับผลการสแกนเพียงบางส่วนสำหรับลิงก์ AP ของ AP-MLD เนื่องจากแท็กลิงก์อาจไม่ได้รับสัญญาณลิงก์เหล่านี้
ซอฟต์แวร์ของผู้ให้บริการจะสแกนเฉพาะผลลัพธ์ที่ได้รับผ่านอากาศ (OTA) เท่านั้น ไม่สร้างผลลัพธ์การสแกน (สังเคราะห์ขึ้น) ตามลิงก์ที่โฆษณาโดย AP-MLD
ซอฟต์แวร์ของผู้ให้บริการต้องมี Multi-link ตัวแปรพื้นฐานและ RNR IE ที่ได้รับจากอินสแตนซ์ AP ในผลการสแกนที่รายงาน หากมี AP ที่เชื่อมโยง รายละเอียดขาดหายไปในผลการสแกน ซอฟต์แวร์ของผู้ให้บริการสามารถส่งลิงก์หลายลิงก์ได้ คำขอการตรวจสอบ (เฟรมคำขอตรวจสอบที่มีการตรวจสอบหลายลิงก์ คำขอการตรวจสอบ ) เพื่อรวมชุดความสามารถ พารามิเตอร์ และ องค์ประกอบของ AP ที่มี AP-MLD เป้าหมายใน เฟรมตอบกลับของคุณ
ซอฟต์แวร์ของผู้ให้บริการ สามารถทริกเกอร์การตรวจสอบ ML ได้ (โดยใช้ ML IE ตัวแปรคำขอตรวจสอบในเฟรมข้อกำหนดของการตรวจสอบ) หากจำเป็น
การเชื่อมโยงเครือข่าย AP-MLD
เมื่ออุปกรณ์เข้าร่วมเครือข่าย AP-MLD ซอฟต์แวร์ของผู้ให้บริการจะใช้ AP ที่เลือก ลิงก์ (ลิงก์ที่เชื่อมโยง) สำหรับการส่งสัญญาณ ซอฟต์แวร์ของผู้ให้บริการ เชื่อมโยงกับลิงก์ทั้งหมดหรือบางลิงก์ที่อุปกรณ์รองรับ
เมื่อเชื่อมโยงเรียบร้อยแล้ว ผู้ขับขี่จะรายงาน
ISupplicantStaIfaceCallback#onStateChanged()
โดยใช้ BSSID ของลิงก์สำหรับ
AP-MLD จากนั้นคนขับจะเลือกลิงก์ของ AP-MLD โดยมีเงื่อนไขดังนี้
มีการรายงานผลการสแกนไปยังเฟรมเวิร์กสำหรับลิงก์นั้นแล้ว
การให้คะแนนเครือข่าย
สำหรับอุปกรณ์ที่ใช้ Android 14 ขึ้นไป การเลือกเครือข่าย Wi-Fi สำหรับ Android รองรับ Wi-Fi 7 MLO ซึ่งหมายความว่า Android จะเลือก เครือข่าย Wi-Fi ของอุปกรณ์ตามจำนวนลิงก์ที่ใช้ได้สำหรับ MLO
อัลกอริทึมการเลือกเครือข่ายจะใช้ MLO เพื่อรองรับ MLO จากชิป Wi-Fi ดังนี้
- จำนวนลิงก์ STR สูงสุด
- จำนวนลิงก์การเชื่อมโยงสูงสุด
- การรวมสายนาฬิกาพร้อมกัน
รูปที่ 2 การเลือกเครือข่าย MLO
จำนวนลิงก์ STR สูงสุด
การรับส่งแบบพร้อมกัน (STR) คือรูปแบบของการช่วงชิงความเร็วปานกลางผ่าน Wi-Fi สำหรับ การทำงานแบบมัลติลิงก์ การแยกสัญญาณระหว่างลิงก์ที่ต่างกันก็เพียงพอแล้ว ดังนั้น ลิงก์จึงสามารถทำงานอย่างอิสระและสามารถส่ง ได้รับพร้อมกันในลิงก์ต่างๆ STR ต่างจากซิงเกิลเดิม link (SL) STA และ STA แบบ Dual Band แบบ Dual Concurrent (DBDC) เดิม พาร์ทเนอร์ที่มี STA ด้วย STA MLD จะใช้หมายเลขลำดับเครื่องส่ง (SN) ร่วมกันและ พื้นที่สำหรับการส่งข้อมูลที่จัดสรรให้กับลิงก์ที่แตกต่างกัน หากมีหลายลิงก์ การส่งข้อมูลมีหมวดหมู่การเข้าถึง (AC) เดียวกัน
จำนวนลิงก์ STR สูงสุดที่ใช้อาจแตกต่างจากจำนวนสูงสุด ของวิทยุที่ชิปรองรับ ในตัวอย่างรูปที่ 2 ค่า STR สูงสุด จำนวนลิงก์เท่ากับ 2
อินเทอร์เฟซ AIDL HAL ต่อไปนี้รองรับจำนวนลิงก์ STR สูงสุด และจำนวนสูงสุดของจำนวนลิงก์การเชื่อมโยง:
hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
hardware/interfaces/wifi/aidl/android/hardware/wifi/WifiChipCapabilities.aidl
จำนวนลิงก์การเชื่อมโยงสูงสุด
ลิงก์หลายรายการสามารถให้บริการในวิทยุเดียวโดยใช้แผนการช่วงชิง วิทยุเดี่ยวแบบมัลติลิงก์ที่ปรับปรุงแล้ว (eMLSR) อุปกรณ์แบบมัลติลิงก์ใช้ eMLSR ผ่าน ชุดของลิงก์หากสามารถรับเฟรมควบคุมพื้นฐานบางอย่างและทำงานได้อย่างชัดเจน การประเมินช่อง (CCA) พร้อมกันในชุดลิงก์ อย่างไรก็ตาม MLD ส่งหรือรับข้อมูลในลิงก์เดียว (ลิงก์ที่เลือก ในช่วงเวลาของโอกาสในการส่ง (TXOP) แต่ละรายการแบบไดนามิก
สถานี MLD เพิ่มจำนวนลิงก์การเชื่อมโยงได้สูงสุด ความเชื่อถือได้ อัตราการส่งข้อมูลที่ดีขึ้น และเวลาในการตอบสนองที่ต่ำ (เมื่อเทียบกับลิงก์เดียว สถานีเดิม) โดยใช้ STR และ eMLSR พร้อมกันหากระบบรองรับ ชิป ในรูปที่ 2 จำนวนลิงก์การเชื่อมโยงสูงสุดคือ 3
อินเทอร์เฟซ AIDL HAL ต่อไปนี้รองรับจำนวนลิงก์การเชื่อมโยงสูงสุด ความสามารถ:
hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
hardware/interfaces/wifi/aidl/android/hardware/wifi/WifiChipCapabilities.aidl
การรวมสายนาฬิกาพร้อมกัน
เฟรมเวิร์กจะค้นหาชิปเพื่อรับชุดวิทยุที่อนุญาต (ผ่าน
อินเทอร์เฟซ AIDL ของ IWifiChip.aidl
) ที่ทำงานพร้อมกันได้ จากหน้านี้
เฟรมเวิร์กจะสร้างชุดค่าผสมแบนด์ภาพในเวลาเดียวกันที่เป็นไปได้
ตัวอย่างชุดรายการย่านความถี่พร้อมกัน (GHz) มีดังนี้
- 2.4
- 5
- 6
- 2.4 X 5
- 2.4 X 6
- 5 X 6
อินเทอร์เฟซ AIDL HAL ต่อไปนี้รองรับการผสมผสานวิทยุแบบพร้อมกัน
hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
การเลือกเครือข่าย
ระหว่างการเลือกเครือข่าย (MLO) รายชื่อผู้สมัครจะจัดกลุ่มตามสมาชิกที่มี ที่อยู่ MAC ของ MLD เดียวกัน คะแนนอัตราการส่งข้อมูลแบบหลายลิงก์ที่คาดการณ์ไว้สูงสุดคือ สำหรับแต่ละกลุ่ม โดยอิงตามจำนวนลิงก์ STR สูงสุดและในเวลาเดียวกัน การรวมสายนาฬิกาที่ชิปรองรับ หากผู้สมัครใช้ได้หลายลิงก์ และชิปจะรองรับ STR คะแนนอัตราการส่งข้อมูลที่คาดการณ์ไว้จะแทนที่ด้วย คะแนนอัตราการส่งข้อมูลที่กำหนดไว้ล่วงหน้าแบบหลายลิงก์ วิธีนี้ช่วยเพิ่มประสิทธิภาพให้กับผู้สมัคร MLO ระหว่างการเลือกเครือข่าย
เมื่อเข้าร่วมเครือข่าย AP-MLD เฟรมเวิร์กจะทำการเลือก SSID ตาม
เกี่ยวกับข้อมูลที่ได้รับในออบเจ็กต์ ScanResults
ตามที่ผู้ให้บริการรายงาน
ซอฟต์แวร์ เมื่อเลือก SSID ตามเฟรมเวิร์ก ซอฟต์แวร์ของผู้ให้บริการจะเป็น
มีหน้าที่เลือก BSSID สำหรับ AP (หรือลิงก์ AP) ที่ดีที่สุดที่จะใช้
การเชื่อมโยง
การจัดการที่อยู่ MAC ของ STA ของอุปกรณ์
ส่วนนี้จะอธิบายวิธีที่อยู่ MAC ของ STA ของอุปกรณ์ (ที่อยู่ MAC ของ MLD และที่อยู่ MAC ของ STA ตามลิงก์) จะได้รับการจัดการ
ที่อยู่ MAC ของ MLD
เฟรมเวิร์ก Wi-Fi จะจัดการที่อยู่ MAC ของ MLD ของอุปกรณ์ MLD MAC
ระบบจะจัดการที่อยู่ด้วยวิธีเดียวกับที่อุปกรณ์ที่ไม่ใช่ MLD จัดการที่อยู่ MAC ของตนเอง
ที่อยู่ MAC อาจเป็นที่อยู่ MAC แบบสุ่มหรือ MAC ที่จัดสรรให้ฮาร์ดแวร์ก็ได้
ที่อยู่ตามตัวเลือกของผู้ใช้ เฟรมเวิร์ก MLD เป็นผู้กำหนดที่อยู่ MAC
โดยใช้ HAL API ของ IWifiStaIface#setMacAddress()
ที่อยู่ MAC ของ STA ตามลิงก์
ซอฟต์แวร์ของผู้ให้บริการจะจัดการที่อยู่ MAC ของอินสแตนซ์ STA (สำหรับแต่ละลิงก์) เมื่อ เชื่อมโยงกับ AP แล้ว ซอฟต์แวร์ของผู้ให้บริการจะกำหนด MAC ของอินสแตนซ์ สำหรับแต่ละลิงก์ที่เชื่อมโยง
ซอฟต์แวร์ของผู้ให้บริการจะกำหนดที่อยู่ MAC ของแต่ละลิงก์ตามอัลกอริทึม อัลกอริทึมต้องทำซ้ำได้และเป็นฟังก์ชันของสิ่งต่อไปนี้
- ที่อยู่ MAC ของ STA-MLD ที่กำหนดโดยเฟรมเวิร์ก Wi-Fi
- รหัสลิงก์ (ได้รับจาก AP)
ซึ่งหมายความว่าหากเฟรมเวิร์กนำที่อยู่ MAC ของ MLD มาใช้ซ้ำ ผู้ให้บริการ ต้องใช้ที่อยู่ MAC ที่เชื่อมโยงกับอินสแตนซ์เดียวกันและในทางกลับกันด้วย ช่วงเวลานี้ รับประกันว่าเมื่อเฟรมเวิร์กที่สร้างที่อยู่ STA-MLD นั้นคงอยู่ถาวรสำหรับ SSID ที่อยู่ MAC ของ STA จะยังคงอยู่ตลอดไป
ต่อไปนี้คือตัวอย่างอัลกอริทึมสำหรับการกำหนดที่อยู่ MAC ของ STA ตามลิงก์ (ผู้ให้บริการสามารถใช้อัลกอริทึมใดก็ได้ที่ตรงกับเกณฑ์อัลกอริทึม):
- Octet 0: ตรวจสอบให้แน่ใจว่าได้ตั้งค่าบิตที่ดูแลระบบในเครื่องแล้ว
- ต.ค. 1-4: เหมือนกับที่อยู่ MAC ของ STA-MLD
- 5 ต.ค.: ต่อ STA = (STA-MLD + รหัสลิงก์ + 1) MOD (256)
การจัดการมัลติลิงก์
เฟิร์มแวร์ของผู้ให้บริการจะสลับลิงก์และจัดการสถานะการประหยัดพลังงานได้ ของลิงก์เพื่อเปิดใช้งานหรือปิดใช้งานโดยไม่มีการป้อนข้อมูลจาก Wi-Fi
เฟรมเวิร์ก Wi-Fi ไม่ต้องการการแจ้งเตือนเมื่อสถานะลิงก์เป็น มีการเปลี่ยนแปลง
การจัดการสถานะการประหยัดพลังงาน
ระบบจะเปิดใช้สถานะการประหยัดพลังงานโดยค่าเริ่มต้นในเฟรมเวิร์ก Wi-Fi ใน สถานะการประหยัดพลังงาน เฟิร์มแวร์ของผู้ให้บริการจะจัดการการประหยัดพลังงาน สถานะของลิงก์แต่ละรายการตามรูปแบบการเข้าชมและการเปิดใช้งานลิงก์ หรือ การปิดใช้งานบัญชี
อย่างไรก็ตาม เฟรมเวิร์ก Wi-Fi จะบังคับให้ปิดการประหยัดพลังงานได้โดย
กำลังเรียก HAL API ของ ISupplicantStaIface::setPowerSave(false)
หาก
เฟรมเวิร์กปิดใช้สถานะการประหยัดพลังงาน เฟิร์มแวร์ของผู้ให้บริการจะต้องคงสถานะไว้ที่
ลิงก์ที่ใช้งานอยู่อย่างน้อย 1 ลิงก์ (ปิดใช้การประหยัดพลังงาน) ในสถานะนี้ เฟิร์มแวร์
การนำไปใช้เป็นตัวกำหนดว่าจะตั้งค่าลิงก์ใด
เส้นทางของข้อมูล
ซึ่งอธิบายการติดตั้งใช้งานเฟิร์มแวร์ของผู้ให้บริการสำหรับการจัดการอัปลิงก์และ ยอดดาวน์โหลด
การรับส่งข้อมูลอัปลิงก์
เฟิร์มแวร์จะกำหนดเส้นทางการรับส่งข้อมูลไปยังลิงก์ภายใน 1 ลิงก์ (หรือมากกว่า) ตามลิงก์ภายใน การใช้งานของคุณ เฟิร์มแวร์ของผู้ให้บริการจะตัดสินใจเลือก เวลาที่จะทำการจัดสรรภาระงาน ข้อมูลที่ซ้ำกัน หรือการรวมการเข้าชมตามรูปแบบการเข้าชม คำแนะนำจากเรา เฟิร์มแวร์อาจส่งข้อมูลซ้ำไปยังหลายลิงก์ในกรณีต่อไปนี้
- เมื่อตั้งค่าโหมดเวลาในการตอบสนองต่ำผ่าน
IWifiChip#setLatencyMode()
HAL API - เมื่อมีการเข้าชมที่มีลำดับความสำคัญของผู้ใช้ 6 และ 7
การเข้าชมดาวน์ลิงก์
เฟิร์มแวร์ต้องแทนที่ที่อยู่ MAC ของ (ปลายทาง) ตาม STA ของ MAC ส่วนหัวที่มี MLD-STA MAC และ (source) สำหรับ MAC ของ AP ของส่วนหัว MAC กับที่อยู่ MAC ของ MLD-AP เฟิร์มแวร์จะต้องทํางาน การแทนที่ที่อยู่ MAC ก่อนที่จะผ่านตัวกรอง APF เนื่องจาก คำสั่งตัวกรอง APF มีตัวกรองที่ขึ้นอยู่กับที่อยู่ MAC ของ MLD มีป้ายโฆษณาเดียว ตัวกรอง APF สำหรับลิงก์ทั้งหมดของ AP-MLD
การเกิดขึ้นพร้อมกัน
กรณีที่มีการใช้วิทยุสำหรับอินเทอร์เฟซใหม่ จะต้องมี ลำดับความสำคัญมากกว่าการกระจายสัญญาณวิทยุหลายๆ รายการสำหรับลิงก์ต่างๆ ของอินเทอร์เฟซเดียวกัน สถานการณ์การเกิดขึ้นพร้อมกันต้องมีลำดับความสำคัญเหนือ MLO ด้วย ไม่ว่าจะเกิดขึ้น ก่อน การใช้หลายลิงก์ในอินเทอร์เฟซเดียว เป็นโอกาสอันดี ซึ่งหมายความ จะมีการใช้หลายลิงก์เฉพาะในกรณีต่อไปนี้
- จำเป็นต้องระบุ MLO ตามการตัดสินใจของเฟิร์มแวร์สำหรับการจัดสรรภาระงาน ในการรวมหรือการทำซ้ำ
- MLO พร้อมให้บริการ ซึ่งหมายความว่าอินเทอร์เฟซอื่นไม่จำเป็นต้องใช้วิทยุ
การแมป TID เป็นลิงก์
สำหรับอุปกรณ์ที่ใช้ Android 14 ขึ้นไป เมื่อ Wi-Fi 7 AP ประกาศการปิดใช้ลิงก์ใดลิงก์หนึ่งชั่วคราวผ่าน เอลิเมนต์การแมป TID-to-link ที่ส่งในบีคอน การตอบสนองการตรวจสอบ และ ที่เชื่อมโยงเฟรมการตอบสนอง สถานี Wi-Fi 7 จะเชื่อมต่อกับ AP โดยใช้ลิงก์ที่เหลือซึ่งตั้งค่าไว้ โดยไม่ทำลิงก์อื่น การเชื่อมโยง
สำหรับอุปกรณ์ที่ใช้ Android 13 หรือต่ำกว่า Wi-Fi เฟรมเวิร์กไม่รองรับการแจ้งเตือนเมื่อสถานะลิงก์เป็น เปลี่ยนแปลงเนื่องจากการแมป TID กับลิงก์ แม้ว่าลิงก์ที่เกี่ยวข้องจะไม่ได้ลิงก์กับ TID
AIDL HAL
ผู้ให้บริการ Wi-Fi จะแจ้งเฟรมเวิร์ก Wi-Fi ของการแมป TID-to-link การเปลี่ยนแปลงผ่านอินเทอร์เฟซ AIDL ต่อไปนี้
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
แอปสามารถรับข้อมูลเกี่ยวกับการเปลี่ยนแปลงการแมปแบบ TID เป็นลิงก์ได้โดยใช้ API ต่อไปนี้
ConnectivityManager.NetworkCallback.onCapabilitiesChanged()
: การเรียกกลับของเครือข่ายที่ทริกเกอร์โดยเฟรมเวิร์กเมื่อมี TID-to-link การเปลี่ยนแปลงการแมปWifiInfo#getAssociatedMloLinks()
: แสดงลิงก์ MLO ที่เชื่อมโยงMloLink#getState()
: แสดงสถานะของลิงก์MLO_LINK_STATE_ACTIVE
หรือMLO_LINK_STATE_IDLE
ความสามารถในการเจรจาต่อรอง TID-to-link การแมป
สำหรับอุปกรณ์ที่ใช้ Android 14 ขึ้นไป ให้ทำดังนี้ API พร้อมใช้งานเพื่อรับความสามารถในการเจรจาต่อรองแผนที่แบบ TID สำหรับ สถานีและ AP
ความสามารถของชิป
อินเทอร์เฟซต่อไปนี้รองรับความสามารถของชิปสำหรับการแมป TID-to-link การเจรจาต่อรอง
AIDL HAL
อินเทอร์เฟซ AIDL สำหรับการเจรจาการแมป TID เพื่อลิงก์อยู่ใน FeatureSetMask
ใน hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl
โดยความสามารถ T2LM_NEGOTIATION = 1 << 8
บ่งบอกว่าชิปรองรับ
การแมป TID เป็นลิงก์
API
WifiManager.isTidToLinkMappingNegotiationSupported()
: แสดงผลชิปที่รองรับการเจรจาการแมปแบบ TID เพื่อลิงก์
ความสามารถของ AP
อินเทอร์เฟซต่อไปนี้รองรับความสามารถของ AP สำหรับการแมป TID-to-link การเจรจาต่อรอง
AIDL HAL
เฟรมเวิร์กนี้สอบถามความสามารถของ AP จากผู้สมัครร่วมกับ ความสามารถในการเชื่อมต่อปัจจุบัน
apTidToLinkMapNegotiationSupported
: ตรวจสอบว่า AP รองรับความสามารถในการเจรจาต่อรอง TID เพื่อลิงก์แผนที่หรือไม่
API
WifiInfo.isApTidToLinkMappingNegotiationSupported()
: แสดงผลว่า AP รองรับการเจรจาการแมปแบบ TID เพื่อลิงก์หรือไม่
สถิติเลเยอร์ลิงก์
สถิติของเลเยอร์ลิงก์รวมถึงรายละเอียดเฉพาะลิงก์ Wi-Fi เช่น RSSI, TX ต่างๆ และตัวนับแพ็กเก็ต RX และสถิติคลื่นวิทยุ เฟรมเวิร์ก Wi-Fi จะโพลเป็นระยะๆ สถิติของเลเยอร์ลิงก์และ RSSI เพื่อเลือกเครือข่ายที่ดีที่สุดหรือเพื่อประเมินคุณภาพ ของเครือข่ายที่เชื่อมต่อ สำหรับอุปกรณ์ที่ใช้ Android 14 ขึ้นไป สถิติของเลเยอร์ลิงก์ประกอบด้วย การสนับสนุนหลายลิงก์ Android รองรับ MLO ในเลเยอร์ลิงก์ทั้ง 2 เลเยอร์เพื่อรองรับ Wi-Fi 7 สถิติและการสำรวจสัญญาณ
ดูสถิติแบบเจาะจงลิงก์ได้ในอินเทอร์เฟซ AIDL ของเลเยอร์ลิงก์ต่อไปนี้
hardware/interfaces/wifi/aidl/android/hardware/wifi/StaLinkLayerIfaceStats.aidl
hardware/interfaces/wifi/aidl/android/hardware/wifi/StaLinkLayerLinkStats.aidl
android.net.wifi.WifiManager#addOnWifiUsabilityStatsListener()
API ของระบบจะรอฟังสถิติของเลเยอร์ลิงก์ทั้งหมด เฟรมเวิร์กจะทำงานเป็นระยะๆ
API นี้เพื่ออัปเดตสถิติความสามารถในการใช้งาน Wi-Fi
API เฉพาะลิงก์ต่อไปนี้มีอยู่ใน
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)
หากต้องการค้นหารหัสลิงก์ที่มีอยู่ แอปจะสามารถเรียก
android.net.wifi.WifiUsabilityStatsEntry#getLinkIds()
API ใน
android.net.wifi.WifiUsabilityStatsEntry
สำหรับลิงก์เดียว (ไม่ใช่ MLO) จะแสดงสถิติรวมสำหรับการเชื่อมต่อ MLO
เกณฑ์ในการรวมมีดังนี้
สถิติแพ็กเก็ตรวมต่อไปนี้ใช้ผลรวมของสถิติต่อลิงก์
public long getTotalTxSuccess() public long getTotalTxRetries() public long getTotalTxBad() public long getTotalRxSuccess() public int getRxLinkSpeedMbps()
สถิติต่อไปนี้ใช้ข้อมูลจากลิงก์ที่มี RSSI สูงสุด
public int getRssi() public int getLinkSpeedMbps() public long getTotalBeaconRx() public int getTimeSliceDutyCycleInPercent() public ContentionTimeStats getContentionTimeStats(@WmeAccessCategory int ac) public List<RateStats> getRateStats()
สถิติเลเยอร์ลิงก์ใน Android 13
สำหรับอุปกรณ์ที่ใช้ Android 13 สถิติของเลเยอร์ลิงก์
ไม่ได้คำนึงถึง
การใช้ลิงก์หลายรายการสำหรับอินเทอร์เฟซเดียว ซอฟต์แวร์ของผู้ให้บริการเพื่อรองรับ MLO
ต้องใช้ตรรกะการรวมต่อไปนี้เมื่อรายงาน LinkLayerStats
ผ่าน HAL API ของ IWifi# getLinkLayerStats_1_6()
ลิงก์ที่ดีที่สุดคือ
ที่มี RSSI สูงสุด
StaLinkLayerStats.iface.beaconRx
: รายงานจำนวนบีคอนที่ดีที่สุด ลิงก์ที่ใช้สำหรับอินเทอร์เฟซStaLinkLayerStats.iface.avgRssiMgmt
: รายงานเรื่องavgRssiMgmt
สำหรับ ลิงก์ที่ดีที่สุดสำหรับอินเทอร์เฟซStaLinkLayerStats.iface.wmeXxPktStats
(Xx = Vo, Vi, Be,Bk): รายงาน สถิติแพ็กเก็ตรวม (ทั้งหมด) จากลิงก์ของอินเทอร์เฟซStaLinkLayerStats.iface.wmeXxContentionTimeStats
(Xx = Vo, Vi, Be,Bk): รายงานสถิติเวลาโต้แย้งสำหรับลิงก์ที่ดีที่สุดที่ใช้ใน ของอินเทอร์เฟซ (สถิติเวลาในการโต้แย้งต่ำที่สุด)
การกำหนดค่าลิงก์ MLO ใหม่
AP นำลิงก์ของจุดเข้าใช้งาน Wi-Fi 7 มาใช้ซ้ำ สามารถประกาศการนำลิงก์ออกผ่านการกำหนดค่าลิงก์ MLO ใหม่ สถานี สามารถคงการเชื่อมต่อกับ AP อย่างราบรื่นได้โดยไม่ต้องเชื่อมโยงใหม่กับ ลิงก์ที่เหลือ
onMloLinksInfoChanged
อินเทอร์เฟซ AIDL ซึ่งอยู่ในผู้สมัครบริการ Wi-Fi ที่
ISupplicantStaIfaceCallback.aidl
สนับสนุนการกำหนดค่าลิงก์ใหม่ (การนำลิงก์ออกโดย AP)
เมื่อเฟรมเวิร์ก Wi-Fi ดำเนินการนำลิงก์ออก ระบบจะตั้งค่าสถานะลิงก์
ถึง
MLO_LINK_STATE_UNASSOCIATED
จากนั้นเฟรมเวิร์กจะทริกเกอร์
ConnectivityManager.NetworkCallback#onCapabilitiesChanged()
สำหรับการเปลี่ยนแปลงสถานะลิงก์
WifiInfo#getAffiliatedMloLinks
จะแสดงลิงก์ MLO ที่เชื่อมโยง
MloLink#getState
จะแสดงสถานะของลิงก์ หากมีการนำลิงก์ออก ลิงก์ที่แสดงผล
รัฐคือ
MLO_LINK_STATE_UNASSOCIATED
กลยุทธ์ชิป MLO
MLO ช่วยให้อุปกรณ์ส่งและรับข้อมูลบนลิงก์ Wi-Fi หลายรายการพร้อมกันได้ ซึ่งจะช่วยปรับปรุงประสิทธิภาพสำหรับแอปที่มีข้อกำหนดเฉพาะได้ เช่น เวลาในการตอบสนองต่ำ แบนด์วิดท์สูง และพลังงานต่ำ ผู้จำหน่ายชิปสามารถพัฒนา เกี่ยวกับวิธีใช้ลิงก์ที่มีให้
แอปที่ได้รับสิทธิ์สามารถแก้ไขอัลกอริทึมเหล่านี้ได้โดยใช้
setMloMode
ใน Wifimanager
และตั้งค่า
โหมดต่อไปนี้
MLO_MODE_DEFAULT = 0
MLO_MODE_LOW_LATENCY = 1
MLO_MODE_HIGH_THROUGHPUT = 2
MLO_MODE_LOW_POWER = 3
เฟรมเวิร์กนี้
setMloMode
ในอินเทอร์เฟซ AIDL ของ IWifiChip
เพื่อตั้งค่าโหมด MLO