base-files: add mtd_get_mac_{ascii,binary} helpers

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 35612
lede-17.01
Gabor Juhos 2013-02-16 11:50:19 +00:00
parent dd77663fb0
commit 70d40b2ddd
2 changed files with 35 additions and 1 deletions

View File

@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/version.mk
PKG_NAME:=base-files
PKG_RELEASE:=131
PKG_RELEASE:=132
PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
PKG_BUILD_DEPENDS:=opkg/host

View File

@ -240,6 +240,40 @@ find_mtd_chardev() {
echo "${INDEX:+$PREFIX$INDEX}"
}
mtd_get_mac_ascii()
{
local mtdname="$1"
local key="$2"
local part
local mac_dirty
. /lib/functions.sh
part=$(find_mtd_part "$mtdname")
if [ -z "$part" ]; then
echo "mtd_get_mac_ascii: partition $mtdname not found!" >&2
return
fi
mac_dirty=$(strings "$part" | sed -n 's/'"$key"'=//p')
# "canonicalize" mac
printf "%02x:%02x:%02x:%02x:%02x:%02x" 0x${mac_dirty//:/ 0x}
}
mtd_get_mac_binary() {
local mtdname="$1"
local offset="$2"
local part
part=$(find_mtd_part "$mtdname")
if [ -z "$part" ]; then
echo "mtd_get_mac_binary: partition $mtdname not found!" >&2
return
fi
dd bs=1 skip=$offset count=6 if=$part 2>/dev/null | hexdump -v -n 6 -e '5/1 "%02x:" 1/1 "%02x"'
}
strtok() { # <string> { <variable> [<separator>] ... }
local tmp
local val="$1"