USB Port Reset API

USB Donanım Soyutlama Katmanı (HAL) API'yi 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 Bağlantı Noktası Sıfırlama API'sini destekler. Bu API, USB HAL v2.0 sürümünü gerektirir ve Android 13 ve sonraki sürümleri çalıştıran cihazlarda kullanılabilir. Bağlı ana makineyle 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:

    Version AIDL (latest): <aosp>/hardware/interfaces/usb/gadget/1.2/default/

  2. Donanım arayüzü üstbilgi 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'sini 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'in uygulanması da dahil olmak üzere bir çerçevedeki USB Bağlantı Noktası Sıfırlama API'sinin kod akışı gösterilmektedir.

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

Şekil 1.1 USB Bağlantı Noktasını Yeniden Takma API'si örnek 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 vakasını 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ı kesip yeniden bağlayabileceğini onaylayın.