API Reset Port USB

Untuk mendukung API Hardware Abstraction Layer (HAL) USB, produsen perangkat harus menerapkan versi HAL USB yang sesuai. Untuk menggunakan USB HAL API, aplikasi dengan hak istimewa sistem diperlukan.

USB HAL mendukung USB Port Reset API, yang memerlukan USB HAL v2.0 dan tersedia untuk perangkat yang menjalankan Android 13 dan yang lebih tinggi. Gunakan API ini untuk mereset koneksi USB dengan host yang terhubung.

Menemukan HAL USB dan API-nya

Produsen perangkat harus menerapkan HAL USB untuk mendukung API.

  1. Untuk menemukan implementasi default USB HAL, gunakan jalur berikut:

    AIDL Versi (terbaru): <aosp>/hardware/interfaces/usb/gadget/1.2/default/

  2. Untuk menemukan file header antarmuka hardware, gunakan jalur berikut:

    AIDL Versi (terbaru): <aosp>/hardware/interfaces/usb/gadget/1.2/IUsbGadget.hal

  3. Untuk menemukan API, gunakan jalur berikut untuk menemukan API di file header AIDL. Jalur ini juga merupakan titik entri Framework Android untuk API:

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

Mengimplementasikan HAL USB

Untuk menggunakan USB HAL API, terapkan:

  1. Perbaiki versi USB HAL. Tidak diperlukan penerapan UI sistem.

  2. USB AIDL HAL untuk USB Port Reset API dengan mereset koneksi USB antara perangkat target dan host.

Memahami arsitektur USB HAL API

USB HAL API di-build ke dalam paket android.hardware.usb dan memanfaatkan USB HAL untuk berinteraksi dengan perangkat. Detail tentang arsitektur untuk API diberikan dalam gambar di bawah.

USB Port Reset API

Gambar berikut mengilustrasikan alur kode USB Port Reset API dalam framework, termasuk implementasi USB HAL.

Contoh alur kode USB Port Reseat API

Gambar 1.1 Contoh alur kode USB Port Reseat API.

Memvalidasi penerapan

Setiap versi USB HAL dan API terkaitnya dikaitkan dengan kasus pengujian di Vendor Test Suite (VTS).

USB Port Reset API

Untuk menemukan kasus pengujian VTS untuk USB Port Reset API, buka:

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

Kasus pengujian VTS untuk USB HAL v1.2 adalah kasus pengujian sisi host yang dapat Anda gunakan untuk melakukan tindakan ini.

  • Untuk memanggil USB Port Reset API, gunakan perintah adb shell (#svc usb resetUsbPort).

  • Pastikan perangkat yang sedang diuji (DUT) dapat memutuskan dan menghubungkan kembali.