Android 12, cihazların iki erişim noktası (AP) arayüzü oluşturmasına olanak tanıyan kablosuz AP/AP eşzamanlılığını kullanıma sunar. Bu özellik, cihazların çift bantlı eşzamanlı (DBS) kablosuz hotspot (yumuşak AP) üzerinden tethering'i desteklemesine olanak tanır. Tek bir kablosuz hotspot üzerinden tethering desteği hakkında ayrıntılı bilgi için Kablosuz Hotspot (Yumuşak AP) Desteği başlıklı makaleyi inceleyin.
Bu sayfada, bu özellik etkinleştirildiğinde cihazın davranışı ve cihaz üreticileri ile tedarikçiler için uygulama ayrıntıları açıklanmaktadır.
İşleyiş şekli
Kablosuz AP/AP eşzamanlılığı desteklendiğinde cihaz iki AP arayüzü oluşturabilir.Örneğin, 2,4 GHz bandında çalışan bir arayüz ve 5 GHz bandında çalışan bir arayüz. İstemciler daha sonra AP arayüzlerinin her birine bağlanabilir.
Kablosuz HAL, iki AP arayüzüyle tek bir köprülenmiş arayüz oluşturur ve yığın yumuşak AP'yi etkinleştirdiğinde bu arayüzü kablosuz ağa ve bağlantı yığınına gösterir. Sanal AP etkinleştirildikten sonra kablosuz HAL, iki arayüzün kullanılabilir olduğunu belirtir ve her AP'nin bilgilerini (ör. çalışma kanalı, bant genişliği ve BSSID) günceller.
Çerçeve, güç tasarrufu yapmak için kullanılmayan bir AP'yi (2, 4 GHz, 5 GHz veya 6 GHz) belirli bir süre boyunca kullanılmadığında devre dışı bırakır. Çerçeve, hiçbir istemci bağlı olmadığında bir AP'yi etkin değil olarak kabul eder. Cihaz üreticileri bu etkin olmayan dönemin uzunluğunu özelleştirebilir. Daha fazla bilgi için Etkin olmama süresini özelleştirme başlıklı makaleyi inceleyin.
Cihazlar, aşağıdaki köprülenmiş yumuşak AP yapılandırmalarından birini kullanarak kablosuz AP/AP eşzamanlılığını destekler:
- İki bandı yapılandırma (kanal, çerçeve veya sürücü tarafından otomatik olarak seçilir)
- İki kanallı bir AP'de iki kanalı yapılandırma
Şartlar
Kablosuz AP/AP eşzamanlılığını uygulamak için cihazların aşağıdaki koşulları karşılaması gerekir:
Kablosuz yonga veya donanım yazılımı, aynı anda iki AP bağlantısını desteklemelidir. Donanım yazılımı, her iki bağlantı için de tüm kanal ve bant kombinasyonlarını desteklemelidir. Performans sorunlarını önlemek için 2x2+2x2 DBS özellikli bir kablosuz ağ çipi kullanmanızı öneririz.
Cihaz, kablosuz satıcı HAL'sinde aşağıdaki yöntemleri desteklemelidir:
IWifiChip.createBridgedApIface()
IWifiChip.removeIfaceInstanceFromBridgedApIface()
IWifiApIface.resetToFactoryMacAddress()
IWifiApIface.getBridgedInstances()
Uygulama
Kablosuz AP/AP eşzamanlılığını uygulamak için aşağıdakileri yapın:
Çalışma zamanında kaynak yer paylaşımlarını kullanarak aşağıdaki işlevlerden en az birini (varsayılan olarak devre dışıdır) etkinleştirin:
config_wifiBridgedSoftApSupported
: Birbirine köprülenmiş birden fazla AP'yi destekler.config_wifiStaWithBridgedSoftApConcurrencySupported
: Bir istasyonun (STA) ve birden fazla köprülenmiş AP'nin eşzamanlılığını destekler.
AIDL kablosuz HAL veya HIDL kablosuz HAL 1.6 kullanan cihazlarda, kablosuz HAL arayüzü kombinasyonunda
AP_BRIDGED
değerini tanımlayın. Daha fazla bilgi için Kablosuz çoklu arayüz eşzamanlılığı başlıklı makaleyi inceleyin.Aşağıdaki yöntemlerden birini çağırarak köprülenmiş yumuşak AP yapılandırmasını yapılandırın:
WifiManager#registerSoftApCallback
kullanarak cihaz özelliklerini almak için geri çağırma işlevi kaydedin.SoftApCallback
geri çağırma işlevi, köprülenmiş yumuşak AP yapılandırması için aşağıdaki yöntemleri sağlar:SoftApCallback#onInfoChanged
: Çalışır durumdaki sanal AP örnekleri hakkında bilgi sağlar.SoftApCallback#onConnectedClientsChanged
: Yazılı AP örneği için bağlı istemcilerin listesini sağlar.
İşlemsizlik süresini özelleştirme
Etkin olmama süresinin uzunluğunu özelleştirmek için packages/modules/Wifi/service/ServiceWifiResources/res/values/config.xml
bölümünde bulunan aşağıdaki yer paylaşımını yapılandırın:
config_wifiFrameworkSoftApShutDownIdleInstanceInBridgedModeTimeoutMillisecond
: Varsayılan kapatma zaman aşımı aralığı. YalnızcaSoftApConfiguration#setBridgedModeOpportunisticShutdownEnabled
etkinse geçerlidir.(13 sürümünden itibaren kullanılabilir)
config_wifiFrameworkSoftApDisableBridgedModeShutdownIdleInstanceWhenCharging
: Şarj olurken kullanılmadığında kapanma zamanlayıcısının devre dışı bırakılıp bırakılmayacağını belirtir.