3 # Copyright (C) 2009-2011 OpenWrt.org
9 ar71xx_get_mem_total() {
10 $(awk '/MemTotal:/ {print($2)}' /proc/meminfo)
13 ar71xx_get_mtd_part_magic() {
17 mtd=$(find_mtd_part $part)
18 [ -z "$mtd" ] && return
20 dd if=$mtd bs=4 count=1 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
23 wndr3700_board_detect() {
30 magic="$(ar71xx_get_mtd_part_magic firmware)"
33 machine="NETGEAR WNDR3700"
38 mt=$(ar71xx_get_mem_total)
39 if [ "$mt" -lt "65536" ]; then
40 machine="NETGEAR WNDR3700v2"
42 machine="NETGEAR WNDR3800"
47 AR71XX_BOARD_NAME="$name"
48 AR71XX_MODEL="$machine"
54 part=$(find_mtd_part firmware)
55 [ -z "$part" ] && return 1
57 dd if=$part bs=4 count=1 skip=16 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
60 tplink_board_detect() {
65 hwid=$(tplink_get_hwid)
71 model="TP-Link TL-WR703N"
74 model="TP-Link TL-WR740N/ND"
77 model="TP-Link TL-WR741N/ND"
80 model="TP-Link TL-WR743N/ND"
83 model="TP-Link TL-WR841N/ND"
86 model="TP-Link TL-WA901N/ND"
89 model="TP-Link TL-WR941N/ND"
92 model="TP-Link TL-WR1043N/ND"
95 model="TP-Link TL-MR3220"
98 model="TP-Link TL-MR3420"
105 AR71XX_MODEL="$model $hwver"
108 ar71xx_board_detect() {
112 machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /machine/ {print $2}' /proc/cpuinfo)
172 *"NBG460N/550N/550NH")
173 name="nbg460n_550n_550nh"
187 *"RouterBOARD 411/A/AH")
193 *"RouterBOARD 433/AH")
196 *"RouterBOARD 433UAH")
205 *"RouterBOARD 493/AH")
220 *"RouterStation Pro")
221 name="routerstation-pro"
271 *"WNDR3700/WNDR3800")
272 wndr3700_board_detect "$machine"
304 *TL-WR* | *TL-WA* | *TL-MR*)
305 tplink_board_detect "$machine"
309 [ -z "$name" ] && name="unknown"
311 [ -z "$AR71XX_BOARD_NAME" ] && AR71XX_BOARD_NAME="$name"
312 [ -z "$AR71XX_MODEL" ] && AR71XX_MODEL="$machine"
314 [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
316 echo "$AR71XX_BOARD_NAME" > /tmp/sysinfo/board_name
317 echo "$AR71XX_MODEL" > /tmp/sysinfo/model
320 ar71xx_board_name() {
323 [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name)
324 [ -z "$name" ] && name="unknown"