USB Bağlantı Noktası Sıfırlama API'si

USB Donanım Soyutlama Katmanı (HAL) API'sini desteklemek için cihaz üreticilerinin ilgili USB HAL sürümünü uygulaması gerekir. USB HAL API'yi kullanmak için sistem ayrıcalıklı bir uygulama gerekir.

USB HAL, USB HAL v2.0 gerektiren USB Bağlantı Noktası Sıfırlama API'sini destekler ve Android 13 ve sonraki sürümleri çalıştıran cihazlarda kullanılabilir. Bağlı ana makineyle olan USB bağlantısını sıfırlamak için bu API'yi kullanın.

USB HAL'i ve API'lerini bulma

Cihaz üreticileri, API'leri desteklemek için USB HAL'i uygulamalıdır.

  1. USB HAL'in varsayılan uygulamasını bulmak için aşağıdaki yolları kullanın:

    AIDL sürümü (en son): <aosp>/hardware/interfaces/usb/gadget/1.2/default/

  2. Donanım arayüzü başlık dosyasını bulmak için aşağıdaki yolu kullanın:

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

  3. API'leri bulmak için AIDL başlık dosyası altında aşağıdaki yolu kullanın. Bu yol, API'nin Android Framework giriş noktasıdır:

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

USB HAL'yi uygulama

USB HAL API ile çalışmak için şunları uygulayın:

  1. Doğru USB HAL sürümü. Sistem kullanıcı arayüzü uygulaması gerekmez.

  2. Hedef cihaz ile ana makine arasındaki USB bağlantısını sıfırlayarak USB Bağlantı Noktası Sıfırlama API'si için USB AIDL HAL.

USB HAL API mimarisini anlama

USB HAL API, android.hardware.usb paketine yerleştirilmiştir ve cihazla etkileşim kurmak için USB HAL'den yararlanır. API'nin mimarisiyle ilgili ayrıntılar aşağıdaki şekilde verilmiştir.

USB Port Reset API

Aşağıdaki şekilde, USB HAL'nin uygulanması da dahil olmak üzere USB Bağlantı Noktası Sıfırlama API'sinin bir çerçeve içindeki kod akışı gösterilmektedir.

USB Bağlantı Noktasını Yeniden Takma API&#39;si kod akışı örneği

Şekil 1.1 Örnek USB Bağlantı Noktası Reseat API kod akışı.

Uygulamanızı doğrulama

Her USB HAL sürümü ve ilgili API, Satıcı Testi Paketi'ndeki (VTS) bir test senaryosuyla ilişkilendirilir.

USB Port Reset API

USB Port Reset API için VTS test durumunu bulmak üzere şu adrese gidin:

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

USB HAL v1.2 için VTS test senaryosu, bu işlemleri gerçekleştirmek üzere kullanabileceğiniz ana makine tarafı bir test senaryosudur.

  • USB Port Reset API'yi çağırmak için adb shell komutunu (#svc usb resetUsbPort) kullanın.

  • Test edilen cihazın (DUT) bağlantısının kesilip yeniden bağlanabileceğini onaylayın.