aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux')
-rwxr-xr-xtarget/linux/brcm47xx/base-files/etc/board.d/01_network (renamed from target/linux/brcm47xx/base-files/etc/board.d/01_detect)31
-rw-r--r--target/linux/brcm47xx/base-files/lib/preinit/01_sysinfo12
2 files changed, 25 insertions, 18 deletions
diff --git a/target/linux/brcm47xx/base-files/etc/board.d/01_detect b/target/linux/brcm47xx/base-files/etc/board.d/01_network
index 237314544b..762dd21397 100755
--- a/target/linux/brcm47xx/base-files/etc/board.d/01_detect
+++ b/target/linux/brcm47xx/base-files/etc/board.d/01_network
@@ -4,7 +4,7 @@
. /lib/functions/system.sh
. /lib/functions/uci-defaults.sh
-detect_by_vlanports() {
+configure_by_vlanports() {
local vlan0ports="$(nvram get vlan0ports)"
local vlan1ports="$(nvram get vlan1ports)"
local vlan2ports="$(nvram get vlan2ports)"
@@ -44,7 +44,7 @@ detect_by_vlanports() {
fi
}
-detect_by_boardnum() {
+configure_by_boardnum() {
local boardnum="$1"
case "$boardnum" in
@@ -56,12 +56,12 @@ detect_by_boardnum() {
# Generic detection fallback
*)
- detect_by_vlanports
+ configure_by_vlanports
;;
esac
}
-detect_by_boardtype() {
+configure_by_boardtype() {
local boardtype="$1"
local boardnum="$2"
@@ -111,12 +111,12 @@ detect_by_boardtype() {
;;
*)
- detect_by_boardnum "$boardnum"
+ configure_by_boardnum "$boardnum"
;;
esac
}
-detect_by_model() {
+configure_by_model() {
local model="$1"
local boardtype="$2"
local boardnum="$3"
@@ -172,21 +172,24 @@ detect_by_model() {
;;
*)
- detect_by_boardtype "$boardtype" "$boardnum"
+ configure_by_boardtype "$boardtype" "$boardnum"
;;
esac
}
-model="$(board_name)"
-boardtype="$(nvram get boardtype)"
-boardnum="$(nvram get boardnum)"
+model="$(cat /tmp/sysinfo/model)"
+boardtype="$(board_name)"
-board_config_update
+case "$boardtype" in
+ *:*)
+ boardnum="${boardtype##*:}"
+ boardtype="${boardtype%:*}"
+ ;;
+esac
-ucidef_set_board_id "$boardtype${boardnum:+:$boardnum}"
-ucidef_set_model_name "$model"
+board_config_update
-detect_by_model "$model" "$boardtype" "$boardnum"
+configure_by_model "$model" "$boardtype" "$boardnum"
board_config_flush
diff --git a/target/linux/brcm47xx/base-files/lib/preinit/01_sysinfo b/target/linux/brcm47xx/base-files/lib/preinit/01_sysinfo
index 8a2de67bc5..a3b0c38437 100644
--- a/target/linux/brcm47xx/base-files/lib/preinit/01_sysinfo
+++ b/target/linux/brcm47xx/base-files/lib/preinit/01_sysinfo
@@ -1,12 +1,16 @@
#!/bin/sh
do_sysinfo_brcm47xx() {
- local name="$(sed -ne 's/^machine[ \t]*: //p' /proc/cpuinfo)"
- [ -z "$name" ] && name="unknown"
+ local boardtype="$(nvram get boardtype)"
+ local boardnum="$(nvram get boardnum)"
+ local model="$(sed -ne 's/^machine[ \t]*: //p' /proc/cpuinfo)"
+
+ [ -z "$model" ] && model="unknown"
+ [ -z "$boardtype" ] && boardtype="unknown"
[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
- echo "$name" > /tmp/sysinfo/board_name
- echo "unknown" > /tmp/sysinfo/model
+ echo "$boardtype${boardnum:+:$boardnum}" > /tmp/sysinfo/board_name
+ echo "$model" > /tmp/sysinfo/model
}
boot_hook_add preinit_main do_sysinfo_brcm47xx