Wi-Fi Direct

Tujuan Wi-Fi Langsung Wi-Fi P2P, yang memungkinkan perangkat pendukung untuk menemukan dan terhubung satu sama lain secara langsung menggunakan protokol Wi-Fi Langsung tanpa akses internet atau jaringan seluler. Ini yang dibuat berdasarkan Wi-Fi Alliance (WFA) Spesifikasi Wi-Fi Langsung memungkinkan berbagi data dengan throughput tinggi perangkat dan aplikasi tepercaya yang berada di luar jaringan.

Contoh dan sumber

Untuk menggunakan fitur ini, produsen perangkat harus menerapkan Wi-Fi Antarmuka HAL Vendor dan Supplicant.

Di Android 13, antarmuka Supplicant menggunakan AIDL untuk definisi HAL. Di beberapa Android 14 dan yang lebih tinggi, antarmuka Vendor HAL menggunakan AIDL. Di Android 12 dan yang lebih rendah, pemohon dan Antarmuka HAL vendor ditentukan menggunakan HIDL.

Permukaan Wi-Fi HAL berikut diperlukan untuk menggunakan jaringan Wi-Fi Langsung fitur:

  • hardware/interfaces/wifi/aidl atau, hardware/interfaces/wifi/1.3 atau lebih tinggi
  • hardware/interfaces/wifi/supplicant/aidl atau, hardware/interfaces/wifi/supplicant/1.2 atau lebih tinggi

Implementasi

Produsen perangkat harus memberikan dukungan framework dan HAL/firmware:

  • Kerangka kerja:
    • Kode AOSP
    • Aktifkan Wi-Fi Langsung: Memerlukan tombol fitur
  • Dukungan HAL Wi-Fi Direct (P2P) (yang menyiratkan dukungan firmware)

Untuk mengimplementasikan fitur ini, produsen perangkat mengimplementasikan HIDL atau AIDL Wi-Fi antarmuka dan mengaktifkan flag fitur untuk Wi-Fi Direct. Di device.mk berlokasi di device/<oem>/<device>, ubah variabel lingkungan PRODUCT_COPY_FILES untuk menyertakan dukungan fitur Wi-Fi Langsung:

```
PRODUCT_COPY_FILES +=
frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml
```

Semua persyaratan lain untuk mendukung Wi-Fi Langsung disertakan dalam AOSP.

Pengacakan MAC

Android memerlukan antarmuka perangkat dan antarmuka Wi-Fi Langsung diacak. Mereka harus berbeda dari alamat MAC yang sebenarnya dari perangkat dan harus memenuhi persyaratan berikut:

  • Alamat perangkat Wi-Fi Langsung harus diacak pada saat pembuatan antarmuka jika ada tidak ada grup persisten yang disimpan; jika tidak, alamat perangkat harus tetap menggunakan alamat MAC yang dihasilkan.
  • Alamat antarmuka Wi-Fi Langsung, juga dikenal sebagai alamat grup, harus diacak setiap kali koneksi dibuat.

Pengacakan MAC Wi-Fi Langsung diimplementasikan di 'wpa_supplicant' dan dikontrol dengan dua konfigurasi, p2p_device_random_mac_addr dan p2p_interface_random_mac_addr.

Untuk mengaktifkan fitur ini, produsen perangkat harus:

  • Terapkan ISupplicantP2pIface::setMacRandomization API Wi-Fi Supplicant. Bergantung pada antarmuka yang diimplementasikan, hal ini akan terjadi dalam:
    • hardware/interface/wifi/supplicant/1.2 untuk HIDL
    • hardware/interface/wifi/supplicant/aidl untuk AIDL
  • Setel config_wifi_p2p_mac_randomization_supported menjadi 'benar' di perangkat kustom menjadi overlay.

Validasi

Android menyediakan serangkaian pengujian unit, pengujian Compatibility Test Suite (CTS), dan Pengujian CTS Verifier untuk memvalidasi Wi-Fi Fitur langsung. Wi-Fi Langsung juga dapat diuji menggunakan Vendor Test Suite (VTS).

Pengujian unit

Verifikasi paket Wi-Fi Langsung menggunakan pengujian berikut.

Pengujian layanan:

atest com.android.server.wifi.p2p

Pengelola menguji:

atest android.net.wifi.p2p

Pengujian Compatibility Test Suite (CTS)

Gunakan uji CTS untuk memvalidasi fitur Wi-Fi Langsung. CTS mendeteksi saat fitur diaktifkan dan secara otomatis menyertakan pengujian terkait.

Untuk memicu uji CTS, jalankan:

% atest android.net.wifi.p2p.cts

Uji Pemverifikasi CTS

Uji CTS Verifier memvalidasi perilaku Wi-Fi Langsung menggunakan dua perangkat: uji dan perangkat baik yang dikenal. Untuk menjalankan pengujian, buka CTS Verifier dan buka bagian berjudul Wi-Fi Direct Tests.