X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=target%2Flinux%2Fkirkwood%2Fbase-files%2Flib%2Fkirkwood.sh;h=6e0f444d3ec6ba67f7f7b65168611161cb6aa011;hb=6a18146206c18daae5f2a8a4a203b3fc53745f58;hp=4fcd7607781d3a0eccc0889c7e26314aac8c6cfc;hpb=ba3ad2451426b5a9db9294ed8ebedc7757c2c6e0;p=openwrt%2Fstaging%2Fluka.git diff --git a/target/linux/kirkwood/base-files/lib/kirkwood.sh b/target/linux/kirkwood/base-files/lib/kirkwood.sh old mode 100644 new mode 100755 index 4fcd760778..6e0f444d3e --- a/target/linux/kirkwood/base-files/lib/kirkwood.sh +++ b/target/linux/kirkwood/base-files/lib/kirkwood.sh @@ -1,5 +1,86 @@ #!/bin/sh +# +# Copyright (C) 2014 OpenWrt.org +# -kirkwood_hardware_name() { - grep ^Hardware /proc/cpuinfo | sed "s/Hardware.*: \(.*\)/\1/g" +KIRKWOOD_BOARD_NAME= +KIRKWOOD_MODEL= + +kirkwood_board_detect() { + local machine + local name + + machine=$(cat /proc/device-tree/model) + + case "$machine" in + "Seagate FreeAgent Dockstar") + name="dockstar" + ;; + + "Seagate GoFlex Home") + name="goflexhome" + ;; + + "Seagate GoFlex Net") + name="goflexnet" + ;; + + "Iomega Iconnect") + name="iconnect" + ;; + + "RaidSonic ICY BOX IB-NAS62x0 (Rev B)") + name="ib62x0" + ;; + + "Cloud Engines Pogoplug E02") + name="pogo_e02" + ;; + + "Linksys EA3500") + name="ea3500" + ;; + + "Linksys EA4500") + name="ea4500" + ;; + + "Globalscale Technologies Guruplug Server Plus") + name="guruplug-server-plus" + ;; + + "Globalscale Technologies SheevaPlug") + name="sheevaplug" + ;; + + "Globalscale Technologies eSATA SheevaPlug") + name="sheevaplug-esata" + ;; + + "ZyXEL NSA310S") + name="nsa310s" + ;; + + *) + name="generic" + ;; + esac + + [ -z "$KIRKWOOD_BOARD_NAME" ] && KIRKWOOD_BOARD_NAME="$name" + [ -z "$KIRKWOOD_MODEL" ] && KIRKWOOD_MODEL="$machine" + + [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/" + + echo "$KIRKWOOD_BOARD_NAME" > /tmp/sysinfo/board_name + echo "$KIRKWOOD_MODEL" > /tmp/sysinfo/model +} + +kirkwood_board_name() { + local name + + [ -f /tmp/sysinfo/board_name ] || kirkwood_board_detect + [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name) + [ -z "$name" ] && name="unknown" + + echo "$name" }