[OpenWrt-Devel] ar71xx: add support for EnGenius ECB1750

2015-11-29 Thread Andrew Tyler
This adds support for the EnGenius ECB1750 access point. Tested for 2 weeks  
and so far everything seems great!

Signed-off-by: Andrew Tyler 



diff --git a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
index 74c3417..a01b441 100644
--- a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
+++ b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
@@ -75,6 +75,11 @@ case "$FIRMWARE" in
 		ath10kcal_extract "ART" 20480 2116
 		ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +16)
 		;;
+	ecb1750)
+		ath10kcal_extract "art" 20480 2116
+		ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +1)
+		;;
+
 	esac
 	;;
 "ath10k/cal-pci-:01:00.0.bin")
diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
index df77040..761afdf 100755
--- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
@@ -491,6 +491,9 @@ ar71xx_board_detect() {
 	*"GL AR300")
 		name="gl-ar300"
 		;;
+	*"EnGenius ECB1750")
+	name="ecb1750"
+	;;
 	*"EnGenius EPG5000")
 		name="epg5000"
 		;;
diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
index 41886e3..d19a33c 100755
--- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
@@ -216,6 +216,7 @@ platform_check_image() {
 	dlan-pro-1200-ac | \
 	dragino2 | \
 	epg5000 | \
+	ecb1750 | \
 	esr1750 | \
 	esr900 | \
 	ew-dorin | \
diff --git a/target/linux/ar71xx/config-4.1 b/target/linux/ar71xx/config-4.1
index eff197a..d0b0c8a 100644
--- a/target/linux/ar71xx/config-4.1
+++ b/target/linux/ar71xx/config-4.1
@@ -74,6 +74,7 @@ CONFIG_ATH79_MACH_EL_M150=y
 CONFIG_ATH79_MACH_EL_MINI=y
 CONFIG_ATH79_MACH_EPG5000=y
 CONFIG_ATH79_MACH_ESR1750=y
+CONFIG_ATH79_MACH_ECB1750=y
 CONFIG_ATH79_MACH_ESR900=y
 CONFIG_ATH79_MACH_EW_DORIN=y
 CONFIG_ATH79_MACH_F9K1115V2=y
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-ecb1750.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-ecb1750.c
new file mode 100644
index 000..aa3cf43
--- /dev/null
+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-ecb1750.c
@@ -0,0 +1,109 @@
+/*
+ *  EnGenius ECB1750 board support
+ *
+ *  Andrew Tyler 
+ *
+ *  This program is free software; you can redistribute it and/or modify it
+ *  under the terms of the GNU General Public License version 2 as published
+ *  by the Free Software Foundation.
+ */
+
+#include 
+#include 
+
+#include 
+
+#include "common.h"
+#include "dev-ap9x-pci.h"
+#include "dev-gpio-buttons.h"
+#include "dev-eth.h"
+#include "dev-leds-gpio.h"
+#include "dev-m25p80.h"
+#include "dev-wmac.h"
+#include "machtypes.h"
+#include "pci.h"
+
+#define ECB1750_GPIO_LED_LAN		12
+#define ECB1750_GPIO_LED_WLAN_2G		13
+#define ECB1750_GPIO_LED_POWER		22
+#define ECB1750_GPIO_LED_WLAN_5G		23
+
+#define ECB1750_GPIO_BTN_RESET		17
+
+#define ECB1750_KEYS_POLL_INTERVAL	20	/* msecs */
+#define ECB1750_KEYS_DEBOUNCE_INTERVAL	(3 * ECB1750_KEYS_POLL_INTERVAL)
+
+#define ECB1750_MAC0_OFFSET		0
+#define ECB1750_MAC1_OFFSET		1
+#define ECB1750_WMAC_CALDATA_OFFSET	0x1000
+#define ECB1750_PCIE_CALDATA_OFFSET   0x5000
+
+static struct gpio_led ecb1750_leds_gpio[] __initdata = {
+	{
+		.name		= "ecb1750:amber:power",
+		.gpio		= ECB1750_GPIO_LED_POWER,
+		.active_low	= 0,
+	},
+	{
+		.name		= "ecb1750:blue:lan",
+		.gpio		= ECB1750_GPIO_LED_LAN,
+		.active_low	= 0,
+	},
+	{
+		.name		= "ecb1750:blue:wlan24",
+		.gpio		= ECB1750_GPIO_LED_WLAN_2G,
+		.active_low	= 0,
+	},
+	{
+		.name		= "ecb1750:blue:wlan58",
+		.gpio		= ECB1750_GPIO_LED_WLAN_5G,
+		.active_low	= 0,
+	},
+};
+
+static struct gpio_keys_button ecb1750_gpio_keys[] __initdata = {
+	{
+		.desc		= "Reset button",
+		.type		= EV_KEY,
+		.code		= KEY_RESTART,
+		.debounce_interval = ECB1750_KEYS_DEBOUNCE_INTERVAL,
+		.gpio		= ECB1750_GPIO_BTN_RESET,
+		.active_low	= 1,
+	},
+};
+
+static void __init ecb1750_setup(void)
+{
+	u8 *art = (u8 *)KSEG1ADDR(0x1fff);
+	u8 mac[6];
+
+	ath79_register_m25p80(NULL);
+
+	ath79_register_leds_gpio(-1, ARRAY_SIZE(ecb1750_leds_gpio),
+ ecb1750_leds_gpio);
+	ath79_register_gpio_keys_polled(-1, ECB1750_KEYS_POLL_INTERVAL,
+	ARRAY_SIZE(ecb1750_gpio_keys),
+	ecb1750_gpio_keys);
+
+	ath79_init_mac(mac, art + ECB1750_MAC0_OFFSET, 1);
+	ath79_init_mac(ath79_eth0_data.mac_addr, art + ECB1750_MAC0_OFFSET, 0);
+	ath79_register_wmac(art + ECB1750_WMAC_CALDATA_OFFSET, NULL);
+	ath79_register_pci();
+
+	ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
+	ath79_reg

Re: [OpenWrt-Devel] ar71xx: add support for EnGenius ECB1750

2015-11-29 Thread Andrew Tyler
Accidentally left a test diff (test.diff) in my src tree when I made the 
initial patch. Sorry about that.

Signed-off-by: Andrew Tyler 


From: openwrt-devel  on behalf of 
Andrew Tyler 
Sent: Sunday, November 29, 2015 2:07 AM
To: openwrt-devel@lists.openwrt.org
Subject: [OpenWrt-Devel] ar71xx: add support for EnGenius ECB1750


This adds support for the EnGenius ECB1750 access point. Tested for 2 weeks  
and so far everything seems great!

Signed-off-by: Andrew Tyler 



diff --git a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
index 74c3417..a01b441 100644
--- a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
+++ b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
@@ -75,6 +75,11 @@ case "$FIRMWARE" in
 		ath10kcal_extract "ART" 20480 2116
 		ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +16)
 		;;
+	ecb1750)
+		ath10kcal_extract "art" 20480 2116
+		ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +1)
+		;;
+
 	esac
 	;;
 "ath10k/cal-pci-:01:00.0.bin")
diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
index df77040..761afdf 100755
--- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
@@ -491,6 +491,9 @@ ar71xx_board_detect() {
 	*"GL AR300")
 		name="gl-ar300"
 		;;
+	*"EnGenius ECB1750")
+	name="ecb1750"
+	;;
 	*"EnGenius EPG5000")
 		name="epg5000"
 		;;
diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
index 41886e3..d19a33c 100755
--- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
@@ -216,6 +216,7 @@ platform_check_image() {
 	dlan-pro-1200-ac | \
 	dragino2 | \
 	epg5000 | \
+	ecb1750 | \
 	esr1750 | \
 	esr900 | \
 	ew-dorin | \
diff --git a/target/linux/ar71xx/config-4.1 b/target/linux/ar71xx/config-4.1
index eff197a..d0b0c8a 100644
--- a/target/linux/ar71xx/config-4.1
+++ b/target/linux/ar71xx/config-4.1
@@ -74,6 +74,7 @@ CONFIG_ATH79_MACH_EL_M150=y
 CONFIG_ATH79_MACH_EL_MINI=y
 CONFIG_ATH79_MACH_EPG5000=y
 CONFIG_ATH79_MACH_ESR1750=y
+CONFIG_ATH79_MACH_ECB1750=y
 CONFIG_ATH79_MACH_ESR900=y
 CONFIG_ATH79_MACH_EW_DORIN=y
 CONFIG_ATH79_MACH_F9K1115V2=y
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-ecb1750.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-ecb1750.c
new file mode 100644
index 000..aa3cf43
--- /dev/null
+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-ecb1750.c
@@ -0,0 +1,109 @@
+/*
+ *  EnGenius ECB1750 board support
+ *
+ *  Andrew Tyler 
+ *
+ *  This program is free software; you can redistribute it and/or modify it
+ *  under the terms of the GNU General Public License version 2 as published
+ *  by the Free Software Foundation.
+ */
+
+#include 
+#include 
+
+#include 
+
+#include "common.h"
+#include "dev-ap9x-pci.h"
+#include "dev-gpio-buttons.h"
+#include "dev-eth.h"
+#include "dev-leds-gpio.h"
+#include "dev-m25p80.h"
+#include "dev-wmac.h"
+#include "machtypes.h"
+#include "pci.h"
+
+#define ECB1750_GPIO_LED_LAN		12
+#define ECB1750_GPIO_LED_WLAN_2G		13
+#define ECB1750_GPIO_LED_POWER		22
+#define ECB1750_GPIO_LED_WLAN_5G		23
+
+#define ECB1750_GPIO_BTN_RESET		17
+
+#define ECB1750_KEYS_POLL_INTERVAL	20	/* msecs */
+#define ECB1750_KEYS_DEBOUNCE_INTERVAL	(3 * ECB1750_KEYS_POLL_INTERVAL)
+
+#define ECB1750_MAC0_OFFSET		0
+#define ECB1750_MAC1_OFFSET		1
+#define ECB1750_WMAC_CALDATA_OFFSET	0x1000
+#define ECB1750_PCIE_CALDATA_OFFSET   0x5000
+
+static struct gpio_led ecb1750_leds_gpio[] __initdata = {
+	{
+		.name		= "ecb1750:amber:power",
+		.gpio		= ECB1750_GPIO_LED_POWER,
+		.active_low	= 0,
+	},
+	{
+		.name		= "ecb1750:blue:lan",
+		.gpio		= ECB1750_GPIO_LED_LAN,
+		.active_low	= 0,
+	},
+	{
+		.name		= "ecb1750:blue:wlan24",
+		.gpio		= ECB1750_GPIO_LED_WLAN_2G,
+		.active_low	= 0,
+	},
+	{
+		.name		= "ecb1750:blue:wlan58",
+		.gpio		= ECB1750_GPIO_LED_WLAN_5G,
+		.active_low	= 0,
+	},
+};
+
+static struct gpio_keys_button ecb1750_gpio_keys[] __initdata = {
+	{
+		.desc		= "Reset button",
+		.type		= EV_KEY,
+		.code		= KEY_RESTART,
+		.debounce_interval = ECB1750_KEYS_DEBOUNCE_INTERVAL,
+		.gpio		= ECB1750_GPIO_BTN_RESET,
+		.active_low	= 1,
+	},
+};
+
+static void __init ecb1750_setup(void)
+{
+	u8 *art = (u8 *)KSEG1ADDR(0x1fff);
+	u8 mac[6];
+
+	ath79_register_m25p80(NULL);
+
+	ath79_register_leds_gpio(-1, ARRAY_SIZE(ecb1750_leds_gpio),
+ ecb1750_leds_gpio);
+	ath79_register_gpio_keys_polled(-1, ECB1750_KEYS_POLL_INTERVAL,
+	A

Re: [OpenWrt-Devel] ar71xx: add support for EnGenius ECB1750

2015-11-29 Thread Andrew Tyler
Reflashed several times and noticed some inconsistency with the mac addr's this 
patch will fix that and set the device to use dhcp by default which seems 
logical as it only has one wired interface.

Signed-off-by: Andrew Tyler https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel>>

openwrt-devel Info 
Page<https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel>
lists.openwrt.org
To see the collection of prior postings to the list, visit the openwrt-devel 
Archives. Using openwrt-devel: To post a message to all the list members ...



diff --git a/package/base-files/files/bin/config_generate b/package/base-files/files/bin/config_generate
index b6675f1..e1168d8 100755
--- a/package/base-files/files/bin/config_generate
+++ b/package/base-files/files/bin/config_generate
@@ -58,10 +58,7 @@ generate_network() {
 		lan)
 			uci -q batch <<-EOF
 set network.$1.type='bridge'
-set network.$1.proto='static'
-set network.$1.ipaddr='192.168.1.1'
-set network.$1.netmask='255.255.255.0'
-set network.$1.ip6assign='60'
+set network.$1.proto='dhcp'
 			EOF
 		;;
 		wan)
diff --git a/package/base-files/files/etc/config/network b/package/base-files/files/etc/config/network
index d3cd3c6..37f6144 100644
--- a/package/base-files/files/etc/config/network
+++ b/package/base-files/files/etc/config/network
@@ -9,10 +9,7 @@ config interface loopback
 config interface lan
 	option ifname	eth0
 	option type 	bridge
-	option proto	static
-	option ipaddr	192.168.1.1
-	option netmask	255.255.255.0
-	option ip6assign 60
+	option proto	dhcp
 
 config globals globals
 	option ula_prefix auto
diff --git a/package/base-files/files/etc/init.d/setwlanmac b/package/base-files/files/etc/init.d/setwlanmac
new file mode 100755
index 000..8230595
--- /dev/null
+++ b/package/base-files/files/etc/init.d/setwlanmac
@@ -0,0 +1,16 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2014 OpenWrt.org
+
+START=98
+STOP=15
+
+start() {
+	grep athaddr /dev/mtdblock1 | cut -f2 -d= > /tmp/athaddr
+	grep ethaddr /dev/mtdblock1 | cut -f2 -d= > /tmp/ethaddr
+ifconfig wlan1 down;
+ifconfig wlan1 hw ether `grep ethaddr /dev/mtdblock1 | cut -f2 -d=`;
+ifconfig wlan1 up; 
+}
+stop() {
+echo "Stop."
+}
diff --git a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
index 74c3417..d81843c 100644
--- a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
+++ b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
@@ -75,6 +75,12 @@ case "$FIRMWARE" in
 		ath10kcal_extract "ART" 20480 2116
 		ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +16)
 		;;
+	ecb1750)
+		ath10kcal_extract "art" 20480 2116
+		ifconfig eth0 hw ether `grep ethaddr /dev/mtdblock1 | cut -f2 -d=`
+		ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +1)
+		;;
+
 	esac
 	;;
 "ath10k/cal-pci-:01:00.0.bin")
diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
index df77040..761afdf 100755
--- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
@@ -491,6 +491,9 @@ ar71xx_board_detect() {
 	*"GL AR300")
 		name="gl-ar300"
 		;;
+	*"EnGenius ECB1750")
+	name="ecb1750"
+	;;
 	*"EnGenius EPG5000")
 		name="epg5000"
 		;;
diff --git a/target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx b/target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx
index 92b3765..d8ede94 100644
--- a/target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx
+++ b/target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx
@@ -41,6 +41,8 @@ preinit_set_mac_address() {
 		wrt160nl)
 			fetch_mac_from_mtd nvram lan_hwaddr wan_hwaddr
 			;;
+ecb1750)
+fetch_mac_from_mtd u-boot-env ethaddr
 	esac
 }
 
diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
index 41886e3..d19a33c 100755
--- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
@@ -216,6 +216,7 @@ platform_check_image() {
 	dlan-pro-1200-ac | \
 	dragino2 | \
 	epg5000 | \
+	ecb1750 | \
 	esr1750 | \
 	esr900 | \
 	ew-dorin | \
diff --git a/target/linux/ar71xx/config-4.1 b/target/linux/ar71xx/config-4.1
index eff197a..d0b0c8a 100644
--- a/target/linux/ar71xx/config-4.1
+++ b/target/linux/ar71xx/config-4.1
@@ -74,6 +74,7 @@ CONFIG_ATH79_MACH_EL_M150=y
 CONFIG_ATH79_MACH_EL_MINI=y
 CONFIG_ATH79_MACH_EPG5000=y
 CONFIG_ATH79_MACH_ESR1750=y
+CONFIG_ATH79_MACH_ECB1750=y
 CONFIG_ATH79_MACH_ESR900=y
 CONFIG_ATH79_MACH_EW_DORIN=y
 CONFIG_ATH79_MACH_F9K11

Re: [OpenWrt-Devel] ar71xx: add support for EnGenius ECB1750

2015-11-30 Thread Andrew Tyler
Okay. I just want to apologize for hammering this but I have been having
an issue trying to post the patch using my work email (office365). It
seemed to want to send it as an attachment with dos line endings tacked
on for some reason. I think ive got that taken care of now so here it
is: Signed-off-by: Andrew Tyler 

diff --git a/package/base-files/files/bin/config_generate
b/package/base-files/files/bin/config_generate
index b6675f1..e1168d8 100755
--- a/package/base-files/files/bin/config_generate
+++ b/package/base-files/files/bin/config_generate
@@ -58,10 +58,7 @@ generate_network() {
 lan)
 uci -q batch <<-EOF
 set network.$1.type='bridge'
-set network.$1.proto='static'
-set network.$1.ipaddr='192.168.1.1'
-set network.$1.netmask='255.255.255.0'
-set network.$1.ip6assign='60'
+set network.$1.proto='dhcp'
 EOF
 ;;
 wan)
diff --git a/package/base-files/files/etc/config/network
b/package/base-files/files/etc/config/network
index d3cd3c6..37f6144 100644
--- a/package/base-files/files/etc/config/network
+++ b/package/base-files/files/etc/config/network
@@ -9,10 +9,7 @@ config interface loopback
 config interface lan
 option ifnameeth0
 option type bridge
-option protostatic
-option ipaddr192.168.1.1
-option netmask255.255.255.0
-option ip6assign 60
+option protodhcp
 
 config globals globals
 option ula_prefix auto
diff --git a/package/base-files/files/etc/init.d/setwlanmac
b/package/base-files/files/etc/init.d/setwlanmac
new file mode 100755
index 000..8230595
--- /dev/null
+++ b/package/base-files/files/etc/init.d/setwlanmac
@@ -0,0 +1,16 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2014 OpenWrt.org
+
+START=98
+STOP=15
+
+start() {
+grep athaddr /dev/mtdblock1 | cut -f2 -d= > /tmp/athaddr
+grep ethaddr /dev/mtdblock1 | cut -f2 -d= > /tmp/ethaddr
+ifconfig wlan1 down;
+ifconfig wlan1 hw ether `grep ethaddr /dev/mtdblock1 | cut -f2
-d=`;
+ifconfig wlan1 up;
+}
+stop() {
+echo "Stop."
+}
diff --git
a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata 
b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
index 74c3417..d81843c 100644
---
a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
+++
b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
@@ -75,6 +75,12 @@ case "$FIRMWARE" in
 ath10kcal_extract "ART" 20480 2116
 ath10kcal_patch_mac $(macaddr_add $(cat
/sys/class/net/eth0/address) +16)
 ;;
+ecb1750)
+ath10kcal_extract "art" 20480 2116
+ifconfig eth0 hw ether `grep ethaddr /dev/mtdblock1 | cut -f2 -d=`
+ath10kcal_patch_mac $(macaddr_add $(cat
/sys/class/net/eth0/address) +1)
+;;
+
 esac
 ;;
 "ath10k/cal-pci-:01:00.0.bin")
diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh
b/target/linux/ar71xx/base-files/lib/ar71xx.sh
index df77040..761afdf 100755
--- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
@@ -491,6 +491,9 @@ ar71xx_board_detect() {
 *"GL AR300")
 name="gl-ar300"
 ;;
+*"EnGenius ECB1750")
+name="ecb1750"
+;;
 *"EnGenius EPG5000")
 name="epg5000"
 ;;
diff --git
a/target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx
b/target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx
index 92b3765..d8ede94 100644
--- a/target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx
+++ b/target/linux/ar71xx/base-files/lib/preinit/05_set_iface_mac_ar71xx
@@ -41,6 +41,8 @@ preinit_set_mac_address() {
 wrt160nl)
 fetch_mac_from_mtd nvram lan_hwaddr wan_hwaddr
 ;;
+ecb1750)
+fetch_mac_from_mtd u-boot-env ethaddr
 esac
 }
 
diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
index 41886e3..d19a33c 100755
--- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
@@ -216,6 +216,7 @@ platform_check_image() {
 dlan-pro-1200-ac | \
 dragino2 | \
 epg5000 | \
+ecb1750 | \
 esr1750 | \
 esr900 | \
 ew-dorin | \
diff --git a/target/linux/ar71xx/config-4.1 b/target/linux/ar71xx/config-4.1
index eff197a..d0b0c8a 100644
--- a/target/linux/ar71xx/config-4.1
+++ b/target/linux/ar71xx/config-4.1
@@ -74,6 +74,7 @@ CONFIG_ATH79_MACH_EL_M150=y
 CONFIG_ATH79_MACH_EL_MINI=y
 CONFIG_ATH79_MACH_EPG5000=y
 CONFIG_ATH79_MACH_ESR1750=y
+CONFIG_ATH79_MACH_ECB1750=y
 CONFIG_ATH79_MACH_ESR900=y
 CONFIG_ATH79_MACH_EW