ITead’s “Sonoff Zigbee 3.0 USB Dongle Plus V2” (model "ZBDongle-E") based on Silicon Labs EFR32MG21 +20dBm radio SoC/MCU

Recommend read and try follow all tips here → Guide for Zigbee interference avoidance and network range/coverage optimization

EDIT: I added the logs from the Silabs Firmware Flasher below this post. It is what I get when I put the dongle in and hit connect on the webpage.

Quick question on the EZSP Sonoff Zigbee Dongle Plus E.

I have one running as a coordinator for Z2M and 2 flashed as routers. The router firmware I am using is “Z3RouterUSBDonlge_EZNet6.10.3_V1.0.0.gbl”. The Coordinator is using “ncp-uart-sw_EZNet6.10.3_V1.0.1.gbl”

Are these the 2 I should be using at this point? The 2 routers are losing connectivity everyday. I can delete them in Z2M and then they join right back up and work for a bit. Just want to make sure I am using the correct firmware for these dongles.

Many thanks and no rush!

(post deleted by author)

Didn’t read, but please use the hide details option for the logs so they aren’t filling up the thread.

Summary

2023-11-06 18:48:16 emscripten universal_silabs_flasher.flasher[42] INFO Probing ApplicationType.GECKO_BOOTLOADER at 115200 baud
2023-11-06 18:48:16 emscripten zigpy.serial[42] DEBUG Opening a serial connection to ‘/dev/webserial’ (115200 baudrate)
2023-11-06 18:48:16 emscripten universal_silabs_flasher.common[42] DEBUG Connection made: <webserial_transport.WebSerialTransport object at 0x1405e88>
2023-11-06 18:48:16 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’\r\n> appNwkJoinOrRejoinWhenPowerOn [291]: \r\n NWK attempt join EVENT, nwk_state = 0x02, appDevHadAttemptNwkJoinTimes = 0\r\n\r\n> appNwkJoinOrRejoinWhenPowerOn [360]: \r\n NWK join EVENT:EMBER_JOINED_NETWORK, app_dev_had_attempt_nwk_join_times = 1\r\nISR unchanged ’
2023-11-06 18:48:16 emscripten universal_silabs_flasher.gecko_bootloader[42] DEBUG Parsing State.WAITING_FOR_MENU: bytearray(b’\r\n> appNwkJoinOrRejoinWhenPowerOn [291]: \r\n NWK attempt join EVENT, nwk_state = 0x02, appDevHadAttemptNwkJoinTimes = 0\r\n\r\n> appNwkJoinOrRejoinWhenPowerOn [360]: \r\n NWK join EVENT:EMBER_JOINED_NETWORK, app_dev_had_attempt_nwk_join_times = 1\r\nISR unchanged ‘)
2023-11-06 18:48:16 emscripten universal_silabs_flasher.common[42] DEBUG Sending data b’3’
2023-11-06 18:48:16 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’\r’
2023-11-06 18:48:16 emscripten universal_silabs_flasher.gecko_bootloader[42] DEBUG Parsing State.WAITING_FOR_MENU: bytearray(b’\r\n> appNwkJoinOrRejoinWhenPowerOn [291]: \r\n NWK attempt join EVENT, nwk_state = 0x02, appDevHadAttemptNwkJoinTimes = 0\r\n\r\n> appNwkJoinOrRejoinWhenPowerOn [360]: \r\n NWK join EVENT:EMBER_JOINED_NETWORK, app_dev_had_attempt_nwk_join_times = 1\r\nISR unchanged \r’)
2023-11-06 18:48:16 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’\xd4\xd1\xd1\xbd\xb9\xc1PressedShortCallback, timePressedMs = 0, 4999\r\n’
2023-11-06 18:48:16 emscripten universal_silabs_flasher.gecko_bootloader[42] DEBUG Parsing State.WAITING_FOR_MENU: bytearray(b’\r\n> appNwkJoinOrRejoinWhenPowerOn [291]: \r\n NWK attempt join EVENT, nwk_state = 0x02, appDevHadAttemptNwkJoinTimes = 0\r\n\r\n> appNwkJoinOrRejoinWhenPowerOn [360]: \r\n NWK join EVENT:EMBER_JOINED_NETWORK, app_dev_had_attempt_nwk_join_times = 1\r\nISR unchanged \r\xd4\xd1\xd1\xbd\xb9\xc1PressedShortCallback, timePressedMs = 0, 4999\r\n’)
2023-11-06 18:48:18 emscripten universal_silabs_flasher.flasher[42] INFO Probing ApplicationType.CPC at 460800 baud
2023-11-06 18:48:18 emscripten zigpy.serial[42] DEBUG Opening a serial connection to ‘/dev/webserial’ (460800 baudrate)
2023-11-06 18:48:18 emscripten universal_silabs_flasher.common[42] DEBUG Connection made: <webserial_transport.WebSerialTransport object at 0x1161478>
2023-11-06 18:48:18 emscripten universal_silabs_flasher.cpc[42] DEBUG Sending frame CPCTransportFrame(endpoint=<EndpointId.SYSTEM: 0>, control=196, payload=UnnumberedFrame(command_id=<UnnumberedFrameCommandId.PROP_VALUE_GET: 2>, command_seq=0, payload=PropertyCommand(property_id=<PropertyId.SECONDARY_CPC_VERSION: 3>, value=b’’)))
2023-11-06 18:48:18 emscripten universal_silabs_flasher.common[42] DEBUG Sending data b’\x14\x00\n\x00\xc4U\xd3\x02\x00\x04\x00\x03\x00\x00\x00\xdb\x12’
2023-11-06 18:48:18 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’\x0fx\xf8x\xf8x\xf8x\x80\x00x\x80\x80xxx\x80x\x80xxx\x80x\x80x\x00\xf8x\xf8x\x80x\xf8x\x00x\x00x\xf8x\xf8x\x00x\x00x\x00xxxx\x00\x80\x00\xf8x\x80\xf8x\xf8\xf8xx’
2023-11-06 18:48:18 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’x’): ValueError(‘Invalid flag’)
2023-11-06 18:48:18 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’xx\x80\x80xxx\x80x\x80xxx\x80x\xf8\x80x\x80x\x80x\x80\x00\x80\x00\x80\x00x\x00\x80\x00\xf8\x80x\x80x\x80x\x80x\x00\x80x’
2023-11-06 18:48:18 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’x’): ValueError(‘Invalid flag’)
2023-11-06 18:48:19 emscripten universal_silabs_flasher.cpc[42] DEBUG Failed to send CPCTransportFrame(endpoint=<EndpointId.SYSTEM: 0>, control=196, payload=UnnumberedFrame(command_id=<UnnumberedFrameCommandId.PROP_VALUE_GET: 2>, command_seq=0, payload=PropertyCommand(property_id=<PropertyId.SECONDARY_CPC_VERSION: 3>, value=b’’))), trying again in 0.10s (attempt 1 of 4)
2023-11-06 18:48:19 emscripten universal_silabs_flasher.cpc[42] DEBUG Sending frame CPCTransportFrame(endpoint=<EndpointId.SYSTEM: 0>, control=196, payload=UnnumberedFrame(command_id=<UnnumberedFrameCommandId.PROP_VALUE_GET: 2>, command_seq=0, payload=PropertyCommand(property_id=<PropertyId.SECONDARY_CPC_VERSION: 3>, value=b’’)))
2023-11-06 18:48:19 emscripten universal_silabs_flasher.common[42] DEBUG Sending data b’\x14\x00\n\x00\xc4U\xd3\x02\x00\x04\x00\x03\x00\x00\x00\xdb\x12’
2023-11-06 18:48:20 emscripten universal_silabs_flasher.cpc[42] DEBUG Failed to send CPCTransportFrame(endpoint=<EndpointId.SYSTEM: 0>, control=196, payload=UnnumberedFrame(command_id=<UnnumberedFrameCommandId.PROP_VALUE_GET: 2>, command_seq=0, payload=PropertyCommand(property_id=<PropertyId.SECONDARY_CPC_VERSION: 3>, value=b’’))), trying again in 0.10s (attempt 2 of 4)
2023-11-06 18:48:20 emscripten universal_silabs_flasher.cpc[42] DEBUG Sending frame CPCTransportFrame(endpoint=<EndpointId.SYSTEM: 0>, control=196, payload=UnnumberedFrame(command_id=<UnnumberedFrameCommandId.PROP_VALUE_GET: 2>, command_seq=0, payload=PropertyCommand(property_id=<PropertyId.SECONDARY_CPC_VERSION: 3>, value=b’’)))
2023-11-06 18:48:20 emscripten universal_silabs_flasher.common[42] DEBUG Sending data b’\x14\x00\n\x00\xc4U\xd3\x02\x00\x04\x00\x03\x00\x00\x00\xdb\x12’
2023-11-06 18:48:21 emscripten universal_silabs_flasher.cpc[42] DEBUG Failed to send CPCTransportFrame(endpoint=<EndpointId.SYSTEM: 0>, control=196, payload=UnnumberedFrame(command_id=<UnnumberedFrameCommandId.PROP_VALUE_GET: 2>, command_seq=0, payload=PropertyCommand(property_id=<PropertyId.SECONDARY_CPC_VERSION: 3>, value=b’’))), trying again in 0.10s (attempt 3 of 4)
2023-11-06 18:48:21 emscripten universal_silabs_flasher.cpc[42] DEBUG Sending frame CPCTransportFrame(endpoint=<EndpointId.SYSTEM: 0>, control=196, payload=UnnumberedFrame(command_id=<UnnumberedFrameCommandId.PROP_VALUE_GET: 2>, command_seq=0, payload=PropertyCommand(property_id=<PropertyId.SECONDARY_CPC_VERSION: 3>, value=b’’)))
2023-11-06 18:48:21 emscripten universal_silabs_flasher.common[42] DEBUG Sending data b’\x14\x00\n\x00\xc4U\xd3\x02\x00\x04\x00\x03\x00\x00\x00\xdb\x12’
2023-11-06 18:48:22 emscripten universal_silabs_flasher.cpc[42] DEBUG Failed to send CPCTransportFrame(endpoint=<EndpointId.SYSTEM: 0>, control=196, payload=UnnumberedFrame(command_id=<UnnumberedFrameCommandId.PROP_VALUE_GET: 2>, command_seq=0, payload=PropertyCommand(property_id=<PropertyId.SECONDARY_CPC_VERSION: 3>, value=b’’))), trying again in 0.10s (attempt 4 of 4)
2023-11-06 18:48:22 emscripten universal_silabs_flasher.flasher[42] INFO Probing ApplicationType.CPC at 115200 baud
2023-11-06 18:48:22 emscripten zigpy.serial[42] DEBUG Opening a serial connection to ‘/dev/webserial’ (115200 baudrate)
2023-11-06 18:48:22 emscripten universal_silabs_flasher.common[42] DEBUG Connection made: <webserial_transport.WebSerialTransport object at 0x11246d0>
2023-11-06 18:48:22 emscripten universal_silabs_flasher.cpc[42] DEBUG Sending frame CPCTransportFrame(endpoint=<EndpointId.SYSTEM: 0>, control=196, payload=UnnumberedFrame(command_id=<UnnumberedFrameCommandId.PROP_VALUE_GET: 2>, command_seq=0, payload=PropertyCommand(property_id=<PropertyId.SECONDARY_CPC_VERSION: 3>, value=b’’)))
2023-11-06 18:48:22 emscripten universal_silabs_flasher.common[42] DEBUG Sending data b’\x14\x00\n\x00\xc4U\xd3\x02\x00\x04\x00\x03\x00\x00\x00\xdb\x12’
2023-11-06 18:48:22 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’\\xeb\x95\x91\x81\r\n\r\nButton0PressedShortCallback, timePressedMs = 0, 4999\r\nN’
2023-11-06 18:48:22 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’N’): ValueError(‘Invalid flag’)
2023-11-06 18:48:22 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’o such command\r\nUsage:\r\n: 123 or 0x1ABC\r\n: “foo” or’
2023-11-06 18:48:22 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’r’): ValueError(‘Invalid flag’)
2023-11-06 18:48:22 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’ {0A 1B 2C}\r\n\r\nbsend\r\nchangekey…\r\ndebugprint…\r\necho\r\nendpoin’
2023-11-06 18:48:22 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’n’): ValueError(‘Invalid flag’)
2023-11-06 18:48:22 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’t…\r\nevents\r\nhelp\r\ninfo\r\ninterpan…\r\nkeys…\r\nlibs\r\nnetwork…’
2023-11-06 18:48:22 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’.’): ValueError(‘Invalid flag’)
2023-11-06 18:48:22 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’.’
2023-11-06 18:48:22 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’\r\noption…\r\nplugin…\r\nprint…\r\nraw\r\nread\r\nreset\r\nsecurity…\r’
2023-11-06 18:48:22 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’\r’): ValueError(‘Invalid flag’)
2023-11-06 18:48:22 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’\nsend\r\nsend-using-multicast-binding\r\nsend_multicast\r\ntimesync\r\nv’
2023-11-06 18:48:22 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’v’): ValueError(‘Invalid flag’)
2023-11-06 18:48:22 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’ersion\r\nwrite\r\nzcl…\r\nzdo…\r\n’
2023-11-06 18:48:22 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’\n’): ValueError(‘Invalid flag’)
2023-11-06 18:48:23 emscripten universal_silabs_flasher.cpc[42] DEBUG Failed to send CPCTransportFrame(endpoint=<EndpointId.SYSTEM: 0>, control=196, payload=UnnumberedFrame(command_id=<UnnumberedFrameCommandId.PROP_VALUE_GET: 2>, command_seq=0, payload=PropertyCommand(property_id=<PropertyId.SECONDARY_CPC_VERSION: 3>, value=b’’))), trying again in 0.10s (attempt 1 of 4)
2023-11-06 18:48:24 emscripten universal_silabs_flasher.cpc[42] DEBUG Sending frame CPCTransportFrame(endpoint=<EndpointId.SYSTEM: 0>, control=196, payload=UnnumberedFrame(command_id=<UnnumberedFrameCommandId.PROP_VALUE_GET: 2>, command_seq=0, payload=PropertyCommand(property_id=<PropertyId.SECONDARY_CPC_VERSION: 3>, value=b’’)))
2023-11-06 18:48:24 emscripten universal_silabs_flasher.common[42] DEBUG Sending data b’\x14\x00\n\x00\xc4U\xd3\x02\x00\x04\x00\x03\x00\x00\x00\xdb\x12’
2023-11-06 18:48:24 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’No such command\r\nUsage:\r\n: 123 or 0x1ABC\r\n: “foo” o’
2023-11-06 18:48:24 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’o’): ValueError(‘Invalid flag’)
2023-11-06 18:48:24 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’r {0A 1B 2C}\r\n\r\nbsend\r\nchangeke’
2023-11-06 18:48:24 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’e’): ValueError(‘Invalid flag’)
2023-11-06 18:48:24 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’y…\r\ndebugprint…\r\necho\r\nendpoi’
2023-11-06 18:48:24 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’i’): ValueError(‘Invalid flag’)
2023-11-06 18:48:24 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’nt…\r\nevents\r\nhelp\r\ninfo\r\ninterpan…\r\nkeys…\r\nlibs\r\nnetwork…’
2023-11-06 18:48:24 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’.’): ValueError(‘Invalid flag’)
2023-11-06 18:48:24 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’.\r\noption…\r\nplugin…\r\nprint…\r\nraw\r\nread\r\nreset\r\nsecurity…’
2023-11-06 18:48:24 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’.’): ValueError(‘Invalid flag’)
2023-11-06 18:48:24 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’\r\nsend\r\nsend-using-multicast-binding\r\nsend_multicast\r\ntimesync\r\n’
2023-11-06 18:48:24 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’\n’): ValueError(‘Invalid flag’)
2023-11-06 18:48:24 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’version\r\nwrite\r\nzcl…\r\nzdo…’
2023-11-06 18:48:24 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’.’): ValueError(‘Invalid flag’)
2023-11-06 18:48:24 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’\r\n’
2023-11-06 18:48:25 emscripten universal_silabs_flasher.cpc[42] DEBUG Failed to send CPCTransportFrame(endpoint=<EndpointId.SYSTEM: 0>, control=196, payload=UnnumberedFrame(command_id=<UnnumberedFrameCommandId.PROP_VALUE_GET: 2>, command_seq=0, payload=PropertyCommand(property_id=<PropertyId.SECONDARY_CPC_VERSION: 3>, value=b’’))), trying again in 0.10s (attempt 2 of 4)
2023-11-06 18:48:25 emscripten universal_silabs_flasher.cpc[42] DEBUG Sending frame CPCTransportFrame(endpoint=<EndpointId.SYSTEM: 0>, control=196, payload=UnnumberedFrame(command_id=<UnnumberedFrameCommandId.PROP_VALUE_GET: 2>, command_seq=0, payload=PropertyCommand(property_id=<PropertyId.SECONDARY_CPC_VERSION: 3>, value=b’’)))
2023-11-06 18:48:25 emscripten universal_silabs_flasher.common[42] DEBUG Sending data b’\x14\x00\n\x00\xc4U\xd3\x02\x00\x04\x00\x03\x00\x00\x00\xdb\x12’
2023-11-06 18:48:25 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’No such command\r\nUsage:\r\n: 123 or 0x1ABC\r\n: “foo” o’
2023-11-06 18:48:25 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’o’): ValueError(‘Invalid flag’)
2023-11-06 18:48:25 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’r {0A 1B 2C}\r\n\r\nbsend\r\nchangekey…\r\ndebugprint…\r\necho\r\nendpoi’
2023-11-06 18:48:25 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’i’): ValueError(‘Invalid flag’)
2023-11-06 18:48:25 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’nt…\r\nevents\r\nhelp\r\ninfo\r\ninterpan…\r\nkeys…\r\nlibs\r\nnetwork…’
2023-11-06 18:48:25 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’.’): ValueError(‘Invalid flag’)
2023-11-06 18:48:25 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’.\r\noption…\r\nplugin…\r\nprint…\r\nraw\r\nread\r\nreset\r\nsecurity’
2023-11-06 18:48:25 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’y’): ValueError(‘Invalid flag’)
2023-11-06 18:48:25 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’…’
2023-11-06 18:48:25 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’\r\nsend\r\nsend-using-multicast-binding\r\nsend_multicast\r\ntimesync\r\n’
2023-11-06 18:48:25 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’\n’): ValueError(‘Invalid flag’)
2023-11-06 18:48:25 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’version\r\nwrite\r\nzcl…\r\nzdo…\r\n’
2023-11-06 18:48:25 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’\n’): ValueError(‘Invalid flag’)
2023-11-06 18:48:26 emscripten universal_silabs_flasher.cpc[42] DEBUG Failed to send CPCTransportFrame(endpoint=<EndpointId.SYSTEM: 0>, control=196, payload=UnnumberedFrame(command_id=<UnnumberedFrameCommandId.PROP_VALUE_GET: 2>, command_seq=0, payload=PropertyCommand(property_id=<PropertyId.SECONDARY_CPC_VERSION: 3>, value=b’’))), trying again in 0.10s (attempt 3 of 4)
2023-11-06 18:48:26 emscripten universal_silabs_flasher.cpc[42] DEBUG Sending frame CPCTransportFrame(endpoint=<EndpointId.SYSTEM: 0>, control=196, payload=UnnumberedFrame(command_id=<UnnumberedFrameCommandId.PROP_VALUE_GET: 2>, command_seq=0, payload=PropertyCommand(property_id=<PropertyId.SECONDARY_CPC_VERSION: 3>, value=b’’)))
2023-11-06 18:48:26 emscripten universal_silabs_flasher.common[42] DEBUG Sending data b’\x14\x00\n\x00\xc4U\xd3\x02\x00\x04\x00\x03\x00\x00\x00\xdb\x12’
2023-11-06 18:48:26 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’No such command\r\nUsage:\r\n: 123 or 0x1ABC\r\n: “foo” o’
2023-11-06 18:48:26 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’o’): ValueError(‘Invalid flag’)
2023-11-06 18:48:26 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’r {0A 1B 2C}\r\n\r\nbsend\r\nchangekey…\r\ndebugprint…\r\necho\r\nendpoi’
2023-11-06 18:48:26 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’i’): ValueError(‘Invalid flag’)
2023-11-06 18:48:26 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’nt…\r\nevents\r\nhelp\r\ninfo\r\ni’
2023-11-06 18:48:26 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’i’): ValueError(‘Invalid flag’)
2023-11-06 18:48:26 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’nterpan…\r\nkeys…\r\nlibs\r\nnetwork…’
2023-11-06 18:48:26 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’.’): ValueError(‘Invalid flag’)
2023-11-06 18:48:26 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’.\r\noption…\r\nplugin…\r\nprint…\r\nraw\r\nread\r\nreset\r\nsecurity…’
2023-11-06 18:48:26 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’.’): ValueError(‘Invalid flag’)
2023-11-06 18:48:26 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’\r\nsend\r\nsend-using-multicast-binding\r\nsend_multicast\r\ntimesync\r\n’
2023-11-06 18:48:26 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’\n’): ValueError(‘Invalid flag’)
2023-11-06 18:48:26 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’version\r\nwrite\r\nzcl…\r\nzdo…\r\n’
2023-11-06 18:48:26 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’\n’): ValueError(‘Invalid flag’)
2023-11-06 18:48:27 emscripten universal_silabs_flasher.cpc[42] DEBUG Failed to send CPCTransportFrame(endpoint=<EndpointId.SYSTEM: 0>, control=196, payload=UnnumberedFrame(command_id=<UnnumberedFrameCommandId.PROP_VALUE_GET: 2>, command_seq=0, payload=PropertyCommand(property_id=<PropertyId.SECONDARY_CPC_VERSION: 3>, value=b’’))), trying again in 0.10s (attempt 4 of 4)
2023-11-06 18:48:27 emscripten universal_silabs_flasher.flasher[42] INFO Probing ApplicationType.CPC at 230400 baud
2023-11-06 18:48:27 emscripten zigpy.serial[42] DEBUG Opening a serial connection to ‘/dev/webserial’ (230400 baudrate)
2023-11-06 18:48:27 emscripten universal_silabs_flasher.common[42] DEBUG Connection made: <webserial_transport.WebSerialTransport object at 0x199efa8>
2023-11-06 18:48:27 emscripten universal_silabs_flasher.cpc[42] DEBUG Sending frame CPCTransportFrame(endpoint=<EndpointId.SYSTEM: 0>, control=196, payload=UnnumberedFrame(command_id=<UnnumberedFrameCommandId.PROP_VALUE_GET: 2>, command_seq=0, payload=PropertyCommand(property_id=<PropertyId.SECONDARY_CPC_VERSION: 3>, value=b’’)))
2023-11-06 18:48:27 emscripten universal_silabs_flasher.common[42] DEBUG Sending data b’\x14\x00\n\x00\xc4U\xd3\x02\x00\x04\x00\x03\x00\x00\x00\xdb\x12’
2023-11-06 18:48:27 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’\xc4\x9e\x1e\x06\x9e\x06\x86\x9e~fx\x06\x98\x1e\x98\x80\xe6\x80\x98\x80\x18f~\x06~\xfe\x9e\xf8\x9e\x00\x18f\xf8fx\x1e\xe6\xf8fx\xe6\x98\x06\x9e\xfe\x9e\x18\x06~\x1ef\x06\x9e\xe0\x9e\x18f\xe6\xe0\xe6\xe6' 2023-11-06 18:48:27 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b'\xe6'): ValueError('Invalid flag') 2023-11-06 18:48:27 emscripten universal_silabs_flasher.common[42] DEBUG Received data b'\x06\x86\x00\x18~\x86\x9e\xe6\x9ef\x06f\xf8fx\x1e\xe6\xf8fxf\x98\x1e\x06\x98\xfe\x18\x18\x18\x86\x00\x18\x1e\x86\x98\xf8\x98\xf8\x98\x1e\x98\x80’
2023-11-06 18:48:27 emscripten universal_silabs_flasher.cpc[42] WARNING Failed to parse buffer bytearray(b’\x80’): ValueError(‘Invalid flag’)
2023-11-06 18:48:28 emscripten universal_silabs_flasher.cpc[42] DEBUG Failed to send CPCTransportFrame(endpoint=<EndpointId.SYSTEM: 0>, control=196, payload=UnnumberedFrame(command_id=<UnnumberedFrameCommandId.PROP_VALUE_GET: 2>, command_seq=0, payload=PropertyCommand(property_id=<PropertyId.SECONDARY_CPC_VERSION: 3>, value=b’’))), trying again in 0.10s (attempt 1 of 4)
2023-11-06 18:48:28 emscripten universal_silabs_flasher.cpc[42] DEBUG Sending frame CPCTransportFrame(endpoint=<EndpointId.SYSTEM: 0>, control=196, payload=UnnumberedFrame(command_id=<UnnumberedFrameCommandId.PROP_VALUE_GET: 2>, command_seq=0, payload=PropertyCommand(property_id=<PropertyId.SECONDARY_CPC_VERSION: 3>, value=b’’)))
2023-11-06 18:48:28 emscripten universal_silabs_flasher.common[42] DEBUG Sending data b’\x14\x00\n\x00\xc4U\xd3\x02\x00\x04\x00\x03\x00\x00\x00\xdb\x12’
2023-11-06 18:48:29 emscripten universal_silabs_flasher.cpc[42] DEBUG Failed to send CPCTransportFrame(endpoint=<EndpointId.SYSTEM: 0>, control=196, payload=UnnumberedFrame(command_id=<UnnumberedFrameCommandId.PROP_VALUE_GET: 2>, command_seq=0, payload=PropertyCommand(property_id=<PropertyId.SECONDARY_CPC_VERSION: 3>, value=b’’))), trying again in 0.10s (attempt 2 of 4)
2023-11-06 18:48:29 emscripten universal_silabs_flasher.cpc[42] DEBUG Sending frame CPCTransportFrame(endpoint=<EndpointId.SYSTEM: 0>, control=196, payload=UnnumberedFrame(command_id=<UnnumberedFrameCommandId.PROP_VALUE_GET: 2>, command_seq=0, payload=PropertyCommand(property_id=<PropertyId.SECONDARY_CPC_VERSION: 3>, value=b’’)))
2023-11-06 18:48:29 emscripten universal_silabs_flasher.common[42] DEBUG Sending data b’\x14\x00\n\x00\xc4U\xd3\x02\x00\x04\x00\x03\x00\x00\x00\xdb\x12’
2023-11-06 18:48:30 emscripten universal_silabs_flasher.cpc[42] DEBUG Failed to send CPCTransportFrame(endpoint=<EndpointId.SYSTEM: 0>, control=196, payload=UnnumberedFrame(command_id=<UnnumberedFrameCommandId.PROP_VALUE_GET: 2>, command_seq=0, payload=PropertyCommand(property_id=<PropertyId.SECONDARY_CPC_VERSION: 3>, value=b’’))), trying again in 0.10s (attempt 3 of 4)
2023-11-06 18:48:30 emscripten universal_silabs_flasher.cpc[42] DEBUG Sending frame CPCTransportFrame(endpoint=<EndpointId.SYSTEM: 0>, control=196, payload=UnnumberedFrame(command_id=<UnnumberedFrameCommandId.PROP_VALUE_GET: 2>, command_seq=0, payload=PropertyCommand(property_id=<PropertyId.SECONDARY_CPC_VERSION: 3>, value=b’’)))
2023-11-06 18:48:30 emscripten universal_silabs_flasher.common[42] DEBUG Sending data b’\x14\x00\n\x00\xc4U\xd3\x02\x00\x04\x00\x03\x00\x00\x00\xdb\x12’
2023-11-06 18:48:31 emscripten universal_silabs_flasher.cpc[42] DEBUG Failed to send CPCTransportFrame(endpoint=<EndpointId.SYSTEM: 0>, control=196, payload=UnnumberedFrame(command_id=<UnnumberedFrameCommandId.PROP_VALUE_GET: 2>, command_seq=0, payload=PropertyCommand(property_id=<PropertyId.SECONDARY_CPC_VERSION: 3>, value=b’’))), trying again in 0.10s (attempt 4 of 4)
2023-11-06 18:48:31 emscripten universal_silabs_flasher.flasher[42] INFO Probing ApplicationType.EZSP at 115200 baud
2023-11-06 18:48:31 emscripten zigpy.serial[42] DEBUG Opening a serial connection to ‘/dev/webserial’ (115200 baudrate)
2023-11-06 18:48:31 emscripten bellows.ezsp[42] DEBUG Resetting EZSP
2023-11-06 18:48:31 emscripten bellows.uart[42] DEBUG Resetting ASH
2023-11-06 18:48:31 emscripten bellows.uart[42] DEBUG Sending: b’1ac038bc7e’
2023-11-06 18:48:36 emscripten bellows.uart[42] DEBUG Connection lost: None
2023-11-06 18:48:36 emscripten bellows.uart[42] DEBUG Closed serial connection
2023-11-06 18:48:36 emscripten universal_silabs_flasher.flasher[42] INFO Probing ApplicationType.SPINEL at 460800 baud
2023-11-06 18:48:36 emscripten zigpy.serial[42] DEBUG Opening a serial connection to ‘/dev/webserial’ (460800 baudrate)
2023-11-06 18:48:36 emscripten universal_silabs_flasher.common[42] DEBUG Connection made: <webserial_transport.WebSerialTransport object at 0x16cf1b8>
2023-11-06 18:48:36 emscripten universal_silabs_flasher.spinel[42] DEBUG Sending frame SpinelFrame(header=SpinelHeader(transaction_id=3, network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_GET: 2>, data=b’\x02’)
2023-11-06 18:48:36 emscripten universal_silabs_flasher.common[42] DEBUG Sending data b’~\x83\x02\x02\xe65~’
2023-11-06 18:48:36 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’\xf0x\x00x\xf8x\x80xxx\x80x\x80x\x00\x80xx\x00\x80x\x80\x00xxx\xf8x\xf8x\xf8x\xf8x\x80\x00x\x80\x80xxx\x80x\x80xxx\x80x\x80x\x00\xf8x\xf8x\x80x\xf8x\x00x\x00’
2023-11-06 18:48:36 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’x\xf8x\xf8x\x00x\x00x\x00xxxx\x00\x80\x00\xf8x\x80\xf8x\xf8\xf8xxxx\x80\x80xxx\x80x\x80xxx\x80x\xf8\x80x\x80x\x80x\x80\x00\x80\x00\x80\x00x\x00\x80\x00\xf8\x80x\x80x\x80’
2023-11-06 18:48:36 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’x\x80x\x00\x80x’
2023-11-06 18:48:37 emscripten universal_silabs_flasher.spinel[42] DEBUG Failed to send SpinelFrame(header=SpinelHeader(network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_GET: 2>, data=b’\x02’), trying again in 0.10s (attempt 1 of 4)
2023-11-06 18:48:37 emscripten universal_silabs_flasher.spinel[42] DEBUG Sending frame SpinelFrame(header=SpinelHeader(transaction_id=3, network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_GET: 2>, data=b’\x02’)
2023-11-06 18:48:37 emscripten universal_silabs_flasher.common[42] DEBUG Sending data b’~\x83\x02\x02\xe65~’
2023-11-06 18:48:38 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’x\x00\x80x\x00xx\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\x80\x80\xf8\x80\x80\x80x\x00x\x00\x80\x00\xf8xxx\xf8x\x80\x00\x80\x00x\x00\x80x\x80xx\x80\x80\x00x\x00xx\x00\x80\xf8\x00x\xf8x’
2023-11-06 18:48:38 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’xx\x80x\x80\x00\x80\x00x\x80\x00\xf8\x80\x00\x80\x00\x80\x00\x80\x00xxxx\xf8xxx\xf8x\xf8x\xf8x\xf8x\x80\xf8\x00x\xf8xxx\x80xx\x00\x80\xf8\xf8x\x00\x80\x00x\x80’
2023-11-06 18:48:38 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’\x00\xf8\x80\x00\x80\x00\x80’
2023-11-06 18:48:38 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’xxxx\x00\x80\x80\x00x\x00x\x80x\x80\x00\x80\x00\x80\xf8\x80xxx\x00x\x80x\x80x\xf8\x80\x00\x80\xf8\x00x\xf8\xf8x\x80x\x80\x00\x80xx\x80\x00x\x00x\x80x\xf8x\xf8x\x00x\x80x\xf8x\x00’
2023-11-06 18:48:38 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\x80\x80\x80\x80x\x80\x00\x80xx\x80\x00\x80\x00\xf8\x80x\x80\x00\x80xxx\x00\x80x’
2023-11-06 18:48:38 emscripten universal_silabs_flasher.spinel[42] DEBUG Failed to send SpinelFrame(header=SpinelHeader(network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_GET: 2>, data=b’\x02’), trying again in 0.10s (attempt 2 of 4)
2023-11-06 18:48:38 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’\x80\x80x\x00x\x80\xf8\x80\x00\x80\x80\xf8x\x00\x00x\x80xx\x00\x80\xf8\x00x\xf8x\xf8\xf8x\xf8\xf8x\x00x\xf8x\x80x\x80\x00\x80\x00x\x80\x00\x80x\x80\xf8\x80\x80\x00x\x00\x80\xf8\x80x\xf8x\x00x\xf8x’
2023-11-06 18:48:38 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’xx\x80x\xf8\x80\x00\x80\x00\x80\x00x\x80\x00\x80x\x00\x80x\x00\x00xxx\xf8x\x80\xf8x\x00xxx\x80xx\xf8x\xf8x\xf8xxx\xf8x\x00xxx\xf8\x80\x00\x80\x00\x80\x00xxxx\x80x\xf8\x80x\x80x\x00\x80x’
2023-11-06 18:48:38 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’\x80\x80x\x00x\x80\xf8\x80\x00\x80\x80\xf8x’
2023-11-06 18:48:38 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’\x00\x00x\x80xx\x00\x80\xf8\x00x\xf8x\xf8\xf8x\xf8\xf8x\x00x\xf8x\x80x\x80\x00\x80\x00x\x80\x00\x80x\x80\xf8\x80\x80\x00x\x00\x80\xf8\x80x\xf8x\x00x\xf8xxx\x80x\xf8\x80\x00\x80\x00\x80\x00x\x80\x00\x80x\x00\x80x\x00\x00xxx\xf8x\x80\xf8x\x00xxx\x80xx\xf8x\xf8x\xf8xxx\xf8x\x00xxx\xf8\x80\x00\x80\x00\x80\x00xxxx\x80x\xf8’
2023-11-06 18:48:38 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’\x80x\x80x\x00\x80x’
2023-11-06 18:48:38 emscripten universal_silabs_flasher.spinel[42] DEBUG Sending frame SpinelFrame(header=SpinelHeader(transaction_id=3, network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_GET: 2>, data=b’\x02’)
2023-11-06 18:48:38 emscripten universal_silabs_flasher.common[42] DEBUG Sending data b’~\x83\x02\x02\xe65~’
2023-11-06 18:48:39 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’x\x00\x80x\x00xx\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\x80\x80\xf8\x80\x80\x80x\x00x\x00\x80\x00\xf8xxx\xf8x\x80\x00\x80\x00x\x00\x80x\x80xx\x80\x80\x00x\x00xx\x00\x80\xf8\x00x\xf8x’
2023-11-06 18:48:39 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’xx\x80x\x80\x00\x80\x00x\x80\x00\xf8\x80\x00\x80\x00\x80\x00\x80\x00xxxx\xf8xxx\xf8x\xf8x\xf8x\xf8x\x80\xf8\x00x\xf8xxx\x80xx\x00\x80\xf8\xf8x\x00\x80\x00x\x80\x00\xf8\x80\x00\x80\x00\x80’
2023-11-06 18:48:39 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’xxxx\x00’
2023-11-06 18:48:39 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’\x80\x80\x00x\x00x\x80x\x80\x00\x80\x00\x80\xf8\x80xxx\x00x\x80x\x80x\xf8\x80\x00\x80\xf8\x00x\xf8\xf8x\x80x\x80\x00\x80xx\x80\x00x\x00x\x80x\xf8x\xf8x\x00x\x80x\xf8x\x00’
2023-11-06 18:48:39 emscripten universal_silabs_flasher.common[42] DEBUG Received data b’\x80\x00\x80\x00\x80\x00\x80\x00\x80\x00\x80\x80\x80\x80x\x80\x00\x80xx\x80\x00\x80\x00\xf8\x80x\x80\x00\x80xxx\x00\x80x’
2023-11-06 18:48:39 emscripten universal_silabs_flasher.spinel[42] DEBUG Failed to send SpinelFrame(header=SpinelHeader(network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_GET: 2>, data=b’\x02’), trying again in 0.10s (attempt 3 of 4)
2023-11-06 18:48:40 emscripten universal_silabs_flasher.spinel[42] DEBUG Sending frame SpinelFrame(header=SpinelHeader(transaction_id=3, network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_GET: 2>, data=b’\x02’)
2023-11-06 18:48:40 emscripten universal_silabs_flasher.common[42] DEBUG Sending data b’~\x83\x02\x02\xe65~’
2023-11-06 18:48:41 emscripten universal_silabs_flasher.spinel[42] DEBUG Failed to send SpinelFrame(header=SpinelHeader(network_link_id=0, flag=2), command_id=<CommandID.PROP_VALUE_GET: 2>, data=b’\x02’), trying again in 0.10s (attempt 4 of 4)
2023-11-06 18:48:56 emscripten universal_silabs_flasher.flasher[42] INFO Probing ApplicationType.GECKO_BOOTLOADER at 115200 baud
2023-11-06 18:48:56 emscripten zigpy.serial[42] DEBUG Opening a serial connection to ‘/dev/webserial’ (115200 baudrate)
2023-11-06 18:48:56 emscripten universal_silabs_flasher.common[42] DEBUG Connection made: <webserial_transport.WebSerialTransport object at 0x1338b28>
2023-11-06 18:48:56 emscripten universal_silabs_flasher.common[42] DEBUG Sending data b’3’
2023-11-06 18:48:58 emscripten universal_silabs_flasher.flasher[42] INFO Probing ApplicationType.CPC at 460800 baud
2023-11-06 18:48:58 emscripten zigpy.serial[42] DEBUG Opening a serial connection to ‘/dev/webserial’ (460800 baudrate)

Have you followed all the best practice tips from here about using the Zigbee Coordinator with a long USB extension cable to a USB 2.0 port or USB 2.0 hub (and not a USB 3.x port or hub) to get the Zigbee Coordinator away from all possible sources of EMF/EMI/RMI interference? → Zigbee networks: how to guide for avoiding interference and optimize for getting better range + coverage

Anyway, for the Zigbee router firmware use that one from ITead/Sonoff → Sonoff_Zigbee_Dongle_Firmware/Dongle-E/Router at master · itead/Sonoff_Zigbee_Dongle_Firmware · GitHub

As for the Zigbee Coordinator firmware you can either choose to use the 6.10.3.0 version from ITead/Sonoff which is mature and as such is known to be very stable or you can choose to use the much newer 7.3.x.x versions which many have reported as working well but has not yet proven itself.

Any more context? What firmware image you trying to flash exactly and what variant of the Silabs Firmware Flasher are you using? Are you trying to flash a dongle that has a Zigbee Router firmware?

Quick glance at your logs it looks like you might be trying to flash a firmware that is not Zigbee NCP? Are you maybe trying to flash a MultiPAN-RCP or OT-RCP firmware image and perhaps also using the upstream Silabs Firmware Flasher from Nabu Casa?

Silabs Firmware Flasher is not a tool from ITead/Sonoff, and I do not think that the upstream version of Silabs Firmware Flasher from Nabu Casa has support for others than their SkyConnect dongle so think that you need to use a fork like the one from darkxst here → GitHub - darkxst/silabs-firmware-builder: Silicon Labs firmware builder and try flashing just a standard NCP firmware.

Regardless, note that this is not the right place to post logs from Silabs Firmware Flasher, suggest that you instead open a new issue in the GitHub repository from where you got it, or try this SL Web Flasher:

1 Like

Are there any way to utilise the Bluetooth controller inside, or is it just for Thread/Matter pairing?

I followed the following instruction:

If you had an existing ZHA setup, you will need to remove this entirely.
Make sure to backup your network first!

So I deleted the configuration from ZHA, then commented the zha configuration in cnofiguration.yaml. After programming the RCP FW and restoring the backup (which indicated it failed, but I still get the items), I none of the ZB devices have entities…

Not as a Bluetooth controller, no. There is currently no way to use Bluetooth on this hardware, and I believe that the SDK from Silicon Labs do not offer a full Bluetooth stack so it can not be used as a Bluetooth controller. As I understand the SDK from Silicon Labs only enable it with limitations in Bluetooth devices and Matter devices to use it for commisioning. Bluetooth in it is limited and not a full BLE stack so can not even be used in a Matter controller. If developers make a Matter controller using an EFR32MG21 then they still also need to have a seperate Bluetooth radio as well for BLE commisioning and that needs that do have a full Bluetooth, like for example an EFR32BG21.

Hi.
Which FW i need to use for my ZBDongle-E?

There is (https://github.com/darkxst/silabs-firmware-builder/tree/main/firmware_builds/zbdonglee) are:

  1. ncp-uart-hw-v7.3.2.0-zbdonglee-115200.gbl
  2. ncp-uart-hw-v7.3.2.0-zbdonglee-230400.gb
  3. ncp-uart-hw-v7.3.2.0-zbdonglee-none-115200.gbl

What’s the real difference?
And why are they labeled as “ncp-uart-hw-v*” even though ZBDongle-E definitely doesn’t support Hardware Flow Control?

As wrote in just a few posta above, for the Zigbee Coordinator firmware you can either choose to use the 6.10.3.0 version from ITead/Sonoff which is mature and as such is known to be very stable or you can choose to use the much newer 7.3.x.x versions which many have reported as working well but has not yet proven itself.

You have to test and see if a version and variant works good for you. Regardless, those are all experimental so use at your own risk.

The speeds are just the serial speed so the faster one of those should be better in theory since the this chips on this dongle can handle it but you then propneed to manually enter the higher speed in the software configuration.

Not sure what ”hw” means here as I do not think that pins for hardware flow is connected (and if so it should hopefully just fall back to software flow control). Hardware flow control would be better if this board supported it.

I assume that ”none” means no flow control but then do not know why it also sais ”hw”.

Suggest post those questions in the GitHub repo that @darkxst has for it.

Thanks for your reply.
“hw” in fw filename usually means the RTS/CTS flow control. But also fw usually fall back to no flow control at all, if board does not support requested hw control.

We can assume that the lack of flow control is worse than sw control.
But I’m probably wrong somewhere.

The filenames are generated from the silabs project name, which is ncp-uart-hw. For ZBDongle-E these images are patched to use Software flow control (this is the setting that the official firmware uses). the “none” firmware are patched to disable flow control completely.

ncp-uart-hw-v7.3.2.0-zbdonglee-115200.gbl is the recommended firmware and the one that is selected in the webflasher (once I update it to latest release soon)

Don’t worry to much about flow control or the lack of it. ZBDongle-E with no flow control performs much better than ZB-GW04 v1.2 with hw flowcontrol!

1 Like

Thank you for your clarifications.
I previously had firmware “ncp-uart-sw_7.3.1.0_115200.gbl” from another repository. Everything was working stable. But then I bought a device that is unstable and it needs to send multiple messages at a time for it to do what is required of it.I decided to experiment with firmware.

I installed “ncp-uart-hw_7.3.1.0_460800.gbl” from the same repository hoping that high speed and hw flow control will help me. But I started to notice that messages from sensors are not received (especially noticeable on motion sensors). Then I found out that hw flow control doesn’t work on my device.

Can you tell me why in your repository there is no ncp-uart firmware that would work at 460800 speed for dongle-e? Theoretically that would be better…

I’m currently testing “rcp-uart-802154-v4.3.2-zbdonglee-460800.gbl”. Everything seems to work stable (a couple of times I noticed some oddities, like pressing a button didn’t produce a result, but I’m not sure if that’s because of the firmware yet). But also subjectively I’ve noticed that the response of devices has become slower than on ncp firmware. Is this possible?

PS: I am using RPi 4 (2 GB RAM) with Sonoff ZBDongle-E.

Zigbee network itself is limited to 250kbps itself. NCP firmware is only relaying commands and data so in actual fact is going to need much less. I dont think there is any evidence that anything higher then 115200 for NCP will be better. theoretically 230 might be slightly better.

RCP multipan firmware is a different beast. Now you are offloading the coordinator role to your host for processing. That means the serial connection is now transferring the raw zigbee/thread data. you now need to keep up with the 250kbps, you also now have 2 networks (zigbee and thread) sharing the radio, which probably creates some overhead over the 250.

What sort of response time are you talking? Multipan is sharing the radio between thread and zigbee so will never likely be as fast as dedicated ncp zigbee firmware. That said with small networks it shouldnt add noticeable delay.

1 Like

Subjectively I have time to walk longer in a dark room before the lamp (zigbee relay) is triggered by the motion sensor (also zigbee). Accordingly, delays can be in any of the following places: signal from the sensor to the coordinator, signal processing in HA, signal from the coordinator to the relay…

I have about 25 zigbee devices in total (most of them are routers).

Multipan still sharing radio even if I don’t have Thread devices and I disabled thread router in the “Silicon Labs Multiprotocol” addon config?

If you are going to disable thread there is no real reason to run multipan firmware :stuck_out_tongue:

From a technical perspective I not sure what happens when otbr is disabled, but I suppose zigbee should get exlusive use of the radio then.

It seems to me to be a better approach where the adapter is only responsible for the physical layer and the application is responsible for everything else. This also organizes faster and easier delivery of updates.

well it does make swapping out the dongle slightly easier, but still no way to automatic failover on dongle failure.

Updates are a pain, as versions of dongle and multiprotocol addon must be kept in sync. A dongle with 4.2.x RCP wont work with multiprotocol 4.3.x!

1 Like

Hi
7.3.2.0 and all other one seams to be with hardware flow control.
I had try them but it crashed my dongle E. so I had manually to restore SW firmware.

Which firmware you are using ?