USB-C describes a connector—not a guaranteed data rate, display mode, or charging power. This guide separates the physical conductors, USB 2.0/3.2/USB4 signaling, host-controlled topology, descriptors, endpoints, enumeration, and power negotiation that determine what a connection can actually do.
Use Ubuntu’s libusb development package for ordinary application builds, or compile a reviewed upstream release into an isolated prefix when you need a newer or controlled version. Then verify the complete toolchain with pkg-config and a real USB device-enumeration program.
Capture Bluetooth traffic at Android’s host-controller boundary, retrieve it through a direct ADB pull or an AOSP bug report, and inspect the BTSnoop file in Wireshark. The workflow also explains privacy risks, vendor-specific paths, and what an HCI log cannot reveal.