ฟีเจอร์ Wi-Fi Direct หรือที่เรียกว่า Wi-Fi P2P ช่วยให้อุปกรณ์ที่รองรับ ค้นหาและเชื่อมต่อกันได้โดยตรง โดยใช้โปรโตคอล Wi-Fi Direct โดยไม่ต้องเข้าถึงอินเทอร์เน็ตหรือเครือข่ายมือถือ ฟีเจอร์นี้สร้างขึ้นตามWi-Fi Alliance (WFA) ข้อกำหนด Wi-Fi Direct ช่วยให้แชร์ข้อมูลที่มีปริมาณงานสูงระหว่าง อุปกรณ์ที่เชื่อถือได้และแอปที่อยู่นอกเครือข่าย
ตัวอย่างและแหล่งที่มา
หากต้องการใช้ฟีเจอร์นี้ ผู้ผลิตอุปกรณ์ต้องใช้ Wi-Fi Vendor และ Supplicant HAL
ใน Android 13 อินเทอร์เฟซ Supplicant จะใช้ AIDL สำหรับคำจำกัดความ HAL ใน Android 14 ขึ้นไป อินเทอร์เฟซ Vendor HAL จะใช้ AIDL ใน Android 12 และต่ำกว่า อินเทอร์เฟซ Supplicant และ Vendor 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 อินเทอร์เฟซและเปิดใช้แฟล็กฟีเจอร์สำหรับ 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_supplicant" และควบคุมโดยการกำหนดค่า 2 รายการ ได้แก่ p2p_device_random_mac_addr และ
p2p_interface_random_mac_addr
ผู้ผลิตอุปกรณ์ต้องดำเนินการต่อไปนี้เพื่อเปิดใช้ฟีเจอร์นี้
- ติดตั้งใช้งาน
ISupplicantP2pIface::setMacRandomizationAPI ของ Wi-Fi Supplicant โดยจะอยู่ในตำแหน่งต่อไปนี้ ทั้งนี้ขึ้นอยู่กับอินเทอร์เฟซที่ใช้งานhardware/interface/wifi/supplicant/1.2สำหรับ HIDLhardware/interface/wifi/supplicant/aidlสำหรับ AIDL
- ตั้งค่า
config_wifi_p2p_mac_randomization_supportedเป็น "จริง" ในการซ้อนทับที่กำหนดเองของอุปกรณ์
การตรวจสอบ
Android มีชุดการทดสอบหน่วย การทดสอบชุดเครื่องมือทดสอบความเข้ากันได้ (CTS) และ การทดสอบ CTS Verifier เพื่อตรวจสอบฟีเจอร์ Wi-Fi Direct นอกจากนี้ คุณยังทดสอบ Wi-Fi Direct ได้โดยใช้ชุดทดสอบของผู้ให้บริการ (VTS)
การทดสอบหน่วย
ยืนยันแพ็กเกจ 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 Verifier
การทดสอบ CTS Verifier จะตรวจสอบลักษณะการทำงานของ Wi-Fi Direct โดยใช้อุปกรณ์ 2 เครื่อง ได้แก่ อุปกรณ์ทดสอบและอุปกรณ์ที่ทราบว่าใช้งานได้ดี หากต้องการเรียกใช้การทดสอบ ให้เปิด CTS Verifier แล้ว ไปที่ส่วนที่มีชื่อว่า "การทดสอบ Wi-Fi Direct"