API đặt lại cổng USB

Để hỗ trợ API Lớp trừu tượng phần cứng USB (HAL), nhà sản xuất thiết bị phải triển khai phiên bản USB HAL tương ứng. Để sử dụng API USB HAL, cần có ứng dụng đặc quyền của hệ thống.

USB HAL hỗ trợ API đặt lại cổng USB, yêu cầu USB HAL v2.0 và có sẵn cho các thiết bị chạy Android 13 trở lên. Sử dụng API này để đặt lại kết nối USB với máy chủ được kết nối.

Tìm USB HAL và các API của nó

Các nhà sản xuất thiết bị phải triển khai USB HAL để hỗ trợ các API.

  1. Để tìm cách triển khai mặc định của USB HAL, hãy sử dụng các đường dẫn sau:

    Phiên bản AIDL (mới nhất): <aosp>/hardware/interfaces/usb/gadget/1.2/default/

  2. Để tìm tệp tiêu đề giao diện phần cứng, hãy sử dụng đường dẫn sau:

    Phiên bản AIDL (mới nhất): <aosp>/hardware/interfaces/usb/gadget/1.2/IUsbGadget.hal

  3. Để tìm các API, hãy sử dụng đường dẫn sau để định vị các API trong tệp tiêu đề AIDL. Đường dẫn này cũng là điểm vào Android Framework cho API:

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

Triển khai USB HAL

Để làm việc với API USB HAL, hãy triển khai:

  1. Đúng phiên bản USB HAL. Không cần triển khai giao diện người dùng hệ thống.

  2. USB AIDL HAL cho API đặt lại cổng USB bằng cách đặt lại kết nối USB giữa thiết bị đích và máy chủ.

Hiểu kiến ​​trúc API USB HAL

API USB HAL được tích hợp vào gói android.hardware.usb và tận dụng USB HAL để tương tác với thiết bị. Thông tin chi tiết về kiến ​​trúc của API được cung cấp trong hình bên dưới.

API đặt lại cổng USB

Hình dưới đây minh họa luồng mã của API đặt lại cổng USB trong một khung, bao gồm cả việc triển khai USB HAL.

Luồng mã API đặt lại cổng USB mẫu

Hình 1.1 Luồng mã API đặt lại cổng USB mẫu.

Xác thực việc triển khai của bạn

Mỗi phiên bản USB HAL và API tương ứng của nó được liên kết với một trường hợp thử nghiệm trong Bộ thử nghiệm nhà cung cấp (VTS).

API đặt lại cổng USB

Để tìm trường hợp kiểm tra VTS cho API đặt lại cổng USB, hãy truy cập:

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

Trường hợp kiểm tra VTS cho USB HAL v1.2 là trường hợp kiểm tra phía máy chủ mà bạn có thể sử dụng để thực hiện các hành động này.

  • Để gọi API đặt lại cổng USB, hãy sử dụng lệnh adb shell ( #svc usb resetUsbPort ).

  • Xác nhận rằng thiết bị đang được kiểm tra (DUT) có thể ngắt kết nối và kết nối lại.