diff --git a/projects/hi3518ev200_smarthome/general/package/comgt/Config.in b/packages/comgt/Config.in
similarity index 100%
rename from projects/hi3518ev200_smarthome/general/package/comgt/Config.in
rename to packages/comgt/Config.in
diff --git a/projects/hi3518ev200_smarthome/general/package/comgt/comgt.mk b/packages/comgt/comgt.mk
similarity index 73%
rename from projects/hi3518ev200_smarthome/general/package/comgt/comgt.mk
rename to packages/comgt/comgt.mk
index a312f7b..e649cac 100644
--- a/projects/hi3518ev200_smarthome/general/package/comgt/comgt.mk
+++ b/packages/comgt/comgt.mk
@@ -8,16 +8,16 @@ COMGT_LICENSE = GPL
 COMGT_LICENSE_FILES = LICENSE
 
 define COMGT_EXTRACT_CMDS
-	cp ../general/package/demo-openipc/src/* $(@D)/
+	cp -a ../general/package/comgt/* $(@D)/
 endef
 
 define COMGT_BUILD_CMDS
-	(cd $(@D); $(TARGET_CC) -s comgt.c -o comgt)
+	$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/src
 endef
 
 define COMGT_INSTALL_TARGET_CMDS
 	$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/sbin
-	install -m 0755 -D $(@D)/comgt $(TARGET_DIR)/usr/sbin/comgt
+	install -m 0755 -D $(@D)/src/comgt $(TARGET_DIR)/usr/sbin/comgt
 endef
 
 $(eval $(generic-package))
diff --git a/projects/hi3518ev200_smarthome/general/package/comgt/files/NOTIFY.txt b/packages/comgt/files/NOTIFY.txt
similarity index 100%
rename from projects/hi3518ev200_smarthome/general/package/comgt/files/NOTIFY.txt
rename to packages/comgt/files/NOTIFY.txt
diff --git a/projects/hi3518ev200_smarthome/general/package/comgt/files/README b/packages/comgt/files/README
similarity index 100%
rename from projects/hi3518ev200_smarthome/general/package/comgt/files/README
rename to packages/comgt/files/README
diff --git a/projects/hi3518ev200_smarthome/general/package/comgt/files/command.scr b/packages/comgt/files/command.scr
similarity index 100%
rename from projects/hi3518ev200_smarthome/general/package/comgt/files/command.scr
rename to packages/comgt/files/command.scr
diff --git a/projects/hi3518ev200_smarthome/general/package/comgt/files/dump.scr b/packages/comgt/files/dump.scr
similarity index 100%
rename from projects/hi3518ev200_smarthome/general/package/comgt/files/dump.scr
rename to packages/comgt/files/dump.scr
diff --git a/projects/hi3518ev200_smarthome/general/package/comgt/files/mywifi.scr b/packages/comgt/files/mywifi.scr
similarity index 100%
rename from projects/hi3518ev200_smarthome/general/package/comgt/files/mywifi.scr
rename to packages/comgt/files/mywifi.scr
diff --git a/projects/hi3518ev200_smarthome/general/package/comgt/files/mywifi_tg.sh b/packages/comgt/files/mywifi_tg.sh
similarity index 100%
rename from projects/hi3518ev200_smarthome/general/package/comgt/files/mywifi_tg.sh
rename to packages/comgt/files/mywifi_tg.sh
diff --git a/projects/hi3518ev200_smarthome/general/package/comgt/files/operator.scr b/packages/comgt/files/operator.scr
similarity index 100%
rename from projects/hi3518ev200_smarthome/general/package/comgt/files/operator.scr
rename to packages/comgt/files/operator.scr
diff --git a/packages/comgt/files/send_sms.scr b/packages/comgt/files/send_sms.scr
new file mode 100644
index 0000000..4c33988
--- /dev/null
+++ b/packages/comgt/files/send_sms.scr
@@ -0,0 +1,30 @@
+# send using this command:
+# gcom -d /dev/ttyUSB0 -v -e -s sendsms.comgt
+
+# Ensure you fill in your phone number below or it wont send!
+
+opengt
+  # set the terminal settings
+  set com 115200n81
+  # echo commands
+  set comecho on
+  # use a tiny delay between each keypress
+  set senddelay 0.02
+  # wait for things to be silent on the serial port
+  waitquiet 1 0.2
+  # reset things a bit
+  flash 0.1
+  # set it to textmode
+  send "AT+CMGF=1^m"
+  # wait for OK
+  waitfor 1 "OK"
+  # tell it we want to send a SMS and to what number
+  send "AT+CMGS=\"003538XXXXXXXX\"^m"
+  # the modem will present a > and wait for you to input your message
+  waitfor 1 ">"
+  send $env("SMS_MSG") 
+  # and expect you to end your message with ^Z
+  send "^Z"
+  # wait for it to send
+  waitfor 5 "OK"
+  exit 0
diff --git a/projects/hi3518ev200_smarthome/general/package/comgt/files/send_sms.sh b/packages/comgt/files/send_sms.sh
similarity index 100%
rename from projects/hi3518ev200_smarthome/general/package/comgt/files/send_sms.sh
rename to packages/comgt/files/send_sms.sh
diff --git a/projects/hi3518ev200_smarthome/general/package/comgt/files/set_gprs.scr b/packages/comgt/files/set_gprs.scr
similarity index 100%
rename from projects/hi3518ev200_smarthome/general/package/comgt/files/set_gprs.scr
rename to packages/comgt/files/set_gprs.scr
diff --git a/projects/hi3518ev200_smarthome/general/package/comgt/files/set_umts.scr b/packages/comgt/files/set_umts.scr
similarity index 100%
rename from projects/hi3518ev200_smarthome/general/package/comgt/files/set_umts.scr
rename to packages/comgt/files/set_umts.scr
diff --git a/projects/hi3518ev200_smarthome/general/package/comgt/files/sigmon.sh b/packages/comgt/files/sigmon.sh
similarity index 100%
rename from projects/hi3518ev200_smarthome/general/package/comgt/files/sigmon.sh
rename to packages/comgt/files/sigmon.sh
diff --git a/projects/hi3518ev200_smarthome/general/package/comgt/src/CHANGELOG b/packages/comgt/src/CHANGELOG
similarity index 100%
rename from projects/hi3518ev200_smarthome/general/package/comgt/src/CHANGELOG
rename to packages/comgt/src/CHANGELOG
diff --git a/projects/hi3518ev200_smarthome/general/package/comgt/src/COMPILING b/packages/comgt/src/COMPILING
similarity index 100%
rename from projects/hi3518ev200_smarthome/general/package/comgt/src/COMPILING
rename to packages/comgt/src/COMPILING
diff --git a/projects/hi3518ev200_smarthome/general/package/comgt/src/LICENSE b/packages/comgt/src/LICENSE
similarity index 100%
rename from projects/hi3518ev200_smarthome/general/package/comgt/src/LICENSE
rename to packages/comgt/src/LICENSE
diff --git a/packages/comgt/src/Makefile b/packages/comgt/src/Makefile
new file mode 100644
index 0000000..7773ae6
--- /dev/null
+++ b/packages/comgt/src/Makefile
@@ -0,0 +1,25 @@
+#
+#   Makefile - build and install the comgt package
+#
+#   Copyright (C) 2005  Martin Gregorie,  martin@gregorie.org
+#   Copyright (C) 2006  Paul Hardwick, paul@peck.org.uk
+#   Copyright (C) 2022  Igor Zalatov, flyrouter@gmail.com
+#
+
+all: comgt
+
+install:
+	chmod a+x $(BIN)
+
+clean:
+	-rm *.o comgt
+
+comgt: comgt.o
+	cc comgt.o $(LDFLAGS) -o comgt
+
+comgt.o: comgt.c comgt.h
+	cc comgt.c $(CFLAGS)
+
+comgt:  comgt.c comgt.h
+	$(CC) $(CFLAGS) -o comgt $< $(LDFLAGS)
+
diff --git a/projects/hi3518ev200_smarthome/general/package/comgt/src/TODO b/packages/comgt/src/TODO
similarity index 100%
rename from projects/hi3518ev200_smarthome/general/package/comgt/src/TODO
rename to packages/comgt/src/TODO
diff --git a/projects/hi3518ev200_smarthome/general/package/comgt/src/comgt.1 b/packages/comgt/src/comgt.1
similarity index 100%
rename from projects/hi3518ev200_smarthome/general/package/comgt/src/comgt.1
rename to packages/comgt/src/comgt.1
diff --git a/projects/hi3518ev200_smarthome/general/package/comgt/src/comgt.c b/packages/comgt/src/comgt.c
similarity index 98%
rename from projects/hi3518ev200_smarthome/general/package/comgt/src/comgt.c
rename to packages/comgt/src/comgt.c
index ecd1218..e0a0d9b 100644
--- a/projects/hi3518ev200_smarthome/general/package/comgt/src/comgt.c
+++ b/packages/comgt/src/comgt.c
@@ -30,7 +30,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <signal.h>
-#include <termio.h>
+#include <termios.h>
 #include <fcntl.h>
 #include <unistd.h>
 #include <string.h>
@@ -81,7 +81,7 @@ char token[MAXTOKEN];   /* For gettoken() returns */
 char scriptfile[MAXPATH]; /* Script file name */
 char scriptfilepath[MAXPATH]; /* temp storage for full path */
 BOOL verbose=0; /* Log actions */
-struct termio cons, stbuf, svbuf;  /* termios: svbuf=before, stbuf=while */
+struct termios cons, stbuf, svbuf;  /* termios: svbuf=before, stbuf=while */
 int comfd=0; /* Communication file descriptor.  Defaults to stdin. */
 char msg[STRINGL]; /* Massage messages here */
 int preturn,returns[MAXGOSUBS];
@@ -91,6 +91,7 @@ unsigned long hstart,hset;
 char NullString[]={ "" };
 BOOL lastcharnl=1; /* Indicate that last char printed from getonebyte
                                was a nl, so no new one is needed */
+BOOL tty=1;
 
 
 //"open com \"/dev/modem\"\nset com 38400n81\nset senddelay 0.05\nsend \"ATi^m\"\nget 2 \" ^m\" $s\nprint \"Response : \",$s,\"\\n\"\nget 2 \" ^m\" $s\nprint \"Response :\",$s,\"\\n\"\nget 2 \" ^m\" $s\nprint \"Response : \",$s,\"\\n\"\n\n";
@@ -172,7 +173,7 @@ void dotestkey(void) {
 
 /* Exit after resetting terminal settings */
 void ext(long xtc) {
-  ioctl(1, TCSETA, &cons);
+  ioctl(1, TCSETS, &cons);
   exit(xtc);
 }
 
@@ -920,24 +921,24 @@ BOOL getonoroff(void) {
 void setcom(void) {
   stbuf.c_cflag &= ~(CBAUD | CSIZE | CSTOPB | CLOCAL | PARENB);
   stbuf.c_cflag |= (speed | bits | CREAD | clocal | parity | stopbits );
-  if (ioctl(comfd, TCSETA, &stbuf) < 0) {
+  if (tty && ioctl(comfd, TCSETS, &stbuf) < 0) {
     serror("Can't ioctl set device",1);
   }
 }
 
 void doset(void) {
-  struct termio console;
+  struct termios console;
   int a,b;
   gettoken();
   if(strcmp(token,"echo")==0) {
     a=0;
     if(getonoroff()) a=ECHO|ECHOE;
-    if(ioctl(0, TCGETA, &console)<0) {
+    if(ioctl(0, TCGETS, &console)<0) {
       serror("Can't ioctl FD zero!\n",2);
     }
     console.c_lflag &= ~(ECHO | ECHOE);
     console.c_lflag |= a;
-    ioctl(0, TCSETA, &console);
+    ioctl(0, TCSETS, &console);
   }
   else if(strcmp(token,"senddelay")==0) {
     senddelay=10000L*getdvalue();
@@ -1224,7 +1225,7 @@ void doclose(void) {
   if(strcmp(token,"hardcom")==0) {
     if(comfd== -1) serror("Com device not open",1);
     vmsg("Closing device");
-    if (ioctl(comfd, TCSETA, &svbuf) < 0) {
+    if (tty && ioctl(comfd, TCSETS, &svbuf) < 0) {
       sprintf(msg,"Can't ioctl set device %s.\n",device);
       serror(msg,1);
     }
@@ -1266,12 +1267,17 @@ void opengt(void) {
       ext(1);
     }
   }
-  if (ioctl (comfd, TCGETA, &svbuf) < 0) {
+  if (isatty (comfd))
+    tty=1;
+  else
+    tty=0;
+  if (tty && ioctl (comfd, TCGETS, &svbuf) < 0) {
     sprintf(msg,"Can't control %s, please try again.\n",device);
     serror(msg,1);
   }
   setenv("COMGTDEVICE",device,1);
-  ioctl(comfd, TCGETA, &stbuf);
+  if (tty)
+    ioctl(comfd, TCGETS, &stbuf);
   speed=stbuf.c_cflag & CBAUD;
   if (high_speed == 0)  strcpy(cspeed,"115200");
   else strcpy(cspeed,"57600");
@@ -1281,7 +1287,7 @@ void opengt(void) {
   parity=stbuf.c_cflag & (PARENB | PARODD);
   stbuf.c_iflag &= ~(IGNCR | ICRNL | IUCLC | INPCK | IXON | IXANY | IGNPAR );
   stbuf.c_oflag &= ~(OPOST | OLCUC | OCRNL | ONLCR | ONLRET);
-  stbuf.c_lflag &= ~(ICANON | XCASE | ECHO | ECHOE | ECHONL);
+  stbuf.c_lflag &= ~(ICANON | ECHO | ECHOE | ECHONL);
   stbuf.c_lflag &= ~(ECHO | ECHOE);
   stbuf.c_cc[VMIN] = 1;
   stbuf.c_cc[VTIME] = 0;
@@ -1302,12 +1308,16 @@ void opendevice(void) {
     }
   }
   else comfd=0;
-
-  if (ioctl (comfd, TCGETA, &svbuf) < 0) {
+  if (isatty (comfd))
+    tty=1;
+  else
+    tty=0;
+  if (tty && ioctl (comfd, TCGETS, &svbuf) < 0) {
     sprintf(msg,"Can't ioctl get device %s.\n",device);
     serror(msg,1);
   }
-  ioctl(comfd, TCGETA, &stbuf);
+  if (tty)
+    ioctl(comfd, TCGETS, &stbuf);
   speed=stbuf.c_cflag & CBAUD;
   switch(speed) {
     case B0: strcpy(cspeed,"0");break;
@@ -1336,7 +1346,7 @@ void opendevice(void) {
   parity=stbuf.c_cflag & (PARENB | PARODD);
   stbuf.c_iflag &= ~(IGNCR | ICRNL | IUCLC | INPCK | IXON | IXANY | IGNPAR );
   stbuf.c_oflag &= ~(OPOST | OLCUC | OCRNL | ONLCR | ONLRET);
-  stbuf.c_lflag &= ~(ICANON | XCASE | ECHO | ECHOE | ECHONL);
+  stbuf.c_lflag &= ~(ICANON | ECHO | ECHOE | ECHONL);
   stbuf.c_lflag &= ~(ECHO | ECHOE);
   stbuf.c_cc[VMIN] = 1;
   stbuf.c_cc[VTIME] = 0;
@@ -1553,7 +1563,7 @@ int main(int argc,char **argv) {
   skip_default=0;
   filep=NULL;
   scriptspace=4096;
-  ioctl(1, TCGETA, &cons);
+  ioctl(1, TCGETS, &cons);
   if((script=( char *)malloc(scriptspace))==NULL) {
     serror("Could not malloc()",3);
   }
diff --git a/projects/hi3518ev200_smarthome/general/package/comgt/src/comgt.h b/packages/comgt/src/comgt.h
similarity index 100%
rename from projects/hi3518ev200_smarthome/general/package/comgt/src/comgt.h
rename to packages/comgt/src/comgt.h
diff --git a/projects/hi3518ev200_smarthome/general/package/comgt/src/sigmon.1 b/packages/comgt/src/sigmon.1
similarity index 100%
rename from projects/hi3518ev200_smarthome/general/package/comgt/src/sigmon.1
rename to packages/comgt/src/sigmon.1
diff --git a/projects/hi3518ev200_smarthome/general/package/dbell-ina219/Config.in b/packages/dbell-ina219/Config.in
similarity index 100%
rename from projects/hi3518ev200_smarthome/general/package/dbell-ina219/Config.in
rename to packages/dbell-ina219/Config.in
diff --git a/projects/hi3518ev200_smarthome/general/package/dbell-ina219/dbell-ina219.mk b/packages/dbell-ina219/dbell-ina219.mk
similarity index 100%
rename from projects/hi3518ev200_smarthome/general/package/dbell-ina219/dbell-ina219.mk
rename to packages/dbell-ina219/dbell-ina219.mk
diff --git a/projects/hi3518ev200_smarthome/general/package/dbell-ina219/src/ina219.c b/packages/dbell-ina219/src/ina219.c
similarity index 100%
rename from projects/hi3518ev200_smarthome/general/package/dbell-ina219/src/ina219.c
rename to packages/dbell-ina219/src/ina219.c
diff --git a/projects/hi3518ev200_smarthome/general/package/demo-openipc/Config.in b/packages/demo-openipc/Config.in
similarity index 100%
rename from projects/hi3518ev200_smarthome/general/package/demo-openipc/Config.in
rename to packages/demo-openipc/Config.in
diff --git a/projects/hi3518ev200_smarthome/general/package/demo-openipc/demo-openipc.mk b/packages/demo-openipc/demo-openipc.mk
similarity index 100%
rename from projects/hi3518ev200_smarthome/general/package/demo-openipc/demo-openipc.mk
rename to packages/demo-openipc/demo-openipc.mk
diff --git a/projects/hi3518ev200_smarthome/general/package/demo-openipc/files/S97demo b/packages/demo-openipc/files/S97demo
similarity index 100%
rename from projects/hi3518ev200_smarthome/general/package/demo-openipc/files/S97demo
rename to packages/demo-openipc/files/S97demo
diff --git a/projects/hi3518ev200_smarthome/general/package/demo-openipc/src/demo-openipc.c b/packages/demo-openipc/src/demo-openipc.c
similarity index 100%
rename from projects/hi3518ev200_smarthome/general/package/demo-openipc/src/demo-openipc.c
rename to packages/demo-openipc/src/demo-openipc.c
diff --git a/projects/hi3518ev200_smarthome/br-ext-chip-hisilicon/configs/unknown_unknown_hi3518ev200_smarthome_defconfig b/projects/hi3518ev200_smarthome/br-ext-chip-hisilicon/configs/unknown_unknown_hi3518ev200_smarthome_defconfig
index 3f8a641..ec7dbd7 100644
--- a/projects/hi3518ev200_smarthome/br-ext-chip-hisilicon/configs/unknown_unknown_hi3518ev200_smarthome_defconfig
+++ b/projects/hi3518ev200_smarthome/br-ext-chip-hisilicon/configs/unknown_unknown_hi3518ev200_smarthome_defconfig
@@ -102,12 +102,12 @@ BR2_PACKAGE_WIREGUARD_TOOLS=y
 BR2_PACKAGE_MOSQUITTO=y
 BR2_PACKAGE_MOSQUITTO_BROKER=y
 
-# DEBUG
-BR2_PACKAGE_HOST_GDB=y
-BR2_PACKAGE_GDB=y
-
 # SMARTHOME
 BR2_PACKAGE_COMGT=y
 # BR2_PACKAGE_DEMO_OPENIPC is not set
 # BR2_PACKAGE_DBELL_INA219 is not set
 
+# DEBUG
+BR2_PACKAGE_HOST_GDB=y
+BR2_PACKAGE_GDB=y
+
diff --git a/projects/hi3518ev200_smarthome/general/package/comgt/src/Makefile b/projects/hi3518ev200_smarthome/general/package/comgt/src/Makefile
deleted file mode 100644
index 6028647..0000000
--- a/projects/hi3518ev200_smarthome/general/package/comgt/src/Makefile
+++ /dev/null
@@ -1,79 +0,0 @@
-#
-#   Makefile - build and install the comgt package
-#   Copyright (C) 2005  Martin Gregorie
-#   Copyright (C) 2006  Paul Hardwick
-#
-#   This program is free software; you can redistribute it and/or modify
-#   it under the terms of the GNU General Public License as published by
-#   the Free Software Foundation; either version 2 of the License, or
-#   (at your option) any later version.
-#
-#    This program is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with this program; if not, write to the Free Software
-#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-#
-#    martin@gregorie.org, paul@peck.org.uk
-#
-#    $Id: Makefile,v 1.4 2006/10/20 14:30:19 pharscape Exp $
-#
-#
-
-LIB     = -L/usr/local/lib
-INC     = -I/usr/local/include
-EXE	= /usr/local/bin
-MAN     = /usr/share/man/man1
-CPROG	= comgt
-SCRIPTPATH = /etc/comgt/
-SCRIPTSRC = ./scripts/
-BIN     = $(CPROG) 
-MANP	= comgt.1 sigmon.1
-
-CFLAGS  = -c
-LDFLAGS =
-
-all: $(BIN)
-
-install:
-	chmod a-w $(BIN)
-	chmod u+rw $(BIN)
-	chmod a+x $(BIN)
-	cp $(BIN) $(EXE)
-	chmod a-wx $(MANP)
-	chmod u+rw $(MANP)
-	chmod a+r $(MANP)
-	cp $(MANP) $(MAN)
-	-mkdir $(SCRIPTPATH)
-	chmod a-w $(SCRIPTPATH)
-	chmod u+rw $(SCRIPTPATH)
-	chmod a+x $(SCRIPTPATH)
-	cp -f $(SCRIPTSRC)* $(SCRIPTPATH)
-	chmod a-w $(SCRIPTPATH)*
-	chmod u+rw $(SCRIPTPATH)*
-	chmod a+x $(SCRIPTPATH)*
-
-
-
-
-uninstall:
-	cd $(EXE); rm $(BIN)
-	cd $(MAN); rm $(MANP)
-	-rm -r $(SCRIPTPATH)
-
-clean:
-	-rm *.o 
-	-rm $(CPROG) 
-	-rm *~
-	-rm $(SCRIPTSRC)*~
-
-
-comgt: comgt.o
-	cc comgt.o $(LDFLAGS) -o comgt
-
-comgt.o: comgt.c comgt.h
-	cc comgt.c $(CFLAGS) 
-
diff --git a/projects/t31_baresip/br-ext-chip-ingenic/Config.in b/projects/t31_baresip/br-ext-chip-ingenic/Config.in
index 12fd645..6a52697 100644
--- a/projects/t31_baresip/br-ext-chip-ingenic/Config.in
+++ b/projects/t31_baresip/br-ext-chip-ingenic/Config.in
@@ -4,7 +4,6 @@ source "$BR2_EXTERNAL_INGENIC_PATH/package/ingenic-osdrv-t21/Config.in"
 source "$BR2_EXTERNAL_INGENIC_PATH/package/ingenic-osdrv-t31/Config.in"
 source "$BR2_EXTERNAL_INGENIC_PATH/package/ingenic_patcher/Config.in"
 source "$BR2_EXTERNAL_INGENIC_PATH/package/aura-httpd/Config.in"
-source "$BR2_EXTERNAL_INGENIC_PATH/package/ax-agent/Config.in"
 source "$BR2_EXTERNAL_INGENIC_PATH/package/dropbear-openipc/Config.in"
 source "$BR2_EXTERNAL_INGENIC_PATH/package/baresip-openipc/Config.in"
 source "$BR2_EXTERNAL_INGENIC_PATH/package/fdk-aac-openipc/Config.in"
diff --git a/projects/t31_vixand/br-ext-chip-ingenic/Config.in b/projects/t31_vixand/br-ext-chip-ingenic/Config.in
new file mode 100644
index 0000000..fe745c7
--- /dev/null
+++ b/projects/t31_vixand/br-ext-chip-ingenic/Config.in
@@ -0,0 +1,40 @@
+source "$BR2_EXTERNAL_INGENIC_PATH/linux/Config.ext.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/ingenic-osdrv-t20/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/ingenic-osdrv-t21/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/ingenic-osdrv-t31/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/ingenic_patcher/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/aura-httpd/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/dropbear-openipc/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/baresip-openipc/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/comgt/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/dbell-ina219/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/demo-openipc/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/fdk-aac-openipc/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/ffmpeg-openipc/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/fwprintenv-openipc/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/i2c-telemetry/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/ipctool/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/json-c-openipc/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/lame-openipc/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/libcurl-openipc/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/libevent-openipc/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/libhv-openipc/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/libogg-openipc/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/libre-openipc/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/librem-openipc/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/libsrt-openipc/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/libwebsockets-openipc/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/linux-firmware-openipc/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/majestic-fonts/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/majestic/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/mbedtls-openipc/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/microbe-web/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/microsnander/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/motors/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/node-exporter/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/opus-openipc/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/rtl8188fu-openipc/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/uacme-openipc/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/vtund-openipc/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/xmdp/Config.in"
+source "$BR2_EXTERNAL_INGENIC_PATH/package/yaml-cli/Config.in"
diff --git a/projects/t31_vixand/br-ext-chip-ingenic/configs/unknown_unknown_t31_vixand_defconfig b/projects/t31_vixand/br-ext-chip-ingenic/configs/unknown_unknown_t31_vixand_defconfig
index 178aaf6..45d6343 100644
--- a/projects/t31_vixand/br-ext-chip-ingenic/configs/unknown_unknown_t31_vixand_defconfig
+++ b/projects/t31_vixand/br-ext-chip-ingenic/configs/unknown_unknown_t31_vixand_defconfig
@@ -114,6 +114,11 @@ BR2_PACKAGE_UHTTPD=y
 # Optional packages
 BR2_PACKAGE_PPPD=y
 
+# SMARTHOME
+BR2_PACKAGE_COMGT=y
+BR2_PACKAGE_DEMO_OPENIPC=y
+BR2_PACKAGE_DBELL_INA219=y
+
 # DEBUG
 BR2_PACKAGE_HOST_GDB=y
 BR2_PACKAGE_GDB=y
diff --git a/projects/t31_vixand/br-ext-chip-ingenic/package/comgt b/projects/t31_vixand/br-ext-chip-ingenic/package/comgt
new file mode 120000
index 0000000..63f820d
--- /dev/null
+++ b/projects/t31_vixand/br-ext-chip-ingenic/package/comgt
@@ -0,0 +1 @@
+../../general/package/comgt
\ No newline at end of file
diff --git a/projects/t31_vixand/br-ext-chip-ingenic/package/dbell-ina219 b/projects/t31_vixand/br-ext-chip-ingenic/package/dbell-ina219
new file mode 120000
index 0000000..9315fa3
--- /dev/null
+++ b/projects/t31_vixand/br-ext-chip-ingenic/package/dbell-ina219
@@ -0,0 +1 @@
+../../general/package/dbell-ina219
\ No newline at end of file
diff --git a/projects/t31_vixand/br-ext-chip-ingenic/package/demo-openipc b/projects/t31_vixand/br-ext-chip-ingenic/package/demo-openipc
new file mode 120000
index 0000000..2545c56
--- /dev/null
+++ b/projects/t31_vixand/br-ext-chip-ingenic/package/demo-openipc
@@ -0,0 +1 @@
+../../general/package/demo-openipc
\ No newline at end of file
diff --git a/stapler b/stapler
index 5482640..ebafaea 100755
--- a/stapler
+++ b/stapler
@@ -46,6 +46,7 @@ else
     rm -rf openipc
     git clone --depth=1 https://github.com/OpenIPC/firmware.git openipc
     cp -afv projects/${PROJECT}/* openipc
+    cp -afv packages/* openipc/general/package
     cd openipc
     ./building.sh ${PROJECT}
     2archive; 2tftp