Kablosuz bağlantı 7

Android 13 veya sonraki sürümleri çalıştıran cihazlarda Wi-Fi 7 (IEEE 802.11be) standardını destekler. Bu sayfada Android açıklanmaktadır Temel ve çoklu bağlantı işlemlerini (MLO) içeren Wi-Fi 7 özellikleri.

Temel Wi-Fi 7 özellikleri

Bu bölümde, şuna dahil edilen temel Wi-Fi 7 özellikleri açıklanmaktadır: Android 13 ve sonraki sürümler.

Cihaz Wi-Fi 7 desteği

Android çerçevesi şunları içerir: WifiManager#isWifiStandardSupported(int standard) API, hangi uygulamaların ScanResults.WIFI_STANDARD_11BE bağımsız değişkenine ekleyerek cihazınızın Wi-Fi 7'yi destekleyip desteklemediğini kontrol edebilirsiniz.

Bu API çağrıldığında, Kablosuz bağlantı modülü config_wifi11beSupportOverride yapılandırma yer paylaşımının olarak kullanılır ve aşağıdakileri yapar:

  • Yer paylaşımı true olarak ayarlanırsa cihazın Wi-Fi 7'yi desteklediği varsayılır. nl80211'in yanıtından bağımsız olarak iletişim kurar. Bu geçersiz kılma işlemi yalnızca Wi-Fi 7 desteğini döndüren sürücüleri olmayan cihaz üreticileridir.
  • Yer paylaşımı false (varsayılan değer) olarak ayarlanırsa Wi-Fi modülü nl80211'den alınan bilgileri kullanır. Kablosuz bağlantı modülü, wificond'dan bilgi ister. nl80211 komutu NL80211_CMD_GET_WIPHY olur. Öğe NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY özelliği sürücüsünde, cihazın Wi-Fi 7'yi desteklediği varsayılır.

Taranan AP Wi-Fi 7 desteği

Android çerçevesi şunları içerir: int ScanResult#getWifiStandard() Taranan bir erişim noktasının (AP) olup olmadığını kontrol etmek için çağrıda bulunabilen API Wi-Fi 7'yi destekler. AP, Wi-FI 7'yi destekliyorsa API ScanResults.WIFI_STANDARD_11BE. Uygulamaların bu API'yi kullanması için cihazın Wi-Fi 7'yi desteklemesi gerekmez.

Bu API çağrıldığında, kablosuz bağlantı modülü EHT Capability IE öğesinin olup olmadığını kontrol eder emin olun. EHT Capability IE uygunsa taranan bağlantı noktası, Wi-Fi 7'yi destekler. AOSP WifiTracker sınıfı, kullanıcıda bu destek bilgilerini gösterir. kullanıcı arayüzü için geçerli olacak.

STA bağlantı modu

Android çerçevesi şunları içerir: int WifiInfo#getWifiStandard() API (uygulamalar, geçerli istasyonun (STA) bağlantısını kontrol etmek için çağırabilir mod, Wi-Fi 7'dir. STA bağlantı modu, hem cihaz hem de cihaz bağlı erişim noktası desteği Wi-Fi 7 desteği gerekir. Bağlantı modu Wi-Fi 7 ise API iadelerin toplam tutarı ScanResults.WIFI_STANDARD_11BE.

getWifiStandard çağrıldığında, kablosuz bağlantı modülü modu şu şekilde belirler: ISupplicantStaIface#getConnectionCapabilities() HAL API'si. İlgili içeriği oluşturmak için kullanılan bu HAL API'sinin wpa_supplicant AIDL katmanına uygulanması, EHT Capability IE şu süre boyunca hem AssocReq hem de AssocRsp içinde: bağlantı kurulumu.

Ağ seçimi

Android 13'te ağ seçiminde parametrelerini kullanır. Parametrelerden biri tahmini işleme hızını belirler. Kullanılan veri miktarı ThroughputPredictor blok. İlgili içeriği oluşturmak için kullanılan ThroughputPredictor bloğu hem cihazın hem de ya da web bağlantısı (AP) taranır.

ThroughputPredictor, Android 13'te aşağıdaki AP özelliklerini içerir:

  • Wi-Fi 7 (802.11be) desteği
  • 320 MHz kanal genişliği desteği

Bu özelliklerin ThroughputPredictor mantığına dahil edilmesi, cihazın bunlardan yararlanabileceği durumlarda, Wi-Fi 7 özellikli erişim noktaları seçme olasılığı özellikleri.

Kablosuz RTT tabanlı aralık

Android, EHT giriş kısmı için API desteği ve Kablosuz RTT. Bu durumda, RTT aralığında Wi-Fi 7 ile ilgili özelliklerin desteklenmesine çip tarafından desteklenir.

HAL API'leri

Aşağıdaki HAL API'leri, RTT tabanlı aralıklar için Wi-Fi 7 özelliklerini destekler:

API'ler

Uygulamalar, Wi-Fi 7 RTT tabanlı aralık için aşağıdaki API'leri kullanabilir:

Alternatif erişim noktası

Android, Soft AP'de Wi-Fi 7'yi destekler ve şunları sağlar: özellikleri.

Soft AP'yi başlat

Android, Wi-Fi 7 modunda Soft AP'nin başlatılmasını destekler. Bu, config_wifiSoftapIeee80211beSupported yer paylaşımına tabidir. yapılandırma.

Kablosuz bağlantı modülü, ayarlamak için config_wifiSoftapIeee80211beSupported yer paylaşımını kullanır HwModeParams#enable80211BE boole değeri IHostApd#addAccessPoint() API çağrısı. Hostapd AIDL katmanında bu değer hostapd.conf parametrelerini ayarlamak için kullanılır.

HAL API'leri

İlgili içeriği oluşturmak için kullanılan enable80211BE Hostapd HAL'de HwModeParams dilinde boole değeri Wi-Fi 7 modunda Yumuşak Erişim başlatılıyor.

Soft AP bilgilerini bildirme

Android, kablosuz 7 ve 320 MHz kanal genişliğini içeren API desteği sunar daha fazla bilgi edinin.

HAL API'leri

Şuradaki WIFI_STANDARD_11BE sabiti: Generation.aidl Hostapd HAL'deki AIDL arayüzü ve IHostapdCallback#onApInstanceInfoChanged() bölgesinde bildirilen ApInfo geri çağırma, Soft AP bilgilerinin raporlanmasını destekler.

API'ler

Uygulamalar aşağıdaki yöntemleri (sistem API'leri) kullanabilir: SoftApInfo Soft AP bilgilerini raporlamak için kullanılır.

MLO Wi-Fi 7 özellikleri

Çoklu bağlantı işlemi (MLO), Wi-Fi 7'deki (802.11be) ana özelliktir. bakın. MLO, çok bağlantılı cihazlar (MLD) için zorunlu bir özelliktir. (eş zamanlı olarak veya eşzamanlı olmadan) Wi-Fi 7'de çalışır.

MLO şeması

Şekil 1. MLO diyagramı.

Şekil 1'de gösterildiği gibi hem AP-MLD hem de STA-MLD birden fazla AP veya STA'ya sahiptir. her bağlantıda çalışan örneklerden oluşur. Her bağlantının ayrı bir AP veya STA MAC adresi vardır. AP veya STA'nın, cihazı tanımlamak için bir MLD MAC adresi de vardır.

İlgili içeriği oluşturmak için kullanılan android.net.wifi.MloLink sınıfı MLO bağlantısını temsil eder. Bu sınıf aşağıdaki parametreleri içerir:

  • int getLinkId(): AP MLD'de belirtildiği şekilde bağlantı kimliği.
  • MacAddress getApMacAddress(): AP MAC adresi. Bu bağlantının AP örneğinin BSSID'si.
  • MacAddress getStaMacAddress(): STA MAC adresi. Şu cihazdaki STA örneği için yerel olarak atanan MAC adresi: bağlantıyı tıklayın.
  • int getChannel(): Kanalı bağla. Bağlantının kanal numarası.
  • int getBand(): Kayış bağla. Bağlantının bandı.
  • int getState(): Bağlantı durumu. Aşağıdaki durumlardan biri olabilir:

    • MLO_LINK_STATE_INVALID: Geçersiz. Başlatma ve hata durumlarında kullanılır.
    • MLO_LINK_STATE_UNASSOCIATED: İlişkilendirilmedi. Bağlantı bir erişim noktası ile ilişkilendirilmemiş.
    • MLO_LINK_STATE_IDLE: Aktif değil. Bağlantı ilişkilendirilmiş ancak etkin değil (trafik tanımlayıcısı (TID) yok) bağlantıyla eşlendiğinden) emin olun.
    • MLO_LINK_STATE_ACTIVE: Etkin. Bağlantı ilişkilendirilmiş ve etkin (en az bir TID . Etkin bir bağlantı Güç Tasarrufu Modu'nda olabilir çünkü çerçeve, bağlantının güç durumunu izlemez.

Wi-Fi 7 AP MLO bilgileri tarandı

Wi-Fi modülü şu öğeleri kullanırken uygulamalar, Wi-Fi 7 AP MLD için MLO parametrelerini alabilir. CANNOT TRANSLATE ScanResult nesnesini ifade eder. AOSP WifiTracker, şu durumlarda MLO parametrelerini gösterir: ayrıntılı modda çalışır.

Wi-Fi modülü şunları yaparak MLO bilgilerini toplar:

  • veya kontrol ederek AP MLD MAC adresini ve geçerli bağlantı kimliğini okuyun.
  • İşaretçi veya sondada yer alan azaltılmış komşu raporu (RNR) IE'sini ayrıştırır yanıtı ekleyin.

API'ler

Uygulamalar, taranan AP MLO bilgilerine ulaşmak için aşağıdaki API'leri kullanabilir:

Connected Wi-Fi 7 AP MLO bilgileri

Bir cihaz Wi-Fi 7 AP-MLD'ye bağlandığında çerçeve, WifiInfo nesnesinden bağlantının MLO parametreleri. AOSP WifiTracker nesnesi, ayrıntılı modda çalışırken bu bilgileri gösterir.

Cihaz AP-MLD'ye bağlandığında kablosuz bağlantı modülü MLO'yu kopyalar AP'nin aldığı ScanResult nesnesindeki bilgileri ifade eder. Modül, ISupplicantStaIface#getConnectionMloLinksInfo() HAL API'sini çağırır hem AP hem de STA için her bağlantının MAC adresini okuma ve güncelleme durumu hakkında daha fazla bilgi edinin.

API'ler

Uygulamalar, MLO bağlantı bilgilerini almak için aşağıdaki API'leri kullanabilir:

AP-MLD taraması

Tedarikçi firma yazılımı, bu cihazın tarama sonuçlarını içeren kablosuz ağ çerçevesini sağlar. her işaretleyici veya sonda yanıtının testidir. Bu, kablosuz bağlantının çerçeve:

  • Aynı AP-MLD'den birden fazla ScanResults nesnesi alabilir (çünkü AP'nin birden fazla işaretçi bağlantısı olabilir.
  • Şu API'nin AP bağlantıları için tarama sonuçlarının yalnızca bir kısmını alabilir: bu bağlantı sinyallerinin bazıları donanım yazılımı.

Tedarikçi yazılımı, yalnızca hava yoluyla alınan sonuçları tarar ve reklamı yapılan bağlantılara dayalı tarama sonuçları oluşturma (yapay olarak sentezleme) AP-MLD’dir.

Tedarikçi firma yazılımı, temel varyant çoklu bağlantısını ve RNR IE'lerini içermelidir alınan tüm metrikleri içerir. İlişkili erişim noktası ise ayrıntılar tarama sonuçlarında eksikse, tedarikçi firma yazılımı, birden fazla bağlantı yoklama istekleri (bir yoklama isteği çoklu bağlantısı içeren yoklama istek çerçevesi öğesi), tam veya kısmi özellikler, parametreler ve AP'nin, hedeflenen AP-MLD ile işlem öğelerini karar verebilirsiniz.

Tedarikçinin yazılımı makine öğrenimi kontrolü tetikleyebilir (probe istek çerçevesi içinde probe gerekli varyant ML IE kullanılarak) (gerekirse).

AP-MLD ağ ilişkilendirmesi

Bir cihaz AP-MLD ağına katıldığında tedarikçi yazılımı seçilen erişim noktasını kullanır bağlantısını (ilişkili bağlantı) kullanır. Tedarikçi yazılımı, cihazın desteklediği bağlantıların tümü veya bazılarıyla ilişkilendirilir.

İlişkilendirme başarılı olduğunda sürücü, ISupplicantStaIfaceCallback#onStateChanged() ile şuna ait bağlantının BSSID'si: AP-MLD’dir. Daha sonra sürücü, sağlanan AP-MLD bağlantısını seçer ve tarama sonuçları bu bağlantının çerçevesine bildirilmiştir.

Ağ puanlaması

Android 14 veya sonraki sürümleri çalıştıran cihazlarda Android Kablosuz Ağ Seçimi Wi-Fi 7 MLO'yu destekler. Bu da Android'in en iyi şekilde seçtiği anlamına gelir. MLO için kullanılabilen bağlantı sayısına göre cihazın kablosuz ağı.

Ağ seçme algoritması, MLO'yu desteklemek için aşağıdaki MLO'yu kullanır. özellikleri:

  • Maksimum STR bağlantı sayısı
  • Maksimum ilişkilendirme bağlantısı sayısı
  • Eş zamanlı bant kombinasyonları

Wi-Fi MLO ağ seçimi

Şekil 2. MLO ağ seçimi.

Eşzamanlı iletim ve alma (STR), ağ için bir kablosuz ortam çekişme şemasıdır. çok bağlantılı işlem. Farklı bağlantılar arasındaki sinyal izolasyonu yeterlidir Böylece bağlantılar bağımsız olarak çalışabilir ve iletim ve farklı bağlantılarda aynı anda almak. SO, eski single'dan farklı bağlantı (SL) STA ve eski dual band çift eşzamanlı (DBDC) STA STA. STA'larla ilişkili ortak bir verici sıra numarası (SN) paylaşan Birden fazla bağlantı varsa farklı bağlantılara veri iletimi için alan iletim de aynı erişim kategorisine (AC) sahip olmalıdır.

Kullanılan maksimum STR bağlantısı sayısı, maksimum sayıdan farklı olabilir tarafından desteklenen radyolar bile olabilir. Şekil 2'deki örnekte maksimum SO bağlantı sayısı 2'dir.

Aşağıdaki AIDL HAL arayüzleri maksimum STR bağlantı sayısını destekler ve maksimum ilişkilendirme bağlantı sayısı özelliği sayısı:

Birden çok bağlantı, çekişme şemasını kullanarak tek bir radyoda çalışabilir. Geliştirilmiş Çoklu Bağlantı Tek Radyosu (eMLSR). Birden çok bağlantılı cihaz, belirli temel kontrol çerçevelerini alabiliyor ve geçiş gerçekleştirebiliyorsa, kanal değerlendirmesini (CCA) aynı anda yapabilirsiniz. Ancak MLD yalnızca tek bir bağlantı (seçilen bağlantı) üzerinden veri aktarır veya alır her aktarma fırsatı (TXOP) döneminde dinamik olarak güncellenir.

Bir MLD istasyonunun daha iyi performans göstermesi için ilişkilendirme bağlantılarının sayısını artırmak güvenilirlik, daha iyi işleme hızı ve daha düşük gecikme (tek bir bağlantıyla karşılaştırıldığında) eski istasyon) aynı anda STR ve eMLSR'de çalışarak çiplerini kullanabilirsiniz. Şekil 2'de, maksimum ilişkilendirme bağlantı sayısı 3'tür.

Aşağıdaki AIDL HAL arayüzleri maksimum ilişkilendirme bağlantı sayısını destekler olanak:

Eş zamanlı bant kombinasyonları

Çerçeve, izin verilen radyo kombinasyonlarını almak için çipi sorgular ( IWifiChip.aidl AIDL arayüzü) çalışır. Bundan çerçeve, olası eş zamanlı bant kombinasyonlarını türetir. İlgili içeriği oluşturmak için kullanılan Aşağıda, eşzamanlı bant kombinasyonlarının (GHz) örnek bir listesi bulunmaktadır:

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

Aşağıdaki AIDL HAL arayüzü, eş zamanlı radyo kombinasyonlarını destekler:

Ağ seçimi

Ağ seçimi (MLO) sırasında, aday listesi aynı MLD MAC adresi. Tahmin edilen maksimum çoklu bağlantı işleme hızı puanı: maksimum STR bağlantı sayısı ve eş zamanlı olarak her grup için hesaplanır çip tarafından desteklenen bant kombinasyonları. Aday birden çok bağlantı özelliğini kullanabiliyorsa ve çip STR'yi destekliyorsa tahmin edilen işleme hızı puanı çok bağlantılı tahmini işleme hızı puanı. Bu da MLO adaylarını güçlendiriyor dikkat edin.

Çerçeve, bir AP-MLD ağına katılırken SSID seçimini temel olarak gerçekleştirir. tedarikçi tarafından bildirilen ScanResults nesnesine alınan bilgilere göre daha fazla bilgi edineceksiniz. Çerçeve tarafından SSID seçildikten sonra tedarikçi yazılımı için kullanılacak en iyi erişim noktası (veya erişim noktası bağlantısı) için BSSID'yi seçmekten sorumludur ilişkilendirmesine yardımcı olur.

Cihaz STA MAC adresi işleme

Bu bölümde, cihazın STA MAC adreslerinin (MLD MAC adresleri) nasıl ve bağlantı başına STA MAC adresleri) işlenir.

MLD MAC adresi

Wi-Fi çerçevesi, cihazın MLD MAC adresini yönetir. MLD MAC adresi, MLD olmayan bir cihazın kendi MAC adresiyle aynı şekilde ele alınır. MAC adresi, rastgele bir MAC adresi veya donanım tarafından sağlanan bir MAC adresi olabilir. kullanıcının seçimine bağlı olarak bir veya daha fazla MLD MAC adresi çerçeve tarafından ayarlanır (IWifiStaIface#setMacAddress() HAL API'sini kullanabilirsiniz).

Tedarikçi yazılımı, örneğin STA MAC adreslerini yönetir (her bağlantı için). Bir bir erişim noktası ile ilişkilendirilmişse satıcı yazılımı bir örnek MAC atar adresini kullanabilirsiniz.

Tedarikçi firma yazılımı, algoritmasına göre bağlantı başına MAC adresleri atar. İlgili içeriği oluşturmak için kullanılan algoritması tekrarlanabilir olmalı ve aşağıdaki işlevlerin bir işlevi olmalıdır:

  • Wi-Fi çerçevesi tarafından belirlenen STA-MLD MAC adresi.
  • Bağlantı kimliği (AP'den alınır)

Bu, çerçeve aynı MLD MAC adresini yeniden kullanması halinde aynı, örnek başına aynı ilişkili MAC adreslerini veya tam tersini yeniden kullanmalıdır. Bu çerçeve tarafından oluşturulan STA-MLD adresinin kullanırsanız STA başına MAC adresleri de kalıcıdır.

Aşağıda, bağlantı başına STA MAC adresi atamasına ilişkin örnek bir algoritma verilmiştir (sağlayıcılar algoritma ölçütlerini karşılayan her algoritmayı uygulayabilir):

  • 0. Ekim: Yerel olarak yönetilen bitin ayarlandığından emin olun
  • 1-4 Ekim: STA-MLD MAC Adresi ile aynı
  • 5 Ekim: STA Başına = (STA-MLD + bağlantı kimliği + 1) MOD (256)

Tedarikçi firma donanım yazılımı, bağlantı geçişi yapabilir ve güç tasarrufu durumunu yönetebilir. Kablosuz bağlantı girişi olmadan etkinleştirme veya devre dışı bırakma bağlantılarına bahsedeceğim.

Bağlantı durumu şu olduğunda kablosuz ağ çerçevesi bildirim almaz: değiştirildi.

Güç tasarrufu durumunun yönetimi

Güç tasarrufu durumu, kablosuz ağ çerçevesinde varsayılan olarak etkindir. güç tasarrufu durumunu, satıcının donanım yazılımının güç tasarrufu durumunu yönetir trafik modellerine ve bağlantı etkinleştirmeye göre tek tek bağlantıların durumu veya devre dışı bırakma kararları.

Ancak Wi-Fi çerçevesi, güç tasarrufu durumunun Google tarafından devre dışı bırakılmasına ISupplicantStaIface::setPowerSave(false) HAL API çağrılıyor. Öğe güç kaydetme durumu çerçeve tarafından devre dışı bırakıldı. Satıcı donanım yazılımının en az bir bağlantı etkin (güç kaydı devre dışı). Bu durumda, donanım yazılımı uygulama, hangi bağlantının ayarlandığını belirler.

Veri yolu

Bu, yukarı bağlantıyı yönetmek için tedarikçinin donanım yazılımı uygulamasını açıklar ve indirme trafiğinden yararlanın.

Donanım yazılımı, dahili bağlantı temel alarak trafiği bir (veya daha fazla) bağlantıya yönlendirir bazı ipuçları vereceğim. Tedarikçi donanım yazılımı yük dengelemenin ne zaman yapılacağına, Trafiğin yinelenme veya trafik kalıplarına göre toplanması. Önerilerimiz: donanım yazılımı aşağıdaki durumlarda birden fazla bağlantıya yineleniyor:

  • Düşük gecikme modu IWifiChip#setLatencyMode() üzerinden ayarlandığında HAL API'sı.
  • Kullanıcı önceliği 6 ve 7 olan trafik olduğunda.

Donanım yazılımı, MAC'nin (hedef) STA MAC adresinin yerini almalıdır MLD-STA MAC ve (kaynak) her-AP MAC ile başlık MAC üstbilgisinin MLD-AP MAC adresiyle aynı adresi. Donanım yazılımı çalışmalıdır aşağıdaki MAC adresi değişikliğini APF filtresinden geçmeden önce APF filtre komutlarında MLD MAC adreslerine dayalı filtreler bulunur. Tek bir AP-MLD'deki tüm bağlantılar için APF filtresi.

Eşzamanlılık

Radyonun yeni bir arayüz için kullanıldığı eşzamanlılık senaryolarında Aynı arayüzdeki bağlantılar için birden fazla radyo atanmasına göre önceliklidir. Eşzamanlılık senaryoları hangi bağlamda gelirse gelsin Çok Dilli Ses'e göre de öncelikli olmalıdır tıklayın. Tek bir arayüz için birden çok bağlantı kullanmak fırsattır. Yani, birden çok bağlantının yalnızca şu durumlarda kullanılmasını sağlayın:

  • Yük dengeleme için donanım yazılımı kararına bağlı olarak MLO gereklidir. veya yinelemeyi ifade eder.
  • MLO kullanılabilir, yani başka bir arayüzde radyo gerekmez.

Android 14 veya sonraki sürümleri çalıştıran cihazlarda Wi-Fi 7 AP, bir İşaretçi, durum kontrolü yanıtı ve yanıt kareleri varsa, Wi-Fi 7 istasyonu bağlantıyı şu şekilde devam eder: oluşturulan geri kalan bağlantıları kullanarak, başka bir işlem gerçekleştirmeden ilişkilendirmesine yardımcı olur.

Android 13 veya önceki sürümleri çalıştıran cihazlarda kablosuz bağlantı çerçeve, bağlantı durumu şu olduğunda bildirim almayı desteklemiyor: İlişkili bağlantı bağlı olmasa bile TID-bağlantı eşleme nedeniyle değişti TID.

Kablosuz ağ tedarikçisi, TID ile bağlantı arasında eşlemenin kablosuz ağ çerçevesini bilgilendirir. aşağıdaki AIDL arayüzleri aracılığıyla yapılan değişikliklerdir:

Uygulamalar, TID-bağlantı eşleme değişiklikleri hakkında bilgi almak için aşağıdaki API'lerden yararlanabilirsiniz:

Android 14 veya sonraki sürümleri çalıştıran cihazlarda: Bu veriler için TID ile bağlantı arasındaki harita görüşmesi özelliklerini istasyon ve erişim noktası.

Çip özelliği

Aşağıdaki arayüzler, TID ile bağlantı arasında eşleme için çip özelliğini destekler. müzakere etme sürecidir.

AIDL HAL'İ

TID ile bağlantı arasında eşleme pazarlığı için AIDL arayüzü FeatureSetMask konumunda hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl içinde. İlgili içeriği oluşturmak için kullanılan T2LM_NEGOTIATION = 1 << 8 özelliği, çipin desteklediğini gösterir TID ile bağlantı arasındaki eşleme. API'ler

Alternatif profil özelliği

Aşağıdaki arayüzler, TID ile bağlantı arasında eşleme için AP özelliğini destekler. müzakere etme sürecidir.

AIDL HAL'İ

Çerçeve, tedarikçiden AP özelliğini yardımcı olabilir.

API'ler

Bağlantı katmanı istatistikleri; RSSI, çeşitli tek bir iletişim yöntemi gibi kablosuz bağlantıya özel bilgileri içerir. ile RX paket sayaçları ve radyo istatistikleri için de geçerlidir. Kablosuz ağ çerçevesi düzenli olarak yoklamalar yapar bağlantı katmanı istatistiklerini ve RSSI'yi kullanarak en iyi ağı seçmek veya kaliteyi değerlendirmek olabilir. Android çalıştıran cihazlar için 14 veya sonraki sürümler, bağlantı katmanı istatistikleri çoklu bağlantı desteği. Android, Wi-Fi 7'yi desteklemek için her iki bağlantı katmanında MLO'yu destekler. sinyal yoklama özelliğini kullanıyor.

Bağlantıya özgü istatistikler, aşağıdaki bağlantı katmanı AIDL arayüzlerinde bulunur:

İlgili içeriği oluşturmak için kullanılan android.net.wifi.WifiManager#addOnWifiUsabilityStatsListener() system API, tüm bağlantı katmanı istatistiklerini dinler. Çerçeve, bir projeyi düzenli olarak bu API'yi kullanarak kablosuz bağlantı kullanılabilirlik istatistiklerini güncelleyin.

Aşağıdaki bağlantıya özel API'ler 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)

Kullanılabilir bağlantı kimliklerini sorgulamak için uygulamalar android.net.wifi.WifiUsabilityStatsEntry#getLinkIds() yöntemidir.

API'ler android.net.wifi.WifiUsabilityStatsEntry tek bağlantı için (MLO değil) MLO bağlantıları için toplu istatistikleri döndürür. İlgili içeriği oluşturmak için kullanılan aşağıdaki gibidir:

  • Aşağıdaki toplu paket istatistiklerinde bağlantı başına istatistiklerin toplamı kullanılır:

    public long getTotalTxSuccess()
    public long getTotalTxRetries()
    public long getTotalTxBad()
    public long getTotalRxSuccess()
    public int getRxLinkSpeedMbps()
    
  • Aşağıdaki istatistiklerde en yüksek RSSI'ya sahip bağlantıdan alınan veriler kullanılmıştır:

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

Android 13 çalıştıran cihazlarda bağlantı katmanı istatistikleri hesaba katılmaz tek bir arayüz için birden fazla bağlantı kullanımı. Çok Dilli Ses'i desteklemek için tedarikçi yazılımı LinkLayerStats bildirirken aşağıdaki toplama mantığını uygulamalıdır IWifi# getLinkLayerStats_1_6() HAL API üzerinden aktarabilirsiniz. En iyi bağlantı en yüksek RSSI'ya sahip bağlantıdır.

  • StaLinkLayerStats.iface.beaconRx: En iyi için işaretçi sayısını raporlayın bağlantısını tıklayın.
  • StaLinkLayerStats.iface.avgRssiMgmt: Şunun için avgRssiMgmt raporu oluşturun: arayüz için kullanılan en iyi bağlantı.
  • StaLinkLayerStats.iface.wmeXxPktStats (Xx = Vo, Vi, Be,Bk): Rapor arayüzün bağlantıları üzerinden toplanan paket istatistikleri (toplam).
  • StaLinkLayerStats.iface.wmeXxContentionTimeStats (Xx = Vo, Vi, Be,Bk): Sitede kullanılan en iyi bağlantının çekişme süresi istatistiklerini raporlayın: arayüzü (en düşük çekişme süresi istatistikleri).

Wi-Fi 7 erişim noktasının bağlantılarından biri yeniden kullanıldığında, erişim noktası MLO bağlantılarının yeniden yapılandırılması yoluyla bağlantının kaldırıldığını duyurabilir. İstasyonlar müşteri tabanında yeniden ilişkilendirme olmadan, söz konusu AP ile bağlantı kaldı.

İlgili içeriği oluşturmak için kullanılan onMloLinksInfoChanged Şu adresteki Kablosuz bağlantı sağlayıcısında bulunan AIDL arayüzü: ISupplicantStaIfaceCallback.aidl, Bağlantı yeniden yapılandırmasını (bağlantının AP'den kaldırılması) desteklemesi.

Kablosuz ağ çerçevesi bir bağlantının kaldırılması işlemini gerçekleştirirken bağlantının durumu ayarlanır. - MLO_LINK_STATE_UNASSOCIATED. Ardından çerçeve, ConnectivityManager.NetworkCallback#onCapabilitiesChanged() tıklayın.

İlgili içeriği oluşturmak için kullanılan WifiInfo#getAffiliatedMloLinks yöntemi, ilişkili MLO Links'i döndürür. İlgili içeriği oluşturmak için kullanılan MloLink#getState yöntemi, bağlantının durumunu döndürür. Bağlantı kaldırılırsa döndürülen bağlantı eyalet MLO_LINK_STATE_UNASSOCIATED.

Çip MLO stratejisi

MLO, cihazların aynı anda birden fazla kablosuz bağlantı üzerinden veri gönderip almasına olanak tanır. Bu da belirli gereksinimleri olan uygulamaların performansını artırabilir düşük gecikme, yüksek bant genişliği ve düşük güç gibi. Çip tedarikçileri, algoritmalarının ve mevcut bağlantıların nasıl kullanılacağını

Ayrıcalıklı uygulamalar bu algoritmaları setMloMode yöntemini Wifimanager içinde değiştirin ve şu modlar:

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

Çerçeve setMloMode IWifiChip AIDL arayüzünde MLO modunu ayarlayın.