USB Port Reset API

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 bağlantı noktası sıfırlama API'sini destekler. Bu API, USB HAL v2.0'ı gerektirir ve Android 13 ile sonraki sürümleri çalıştıran cihazlarda kullanılabilir. Bu API'yi kullanarak bağlı ana makineyle USB bağlantısını sıfırlayın.

USB HAL'yi ve API'lerini bulma

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

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

    Version AIDL (en son): <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 (en son): <aosp>/hardware/interfaces/usb/gadget/1.2/IUsbGadget.hal

  3. API'leri bulmak için AIDL üstbilgi dosyasındaki API'leri bulmak üzere aşağıdaki yolu kullanın. Bu yol, API için 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 aşağıdakileri 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 Bağlantı Noktası Sıfırlama API'si

Aşağıdaki şekilde, USB HAL'nin uygulanması da dahil olmak üzere bir çerçevedeki USB Port Reset API'nin kod akışı gösterilmektedir.

Örnek USB bağlantı noktası yeniden takma API kodu akışı

Şekil 1.1 Örnek USB bağlantı noktası yeniden takma API kodu akışı.

Uygulamanızı doğrulama

Her USB HAL sürümü ve ilgili API'si, Vendor Test Suite'teki (VTS) bir test durumuyla ilişkilendirilir.

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

USB bağlantı noktası sıfırlama API'si için VTS test senaryosunu bulmak üzere şu adrese gidin:

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

USB HAL v1.2 için VTS test durumu, bu işlemleri gerçekleştirmek üzere kullanabileceğiniz ana taraf test durumudur.

  • USB bağlantı noktası sıfırlama API'sini ç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ğlanabildiğini onaylayın.