USB-C device fails to enumerate when connected directly (possible Alt Mode / role negotiation issue)

Hi,

I’m experiencing an issue with a USB-C accessory that connects directly to the Fairphone 5 via the USB-C port.

The device works correctly on other Android phones (including older USB-C 2.0 devices without DisplayPort Alt Mode), but on the Fairphone 5 it fails to initialize properly.

Observed behaviour:

  • The device does not enumerate as a USB HID.

  • Attempting to switch “USB controlled by” to “This device” results in either:

    • “Couldn’t switch”

    • Or a “Debris or liquid detected in USB port” warning.

  • The USB-C port is clean and functional (external display via DP Alt Mode works fine).

  • The accessory works immediately on another phone (Pocophone F1).

This suggests a potential issue with:

  • USB-C role switching

  • Power Delivery negotiation

  • Or DisplayPort Alt Mode interfering with USB enumeration

The device appears to expect standard USB 2.0 host behaviour, and may not handle DP-Alt negotiation correctly.

Questions:

  1. Is there a way to force USB 2.0 host mode (disable Alt Mode negotiation)?

  2. Has anyone observed USB-C composite devices failing to enumerate?

  3. Is this something that could be improved in firmware?

Thanks in advance.