|
|
|
@ -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"
|
|
|
|
|