Proposal: Separate USB IDs for All USB‑Only Dongles (Example: MG21)
This issue affects all USB‑only dongles when flashed with the OpenThread RCP firmware. Using the MG21 Dongle‑P/Lite as an example: after flashing OT‑RCP, the device still reports the same USB VID/PID and product name as the Zigbee firmware. Because of this, Home Assistant and other platforms continue to detect it as a Zigbee adapter, which leads to incorrect setup flows and user confusion.
A small firmware change would fully resolve the problem across all USB‑only models:
- assign a dedicated PID for OpenThread RCP builds,
- update the USB Product String (e.g., “Sonoff OT‑RCP USB Adapter”),
- optionally adjust manufacturer/interface descriptors to clearly indicate OT mode.
Additional note: possible challenges and workarounds
If you see this as difficult to implement, here are a few points that may help:
- PID allocation — even if assigning a new PID requires coordination with your VID provider, you can still use any free PID from your existing pool. This is a firmware‑only change, no hardware impact.
- Documentation impact — changing PID or product strings won’t break compatibility; a simple table in the release notes (“Zigbee firmware → PID A, OT firmware → PID B”) is enough.
- User confusion — if some users notice the new name, a one‑line note in the changelog fully resolves this.
- Multiple dongles support — even if you maintain one OT firmware for all USB‑only dongles, you can set the PID at build time with a simple compile‑time flag.
- Driver concerns — OT‑RCP uses standard CDC/ACM, so changing PID or descriptors does not affect driver compatibility on Linux, macOS, or Windows.
These are very small adjustments with a large positive impact on detection and UX across all platforms.