Sonoff Dongle 3.0 immediately disconnecting from ttyUSB0

Hey everyone,

I’m at my wit’s end trying to get a Sonoff Zigbee 3.0 USB Dongle Plus to work reliably as my Zigbee coordinator. I’ve gone through two different Sonoff dongles now, and both have given me serious headaches. Hoping someone here can help before I throw this thing in the bin.

Setup and Hardware

  • First device: Sonoff Zigbee 3.0 USB Dongle-P (based on CC2652) – had issues, so I tried a different one.
  • Current device: Sonoff Zigbee 3.0 USB Dongle Plus (based on CP210x) – also giving me trouble.
  • Host system: Home Assistant OS running in a VM on Proxmox.
  • USB connection: Originally tried on a Raspberry Pi 3B, now on my Proxmox workstation.
  • USB pass-through: Configured in Proxmox to pass the dongle to the Home Assistant VM.

The Issue

  • The dongle keeps disconnecting and reconnecting.
  • /dev/ttyUSB0 appears briefly, then disappears.
  • Logs show it being recognized and attached to ttyUSB0, but shortly after, I see:
[58190.645259] cp210x 1-11:1.0: cp210x converter detected
[58190.646967] usb 1-11: cp210x converter now attached to ttyUSB0
[58191.035936] cp210x ttyUSB0: cp210x converter now disconnected from ttyUSB0
[58191.036050] cp210x 1-11:1.0: device disconnected
  • Happens whether I plug it into my Raspberry Pi or Proxmox workstation.
  • Also tried using a USB 2.0 port instead of USB 3.0, but the issue persists.

Things I’ve Tried

  1. Loaded the correct drivers (cp210x is loaded, confirmed via lsmod).
  2. Checked permissions (added my user to dialout, set /dev/ttyUSB0 permissions).
  3. Tried different ports (front/back ports on workstation, powered USB hub).
  4. Restarted services (zigbee2mqtt, home-assistant), and rebooted multiple times.
  5. Checked dmesg logs – device is recognized, but then disconnects with failed set request 0x12 status: -19.
  6. Tried different hardware – moved from Raspberry Pi to Proxmox to rule out power issues.

Next Steps?

At this point, I have no idea what else to try. Do I need to flash custom firmware on this? Is there some quirk with CP210x on Home Assistant that I’m missing? Do people normally have to use a powered USB hub with these dongles?

I’d really appreciate any advice from others who have got this working reliably. If I need to buy yet another coordinator, what’s the most stable option?

Thanks in advance for any help!

When a USB device somehow gets reset, it has a tendency to change its usb port number and consequently it may change say from ttyUSB0 to ttyUSB1. The “best practices” is to instead use the /dev/serial/by-id/NAME-OF-USB-DEVICE-STRING because when the device shows back up after a reset, this file name does not change.