ZBDongle-E

Hello, I bought Sonoff ZBDongle-E and I have problems with it. I was able to connect it to Home Assistant without any problems. But it does not work correctly, devices are connected, but after about an hour the communication line between the coordinator and the device disappears. And accordingly, the device stops transmitting data to the coordinator. I was advised to reflash it, but nothing came of it. Below I apply what happens when the firmware is flashed. Hopefully someone has experienced this before and can help me.

I took the flashing method from here: zigbeeFirmware/firmware/Zigbee3.0_Dongle-NoSigned/EZSP at master · xsp1989/zigbeeFirmware · GitHub

Tried both options, neither of them was successful.

root@ubuntu-xt:~/elelabs-zigbee-ezsp-utility# python3 Elelabs_EzspFwUtility.py flash -f data/ncp-uart-sw_7.1.1.0_115200.gbl -p /dev/ttyACM0
2022/10/27 09:59:59 Elelabs_EzspFwUtility: Generic Zigbee EZSP adapter detected:
2022/10/27 09:59:59 Elelabs_EzspFwUtility: Firmware: 6.10.3-41
2022/10/27 09:59:59 Elelabs_EzspFwUtility: EZSP v8
2022/10/27 09:59:59 Elelabs_EzspFwUtility: Launch in bootloader mode
2022/10/27 10:00:09 Elelabs_EzspFwUtility: EZSP adapter in bootloader mode detected:
2022/10/27 10:00:09 Elelabs_EzspFwUtility: Gecko Bootloader v1.12.00
2022/10/27 10:00:10 Elelabs_EzspFwUtility: Successfully restarted into X-MODEM mode! Starting upload of the new firmware... DO NOT INTERRUPT(!)
send error: expected ACK; got b'\x18' for block 1
send error: expected ACK; got b'\x18' for block 1
send error: expected ACK; got b'\x18' for block 1
send error: expected ACK; got b'\r' for block 1
send error: expected ACK; got b'\n' for block 1
send error: expected ACK; got b'S' for block 1
send error: expected ACK; got b'e' for block 1
send error: expected ACK; got b'r' for block 1
send error: expected ACK; got b'i' for block 1
send error: expected ACK; got b'a' for block 1
send error: expected ACK; got b'l' for block 1
send error: expected ACK; got b' 'for block 1
send error: expected ACK; got b'u' for block 1
send error: expected ACK; got b'p' for block 1
send error: expected ACK; got b'l' for block 1
send error: expected ACK; got b'o' for block 1
send error: expected ACK; got b'a' for block 1
send error: NAK received 17 times, aborting.
2022/10/27 10:00:17 Elelabs_EzspFwUtility: Firmware upload failed. Please try a correct firmware image or restart in normal mode.

Make sure to use an extension USB cable.
The USB3 ports are known to create noise that interfere with the 2.4Ghz frequency band that Zigbee uses.

Thanks, but this is the first one I tried.

I meant that the USB cable might be needed to get a stable connection.

Besides that your log writes out a text but it is cut off, so it is a bit tricky to see what it says.
I got “Serial uploa” in the text downwards, but the next 17 letters are missing. Can you find the complete log somewhere?

I will duplicate what I wrote in the topic.

root@ubuntu-xt:~/elelabs-zigbee-ezsp-utility# python3 Elelabs_EzspFwUtility.py flash -f data/ncp-uart-sw_7.1.1.0_115200.gbl -p /dev/serial/by-id/usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_20220718134126-if00
2022/10/27 09:59:59 Elelabs_EzspFwUtility: Generic Zigbee EZSP adapter detected:
2022/10/27 09:59:59 Elelabs_EzspFwUtility: Firmware: 6.10.3-41
2022/10/27 09:59:59 Elelabs_EzspFwUtility: EZSP v8
2022/10/27 09:59:59 Elelabs_EzspFwUtility: Launch in bootloader mode
2022/10/27 10:00:09 Elelabs_EzspFwUtility: EZSP adapter in bootloader mode detected:
2022/10/27 10:00:09 Elelabs_EzspFwUtility: Gecko Bootloader v1.12.00
2022/10/27 10:00:10 Elelabs_EzspFwUtility: Successfully restarted into X-MODEM mode! Starting upload of the new firmware… DO NOT INTERRUPT(!)
send error: expected ACK; got b’\x18’ for block 1
send error: expected ACK; got b’\x18’ for block 1
send error: expected ACK; got b’\x18’ for block 1
send error: expected ACK; got b’\r’ for block 1
send error: expected ACK; got b’\n’ for block 1
send error: expected ACK; got b’S’ for block 1
send error: expected ACK; got b’e’ for block 1
send error: expected ACK; got b’r’ for block 1
send error: expected ACK; got b’i’ for block 1
send error: expected ACK; got b’a’ for block 1
send error: expected ACK; got b’l’ for block 1
send error: expected ACK; got b’ ’ for block 1
send error: expected ACK; got b’u’ for block 1
send error: expected ACK; got b’p’ for block 1
send error: expected ACK; got b’l’ for block 1
send error: expected ACK; got b’o’ for block 1
send error: expected ACK; got b’a’ for block 1
send error: NAK received 17 times, aborting.

2022/10/27 10:00:17 Elelabs_EzspFwUtility: Firmware upload failed. Please try a correct firmware image or restart in normal mode.

We need the text from the 17 lines that is with NAK.

send error: NAK received 17 times, aborting.

I don’t know how to get a more detailed log of this script

Try to see if some of the log files in /var/log/ contains more info about this.

ahh, I see the problem.
The guide you are following is for version V! 9888010100045, but your dongle have version V2 20220718134126-if00.

See this closed issue on the github.

It is sad. It turns out it can not be flashed and my problem remains unresolved. The raw product was released into production. Thanks for the link to the article.

I flashed the dongle with the latest firmware (specific to zbdongle-E) using this:

and this:

Edit: I see now you used the same. For the record: I failed on one PC over and over again, only to succeed the same procedure on another PC. No clue why, even the drivers I installed where the same. Both PC’s where Surface Pro 4.

Concerning devices unlinking after a couple of hours, are they Aqara? It seems they have trouble with these adapters, same as with the Home Assistant Yellow featuring the same Silicon Labs EFR32MG21 chip. I got around that by using some other devices to route the Aqaras.

Thanks for the advice, I tried to reflash on three different devices, but to no avail. Devices not aqara, but xiaomi button and motion sensors and others

Xiaomi is who makes the Aqara stuff, xiaomi Mi/Mija is the same hardware branded differently. These devices do not adhere to Zigbee standards very well, so it is the thing I was talking about. You’re not the ony one experiencing this.

Maybe it will help someone in the future:

I used secureCRT for the firmware.
Preparation, Make sure the port is 115200.

  1. After plugging in the dongle-E, first press and hold the “BOOT” button, then briefly press the “reset” button, and then let go.
    at this time, the dongle-E will enter the “bootloader mode”.
  2. After completing the first step, there will be a corresponding information prompt, and then press the number 1 according to the prompt.
  3. Then select “Send Xmodem” to transfer the firmware upgrade
1 Like

This was really helpful, thank you. But it’s as far as I get - it just sits there with a message that it’s transferring the file - but there is no progress - I even left it for an hour. Any further advice? Next step is to try and interpret the instructions for the Python method.

EDIT: And the python method got the same results as you - looks like the letters returned in the ‘expected ACK; got x’ messages seem to spell out something to do with serial upload…?

I have the same issue did you finaly find a solution . I use both the secureCRT and the python method, with Z3RouterUSBDonlge_EZNet6.10.3_V1.0.0.gbl and two other gbl flles on two different computers.

Hi all - anyone have any success with this? Exact same issues - and tried so many methods to get this working as a router.