I wanted to extend the range of my Zigbee network to make device connections more stable. To that end I purchased 2 Sonoff Zigbee Dongle Plus P devices and flashed them to be routers following the instructions from this guide.
I’m reproducing the instructions here to give me a better chance of remembering them if I ever need to add a new router.
I used a Raspberry Pi 2b for this process so it doesn’t need to be anything too fancy.
1. Update the device.
sudo apt update
sudo apt upgrade
2. Install required packages.
sudo apt install python3 python3-serial python3-magic python3-intelhex wget git unzip
3. Install flashing software.
cd ~
git clone https://github.com/JelmerT/cc2538-bsl/
cd ~/cc2538-bsl
4. Download router software.
wget https://raw.githubusercontent.com/Koenkk/Z-Stack-firmware/refs/tags/Z-Stack_3.x.0_router_20221102/router/Z-Stack_3.x.0/bin/CC1352P2_CC2652P_launchpad_router_20221102.zip -O router-firmware.zip
unzip -j router-firmware.zip
mv CC1352P2_CC2652P_launchpad_router*.hex router-firmware.hex
5. Identify mount point.
ls -l /dev/serial/by-id
This will give a response like the below. The required device ID in my case is ttyUSB0
.
total 0
lrwxrwxrwx 1 root root 13 May 7 14:28 usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_9096766fc23aef118234321455516304-if00-port0 -> ../../ttyUSB0
6. Flash the dongle.
cc2538_bsl/cc2538_bsl.py -ewv -p /dev/ttyUSB0 --bootloader-sonoff-usb router-firmware.hex
sonoff
7. Connect to your network.
Once the firmware has been flashed remove the dongle from you’re flashing device, open the Zigbee network to new devices and then plug the dongle back in. It should automatically join.
0 Comments