พอร์ต USB รีเซ็ต API

เพื่อรองรับ USB Hardware Abstraction Layer (HAL) API ผู้ผลิตอุปกรณ์ต้องใช้เวอร์ชัน USB HAL ที่สอดคล้องกัน หากต้องการใช้ USB HAL API จำเป็นต้องมีแอปที่ได้รับสิทธิพิเศษจากระบบ

USB HAL รองรับ USB Port Reset API ซึ่งต้องใช้ USB HAL v2.0 และใช้ได้กับอุปกรณ์ที่ใช้ Android 13 ขึ้นไป ใช้ API นี้เพื่อรีเซ็ตการเชื่อมต่อ USB กับโฮสต์ที่เชื่อมต่อ

ค้นหา USB HAL และ API

ผู้ผลิตอุปกรณ์ต้องใช้ USB HAL เพื่อรองรับ API

  1. หากต้องการค้นหาการใช้งานเริ่มต้นของ USB HAL ให้ใช้เส้นทางต่อไปนี้:

    เวอร์ชัน AIDL (ล่าสุด): <aosp>/hardware/interfaces/usb/gadget/1.2/default/

  2. หากต้องการค้นหาไฟล์ส่วนหัวของอินเทอร์เฟซฮาร์ดแวร์ ให้ใช้เส้นทางต่อไปนี้:

    เวอร์ชัน AIDL (ล่าสุด): <aosp>/hardware/interfaces/usb/gadget/1.2/IUsbGadget.hal

  3. หากต้องการค้นหา API ให้ใช้เส้นทางต่อไปนี้เพื่อค้นหา API ใต้ไฟล์ส่วนหัว AIDL เส้นทางนี้ยังเป็นจุดเริ่มต้น Android Framework สำหรับ API:

    android.hardware.usb : <aosp>/core/java/android/hardware/usb

ใช้ USB HAL

หากต้องการทำงานกับ USB HAL API ให้ใช้:

  1. เวอร์ชัน USB HAL ที่ถูกต้อง ไม่จำเป็นต้องมีการติดตั้ง UI ของระบบ

  2. USB AIDL HAL สำหรับ USB Port Reset API โดยการรีเซ็ตการเชื่อมต่อ USB ระหว่างอุปกรณ์เป้าหมายและโฮสต์

ทำความเข้าใจสถาปัตยกรรม USB HAL API

USB HAL API สร้างขึ้นในแพ็คเกจ android.hardware.usb และใช้ประโยชน์จาก USB HAL เพื่อโต้ตอบกับอุปกรณ์ รายละเอียดเกี่ยวกับสถาปัตยกรรมสำหรับ API มีอยู่ในรูปด้านล่าง

API รีเซ็ตพอร์ต USB

รูปต่อไปนี้แสดงลำดับโค้ดของ USB Port Reset API ในเฟรมเวิร์ก รวมถึงการใช้งาน USB HAL

ตัวอย่างโฟลว์โค้ด API ติดตั้งพอร์ต USB ใหม่

รูปที่ 1.1 ตัวอย่างโฟลว์โค้ด API ติดตั้งพอร์ต USB ใหม่

ตรวจสอบการใช้งานของคุณ

USB HAL แต่ละเวอร์ชันและ API ที่เกี่ยวข้องจะเชื่อมโยงกับกรณีทดสอบใน Vendor Test Suite (VTS)

API รีเซ็ตพอร์ต USB

หากต้องการค้นหากรณีทดสอบ VTS สำหรับ API การรีเซ็ตพอร์ต USB ให้ไปที่:

<aosp>/test/vts-testcase/hal/usb/gadget/V1_2/

กรณีทดสอบ VTS สำหรับ USB HAL v1.2 เป็นกรณีทดสอบฝั่งโฮสต์ที่คุณสามารถใช้เพื่อดำเนินการเหล่านี้

  • หากต้องการเรียกใช้ API การรีเซ็ตพอร์ต USB ให้ใช้คำสั่ง adb shell ( #svc usb resetUsbPort )

  • ยืนยันว่าอุปกรณ์ที่อยู่ระหว่างการทดสอบ (DUT) สามารถยกเลิกการเชื่อมต่อและเชื่อมต่อใหม่ได้