diff options
Diffstat (limited to 'target/linux/ramips/base-files/lib/ramips.sh')
-rwxr-xr-x | target/linux/ramips/base-files/lib/ramips.sh | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index de37e69a6..b41a153ca 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -3,6 +3,43 @@ # Copyright (C) 2010 OpenWrt.org # +ramips_get_mac_binary() +{ + local mtdname="$1" + local seek="$2" + local part + + . /lib/functions.sh + + part=$(find_mtd_part "$mtdname") + if [ -z "$part" ]; then + echo "ramips_get_mac_binary: partition $mtdname not found!" >&2 + return + fi + + dd bs=1 skip=$seek count=6 if=$part 2>/dev/null | /usr/sbin/maccalc bin2mac +} + +ramips_get_mac_nvram() +{ + local mtdname="$1" + local key="$2" + local part + local mac_dirty + + . /lib/functions.sh + + part=$(find_mtd_part "$mtdname") + if [ -z "$part" ]; then + echo "ramips_get_mac_nvram: partition $mtdname not found!" >&2 + return + fi + + mac_dirty=$(strings "$part" | sed -n 's/'"$key"'=//p') + # "canonicalize" mac + /usr/sbin/maccalc add "$mac_dirty" 0 +} + ramips_board_name() { local machine local name |