I wondered too. I bought this dongle a few months ago and it’s working fine, right out of the box.
I’ve also seen the flashing videos, but nobody ever says what the reason is… just to be current?
Is there something I’m missing out on… other than being current?
At the moment I’m operating on the, “if it works don’t fix it” plan.
Jim
P.S. I’m running this dongle with ZHA, not MQTT anyway.
Early units shipped with firmware that had known issues. Upgrading was a necessity, unless you were very lucky with your device mix.
I don’t know what current firmware units ship with, it could (and should) have been updated by now. What version shows on the device page?
I’ve bought several sticks recently, but haven’t bothered checking what firmware was on them. I scripted the flash process with the first stick I bought, so flashing now takes all of 30 seconds (if that).
Below is the script I use to update the firmware under Linux. I run it from my HA container since all the cc2538-bsl pre-reqs are already installed.
There is no need to open the dongle and press buttons. Just plug in the stick and run. Much easier than all the Windows nonsense folks like to suggest. You may need to disable ZHA/Z2M if they have control of the port.
This is a VERY QUICK and VERY DIRTY script, it wasn’t really meant for public consumption. Maybe someone can do a proper version.
USE AT YOUR OWN RISK.
# $1: dev or master
# $2: router or coordinator
# $3: ttyUSB port number
# USE AT YOUR OWN RISK
# There is absolutely NO ERROR CHECKING.
# Must be run from a valid python environment.
# The HA Docker container has all requirements installed.
basepath=/config/sonoff_temp
cd /
rm -rf $basepath
mkdir $basepath
cd $basepath
# https://github.com/JelmerT/cc2538-bsl
wget https://github.com/JelmerT/cc2538-bsl/raw/master/cc2538-bsl.py
# https://github.com/Koenkk/Z-Stack-firmware
# No attempt is made to use github api to download latest versions.
# Urls will need to be edited to point to correct files as updates are posted to github.
mkdir master
cd master
# Master branch coordinator as of 5/11/22
wget https://github.com/Koenkk/Z-Stack-firmware/raw/master/coordinator/Z-Stack_3.x.0/bin/CC1352P2_CC2652P_launchpad_coordinator_20220219.zip
wget https://github.com/Koenkk/Z-Stack-firmware/raw/master/router/Z-Stack_3.x.0/bin/CC1352P2_CC2652P_launchpad_router_20220125.zip
for f in *.zip; do unzip $f; done
cd ..
mkdir dev
cd dev
# Dev branch coordinator as of 5/11/22
wget https://github.com/Koenkk/Z-Stack-firmware/raw/develop/coordinator/Z-Stack_3.x.0/bin/CC1352P2_CC2652P_launchpad_coordinator_20220507.zip
wget https://github.com/Koenkk/Z-Stack-firmware/raw/develop/router/Z-Stack_3.x.0/bin/CC1352P2_CC2652P_launchpad_router_20220125.zip
for f in *.zip; do unzip $f; done
cd ..
python $basepath/cc2538-bsl.py -evw -p /dev/ttyUSB$3 \
--bootloader-sonoff-usb $basepath/$1/*$2*.hex
cd /config
rm -rf $basepath
I shared a link to a repo which belongs to koenkk - which doesn’t seem affiliated to the manufacturer in any ways. So I was wondering if others use the same. Apparently so.
If I click the link for “go to file” it merely takes me to a page filled with links… yay for clear & comprehensive web pages. I mean, in my day, going to a file meant - go to a file - not a gigantic stack of files with no explanation. Silly me, eh!
There’s a table in the bin folder that lists which file to use for which hardware.
If your hardware is SONOFF Zigbee 3.0 USB Dongle Plus, then you need this file: CC1352P2_CC2652P_launchpad_*.zip
By sheer fluke I happened to stumble upon that somehow too and managed to flash my Sonoff Z3+ using the disassemble method … I just think it a great shame things are not laid out as clearly as they could/should be.
Too much assumption folks here know the open source development terms.
A pull request is a “request” to the HA devs that they “pull” code from your repository into Home Assistant.
In this case it would not be computer code, but just documentation text. The same platform (github) supports both in HA’s case. See Home Assistant · GitHub.
Probably too much to expect a casual user to get into the intricacies of learning all that’s necessary, but I guess it doesn’t hurt to ask.