DSGW-030 How to interact with the Zigbee module

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?