CM5 on CMRAT carrier: HAOS boots, but USB-C port only works after adding dtoverlay=dwc2,dr_mode=host

Just posting this in case it saves somebody else a lot of pain.

I’m running Home Assistant OS 17.1 on a Raspberry Pi CM5 mounted on a CMRAT carrier board.

Initial symptoms

  • HAOS rpi5-64 image booted from eMMC
  • networking worked
  • Home Assistant came up fine
  • but the carrier’s only USB-C port would not detect any host-mode devices
    • no keyboard
    • no USB stick
    • no CONFIG stick for port 22222 debug SSH

Interestingly, the same USB-C port did work for rpiboot, so recovery/device mode was clearly working.

What I found

Inside HAOS:

  • dmesg showed USB host controllers and root hubs
  • but no real downstream USB devices ever enumerated

What fixed it

Editing the HAOS boot config.txt and adding:

dtoverlay=dwc2,dr_mode=host

I’m also planning to raise it on the HAOS GitHub repo because this feels like something worth documenting or handling better upstream.

Changing the config.txt on a pi might be overwritten the next time you do an update, so beware.
I highly suggest making an issue for this to get it fixed more permanently if this needs to be done.