Sonoff dongle plus as a Zigbee router

Hi folks,

I’m trying to use Sonoff Zigbee USB Dongle Plus as a router. I’ve flashed the firmware following this nicely written guide:

This is the firmware I’ve used:

Command used:

$ ./cc2538-bsl.py -e -v -w --bootloader-sonoff-usb CC1352P2_CC2652P_launchpad_router_20221102.hex
sonoff
Opening port /dev/ttyUSB0, baud 500000
Reading data from CC1352P2_CC2652P_launchpad_router_20221102.hex
Your firmware looks like an Intel Hex file
Connecting to target...
CC1350 PG2.1 (7x7mm): 352KB Flash, 20KB SRAM, CCFG.BL_CONFIG at 0x00057FD8
Primary IEEE Address: 00:12:4B:00:2C:3A:1B:B6
    Performing mass erase
Erasing all main bank flash sectors
    Erase done
Writing 360448 bytes starting at address 0x00000000
Write 104 bytes at 0x00057F988
    Write done
Verifying by comparing CRC32 calculations.
    Verified (match: 0x9877ee56)

However, I don’t see device joining my network. Device is connected to RPI.

Anything obviously wrong I’ve done here? Is there any debugging I can do here on the device ( / RPI) side to see if the device is even working?

I tried using zigpy-cli, but either I’m doing something wrong or device is not working as expected

$ zigpy -vvvv radio znp /dev/ttyUSB0 info
2024-12-02 16:08:41.026 raspberrypi asyncio DEBUG Using selector: EpollSelector
2024-12-02 16:08:41.028 raspberrypi zigpy.ota DEBUG Registering new OTA provider: Ledvance(url='https://api.update.ledvance.com/v1/zigbee/firmwares', manufacturer_ids=(4489, 4364))
2024-12-02 16:08:41.029 raspberrypi zigpy.ota DEBUG Registering new OTA provider: Sonoff(url=None, manufacturer_ids=(4742,))
2024-12-02 16:08:41.029 raspberrypi zigpy.ota DEBUG Registering new OTA provider: Inovelli(url=None, manufacturer_ids=(4655,))
2024-12-02 16:08:41.029 raspberrypi zigpy.ota DEBUG Registering new OTA provider: ThirdReality(url=None, manufacturer_ids=(4659, 4877, 5127))
2024-12-02 16:08:41.030 raspberrypi zigpy.serial DEBUG Opening a serial connection to '/dev/ttyUSB0' (baudrate=115200, xonxoff=False, rtscts=False)
2024-12-02 16:08:41.040 raspberrypi zigpy.serial DEBUG Connection made: SerialTransport(<_UnixSelectorEventLoop running=True closed=False debug=False>, <ZnpMtProtocol connected to '/dev/ttyUSB0' (api: <zigpy_znp.api.ZNP object at 0x7f9dc8cb10>)>, Serial<id=0x7f9dc6eec0, open=True>(port='/dev/ttyUSB0', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=0, xonxoff=False, rtscts=False, dsrdtr=False))
2024-12-02 16:08:41.041 raspberrypi zigpy_znp.api DEBUG Toggling RTS/DTR pins to skip bootloader or reset chip
2024-12-02 16:08:41.041 raspberrypi zigpy_znp.uart DEBUG Setting serial pin states: DTR=False, RTS=False
2024-12-02 16:08:41.193 raspberrypi zigpy_znp.uart DEBUG Setting serial pin states: DTR=False, RTS=True
2024-12-02 16:08:41.346 raspberrypi zigpy_znp.uart DEBUG Setting serial pin states: DTR=False, RTS=False
2024-12-02 16:08:41.499 raspberrypi zigpy_znp.api DEBUG Sending request: SYS.Ping.Req()
2024-12-02 16:08:42.000 raspberrypi zigpy_znp.api DEBUG Sending CC253x bootloader skip bytes
2024-12-02 16:08:44.504 raspberrypi zigpy_znp.api DEBUG Sending request: SYS.Ping.Req()
2024-12-02 16:08:45.506 raspberrypi zigpy_znp.api DEBUG Sending request: SYS.Ping.Req()
2024-12-02 16:08:46.507 raspberrypi zigpy_znp.api DEBUG Sending request: SYS.Ping.Req()
2024-12-02 16:08:47.509 raspberrypi zigpy_znp.api DEBUG Sending request: SYS.Ping.Req()
2024-12-02 16:08:48.511 raspberrypi zigpy_znp.api DEBUG Sending request: SYS.Ping.Req()
2024-12-02 16:08:49.513 raspberrypi zigpy_znp.api DEBUG Sending request: SYS.Ping.Req()
2024-12-02 16:08:50.514 raspberrypi zigpy_znp.api DEBUG Sending request: SYS.Ping.Req()
2024-12-02 16:08:51.042 raspberrypi zigpy_znp.api DEBUG Connection to /dev/ttyUSB0 failed, cleaning up
2024-12-02 16:08:51.043 raspberrypi zigpy.serial DEBUG Waiting for serial port to close
2024-12-02 16:08:51.045 raspberrypi zigpy.serial DEBUG Connection lost: None

I do see the device in dmesg when I plug it in

[  344.546653] usb 1-1.2: new full-speed USB device number 4 using xhci_hcd
[  344.654406] usb 1-1.2: New USB device found, idVendor=10c4, idProduct=ea60, bcdDevice= 1.00
[  344.654430] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  344.654443] usb 1-1.2: Product: Sonoff Zigbee 3.0 USB Dongle Plus
[  344.654454] usb 1-1.2: Manufacturer: ITead
[  344.654463] usb 1-1.2: SerialNumber: aa83209cf4bded11b6966d2e38a92db5
[  344.758042] usbcore: registered new interface driver usbserial_generic
[  344.758071] usbserial: USB Serial support registered for generic
[  344.769097] usbcore: registered new interface driver cp210x
[  344.769132] usbserial: USB Serial support registered for cp210x
[  344.769179] cp210x 1-1.2:1.0: cp210x converter detected
[  344.776063] usb 1-1.2: cp210x converter now attached to ttyUSB0
[ 2184.100958] usb 1-1.2: USB disconnect, device number 4
[ 2184.101525] cp210x ttyUSB0: cp210x converter now disconnected from ttyUSB0
[ 2184.102213] cp210x 1-1.2:1.0: device disconnected
[ 2186.292349] usb 1-1.2: new full-speed USB device number 5 using xhci_hcd
[ 2186.400014] usb 1-1.2: New USB device found, idVendor=10c4, idProduct=ea60, bcdDevice= 1.00
[ 2186.400033] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2186.400046] usb 1-1.2: Product: Sonoff Zigbee 3.0 USB Dongle Plus
[ 2186.400056] usb 1-1.2: Manufacturer: ITead
[ 2186.400065] usb 1-1.2: SerialNumber: aa83209cf4bded11b6966d2e38a92db5
[ 2186.404845] cp210x 1-1.2:1.0: cp210x converter detected
[ 2186.411868] usb 1-1.2: cp210x converter now attached to ttyUSB0

Any help very much appreciated!

Try to put it in a phone charger to make it join.

Just tried that, but nothing, still not joining.

is anyone using this device as a router and if so, how did you manage to get it working?

I’ve got the same issue. I can flash the old zbdongle-p with the router firmware, but nothing.