ฟีเจอร์ Wi-Fi Direct หรือที่เรียกว่า Wi-Fi P2P ช่วยให้อุปกรณ์ที่รองรับค้นพบและเชื่อมต่อกันได้โดยตรงโดยใช้โปรโตคอล Wi-Fi Direct โดยไม่ต้องเชื่อมต่ออินเทอร์เน็ตหรือเครือข่ายมือถือ ฟีเจอร์นี้สร้างขึ้นจาก Wi-Fi Alliance (WFA) ข้อมูลจำเพาะของ Wi-Fi Direct ทำให้สามารถแชร์ข้อมูลอัตราการส่งข้อมูลสูงระหว่างอุปกรณ์และแอปที่เชื่อถือได้ซึ่งอยู่นอกเครือข่าย
ตัวอย่างและแหล่งที่มา
หากต้องการใช้ฟีเจอร์นี้ ผู้ผลิตอุปกรณ์ต้องใช้อินเทอร์เฟซผู้ให้บริการ Wi-Fi และ HAL ของผู้ให้บริการ Wi-Fi
ใน Android 13 อินเทอร์เฟซ Susubscriptions จะใช้ AIDL สําหรับคําจํากัดความ HAL ใน Android 14 ขึ้นไป อินเทอร์เฟซ HAL ของผู้ให้บริการจะใช้ AIDL ใน Android 12 และต่ำกว่า ระบบจะกำหนดอินเทอร์เฟซ Supplicant และ HAL ของผู้ให้บริการโดยใช้ HIDL
แพลตฟอร์ม HAL ของ Wi-Fi ต่อไปนี้จำเป็นต่อการใช้ฟีเจอร์ Wi-Fi Direct
hardware/interfaces/wifi/aidl
หรือhardware/interfaces/wifi/1.3
ขึ้นไปhardware/interfaces/wifi/supplicant/aidl
หรือhardware/interfaces/wifi/supplicant/1.2
ขึ้นไป
การใช้งาน
ผู้ผลิตอุปกรณ์ต้องรองรับทั้งเฟรมเวิร์กและ HAL/เฟิร์มแวร์ ดังนี้
- เฟรมเวิร์ก:
- รหัส AOSP
- เปิดใช้ Wi-Fi Direct: ต้องมีแฟล็กฟีเจอร์
- การรองรับ HAL ของ Wi-Fi Direct (P2P) (ซึ่งหมายความว่ารองรับเฟิร์มแวร์)
หากต้องการใช้ฟีเจอร์นี้ ผู้ผลิตอุปกรณ์จะต้องใช้อินเทอร์เฟซ Wi-Fi HIDL หรือ AIDL และเปิดใช้ Flag ฟีเจอร์สำหรับ Wi-Fi Direct ใน device.mk
ซึ่งอยู่ใน device/<oem>/<device>
ให้แก้ไขตัวแปรสภาพแวดล้อม PRODUCT_COPY_FILES
เพื่อรวมการรองรับฟีเจอร์ 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
```
ข้อกำหนดอื่นๆ ทั้งหมดสำหรับการรองรับ Wi-Fi Direct จะรวมอยู่ใน AOSP
การสุ่ม MAC
Android กําหนดให้ที่อยู่อุปกรณ์และที่อยู่อินเทอร์เฟซของ Wi-Fi Direct ต้องเป็นแบบสุ่ม โดยต้องแตกต่างจากที่อยู่ MAC จริงของอุปกรณ์และต้องเป็นไปตามข้อกำหนดต่อไปนี้
- ที่อยู่อุปกรณ์ Wi-Fi Direct ต้องเป็นแบบสุ่มเมื่อสร้างอินเทอร์เฟซหากไม่มีการบันทึกกลุ่มถาวรไว้ ไม่เช่นนั้นที่อยู่อุปกรณ์ต้องใช้ที่อยู่ MAC ที่สร้างขึ้นล่าสุดต่อไป
- ที่อยู่อินเทอร์เฟซ Wi-Fi Direct หรือที่เรียกว่าที่อยู่กลุ่มต้องสุ่มทุกครั้งที่สร้างการเชื่อมต่อ
ใช้การสุ่ม MAC ของ Wi-Fi Direct ใน "wpa_suดีๆ" และควบคุมด้วยการกำหนดค่า 2 รายการ ได้แก่ p2p_device_random_mac_addr
และ p2p_interface_random_mac_addr
หากต้องการเปิดใช้ฟีเจอร์นี้ ผู้ผลิตอุปกรณ์จะต้องมีคุณสมบัติดังนี้
- ใช้ Wi-Fi API สำหรับผู้สมัคร
ISupplicantP2pIface::setMacRandomization
ซึ่งจะอยู่ในเงื่อนไขต่อไปนี้ โดยขึ้นอยู่กับอินเทอร์เฟซที่ใช้งานhardware/interface/wifi/supplicant/1.2
สำหรับ HIDLhardware/interface/wifi/supplicant/aidl
สำหรับ AIDL
- ตั้งค่า
config_wifi_p2p_mac_randomization_supported
เป็น "จริง" ในการวางซ้อนที่กําหนดเองของอุปกรณ์
การตรวจสอบความถูกต้อง
Android มีชุดการทดสอบยูนิตการทดสอบ Compatibility Test Suite (CTS) และการทดสอบ CTS Verifier เพื่อตรวจสอบฟีเจอร์ Wi-Fi Direct นอกจากนี้ คุณยังทดสอบ Wi-Fi Direct โดยใช้ชุดทดสอบของผู้ให้บริการ (VTS) ได้ด้วย
การทดสอบ 1 หน่วย
ยืนยันแพ็กเกจ Wi-Fi Direct โดยใช้การทดสอบต่อไปนี้
การทดสอบบริการ
atest com.android.server.wifi.p2p
การทดสอบผู้จัดการ:
atest android.net.wifi.p2p
การทดสอบชุดเครื่องมือทดสอบความเข้ากันได้ (CTS)
ใช้การทดสอบ CTS เพื่อตรวจสอบฟีเจอร์ Wi-Fi Direct CTS จะตรวจจับเมื่อเปิดใช้ฟีเจอร์นี้ และจะรวมการทดสอบที่เกี่ยวข้องโดยอัตโนมัติ
หากต้องการเรียกใช้การทดสอบ CTS ให้เรียกใช้คำสั่งต่อไปนี้
% atest android.net.wifi.p2p.cts
การทดสอบผู้ยืนยัน CTS
การทดสอบโปรแกรมตรวจสอบ CTS จะตรวจสอบลักษณะการทํางานของ Wi-Fi Direct โดยใช้อุปกรณ์ 2 เครื่อง ได้แก่ อุปกรณ์ทดสอบและอุปกรณ์ที่ทราบแล้วว่าใช้งานได้ หากต้องการทำการทดสอบ ให้เปิด CTS Verifier แล้วไปยังส่วนที่ชื่อว่า "การทดสอบ Wi-Fi Direct"