My company is using the DSGW-030 Gateway and we are having trouble due to lack of documentation specifically around the communication between the MTK7688 and the EFR32MG1B232 (Zigbee chip). I am writing a specialized OpenWRT .ipk package that performs the following functions:
- Provides an API for connecting new Zigbee devices via the command line as well as via inbound requests from the cloud
- Transmits incoming zigbee dataframes as MQTT to the cloud
- Accepts incoming MQTT based commands for zigbee devices
At this stage, my greatest challenge is how to communicate with the Zigbee chip. I found the following clue in the /etc/init.d of the provided OpenWRT build folder:
#!/bin/sh /etc/rc.common
# Copyright (C) 2007 OpenWrt.org
START=99
USE_PROCD=1
if [ `cat /tmp/sysinfo/model` == "DSI0177" ]; then
PROG="/usr/bin/AmberGwZ3 -n1 -p/dev/ttyS2 -b115200 -d"
else
PROG="/usr/bin/AmberGwZ3 -n1 -p/dev/ttyUSB0 -b115200 -d"
fi
And I know from the device tree that the zigbee device is on /dev/ttyS2 for the DSGW-030. Can you please provide documentation for exactly how I am supposed to communicate VIA UART with the Zigbee module?