Sonoff Dongle-P As Router Issue

Hey All,

Not sure if I’m doing something wrong, or if this is expected behavior and looking for some insights.

Background:
I’m running HAOS on an Intel Nuc and I have ZHA set up with Skyconnect as my controller. I’ve recently started migrating my Philips Hue Lights to ZHA. That migration is (mostly) complete and I’ve started working on fine tuning, improving and ironing out issues with my ZHA network.

I realized that I had a Sonoff Zigbee Dongle-P laying around and thought that it would make a good router/repeater since it has that big 'ol antenna on it. So, I flashed the router firmware from here following the steps here. As far as I can tell, that flashing was successful - I got the verified message that indicates a successful flashing. But…

Issue:
When I attempt to add the Sonoff Dongle-P as a router to my existing ZHA network with Skyconnect, it doesn’t seem to work. At least, it doesn’t work like I’d expect.

When I plug the newly-flashed router in, with ZHA in pairing mode, a device is found, but ZHA shows me that the found device is the Skyconnect. It shows it as the found device with all of my ZHA groups as entities. The number of devices on the ZHA network (101) is the same before and after this pairing.

The only difference I can find is that there are 2 new Texas Instruments CC1352/CC2652… diagnostics sensors on the Skyconnect, one for LQI and one for RSSI, but both states are Unavailable and neither seem to ever be anything but Unavailable.

I’ve tried to hold the RST/BOOT button on the stick while pairing - when I press the RST button during pairing, ZHA shows me that it finds the Skyconnect as a new device. I’ve tried with ZHA in pairing mode first, then plug in dongle. I tried with plugging in the dongle then start pairing mode. I’ve plugged in the dongle, waited a few seconds, then press the RST button then start pairing. I tried to re-flash the router firmware and try again - each time, I get the same results where the discovered device is my existing Skyconnect. I don’t see any errors in the logs, nor are any errors shown on screen.

I was expecting that the new router would show as a new device on the network, with no entities. I’d also expect to see the device as a router in the mesh visualizer, but I don’t see it.

What am I missing or what am I doing wrong? Is this the expected behavior for this? Anyone experience this before?

Was the network migrated from the ZBDongle-P to the SkyConnect at some point?

Awwwww man, I didn’t even think about that. Yeah, I am 99.9% sure that it was a backup → migrate from the Sonoff to the Skyconnect.

Would it get stuck in a registry somewhere?

Both sticks have the same ieee address. You will need to reflash the P and change the ieee address. cc2538-bsl has a command line parameter to change the ieee.

At that point it should be a functional router.

I have no idea how to clean up the SkyConnect entities.

Thanks! That seems to have done the trick. I was able to add it as a separate device. And, the Unavailable Texas Instruments… entities that were created were easily deleted from the Skyconnect after a reboot.

I’ll add to this post too, this thread seems to have been what I was looking for originally, but didn’t find it. Lots of helpful info in here if anyone stumbles across this in the future.

And the python cc2538-bsl.py -h command with the cc2538-bsl tool was also helpful, to show the available commands. And I just used a random 64 bit MAC generator I found online.

Final command for me looked like:
sudo python3 cc2538-bsl.py -ewv -p /dev/ttyUSB0 --ieee-address B3:88:40:CE:47:5F:55:A2 --bootloader-sonoff-usb ./CC1352P2_CC2652P_launchpad_router_20221102.hex

There should be a confirmation that the IEEE was set:
“Setting IEEE address to b3:88:40:ce:47:5f:55:a2”