Kablosuz 7

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

Temel Wi-Fi 7 özellikleri

Bu bölümde Android 13 ve sonraki sürümlerde bulunan temel Wi-Fi 7 özellikleri açıklanmaktadır.

Cihaz Wi-Fi 7 desteği

Android çerçevesi, bir cihazın Wi-Fi 7'yi destekleyip desteklemediğini kontrol etmek için uygulamaların ScanResults.WIFI_STANDARD_11BE bağımsız değişkeniyle çağırabileceği WifiManager#isWifiStandardSupported(int standard) API'sini içerir.

Bu API çağrıldığında Wi-Fi modülü , config_wifi11beSupportOverride yapılandırma katmanının geçersiz kılma olarak kullanılıp kullanılmadığını kontrol eder ve aşağıdakileri yapar:

  • Yer paylaşımı true olarak ayarlanırsa nl80211'den gelen yanıta bakılmaksızın cihazın Wi-Fi 7'yi desteklediği varsayılır. Bu geçersiz kılma yalnızca Wi-Fi 7 desteğini döndüren sürücülere sahip olmayan cihaz üreticileri için kullanışlıdır.
  • Yer paylaşımı false (varsayılan değer) olarak ayarlanmışsa Wi-Fi modülü nl80211'deki bilgileri kullanır. Wi-Fi modülü, nl80211 komutunu NL80211_CMD_GET_WIPHY çağıran wificond'dan bilgi ister. Sürücünün yanıtında NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY özelliği varsa cihazın Wi-Fi 7'yi desteklediği varsayılır.

Taranan AP Wi-Fi 7 desteği

Android çerçevesi, uygulamaların taranan bir erişim noktasının (AP) Wi-Fi 7'yi destekleyip desteklemediğini kontrol etmek için arayabileceği int ScanResult#getWifiStandard() API'sini içerir. AP, Wi-FI 7'yi destekliyorsa API, ScanResults.WIFI_STANDARD_11BE değerini döndürür. Uygulamaların bu API'yi kullanması için cihazın Wi-Fi 7'yi desteklemesi gerekli değildir.

Bu API çağrıldığında Wi-Fi modülü, bağlantı taramasının döndürülen sonuçlarında EHT Capability IE olup olmadığını kontrol eder. Tarama sonuçlarında EHT Capability IE varsa, taranan AP Wi-Fi 7'yi destekler. AOSP WifiTracker sınıfı, ayrıntılı modda çalışırken bu destek bilgilerini kullanıcı arayüzünde görüntüler.

STA bağlantı modu

Android çerçevesi, uygulamaların geçerli istasyon (STA) bağlantı modunun Wi-Fi 7 olup olmadığını kontrol etmek için arayabileceği int WifiInfo#getWifiStandard() API'sini içerir. Hem cihaz hem de bağlı olduğunda STA bağlantı modu Wi-Fi 7'dir. AP, Wi-Fi 7'yi destekler. Bağlantı modu Wi-Fi 7 ise API, ScanResults.WIFI_STANDARD_11BE değerini döndürür.

getWifiStandard çağrıldığında Wi-Fi modülü, ISupplicantStaIface#getConnectionCapabilities() HAL API'sini çağırarak modu belirler. Bu HAL API'sinin wpa_supplicant AIDL katmanında uygulanması, bağlantı kurulumu sırasında EHT Capability IE hem AssocReq hem de AssocRsp olup olmadığını kontrol eder.

Ağ seçimi

Android 13'te ağ seçimi, hangi AP'ye bağlanılacağını belirlemek için çeşitli parametreler kullanır. Parametrelerden biri, ThroughputPredictor bloğu kullanılarak tahmin edilen AP'nin tahmini verimidir. ThroughputPredictor bloğu hem cihazın hem de taranan AP'nin PHY parametrelerini kullanır.

Android 13'te ThroughputPredictor , hesaplamasında aşağıdaki AP yeteneklerini kullanır:

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

Bu yeteneklerin ThroughputPredictor mantığına dahil edilmesi, cihazın bu özelliklerden yararlanabildiği durumlarda Wi-Fi 7 özellikli AP'leri seçme şansını artırır.

Wi-Fi RTT tabanlı menzil

Android, EHT başlangıcı için API desteği ve Wi-Fi RTT için 320 MHz kanal genişliği sağlar. Bu, çip tarafından desteklendiğinde RTT aralığında Wi-Fi 7 ile ilgili özelliklerin desteklenmesini sağlar.

HAL API'leri

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

API'ler

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

Yumuşak AP

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

Soft AP'yi başlatın

Android, Soft AP'nin Wi-Fi 7 modunda başlatılmasını destekler. Bu, config_wifiSoftapIeee80211beSupported yer paylaşımı yapılandırması tarafından yönetilir.

Wi-Fi modülü, IHostApd#addAccessPoint() API çağrısında boolean HwModeParams#enable80211BE ayarlamak için config_wifiSoftapIeee80211beSupported kaplamasını kullanır. Hostapd AIDL katmanında bu değer, hostapd.conf parametrelerini ayarlamak için kullanılır.

HAL API'leri

Hostapd HAL'deki HwModeParams enable80211BE boolean'ı, Soft AP'nin Wi-Fi 7 modunda başlatılmasını destekler.

Soft AP bilgilerini bildirme

Android, bildirilen Soft AP bilgilerine Wi-Fi 7 ve 320 MHz kanal genişliği bilgilerini dahil etmek için API desteği içerir.

HAL API'leri

IHostapdCallback#onApInstanceInfoChanged() geri çağrısında bildirilen ApInfo kullanılan, hostapd HAL'deki Generation.aidl AIDL arayüzündeki WIFI_STANDARD_11BE sabiti, Soft AP bilgilerinin raporlanmasını destekler.

API'ler

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

MLO Wi-Fi 7 özellikleri

Çoklu bağlantı işlemi (MLO), Wi-Fi 7 (802.11be) spesifikasyonundaki ana özelliktir. MLO, Wi-Fi 7'de eş zamanlı veya eş zamanlı olmayan şekilde çalışan çoklu bağlantı cihazları (MLD) için zorunlu bir özelliktir.

MLO diyagramı

Şekil 1. MLO diyagramı.

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

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 tarafından duyurulan bağlantı kimliği.
  • MacAddress getApMacAddress() : AP MAC adresi. Bu bağlantı için AP örneğinin BSSID'si.
  • MacAddress getStaMacAddress() : STA MAC adresi. Bağlantıdaki STA örneği için yerel olarak atanan MAC adresi.
  • int getChannel() : Bağlantı kanalı. Bağlantının kanal numarası.
  • int getBand() : Bağlantı bandı. Bağlantının grubu.
  • int getState() : Bağlantı durumu. Aşağıdaki durumlardan biri olabilir:

    • MLO_LINK_STATE_INVALID : Geçersiz. Başlatma ve hata durumları için kullanılır.
    • MLO_LINK_STATE_UNASSOCIATED : İlişkilendirilmemiş. Bağlantı bir AP ile ilişkili değil.
    • MLO_LINK_STATE_IDLE : Boşta. Bağlantı ilişkilidir ancak etkin değildir (bağlantıya hiçbir trafik tanımlayıcısı (TID) eşlenmemiştir).
    • MLO_LINK_STATE_ACTIVE : Etkin. Bağlantı ilişkilendirilmiştir ve etkindir (bağlantıya en az bir TID eşlenmiştir). Etkin bir bağlantı, çerçevenin bağlantının güç durumunu izlememesi nedeniyle güç tasarrufu modunda olabilir.

Taranan Wi-Fi 7 AP MLO bilgileri

Wi-Fi modülü AP-MLD'den bir ScanResult nesnesi aldığında uygulamalar bir Wi-Fi 7 AP MLD'ye ilişkin MLO parametrelerini alabilir. AOSP WifiTracker ayrıntılı modda çalışırken MLO parametrelerini görüntüler.

Wi-Fi modülü aşağıdakileri yaparak MLO bilgilerini toplar:

  • AP MLD MAC adresini ve mevcut bağlantı kimliğini okumak için işaret veya prob yanıtında yer alan çoklu bağlantı bilgi öğesini (IE) ayrıştırır.
  • Bağlı bağlantı bilgilerinin listesini okumak için işaret veya araştırma yanıtında yer alan azaltılmış komşu raporu (RNR) IE'yi ayrıştırır.

API'ler

Taranan AP MLO bilgilerini almak için uygulamalar aşağıdaki API'leri kullanabilir:

Bağlı Wi-Fi 7 AP MLO bilgileri

Bir cihaz bir Wi-Fi 7 AP-MLD'ye bağlandığında çerçeve, bağlantının MLO parametrelerini WifiInfo nesnesinden toplar. AOSP WifiTracker nesnesi ayrıntılı modda çalışırken bu bilgiyi görüntüler.

Cihaz AP-MLD'ye bağlandığında, Wi-Fi modülü MLO bilgilerini AP'den alınan ScanResult nesnesinden kopyalar. Modül daha sonra hem AP hem de STA için her bağlantının MAC adreslerini okumak ve ilgili bağlantıların durumunu güncellemek için ISupplicantStaIface#getConnectionMloLinksInfo() HAL API'sini çağırır.

API'ler

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

AP-MLD taraması

Satıcı yazılımı, Wi-Fi çerçevesine aldığı her işaret veya prob yanıtı için tarama sonuçlarını sağlar. Bu, Wi-Fi çerçevesinin şu anlama geldiği anlamına gelir:

  • Aynı AP-MLD'den birden fazla ScanResults nesnesi alınabilir (çünkü AP birden fazla işaret bağlantısına sahip olabilir).
  • Bu bağlantı sinyallerinden bazıları ürün yazılımı tarafından alınamayabileceğinden, bir AP-MLD'nin AP bağlantıları için tarama sonuçlarının yalnızca kısmi bir kümesini alabilir.

Satıcı yazılımı yalnızca kablosuz olarak alınan tarama sonuçlarını raporlar ve AP-MLD tarafından reklamı yapılan bağlantılara dayalı olarak tarama sonuçları oluşturmamalıdır (yapay olarak sentezlememelidir).

Satıcı yazılımı, raporlanan tarama sonuçlarına AP örneklerinden alınan temel değişken çoklu bağlantı ve RNR IE'leri dahil etmelidir. Tarama sonuçlarında bağlı AP ayrıntıları eksikse satıcı yazılımı, yeteneklerin, parametrelerin ve operasyon öğelerinin tamamını veya bir kısmını dahil etmek için çoklu bağlantı araştırma istekleri (bir araştırma İsteği çoklu bağlantı öğesi içeren araştırma istek çerçevesi) gönderebilir Yanıt çerçevesinde hedeflenen AP-MLD ile AP'nin.

Satıcı yazılımı gerekirse ML incelemeyi tetikleyebilir (arama istek çerçevesindeki araştırma istek değişkeni ML IE'yi kullanarak).

AP-MLD ağ ilişkisi

Bir cihaz bir AP-MLD ağına katıldığında satıcı yazılımı, sinyalleşme için seçilen AP bağlantısını (ilişkili bağlantı) kullanır. Satıcı yazılımı, cihaz tarafından desteklenen bağlantıların tümü veya bir kısmı ile ilişkilendirilebilir.

Başarılı bir ilişkilendirme sonrasında sürücü, AP-MLD için bir bağlantının BSSID'si ile ISupplicantStaIfaceCallback#onStateChanged() ı bildirir. Sürücü daha sonra tarama sonuçlarının bu bağlantı için çerçeveye bildirilmesi koşuluyla AP-MLD'nin bir bağlantısını seçer.

Ağ puanlaması

Android 14 veya üstünü çalıştıran cihazlar için Android Wi-Fi Ağı Seçimi , Wi-Fi 7 MLO'yu destekler. Bu, Android'in MLO için mevcut bağlantı sayısına göre cihaz için en iyi Wi-Fi ağını seçtiği anlamına gelir.

Ağ seçim algoritması, MLO'yu desteklemek için Wi-Fi yongasının aşağıdaki MLO yeteneklerini kullanır:

  • 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ı gönderme ve alma (STR), çoklu bağlantı işlemine yönelik bir Wi-Fi ortamı çekişme şemasıdır. Farklı bağlantılar arasındaki sinyal izolasyonu, bağlantıların bağımsız olarak çalışabilmesi ve farklı bağlantılarda aynı anda iletim ve alım yapabilmesi için yeterlidir. STR, eski tek bağlantılı (SL) STA'dan ve eski çift bantlı çift eşzamanlı (DBDC) STA'dan farklıdır. Bir STA MLD'ye bağlı STA'lar, birden fazla bağlantı iletiminin aynı erişim kategorisine (AC) sahip olması durumunda, ortak bir verici sıra numarasını (SN) ve farklı bağlantılara tahsis edilen veri iletimi için ortak bir alanı paylaşır.

Kullanılan maksimum STR bağlantısı sayısı, çip tarafından desteklenen maksimum radyo sayısından farklı olabilir. Şekil 2'deki örnekte maksimum STR bağlantı sayısı 2'dir.

Aşağıdaki AIDL HAL arayüzleri, maksimum STR bağlantı sayısını ve maksimum sayıda ilişkilendirme bağlantısı sayımı yeteneklerini destekler:

Gelişmiş Çoklu Bağlantı Tek Radyo (eMLSR) çekişme şemasını kullanarak birden fazla bağlantı tek bir radyoda çalışabilir. Çok bağlantılı bir cihaz, belirli temel kontrol çerçevelerini alabiliyor ve bağlantı kümesi üzerinde eş zamanlı olarak net kanal değerlendirmesi (CCA) gerçekleştirebiliyorsa, bir dizi bağlantı üzerinden eMLSR'yi kullanır. Bununla birlikte, MLD aynı anda yalnızca bir bağlantı (her iletim fırsatı (TXOP) döneminde dinamik olarak seçilen bağlantı) üzerinden veri iletir veya alır.

Bir MLD istasyonu, çip tarafından destekleniyorsa STR ve eMLSR'de eşzamanlı olarak çalışarak daha iyi güvenilirlik, daha iyi verim ve daha düşük gecikme süresi (tek bağlantılı eski istasyonla karşılaştırıldığında) için ilişkilendirme bağlantılarının sayısını en üst düzeye çıkarabilir. Ş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ımı özelliğini destekler:

Eş zamanlı bant kombinasyonları

Çerçeve, aynı anda çalışabilen izin verilen radyo kombinasyonlarını ( IWifiChip.aidl AIDL arayüzü aracılığıyla) elde etmek için çipi sorgular. Bu bilgiden, çerçeve olası eş zamanlı bant kombinasyonlarını türetmektedir. Aşağıda eşzamanlı bant kombinasyonlarının (GHz) örnek bir listesi verilmiştir:

  • 2.4
  • 5
  • 6
  • 2,4x5
  • 2,4x6
  • 5x6

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 adresine sahip üyelere göre gruplandırılır. Tahmin edilen maksimum çoklu bağlantı çıkış puanı, maksimum STR bağlantı sayısına ve çip tarafından desteklenen eşzamanlı bant kombinasyonlarına dayalı olarak her grup için hesaplanır. Aday çoklu bağlantı yeteneğine sahipse ve çip STR'yi destekliyorsa, tahmin edilen üretim puanı, çoklu bağlantıya dayalı üretim puanıyla değiştirilir. Bu, ağ seçimi sırasında MLO adaylarına destek sağlar.

Bir AP-MLD ağına katılırken çerçeve, satıcı yazılımı tarafından bildirilen ScanResults nesnesinde alınan bilgilere dayanarak SSID seçimini gerçekleştirir. Çerçeve tarafından SSID seçimi üzerine satıcı yazılımı, ilişkilendirme için kullanılacak en iyi AP'nin (veya AP bağlantısının) BSSID'sini seçmekten sorumludur.

Cihaz STA MAC adresi yönetimi

Bu bölümde cihazın STA MAC adreslerinin (MLD MAC adresleri ve bağlantı başına STA MAC adresleri) nasıl işlendiği açıklanmaktadır.

MLD MAC adresi

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

Satıcı yazılımı, örnek STA MAC adreslerini (her bağlantı için) yönetir. Bir cihaz bir AP ile ilişkilendirdiğinde satıcı yazılımı, ilişkili her bağlantı için bir örnek MAC adresi atar.

Satıcı yazılımı, algoritmasına dayalı olarak bağlantı başına MAC adresleri atar. Algoritma tekrarlanabilir olmalı ve aşağıdakilerin bir fonksiyonu olmalıdır:

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

Bu, çerçevenin aynı MLD MAC adresini yeniden kullanması durumunda satıcının aynı ilişkili örnek başına MAC adreslerini yeniden kullanması gerektiği anlamına gelir; bunun tersi de geçerlidir. Bu, çerçeve tarafından oluşturulan STA-MLD adresinin bir SSID için kalıcı olması durumunda, STA başına MAC adreslerinin de kalıcı olmasını garanti eder.

Aşağıda, bağlantı başına STA MAC adresi ataması için örnek bir algoritma verilmiştir (satıcılar, algoritma kriterlerini karşılayan herhangi bir algoritmayı uygulayabilir):

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

Satıcının ürün yazılımı, Wi-Fi çerçevesinden giriş olmadan bağlantı değiştirme işlemini gerçekleştirebilir ve etkinleştirme veya devre dışı bırakma için bağlantıların güç tasarrufu durumunu yönetebilir.

Wi-Fi çerçevesi, bağlantı durumu değiştirildiğinde bir bildirim beklemez.

Güç tasarrufu durumunun yönetimi

Güç tasarrufu durumu, Wi-Fi çerçevesinde varsayılan olarak etkindir. Güç tasarrufu durumunda satıcı ürün yazılımı, trafik modellerine ve bağlantı etkinleştirme veya devre dışı bırakma kararlarına dayalı olarak ayrı bağlantıların güç tasarrufu durumunu yönetir.

Ancak Wi-Fi çerçevesi, ISupplicantStaIface::setPowerSave(false) HAL API'sini çağırarak güç tasarrufu durumunu devre dışı bırakmaya zorlayabilir. Güç tasarrufu durumu çerçeve tarafından devre dışı bırakılırsa satıcı ürün yazılımının en az bir bağlantıyı aktif tutması gerekir (güç tasarrufu devre dışı). Bu durumda, bellenim uygulaması hangi bağlantının ayarlanacağına karar verir.

Veri yolu

Bu, yukarı bağlantı ve indirme trafiğini yönetmek için satıcının ürün yazılımı uygulamasını açıklar.

Ürün yazılımı, dahili uygulamasına bağlı olarak yukarı bağlantı trafiğini bir (veya daha fazla) bağlantıya yönlendirir. Satıcı ürün yazılımı, trafik modellerine göre trafiğin yük dengelemesinin, çoğaltılmasının veya toplanmasının ne zaman yapılacağına karar verir. Aşağıdaki durumlarda ürün yazılımı trafiğinin birden çok bağlantıya kopyalanmasını öneririz:

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

Ürün yazılımı, MAC başlığının (hedef) STA başına MAC adresini MLD-STA MAC ile ve MAC başlığının (kaynak) AP başına MAC adresini MLD-AP MAC adresiyle değiştirmelidir. APF filtre komutlarının MLD MAC adreslerini temel alan filtreleri olduğundan, ürün yazılımının APF filtresinden geçmeden önce bu MAC adresi değişimini gerçekleştirmesi gerekir. Bir AP-MLD'nin tüm bağlantıları için tek bir APF filtresi vardır.

Eşzamanlılık

Yeni bir arayüz için bir radyonun kullanıldığı eşzamanlılık senaryoları, aynı arayüzün bağlantıları için birden fazla radyonun tahsis edilmesine göre önceliğe sahip olmalıdır. Eşzamanlılık senaryoları, hangisi önce gelirse gelsin MLO'ya göre öncelikli olmalıdır. Tek bir arayüz için birden fazla bağlantı kullanmak fırsatçılıktır; bu, birden fazla bağlantının yalnızca aşağıdaki durumlarda kullanıldığı anlamına gelir:

  • Yük dengeleme, toplama veya çoğaltma için ürün yazılımı kararına bağlı olarak MLO gereklidir .
  • MLO mevcuttur , yani başka bir arayüz için radyoya gerek yoktur.

Android 14 veya üstünü çalıştıran cihazlar için, Wi-Fi 7 AP, işaret, prob yanıtı ve ilişkilendirme yanıt çerçevelerinde iletilen bir TID-bağlantı eşleme öğesi aracılığıyla bağlantılardan birinin geçici olarak devre dışı bırakıldığını duyurduğunda, Wi-Fi 7 istasyon, başka bir ilişkilendirme gerçekleştirmeden, kurulan kalan bağlantıları kullanarak AP ile bağlantıyı sürdürür.

Android 13 veya daha düşük sürümleri çalıştıran cihazlarda Wi-Fi çerçevesi, ilgili bağlantı bir TID'ye bağlı olmasa bile TID-bağlantı eşlemesi nedeniyle bağlantı durumu değiştiğinde bildirim almayı desteklemez.

Wi-Fi talep sahibi, aşağıdaki AIDL arayüzleri aracılığıyla TID-bağlantı eşleme değişikliklerini Wi-Fi çerçevesine bildirir:

Uygulamalar, aşağıdaki API'leri kullanarak TID-bağlantı eşleme değişiklikleri hakkında bilgi alabilir:

Android 14 veya üstünü çalıştıran cihazlarda, istasyon ve AP için TID'den bağlantıya harita anlaşması yeteneklerini elde etmek amacıyla aşağıdaki API'ler mevcuttur.

Çip yeteneği

Aşağıdaki arayüzler TID-bağlantı eşleme anlaşması için çip özelliğini destekler.

AIDL HAL

TID-bağlantı eşleme anlaşması için AIDL arayüzü hardware/interfaces/wifi/aidl/android/hardware/wifi/IWifiChip.aidl adresindekiFeatureSetMask'ta FeatureSetMask . T2LM_NEGOTIATION = 1 << 8 yeteneği, çipin TID-bağlantı eşlemesini desteklediğini gösterir. API'ler

Erişim noktası yeteneği

Aşağıdaki arayüzler TID-bağlantı eşleme anlaşması için AP özelliğini destekler.

AIDL HAL

Çerçeve, istekte bulunanın AP yeteneğini mevcut bağlantı yeteneğiyle birlikte sorgular.

API'ler

Bağlantı katmanı istatistikleri, RSSI, çeşitli TX ve RX paket sayaçları ve radyo istatistikleri gibi Wi-Fi bağlantısına özgü ayrıntıları içerir. Wi-Fi çerçevesi, en iyi ağı seçmek veya bağlı ağın kalitesini değerlendirmek için periyodik olarak bağlantı katmanı istatistiklerini ve RSSI'yi yoklar. Android 14 veya üstünü çalıştıran cihazlar için bağlantı katmanı istatistikleri çoklu bağlantı desteğini içerir. Wi-Fi 7'yi desteklemek için Android, hem bağlantı katmanı istatistiklerinde hem de sinyal yoklamada MLO'yu destekler.

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

android.net.wifi.WifiManager#addOnWifiUsabilityStatsListener() sistem API'si tüm bağlantı katmanı istatistiklerini dinler. Çerçeve, Wi-Fi kullanılabilirlik istatistiklerini güncellemek için periyodik olarak bu API'yi çağırır.

Aşağıdaki bağlantıya özgü API'ler android.net.wifi.WifiUsabilityStatsEntry mevcuttur.

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öntemini çağırabilir.

Tek bağlantı için (MLO değil) android.net.wifi.WifiUsabilityStatsEntry API'ler, MLO bağlantıları için toplu istatistikleri döndürür. Toplama kriterleri aşağıdadır:

  • Aşağıdaki toplu paket istatistikleri, bağlantı başına istatistiklerin toplamını kullanır:

    public long getTotalTxSuccess()
    public long getTotalTxRetries()
    public long getTotalTxBad()
    public long getTotalRxSuccess()
    public int getRxLinkSpeedMbps()
    
  • Aşağıdaki istatistikler, en yüksek RSSI'ye sahip bağlantıdaki verileri kullanı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, tek bir arayüz için birden fazla bağlantının kullanımını hesaba katmaz. MLO'yu desteklemek için satıcı yazılımının, LinkLayerStats IWifi# getLinkLayerStats_1_6() HAL API'si aracılığıyla bildirirken aşağıdaki toplama mantığını uygulaması gerekir. En iyi bağlantı, en yüksek RSSI'ye sahip olan bağlantıdır.

  • StaLinkLayerStats.iface.beaconRx : Arayüz için kullanılan en iyi bağlantının işaret sayısını bildirin.
  • StaLinkLayerStats.iface.avgRssiMgmt : Arayüz için kullanılan en iyi bağlantı için avgRssiMgmt rapor edin.
  • StaLinkLayerStats.iface.wmeXxPktStats (Xx = Vo, Vi, Be,Bk): Arayüz bağlantıları üzerinden toplu paket istatistiklerini (toplam) raporlayın.
  • StaLinkLayerStats.iface.wmeXxContentionTimeStats (Xx = Vo, Vi, Be,Bk): Arayüzde kullanılan en iyi bağlantı için çekişme süresi istatistiklerini rapor edin (en düşük çekişme süresi istatistikleri).

Wi-Fi 7 erişim noktasının bağlantılarından biri başka bir amaca uygun hale getirildiğinde AP, MLO bağlantısının yeniden yapılandırılması yoluyla bağlantının kaldırıldığını duyurabilir. İstasyonlar, kalan bağlantılarda yeniden ilişkilendirme olmadan AP ile kesintisiz bağlantıyı sürdürebilir.

ISupplicantStaIfaceCallback.aidl adresindeki Wi-Fi sağlayıcısında bulunan onMloLinksInfoChanged AIDL arayüzü, bağlantının yeniden yapılandırılmasını destekler (bağlantının AP tarafından kaldırılması).

Wi-Fi çerçevesi bir bağlantının kaldırılmasını işlediğinde bağlantı durumu MLO_LINK_STATE_UNASSOCIATED olarak ayarlanır. Çerçeve daha sonra bir bağlantı durumu değişikliği için ConnectivityManager.NetworkCallback#onCapabilitiesChanged() öğesini tetikler.

WifiInfo#getAffiliatedMloLinks yöntemi, bağlı MLO Bağlantılarını döndürür. 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ı durumu MLO_LINK_STATE_UNASSOCIATED olur.

Çip MLO stratejisi

MLO, cihazların aynı anda birden fazla Wi-Fi bağlantısı üzerinden veri gönderip almasına olanak tanır; bu da düşük gecikme, yüksek bant genişliği ve düşük güç gibi belirli gereksinimlere sahip uygulamaların performansını artırabilir. Chip satıcıları mevcut bağlantıların nasıl kullanılacağına dair algoritmalar geliştirebilirler.

Ayrıcalıklı uygulamalar, Wifimanager setMloMode yöntemini kullanarak bu algoritmaları değiştirebilir ve aşağıdaki modları ayarlayabilir:

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

Çerçeve, MLO modunu ayarlamak için IWifiChip AIDL arayüzünde setMloMode kullanır.