+ # Use awk to remove everything after the first zero byte
+ model="$(ar71xx_get_mtd_offset_size_format art 41 32 %c | LC_CTYPE=C awk -v 'FS=[^[:print:]]' '{print $1; exit}')"
+ case $model in
+ $'\xff'*)
+ if [ "${model:24:1}" = 'N' ]; then
+ machine="NETGEAR WNDRMAC"
+ else
+ machine="NETGEAR WNDR3700v2"
+ fi
+ ;;
+ '29763654+16+64'*)
+ machine="NETGEAR ${model:14}"
+ ;;
+ '29763654+16+128'*)
+ machine="NETGEAR ${model:15}"
+ ;;
+ *)
+ # Unknown ID
+ machine="NETGEAR $model"
+ esac
+ esac
+
+ AR71XX_BOARD_NAME="$name"
+ AR71XX_MODEL="$machine"
+}
+
+cybertan_get_hw_magic() {
+ local part
+
+ part=$(find_mtd_part firmware)
+ [ -z "$part" ] && return 1
+
+ dd bs=8 count=1 skip=0 if=$part 2>/dev/null | hexdump -v -n 8 -e '1/1 "%02x"'
+}
+
+tplink_get_hwid() {
+ local part
+
+ part=$(find_mtd_part firmware)
+ [ -z "$part" ] && return 1
+
+ dd if=$part bs=4 count=1 skip=16 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
+}
+
+tplink_get_mid() {
+ local part
+
+ part=$(find_mtd_part firmware)
+ [ -z "$part" ] && return 1
+
+ dd if=$part bs=4 count=1 skip=17 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
+}
+
+tplink_board_detect() {
+ local model="$1"
+ local hwid
+ local hwver
+
+ hwid=$(tplink_get_hwid)
+ mid=$(tplink_get_mid)
+ hwver=${hwid:6:2}
+ hwver="v${hwver#0}"
+
+ case "$hwid" in
+ "015000"*)
+ model="EasyLink EL-M150"
+ ;;
+ "015300"*)
+ model="EasyLink EL-MINI"
+ ;;
+ "04440001"*)
+ model="BITMAIN ANTMINER S1"
+ ;;
+ "04440003"*)
+ model="BITMAIN ANTMINER S3"
+ ;;
+ "120000"*)
+ model="MERCURY MAC1200R"
+ ;;
+ "3C0001"*)
+ model="OOLITE"
+ ;;
+ "070300"*)
+ model="TP-Link TL-WR703N"
+ ;;
+ "071000"*)
+ model="TP-Link TL-WR710N"
+ ;;
+ "072001"*)
+ model="TP-Link TL-WR720N"
+ ;;
+ "070100"*)
+ model="TP-Link TL-WA701N/ND"
+ ;;
+ "073000"*)
+ model="TP-Link TL-WA730RE"
+ ;;
+ "074000"*)
+ model="TP-Link TL-WR740N/ND"
+ ;;
+ "074100"*)
+ model="TP-Link TL-WR741N/ND"
+ ;;
+ "074300"*)
+ model="TP-Link TL-WR743N/ND"
+ ;;
+ "075000"*)
+ model="TP-Link TL-WA750RE"
+ ;;
+ "721000"*)
+ model="TP-Link TL-WA7210N"
+ ;;
+ "751000"*)
+ model="TP-Link TL-WA7510N"
+ ;;
+ "080100"*)
+ model="TP-Link TL-WA801N/ND"
+ ;;
+ "083000"*)
+ model="TP-Link TL-WA830RE"