diff --git a/target/linux/au1000/base-files/etc/uci-defaults/02_network b/target/linux/au1000/base-files/etc/uci-defaults/02_network
new file mode 100755
index 0000000000000000000000000000000000000000..80bfb732d2982c75928ff989f22b74e718454999
--- /dev/null
+++ b/target/linux/au1000/base-files/etc/uci-defaults/02_network
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+. /lib/au1000.sh
+. /lib/functions/system.sh
+. /lib/functions/uci-defaults.sh
+MAC=
+
+case "$(au1000_board_name)" in
+	'internetbox')
+		MAC="$( au1000_yamonenv_getvar 'ethaddr' )"
+		MAC="$( macaddr_canonicalize "$MAC" )"
+
+		[ -n "$MAC ] && ucidef_set_interface_macaddr lan "$MAC"
+	;;
+esac
+
+[ -z "$MAC" ] || uci commit network
diff --git a/target/linux/au1000/base-files/lib/au1000.sh b/target/linux/au1000/base-files/lib/au1000.sh
new file mode 100644
index 0000000000000000000000000000000000000000..556598dbc15deaad254cb37d20e5d59b6e7b2492
--- /dev/null
+++ b/target/linux/au1000/base-files/lib/au1000.sh
@@ -0,0 +1,59 @@
+#!/bin/sh
+
+au1000_yamonenv_getvar()
+{
+	local varname="$1"
+	local partition
+
+	. /lib/functions.sh
+
+	partition="$( find_mtd_part 'yamon env' )"
+	YAMONENVFILE="$partition" yamonenv "$varname"
+}
+
+au1000_detect()
+{
+	local line board_name model
+
+	while read line; do
+		case "$line" in
+			'system type'*)
+				break
+			;;
+		esac
+	done <'/proc/cpuinfo'
+
+	case "$line" in
+		*' MTX-1')
+			# both models appear nearly similar: the 'InternetBox' has
+			# the same design but shrinked to 1 PCB and only 1 x miniPCI
+			# for WiFi/ath5k and 1 x miniPCI for CardBus/UMTS, they differ
+			# in BogoMIPS but there are old MeshCubes with 330 Mhz instead
+			# of 400 MHz and no Cube has 'imei' (for UMTS) set in bootloader-env
+
+			if [ -n "$( au1000_yamonenv_getvar 'imei' )" ]; then
+				board_name='internetbox'
+				model='T-Mobile InternetBox TMD SB1-S'
+			else
+				board_name='meshcube'
+				model='4G Systems AccessCube/MeshCube'
+			fi
+		;;
+		*)
+			board_name='unknown'
+			model='unknown'
+		;;
+	esac
+
+	mkdir -p '/tmp/sysinfo'
+	echo "$board_name" >'/tmp/sysinfo/board_name'
+	echo "$model" >'/tmp/sysinfo/model'
+}
+
+au1000_board_name()
+{
+	local file='/tmp/sysinfo/board_name'
+
+	[ -e "$file" ] || au1000_detect
+	cat "$file"
+}