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"
55 part
=$
(find_mtd_part firmware
)
56 [ -z "$part" ] && return 1
58 dd if=$part bs
=4 count
=1 skip
=16 2>/dev
/null |
hexdump -v -n 4 -e '1/1 "%02x"'
61 ar71xx_board_detect
() {
65 machine
=$
(awk 'BEGIN{FS="[ \t]+:[ \t]"} /machine/ {print $2}' /proc
/cpuinfo
)
125 *"NBG460N/550N/550NH")
126 name
="nbg460n_550n_550nh"
140 *"RouterBOARD 411/A/AH")
146 *"RouterBOARD 433/AH")
149 *"RouterBOARD 433UAH")
158 *"RouterBOARD 493/AH")
173 *"RouterStation Pro")
174 name
="routerstation-pro"
224 *"WNDR3700/WNDR3800")
225 wndr3700_board_detect
"$machine"
256 [ -z "$name" ] && name
="unknown"
258 [ -z "$AR71XX_BOARD_NAME" ] && AR71XX_BOARD_NAME
="$name"
259 [ -z "$AR71XX_MODEL" ] && AR71XX_MODEL
="$machine"
261 [ -e "/tmp/sysinfo/" ] || mkdir
-p "/tmp/sysinfo/"
263 echo "$AR71XX_BOARD_NAME" > /tmp
/sysinfo
/board_name
264 echo "$AR71XX_MODEL" > /tmp
/sysinfo
/model
267 ar71xx_board_name
() {
270 [ -f /tmp
/sysinfo
/board_name
] && name
=$
(cat /tmp
/sysinfo
/board_name
)
271 [ -z "$name" ] && name
="unknown"