zsmartsystems / com.zsmartsystems.zigbee.sniffer

ZigBee sniffer using Ember NCP and routing packets to Wireshark for display
Eclipse Public License 1.0
33 stars 18 forks source link

NabuCasa Skyconnect firmware versions compatibility #30

Closed pdecat closed 6 months ago

pdecat commented 6 months ago

It took me some time to understand why sniffing did not work with my Skyconnect, and I did find any mention of this anywhere, so I thought I'd post it here.

Turns out this depends on the firmware version used.

Firmware versions that work:

Firmware versions that do not work:

With those, the error faced is:

# java -Dorg.slf4j.simpleLogger.defaultLogLevel=debug -jar target/com.zsmartsystems.zigbee.sniffer-1.0.1-SNAPSHOT.jar -baud 115200 -flow software -port /dev/serial/by-id/usb-Nabu_Casa_SkyConnect_v1.0_548xxxxxx988-if00-port0 -c 15
Z-Smart Systems Ember Packet Sniffer
NCP initialisation starting...
Opened serial port /dev/serial/by-id/usb-Nabu_Casa_SkyConnect_v1.0_548xxxxxx988-if00-port0 at 115200
[main] DEBUG com.zsmartsystems.zigbee.serial.ZigBeeSerialPort - Opening port /dev/serial/by-id/usb-Nabu_Casa_SkyConnect_v1.0_548xxxxxx988-if00-port0 at 115200 baud with FLOWCONTROL_OUT_XONOFF.
[main] DEBUG org.scijava.nativelib.BaseJniExtractor - Not deleting leftover folder /tmp/nativelib-loader_5691768735313253799: is 4ms old
[main] DEBUG org.scijava.nativelib.NativeLibraryUtil - processor is INTEL_64 os.arch is amd64
[main] DEBUG org.scijava.nativelib.NativeLibraryUtil - architecture is LINUX_64 os.name is linux
[main] DEBUG org.scijava.nativelib.NativeLibraryUtil - architecture is LINUX_64 os.name is linux
[main] DEBUG org.scijava.nativelib.NativeLibraryUtil - platform specific path is natives/linux_64/
[main] DEBUG org.scijava.nativelib.BaseJniExtractor - mappedLib is libjssc.so
[main] DEBUG org.scijava.nativelib.BaseJniExtractor - URL is jar:file:/home/patrick/workspaces/homeassistant/zsmartsystems/com.zsmartsystems.zigbee.sniffer/target/com.zsmartsystems.zigbee.sniffer-1.0.1-SNAPSHOT.jar!/natives/linux_64/libjssc.so
[main] DEBUG org.scijava.nativelib.BaseJniExtractor - URL path is file:/home/patrick/workspaces/homeassistant/zsmartsystems/com.zsmartsystems.zigbee.sniffer/target/com.zsmartsystems.zigbee.sniffer-1.0.1-SNAPSHOT.jar!/natives/linux_64/libjssc.so
[main] DEBUG org.scijava.nativelib.BaseJniExtractor - Extracting 'jar:file:/home/patrick/workspaces/homeassistant/zsmartsystems/com.zsmartsystems.zigbee.sniffer/target/com.zsmartsystems.zigbee.sniffer-1.0.1-SNAPSHOT.jar!/natives/linux_64/libjssc.so' to '/tmp/nativelib-loader_5691768735313253799/libjssc.so'
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - ASH: Connect
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - AshReceiveParserThread thread started
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - ASH: Reconnect
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - --> TX ASH frame: AshFrameRst []
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - ASH TX EZSP: EzspVersionRequest [networkId=0, desiredProtocolVersion=4]
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - <-- RX ASH frame: AshFrameRstAck [version=2, resetCode=11, Reset: Software]
[AshTimer-thread-1] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - ASH: Connected
[AshTimer-thread-1] DEBUG com.zsmartsystems.zigbee.dongle.ember.ZigBeeDongleEzsp - Ember: Link State change to true, initialised=false, networkStateUp=false
[AshTimer-thread-1] DEBUG com.zsmartsystems.zigbee.dongle.ember.ZigBeeDongleEzsp - Ember: Link State change to true ignored.
[AshTimer-thread-1] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - --> TX ASH frame: AshFrameData [frmNum=0, ackNum=0, reTx=false, data=00 00 00 04]
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - <-- RX ASH frame: AshFrameData [frmNum=0, ackNum=1, reTx=false, data=00 80 00 0C 02 20 73]
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - --> TX ASH frame: AshFrameAck [ackNum=1, notRdy=false]
[AshReceiveProcessorThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.ZigBeeDongleEzsp - RX EZSP: EzspVersionResponse [networkId=0, protocolVersion=12, stackType=2, stackVersion=7320]
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.EmberNcp - EzspVersionResponse [networkId=0, protocolVersion=12, stackType=2, stackVersion=7320]
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - ASH TX EZSP: EzspVersionRequest [networkId=0, desiredProtocolVersion=12]
[AshExecutor-thread-1] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - --> TX ASH frame: AshFrameData [frmNum=1, ackNum=1, reTx=false, data=01 00 01 00 00 0C]
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - <-- RX ASH frame: AshFrameData [frmNum=1, ackNum=2, reTx=false, data=01 80 01 00 00 0C 02 20 73]
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - --> TX ASH frame: AshFrameAck [ackNum=2, notRdy=false]
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.EmberNcp - EzspVersionResponse [networkId=0, protocolVersion=12, stackType=2, stackVersion=7320]
[AshReceiveProcessorThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.ZigBeeDongleEzsp - RX EZSP: EzspVersionResponse [networkId=0, protocolVersion=12, stackType=2, stackVersion=7320]
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.ZigBeeDongleEzsp - EzspVersionResponse [networkId=0, protocolVersion=12, stackType=2, stackVersion=7320]
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - ASH TX EZSP: EzspGetStandaloneBootloaderVersionPlatMicroPhyRequest [networkId=0]
[AshExecutor-thread-1] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - --> TX ASH frame: AshFrameData [frmNum=2, ackNum=2, reTx=false, data=02 00 01 91 00]
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - <-- RX ASH frame: AshFrameData [frmNum=2, ackNum=3, reTx=false, data=02 80 01 91 00 01 21 04 18 0F]
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - --> TX ASH frame: AshFrameAck [ackNum=3, notRdy=false]
[AshReceiveProcessorThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.ZigBeeDongleEzsp - RX EZSP: EzspGetStandaloneBootloaderVersionPlatMicroPhyResponse [networkId=0, bootloaderVersion=2101, nodePlat=4, nodeMicro=24, nodePhy=15]
Ember NCP version     : 7.3.2.0
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - ASH TX EZSP: EzspGetEui64Request [networkId=0]
[AshExecutor-thread-1] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - --> TX ASH frame: AshFrameData [frmNum=3, ackNum=3, reTx=false, data=03 00 01 26 00]
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - <-- RX ASH frame: AshFrameData [frmNum=3, ackNum=4, reTx=false, data=03 80 01 26 00 A5 xx xx xx xx xx 12 00]
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - --> TX ASH frame: AshFrameAck [ackNum=4, notRdy=false]
Ember NCP EUI         : 0012xxxxxxxxxxA5
[AshReceiveProcessorThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.ZigBeeDongleEzsp - RX EZSP: EzspGetEui64Response [networkId=0, eui64=0012xxxxxxxxxxA5]
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - ASH TX EZSP: EzspMfglibStartRequest [networkId=0, rxCallback=true]
[AshExecutor-thread-1] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - --> TX ASH frame: AshFrameData [frmNum=4, ackNum=4, reTx=false, data=04 00 01 83 00 01]
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - <-- RX ASH frame: AshFrameData [frmNum=4, ackNum=5, reTx=false, data=04 80 01 83 00 B5]
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - --> TX ASH frame: AshFrameAck [ackNum=5, notRdy=false]
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.EmberMfglib - EzspMfglibStartResponse [networkId=0, status=EMBER_LIBRARY_NOT_PRESENT]
[AshReceiveProcessorThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.ZigBeeDongleEzsp - RX EZSP: EzspMfglibStartResponse [networkId=0, status=EMBER_LIBRARY_NOT_PRESENT]
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.EmberMfglib - Error with mfgStart: EzspMfglibStartResponse [networkId=0, status=EMBER_LIBRARY_NOT_PRESENT]
Error starting Ember mfglib
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - ASH TX EZSP: EzspMfglibEndRequest [networkId=0]
[AshExecutor-thread-1] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - --> TX ASH frame: AshFrameData [frmNum=5, ackNum=5, reTx=false, data=05 00 01 84 00]
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - <-- RX ASH frame: AshFrameData [frmNum=5, ackNum=6, reTx=false, data=05 80 01 84 00 B5]
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - --> TX ASH frame: AshFrameAck [ackNum=6, notRdy=false]
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.EmberMfglib - Error with mfgEnd: EzspMfglibEndResponse [networkId=0, status=EMBER_LIBRARY_NOT_PRESENT]
[AshReceiveProcessorThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.ZigBeeDongleEzsp - RX EZSP: EzspMfglibEndResponse [networkId=0, status=EMBER_LIBRARY_NOT_PRESENT]
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.ZigBeeDongleEzsp - EZSP Dongle: Shutdown
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - AshFrameHandler close.
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.ZigBeeDongleEzsp - Ember: Link State change to false, initialised=false, networkStateUp=false
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.ZigBeeDongleEzsp - Ember: Link State change to false ignored.
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - AshReceiveParserThread exited.
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - AshFrameHandler parser thread terminated.
[AshReceiveProcessorThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - AshFrameHandler InterruptedException processing EZSP frame
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - AshFrameHandler processor thread terminated.
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - AshFrameHandler close complete.
[main] INFO com.zsmartsystems.zigbee.serial.ZigBeeSerialPort - Serial port '/dev/serial/by-id/usb-Nabu_Casa_SkyConnect_v1.0_548xxxxxx988-if00-port0' closed.
Unable to initialise NCP
pdecat commented 6 months ago

Note: I already tried 1.4.14-SNAPSHOT and it didn't help.

cdjackson commented 6 months ago

Ok, sorry - I didn't look at the error. The problem is that the code you are using is not compiled with the MfgLib which is used by the sniffer software to get the low level data required. There's no way around this - if your code doesn't provide the low level frames, it's not possible to use it as a sniffer.

pdecat commented 6 months ago

No problem, I'll try and get the Nabu Casa / Home Assistant team know.

pdecat commented 6 months ago

Issue is now resolved with newer Skyconnect firmware builds:

# java -Dorg.slf4j.simpleLogger.defaultLogLevel=debug -jar target/com.zsmartsystems.zigbee.sniffer-1.0.1-SNAPSHOT.jar -baud 115200 -flow software -port /dev/serial/by-id/usb-Nabu_Casa_SkyConnect_v1.0_548xxxxxx988-if00-port0 -c 15
Z-Smart Systems Ember Packet Sniffer
NCP initialisation starting...
Opened serial port /dev/serial/by-id/usb-Nabu_Casa_SkyConnect_v1.0_548xxxxxx988-if00-port0 at 115200
[main] DEBUG com.zsmartsystems.zigbee.serial.ZigBeeSerialPort - Opening port /dev/serial/by-id/usb-Nabu_Casa_SkyConnect_v1.0_548xxxxxx988-if00-port0 at 115200 baud with FLOWCONTROL_OUT_XONOFF.
[main] DEBUG org.scijava.nativelib.BaseJniExtractor - Not deleting leftover folder /tmp/nativelib-loader_1689449909927629194: is 6ms old
[main] DEBUG org.scijava.nativelib.NativeLibraryUtil - processor is INTEL_64 os.arch is amd64
[main] DEBUG org.scijava.nativelib.NativeLibraryUtil - architecture is LINUX_64 os.name is linux
[main] DEBUG org.scijava.nativelib.NativeLibraryUtil - architecture is LINUX_64 os.name is linux
[main] DEBUG org.scijava.nativelib.NativeLibraryUtil - platform specific path is natives/linux_64/
[main] DEBUG org.scijava.nativelib.BaseJniExtractor - mappedLib is libjssc.so
[main] DEBUG org.scijava.nativelib.BaseJniExtractor - URL is jar:file:/home/patrick/workspaces/homeassistant/zsmartsystems/com.zsmartsystems.zigbee.sniffer/target/com.zsmartsystems.zigbee.sniffer-1.0.1-SNAPSHOT.jar!/natives/linux_64/libjssc.so
[main] DEBUG org.scijava.nativelib.BaseJniExtractor - URL path is file:/home/patrick/workspaces/homeassistant/zsmartsystems/com.zsmartsystems.zigbee.sniffer/target/com.zsmartsystems.zigbee.sniffer-1.0.1-SNAPSHOT.jar!/natives/linux_64/libjssc.so
[main] DEBUG org.scijava.nativelib.BaseJniExtractor - Extracting 'jar:file:/home/patrick/workspaces/homeassistant/zsmartsystems/com.zsmartsystems.zigbee.sniffer/target/com.zsmartsystems.zigbee.sniffer-1.0.1-SNAPSHOT.jar!/natives/linux_64/libjssc.so' to '/tmp/nativelib-loader_1689449909927629194/libjssc.so'
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - ASH: Connect
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - AshReceiveParserThread thread started
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - ASH: Reconnect
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - --> TX ASH frame: AshFrameRst []
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - ASH TX EZSP: EzspVersionRequest [networkId=0, desiredProtocolVersion=4]
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - <-- RX ASH frame: AshFrameError [version=2, errorCode=3, Reset: Watchdog]
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - ASH: ERROR received (code 3).
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - <-- RX ASH frame: AshFrameRstAck [version=2, resetCode=11, Reset: Software]
[AshTimer-thread-1] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - ASH: Connected
[AshTimer-thread-1] DEBUG com.zsmartsystems.zigbee.dongle.ember.ZigBeeDongleEzsp - Ember: Link State change to true, initialised=false, networkStateUp=false
[AshTimer-thread-1] DEBUG com.zsmartsystems.zigbee.dongle.ember.ZigBeeDongleEzsp - Ember: Link State change to true ignored.
[AshTimer-thread-1] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - --> TX ASH frame: AshFrameData [frmNum=0, ackNum=0, reTx=false, data=00 00 00 04]
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - <-- RX ASH frame: AshFrameData [frmNum=0, ackNum=1, reTx=false, data=00 80 00 0D 02 00 74]
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - --> TX ASH frame: AshFrameAck [ackNum=1, notRdy=false]
[AshReceiveProcessorThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.ZigBeeDongleEzsp - RX EZSP: EzspVersionResponse [networkId=0, protocolVersion=13, stackType=2, stackVersion=7400]
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.EmberNcp - EzspVersionResponse [networkId=0, protocolVersion=13, stackType=2, stackVersion=7400]
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - ASH TX EZSP: EzspVersionRequest [networkId=0, desiredProtocolVersion=13]
[AshExecutor-thread-1] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - --> TX ASH frame: AshFrameData [frmNum=1, ackNum=1, reTx=false, data=01 00 01 00 00 0D]
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - <-- RX ASH frame: AshFrameData [frmNum=1, ackNum=2, reTx=false, data=01 80 01 00 00 0D 02 00 74]
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - --> TX ASH frame: AshFrameAck [ackNum=2, notRdy=false]
[AshReceiveProcessorThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.ZigBeeDongleEzsp - RX EZSP: EzspVersionResponse [networkId=0, protocolVersion=13, stackType=2, stackVersion=7400]
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.EmberNcp - EzspVersionResponse [networkId=0, protocolVersion=13, stackType=2, stackVersion=7400]
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.ZigBeeDongleEzsp - EzspVersionResponse [networkId=0, protocolVersion=13, stackType=2, stackVersion=7400]
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - ASH TX EZSP: EzspGetStandaloneBootloaderVersionPlatMicroPhyRequest [networkId=0]
[AshExecutor-thread-1] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - --> TX ASH frame: AshFrameData [frmNum=2, ackNum=2, reTx=false, data=02 00 01 91 00]
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - <-- RX ASH frame: AshFrameData [frmNum=2, ackNum=3, reTx=false, data=02 80 01 91 00 01 21 04 18 0F]
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - --> TX ASH frame: AshFrameAck [ackNum=3, notRdy=false]
[AshReceiveProcessorThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.ZigBeeDongleEzsp - RX EZSP: EzspGetStandaloneBootloaderVersionPlatMicroPhyResponse [networkId=0, bootloaderVersion=2101, nodePlat=4, nodeMicro=24, nodePhy=15]
Ember NCP version     : 7.4.0.0
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - ASH TX EZSP: EzspGetEui64Request [networkId=0]
[AshExecutor-thread-1] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - --> TX ASH frame: AshFrameData [frmNum=3, ackNum=3, reTx=false, data=03 00 01 26 00]
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - <-- RX ASH frame: AshFrameData [frmNum=3, ackNum=4, reTx=false, data=03 80 01 26 00 A5 xx xx xx xx xx 12 00]]
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - --> TX ASH frame: AshFrameAck [ackNum=4, notRdy=false]
Ember NCP EUI         : 0012xxxxxxxxxxA5
[AshReceiveProcessorThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.ZigBeeDongleEzsp - RX EZSP: EzspGetEui64Response [networkId=0, eui64=0012xxxxxxxxxxA5]
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - ASH TX EZSP: EzspMfglibStartRequest [networkId=0, rxCallback=true]
[AshExecutor-thread-1] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - --> TX ASH frame: AshFrameData [frmNum=4, ackNum=4, reTx=false, data=04 00 01 83 00 01]
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - <-- RX ASH frame: AshFrameData [frmNum=4, ackNum=5, reTx=false, data=04 80 01 83 00 00]
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - --> TX ASH frame: AshFrameAck [ackNum=5, notRdy=false]
[AshReceiveProcessorThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.ZigBeeDongleEzsp - RX EZSP: EzspMfglibStartResponse [networkId=0, status=EMBER_SUCCESS]
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.EmberMfglib - EzspMfglibStartResponse [networkId=0, status=EMBER_SUCCESS]
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - ASH TX EZSP: EzspMfglibSetChannelRequest [networkId=0, channel=15]
[AshExecutor-thread-1] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - --> TX ASH frame: AshFrameData [frmNum=5, ackNum=5, reTx=false, data=05 00 01 8A 00 0F]
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - <-- RX ASH frame: AshFrameData [frmNum=5, ackNum=6, reTx=false, data=05 80 01 8A 00 00]
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - --> TX ASH frame: AshFrameAck [ackNum=6, notRdy=false]
[AshReceiveProcessorThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.ZigBeeDongleEzsp - RX EZSP: EzspMfglibSetChannelResponse [networkId=0, status=EMBER_SUCCESS]
[main] DEBUG com.zsmartsystems.zigbee.dongle.ember.EmberMfglib - EzspMfglibSetChannelResponse [networkId=0, status=EMBER_SUCCESS]
NCP initialisation complete...
Wireshark destination : /127.0.0.1:17754
Logging on channel    : 15
No device ID set. Last 16 bits of device EUID will be used.
[AshReceiveParserThread] DEBUG com.zsmartsystems.zigbee.dongle.ember.internal.ash.AshFrameHandler - <-- RX ASH frame: AshFrameData [frmNum=6, ackNum=6, reTx=false, data=...]
...

Requires https://github.com/zsmartsystems/com.zsmartsystems.zigbee/pull/1413