base-files: add mtd_get_mac_{ascii,binary} helpers
Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 35612
This commit is contained in:
		| @@ -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 | ||||
|   | ||||
| @@ -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" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Gabor Juhos
					Gabor Juhos