From e6e024f155f1a9348418ae6e80f4166c4b281d10 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Thu, 19 Jun 2014 14:13:20 +0000 Subject: octeon: add basic board detection Signed-off-by: John Crispin SVN-Revision: 41274 --- target/linux/octeon/base-files/etc/config/network | 18 ---------- .../octeon/base-files/etc/uci-defaults/01_network | 31 ++++++++++++++++ .../octeon/base-files/lib/functions/octeon.sh | 42 ++++++++++++++++++++++ 3 files changed, 73 insertions(+), 18 deletions(-) delete mode 100644 target/linux/octeon/base-files/etc/config/network create mode 100644 target/linux/octeon/base-files/etc/uci-defaults/01_network create mode 100755 target/linux/octeon/base-files/lib/functions/octeon.sh (limited to 'target/linux/octeon/base-files') diff --git a/target/linux/octeon/base-files/etc/config/network b/target/linux/octeon/base-files/etc/config/network deleted file mode 100644 index 44c5794..0000000 --- a/target/linux/octeon/base-files/etc/config/network +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright (C) 2009 OpenWrt.org - -config interface loopback - option ifname lo - option proto static - option ipaddr 127.0.0.1 - option netmask 255.0.0.0 - -config interface lan - option ifname eth1 - option type bridge - option proto static - option ipaddr 192.168.1.1 - option netmask 255.255.255.0 - -config interface wan - option ifname eth0 - option proto dhcp diff --git a/target/linux/octeon/base-files/etc/uci-defaults/01_network b/target/linux/octeon/base-files/etc/uci-defaults/01_network new file mode 100644 index 0000000..bda8d0c --- /dev/null +++ b/target/linux/octeon/base-files/etc/uci-defaults/01_network @@ -0,0 +1,31 @@ +#!/bin/sh +# +# Copyright (C) 2014 OpenWrt.org +# + +[ -e /etc/config/network ] && exit 0 + +. /lib/functions/uci-defaults.sh +. /lib/functions/octeon.sh + +touch /etc/config/network + +board=$(octeon_board_name) + +case "$board" in +erlite) + ucidef_set_interface_loopback + ucidef_set_interface_lan 'eth0' + ucidef_set_interface_wan 'eth1' + ;; + +*) + ucidef_set_interface_loopback + ucidef_set_interface_wan 'eth1' + ucidef_set_interface_lan 'eth0' + ;; +esac + +uci commit network + +exit 0 diff --git a/target/linux/octeon/base-files/lib/functions/octeon.sh b/target/linux/octeon/base-files/lib/functions/octeon.sh new file mode 100755 index 0000000..8871ed7 --- /dev/null +++ b/target/linux/octeon/base-files/lib/functions/octeon.sh @@ -0,0 +1,42 @@ +#!/bin/sh +# +# Copyright (C) 2010-2013 OpenWrt.org +# + +OCTEON_BOARD_NAME= +OCTEON_MODEL= + +octeon_board_detect() { + local machine + local name + + machine=$(grep "^system type" /proc/cpuinfo | sed "s/system type.*: \(.*\)/\1/g") + + case "$machine" in + "UBNT_E100"*) + name="erlite" + ;; + + *) + name="generic" + ;; + esac + + [ -z "$OCTEON_BOARD_NAME" ] && OCTEON_BOARD_NAME="$name" + [ -z "$OCTEON_MODEL" ] && OCTEON_MODEL="$machine" + + [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/" + + echo "$OCTEON_BOARD_NAME" > /tmp/sysinfo/board_name + echo "$OCTEON_MODEL" > /tmp/sysinfo/model +} + +octeon_board_name() { + local name + + [ -f /tmp/sysinfo/board_name ] || octeon_board_detect + [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name) + [ -z "$name" ] && name="unknown" + + echo "$name" +} -- cgit v1.1