5–7 Oct 2026
Europe/Prague timezone

Modernizing Android USB: Userspace AOA, Multi-UDC, Type-C, and Framework APIs

Not scheduled
20m
Android MC Android MC

Speakers

George Chan (Google - Android Security) Neill Kapron (Google)

Description

The Android USB stack was originally architected around the constraints of early smartphones. Initially designed primarily for phones with a single USB Micro-B device port, the stack lacks the modern API surface required for advanced USB applications. While incremental changes have been implemented out of necessity, a larger refactoring is required to better support modern USB features like Type-C and multiple-UDC topologies.

This presentation will highlight some of the limitations of the existing frameworks, provide an update on current projects, and solicit feedback on the new architecture plans and API surfaces.

Topics for Discussion:

  • Userspace AOA via function_fs: Deprecating the out-of-tree kernel AOA driver and moving protocol handling entirely to userspace.
  • Upstream Type-C Integration: Hooking the framework directly into the Type-C connector class, allowing applications to query cable capabilities and provide safe role-swap hints to the TCPC.
  • Multi-UDC & Per-Port Configuration: Refactoring the framework to break the single-UDC assumption, allowing for independent per-port configurations on laptop-class devices.
  • Modular Function Provider Patterns: Replacing legacy broadcast mechanisms with strict provider patterns and robust APIs with proper error handling.

Author

Co-author

George Chan (Google - Android Security)

Presentation materials

There are no materials yet.