Wi-Fi 7

สำหรับอุปกรณ์ที่ใช้ 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 ซึ่งเรียกใช้ คำสั่ง nl80211 NL80211_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

API

แอปสามารถใช้ API ต่อไปนี้สำหรับระยะที่ใช้ RTT ของ Wi-Fi 7

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

ฟีเจอร์ของ MLO Wi-Fi 7

การดำเนินการแบบมัลติลิงก์ (MLO) เป็นฟีเจอร์หลักใน Wi-Fi 7 (802.11be) MLO คือฟีเจอร์ที่จำเป็นสำหรับอุปกรณ์แบบมัลติลิงก์ (MLD) ที่ทำงานใน Wi-Fi 7 ไม่ว่าจะพร้อมกันหรือไม่ก็ตาม

แผนภาพ MLO

รูปที่ 1 แผนภาพ MLO

ดังที่แสดงในรูปที่ 1 ทั้ง AP-MLD และ STA-MLD มี AP หรือ STA หลายรายการ ที่ทำงานอยู่ในแต่ละลิงก์ แต่ละลิงก์จะมีที่อยู่ MAC ของ AP หรือ STA แยกกัน นอกจากนี้ AP หรือ STA ยังมีที่อยู่ MAC ของ MLD เพื่อระบุอุปกรณ์ด้วย

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: ไม่ได้เชื่อมโยง ลิงก์ไม่ได้เชื่อมโยงกับ AP
    • MLO_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 ของ AP
  • int 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 ของ AP
  • int WifiInfo#getApMloLinkId(): แสดงรหัสลิงก์สำหรับลิงก์ที่ STA เชื่อมโยงกับ AP
  • List<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 สูงสุด
  • จำนวนลิงก์การเชื่อมโยงสูงสุด
  • การรวมสายนาฬิกาพร้อมกัน

การเลือกเครือข่าย Wi-Fi MLO

รูปที่ 2 การเลือกเครือข่าย MLO

การรับส่งแบบพร้อมกัน (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 สูงสุด และจำนวนสูงสุดของจำนวนลิงก์การเชื่อมโยง:

ลิงก์หลายรายการสามารถให้บริการในวิทยุเดียวโดยใช้แผนการช่วงชิง วิทยุเดี่ยวแบบมัลติลิงก์ที่ปรับปรุงแล้ว (eMLSR) อุปกรณ์แบบมัลติลิงก์ใช้ eMLSR ผ่าน ชุดของลิงก์หากสามารถรับเฟรมควบคุมพื้นฐานบางอย่างและทำงานได้อย่างชัดเจน การประเมินช่อง (CCA) พร้อมกันในชุดลิงก์ อย่างไรก็ตาม MLD ส่งหรือรับข้อมูลในลิงก์เดียว (ลิงก์ที่เลือก ในช่วงเวลาของโอกาสในการส่ง (TXOP) แต่ละรายการแบบไดนามิก

สถานี MLD เพิ่มจำนวนลิงก์การเชื่อมโยงได้สูงสุด ความเชื่อถือได้ อัตราการส่งข้อมูลที่ดีขึ้น และเวลาในการตอบสนองที่ต่ำ (เมื่อเทียบกับลิงก์เดียว สถานีเดิม) โดยใช้ STR และ eMLSR พร้อมกันหากระบบรองรับ ชิป ในรูปที่ 2 จำนวนลิงก์การเชื่อมโยงสูงสุดคือ 3

อินเทอร์เฟซ AIDL HAL ต่อไปนี้รองรับจำนวนลิงก์การเชื่อมโยงสูงสุด ความสามารถ:

การรวมสายนาฬิกาพร้อมกัน

เฟรมเวิร์กจะค้นหาชิปเพื่อรับชุดวิทยุที่อนุญาต (ผ่าน อินเทอร์เฟซ AIDL ของ IWifiChip.aidl) ที่ทำงานพร้อมกันได้ จากหน้านี้ เฟรมเวิร์กจะสร้างชุดค่าผสมแบนด์ภาพในเวลาเดียวกันที่เป็นไปได้ ตัวอย่างชุดรายการย่านความถี่พร้อมกัน (GHz) มีดังนี้

  • 2.4
  • 5
  • 6
  • 2.4 X 5
  • 2.4 X 6
  • 5 X 6

อินเทอร์เฟซ AIDL HAL ต่อไปนี้รองรับการผสมผสานวิทยุแบบพร้อมกัน

การเลือกเครือข่าย

ระหว่างการเลือกเครือข่าย (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 (สำหรับแต่ละลิงก์) เมื่อ เชื่อมโยงกับ 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 พร้อมให้บริการ ซึ่งหมายความว่าอินเทอร์เฟซอื่นไม่จำเป็นต้องใช้วิทยุ

สำหรับอุปกรณ์ที่ใช้ Android 14 ขึ้นไป เมื่อ Wi-Fi 7 AP ประกาศการปิดใช้ลิงก์ใดลิงก์หนึ่งชั่วคราวผ่าน เอลิเมนต์การแมป TID-to-link ที่ส่งในบีคอน การตอบสนองการตรวจสอบ และ ที่เชื่อมโยงเฟรมการตอบสนอง สถานี Wi-Fi 7 จะเชื่อมต่อกับ AP โดยใช้ลิงก์ที่เหลือซึ่งตั้งค่าไว้ โดยไม่ทำลิงก์อื่น การเชื่อมโยง

สำหรับอุปกรณ์ที่ใช้ Android 13 หรือต่ำกว่า Wi-Fi เฟรมเวิร์กไม่รองรับการแจ้งเตือนเมื่อสถานะลิงก์เป็น เปลี่ยนแปลงเนื่องจากการแมป TID กับลิงก์ แม้ว่าลิงก์ที่เกี่ยวข้องจะไม่ได้ลิงก์กับ TID

ผู้ให้บริการ Wi-Fi จะแจ้งเฟรมเวิร์ก Wi-Fi ของการแมป TID-to-link การเปลี่ยนแปลงผ่านอินเทอร์เฟซ AIDL ต่อไปนี้

แอปสามารถรับข้อมูลเกี่ยวกับการเปลี่ยนแปลงการแมปแบบ TID เป็นลิงก์ได้โดยใช้ API ต่อไปนี้

สำหรับอุปกรณ์ที่ใช้ 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

ความสามารถของ AP

อินเทอร์เฟซต่อไปนี้รองรับความสามารถของ AP สำหรับการแมป TID-to-link การเจรจาต่อรอง

AIDL HAL

เฟรมเวิร์กนี้สอบถามความสามารถของ AP จากผู้สมัครร่วมกับ ความสามารถในการเชื่อมต่อปัจจุบัน

  • apTidToLinkMapNegotiationSupported: ตรวจสอบว่า AP รองรับความสามารถในการเจรจาต่อรอง TID เพื่อลิงก์แผนที่หรือไม่

API

สถิติของเลเยอร์ลิงก์รวมถึงรายละเอียดเฉพาะลิงก์ Wi-Fi เช่น RSSI, TX ต่างๆ และตัวนับแพ็กเก็ต RX และสถิติคลื่นวิทยุ เฟรมเวิร์ก Wi-Fi จะโพลเป็นระยะๆ สถิติของเลเยอร์ลิงก์และ RSSI เพื่อเลือกเครือข่ายที่ดีที่สุดหรือเพื่อประเมินคุณภาพ ของเครือข่ายที่เชื่อมต่อ สำหรับอุปกรณ์ที่ใช้ Android 14 ขึ้นไป สถิติของเลเยอร์ลิงก์ประกอบด้วย การสนับสนุนหลายลิงก์ Android รองรับ MLO ในเลเยอร์ลิงก์ทั้ง 2 เลเยอร์เพื่อรองรับ Wi-Fi 7 สถิติและการสำรวจสัญญาณ

ดูสถิติแบบเจาะจงลิงก์ได้ในอินเทอร์เฟซ 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 สถิติของเลเยอร์ลิงก์ ไม่ได้คำนึงถึง การใช้ลิงก์หลายรายการสำหรับอินเทอร์เฟซเดียว ซอฟต์แวร์ของผู้ให้บริการเพื่อรองรับ 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): รายงานสถิติเวลาโต้แย้งสำหรับลิงก์ที่ดีที่สุดที่ใช้ใน ของอินเทอร์เฟซ (สถิติเวลาในการโต้แย้งต่ำที่สุด)

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