API đặt lại cổng USB

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

USB HAL hỗ trợ USB Port Reset API (API đặt lại cổng USB). API này yêu cầu USB HAL phiên bản 2.0 và có trên 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ủ đã kết nối.

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

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

  1. Để tìm chế độ triển khai mặc định của HAL USB, 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 này, hãy sử dụng đường dẫn sau để xác định vị trí của các API trong tệp tiêu đề AIDL. Đường dẫn này cũng là điểm truy cập Android Framework cho API:

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

Triển khai HAL USB

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

  1. Sửa phiên bản HAL USB. Bạn không cần triển khai giao diện người dùng hệ thống.

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

Tìm hiểu cấu trúc API HAL USB

USB HAL API đượ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ề cấu 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 sau đây minh hoạ luồng mã của USB Port Reset API trong một khung, bao gồm cả việc triển khai USB HAL.

Quy trình mã API mẫu để đặt lại cổng USB

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

Xác thực quá trình triển khai

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

API đặt lại cổng USB

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

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

Trường hợp kiểm thử VTS cho USB HAL phiên bản 1.2 là một trường hợp kiểm thử phía máy chủ mà bạn có thể dùng để thực hiện các thao tác này.

  • Để gọi USB Port Reset API, hãy sử dụng lệnh adb shell (#svc usb resetUsbPort).

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