ITead's "Sonoff Zigbee 3.0 USB Dongle Plus" (model "ZBDongle-P") based on Texas Instruments CC2652P +20dBm radio SoC/MCU

Awesome, thanks!. I haven’t used that method yet. Can you point me where to get the tools for the method?

Edit:
Nevermind. found it listed in the first post

1 Like

Not tested myself yet but seen Koenkk released Z-Stack_3.x.0 coordinator 20221226 Zigbee firmware:

https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/Z-Stack_3.x.0/bin

https://github.com/Koenkk/Z-Stack-firmware/blob/7398d834eb3a790876c280293c4181da96cc7114/coordinator/Z-Stack_3.x.0/CHANGELOG.md

It is built from Texas Instruments SimpleLink SDK 6.10.01.01 which in turn got these bug-fixes/changes:

https://software-dl.ti.com/simplelink/esd/simplelink_cc13xx_cc26xx_sdk/6.10.01.01/exports/changelog.html

Note that adapters based on Texas Instruments CC2652 and CC1352 chips can be flashed by putting them in the bootloader (see your adapter manual on how to do this or use the sonoff parameter with the cc2538-bsl flasher tool). When it is bootloader mode one of the following tools can be used to flash firmware image to it:

If your OS is unable to find the device chances are that your OS can’t communicate with its virtual COM port because lacking drivers:

Sometimes it wipes the NVRAM during the firmware upgrade and sometimes it does not, so the general recommendation is to always do a backup before upgrading firmware. If you are using a later version of Zigbee2MQTT or Home Assistant’s ZHA integration in a Home Assistant Operating System or Container installation then they perform Zigbee network backup for you. You can otherwise do a Zigbee network backup report/save via their GUI interface or alternatively manually with either zigpy-cli or zigpy-znp

https://github.com/zigpy/zigpy-cli

https://github.com/zigpy/zigpy-znp/blob/dfbc7a44ea217f99c1715c07042494afaa5dde33/TOOLS.md

2 Likes

Thank you for the info! I backed up my coordinator last night in case something goes wrong. Will try updating the firmware later tonight or this weekend.

Updated the firmware using the python method. Super easy and all my devices showed back up in Z2M. Yay!

HI every body.

I’m having difficulties with Flash Programer. it does not communicate with Sonoff Dongle Plus. I’m pretty sure I pressed the boot button before putting it in the usb port. I select the path to the file etc. I’ve done this on more than one machine (PC and lap Top) and I have the same results! the error message is: >Initiate access to target: COM5 using 2-pin cJTAG.
ACK/NAK not received. Expected 0x00 0xCC or 0x00 0x33, received 0x78 0x00.
ACK/NAK not received. Expected 0x00 0xCC or 0x00 0x33, received 0x80 0x78.
No response from device. Device may not be in bootloader mode. Reset device and try again.
If problem persists, check connection and baud rate.
Connecting over serial bootloader failed: No response from device. Device may not be in bootloader mode. Reset device and try again.
If problem persists, check connection and baud rate.

I have no idia what do do.

If you have a Windows PC.
Have a look in comment #2 on this thread, where Hedda describes the FW upgrade. I have used the method numerous times, works every time and less than 2 min, when you got the initial things installed.

That error message means that it is not in bootloader mode. Be sure to press AND hold the bootloader button, (and not only press then forget to hold).

You of course also have to make sure that no other application is connected to the adapter or trying to open a connection to it at the same time, so if running the commands from your Home Assistant instance via terminal then you need to temporarily stop/disable the ZHA (Zigbee Home Automation) integration or the Zigbee2MQTT add-on if you are using that.

If you can stand up a working Python 3 install, the easiest tool to use in my mind is the CC2538-BSL boot loader/flash tool. The tool will scan the system for the first instance of an eligible device and automatically put it into boot loader mode.

The command is very straightforward…

python3 cc2538-bsl.py --bootloader-sonoff-usb -e -w -v image-name.hex

–bootloader-sonoff-usb is specific to the Dongle-P and activates boot loader mode without needing to take the device apart.

-e Erases before writing, which is necessary when overwriting to make sure the current firmware is completely wiped.

-w Tells the utility to write.

-v Performs a checksum verification after writing.

If for some reason the tool cannot find the serial port, add the following:

-p Serial port (i.e. /dev/tty.usbserial-110 or “COMx” for windows)

python3 cc2538-bsl.py --bootloader-sonoff-usb -e -w -v -p /dev/tty.usbserial-110 image-name.hex

1 Like

You can do it right in HA terminal too, no need for a seperate python 3 install. Turn off z2m. Start a terminal, pip3 install intelhex pyserial then run the cc2538-bsl.py , it is /dev/ttyUSB0 for me.

hi, I’m also trying to flash with router firmware, but without success, so I try with coordinator firmware and it happened immediately. I use Windows with texas smartflasher. my conclusions are that the router firmware, the latest release in this case block the flash…

Like stated already anytime I got an error when using that flash program it was because the device was not in bootloader mode. That button is a bit of a pain to keep pressed when plugging in.

I followed the steps for python using the video below when I did mine last week. Much easier to flash with python.

3 Likes

Agreed.
But a tip: if you have a usb extension cable, you would find it very useful in this scenario…

Also, looks like your video link is broken at the moment…?

1 Like

Hopefully the link is fixed now.

Another tip: you could also use something non-conductive to help press the button down.

1 Like

I’ve tried to install the dongle on a synology (dsm6.2) with docker and a proxmoxserver. In both ways the dongle is not recognized . (on the syno it doesn’t make a TTYUSB0).

How can I see if the dongle is correctly flashed an does work correct ?

You can start by connecting to another computer (that is not using any virtualization or Docker) and update the firmware as that way will know at least there should be nothing wrong with your adapter.

Firmware → https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/Z-Stack_3.x.0/bin

Adapters based on CC1352 or CC2652 chips can be flashed after manually putting it in bootloader mode (see adapter manual) if not using CC2538-BSL with the sonoff parameters to make it go bootloader mode automatically. After have done that one of the following tools can be used to flash it.

Normally I could say that you always need to start by checking that have Silicon Labs CP210x USB to UART Bridge Virtual COM Port (VCP) drivers installed inside the operating system that runs Home Assistant which it needs to see the USB adapter exposed as a serial port but with you running both Docker container(s) and Proxmox virtualization do not know at what layer you would have what in your unique setup, and I feed to would be way to involved having a troubleshooting dialogue about that in this thread.

Anyway, it is probably either a problem with Docker Compose (i.e. Docker device forwarding to the docker image) and/or USB-passthrough (i.e. passing the USB through to Docker and/or the virtual machine).

For properly configuring USB-passthrough on your VM (also know as USB pass-though) you need to read the manual of your virualization platform (e.i. The virtual machine hypervisor)

For configuring the Docker Compose see example → https://www.home-assistant.io/integrations/zha#cant-connect-to-usb-device-and-using-docker

You see, for your type of unique setup the Home Assistant OS will not see the dongle hardware (which is a serial port device via a USB-to-serial bridge/converter chip) until both Docker device forwarding to the docker image and USB passthrough for your VM (Virtual Machine) is working properly, so bet that one of those or both of them is your issue.

For your sake and ours, it would be much better if you first ask questions in other external community forums that are dedicated to Proxmox, Synology, and/or Docker as the problem will surely be with Proxmox, Synology, or Docker and not be a problem with this USB dongle or Home Assistant.

Note that USB pass-through will not work if your virtualization hypervisor operating system is trying to use the device which is why you might need to uninstall device drivers there. Regardless you need to troubleshoot this from the side of your Docker container / Docker Compose and/or virtualization hypervisor / virtual machine manager.

You could post more info about your Docker setup and virtualization hypervisor + underlying operating system configuration if can not sort it out, but please understand that this is really off-topic for this 500+ posts thread that is specifically only about this Zigbee Coordinator USB dongle and not generic setup/configuration that is only indirectly related so much better is to go to the forum for your virtualization hypervisor and ask them about how to properly configure Docker Compose and USB-passthrough for the VM.

2 Likes

Ok thanks for your reply. I will search for usb pass-through…

thanks for helping me. It was the usb pass-through. Now the dongle is active. Searching for weaks and it was so easy (https://dannyda.com/2020/08/26/how-to-passthrough-usb-devices-in-proxmox-ve-pve-6-2-easy-and-quick/)

Just an idea - Would you like to open another topic and share what you have done to get things going, so that future users with similar setup like yours would know what or how exactly?

2 Likes

I just H/W installed the dongle-P and added it as a USB device in my Proxmox VM running Home Assistant. So far, so good, it is visible there. So the plan was to install zigbee2mqtt and looked up some tutorial in youtube. As a first step I looked up the dongle via system->hardware and copied the path (/dev/serial/by-id/usb-Silicon_Labs_Sonoff_Zigbee_3.0_USB_Dongle_Plus_0001-if00-port0).

Then I installed Mosquito broker via Add Ons, this works and still works. Hereafter the problems started; the MQTT card was not visible under integrations, also not after refreshing the page. The ZHA card was visible and I clicked it (stupid enough). Hereafter nothing happened anymore; it seems the HA system restarted, the dongle is not visible anymore under hardware, only in the VM it remains visible. All gone leaving me desperate. I rebooted several times, no result. Anything I could do rather than recover a backup (which I would prefer not to do since it is 4 months old).

@eddietheeagle better if you start a new thread since your issue is not specific to this adapter but rather using MQTT and Zigbee2MQTT with Home Assistant. This thread is already 500+ posts long and is trying to focus the ZBDongle-P itself, such as example upgrading firmware on it and such.