Wi-Fi Direct

Fitur Wi-Fi Direct juga dikenal sebagai Wi-Fi P2P, memungkinkan perangkat pendukung menemukan dan terhubung satu sama lain secara langsung menggunakan protokol Wi-Fi Direct tanpa akses internet atau jaringan seluler. Fitur ini, yang dibuat berdasarkan spesifikasi Wi-Fi Direct Wi-Fi Alliance (WFA), memungkinkan berbagi data throughput tinggi di antara perangkat dan aplikasi tepercaya yang berada di luar jaringan.

Contoh dan sumber

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

Di Android 13, antarmuka Pemohon menggunakan AIDL untuk definisi HAL. Di Android 14 dan yang lebih tinggi, antarmuka HAL Vendor menggunakan AIDL. Di Android 12 dan yang lebih lama, antarmuka HAL Pemohon dan Vendor ditentukan menggunakan HIDL.

Platform HAL Wi-Fi berikut diperlukan untuk menggunakan fitur Wi-Fi Direct:

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

Implementasi

Produsen perangkat harus menyediakan dukungan framework dan HAL/firmware:

  • Framework:
    • Kode AOSP
    • Mengaktifkan Wi-Fi Direct: Memerlukan flag fitur
  • Dukungan HAL Wi-Fi Direct (P2P) (yang menyiratkan dukungan firmware)

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

```
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 lainnya untuk mendukung Wi-Fi Direct disertakan dalam AOSP.

Pengacakan MAC

Android mewajibkan alamat perangkat dan alamat antarmuka Wi-Fi Direct diacak. Alamat tersebut harus berbeda dengan alamat MAC sebenarnya dari perangkat dan harus memenuhi persyaratan berikut:

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

Pengacakan MAC Wi-Fi Direct diterapkan di 'wpa_supplicant' dan dikontrol oleh dua konfigurasi, p2p_device_random_mac_addr dan p2p_interface_random_mac_addr.

Untuk mengaktifkan fitur ini, produsen perangkat harus:

  • Terapkan API ISupplicantP2pIface::setMacRandomization Pemohon Wi-Fi. Bergantung pada antarmuka yang diterapkan, ini berada di:
    • hardware/interface/wifi/supplicant/1.2 untuk HIDL
    • hardware/interface/wifi/supplicant/aidl untuk AIDL
  • Tetapkan config_wifi_p2p_mac_randomization_supported ke 'true' di overlay kustom perangkat.

Validasi

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

Pengujian unit

Verifikasi paket Wi-Fi Direct menggunakan pengujian berikut.

Pengujian layanan:

atest com.android.server.wifi.p2p

Pengujian pengelola:

atest android.net.wifi.p2p

Pengujian Compatibility Test Suite (CTS)

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

Untuk memicu pengujian CTS, jalankan:

% atest android.net.wifi.p2p.cts

Pengujian CTS Verifier

Pengujian CTS Verifier memvalidasi perilaku Wi-Fi Direct menggunakan dua perangkat: perangkat pengujian dan perangkat known good. Untuk menjalankan pengujian, buka CTS Verifier dan buka bagian berjudul Pengujian Wi-Fi Direct.