diff --git a/package/base-files/files/lib/functions.sh b/package/base-files/files/lib/functions.sh index 33efc852c..b0665d929 100644 --- a/package/base-files/files/lib/functions.sh +++ b/package/base-files/files/lib/functions.sh @@ -314,19 +314,13 @@ find_mtd_part() { } find_mmc_part() { - local DEVNAME PARTNAME ROOTDEV + local DEVNAME PARTNAME if grep -q "$1" /proc/mtd; then echo "" && return 0 fi - if [ -n "$2" ]; then - ROOTDEV="$2" - else - ROOTDEV="mmcblk*" - fi - - for DEVNAME in /sys/block/$ROOTDEV/mmcblk*p*; do + for DEVNAME in /sys/block/mmcblk*/mmcblk*p*; do PARTNAME="$(grep PARTNAME ${DEVNAME}/uevent | cut -f2 -d'=')" [ "$PARTNAME" = "$1" ] && echo "/dev/$(basename $DEVNAME)" && return 0 done diff --git a/package/base-files/files/lib/functions/system.sh b/package/base-files/files/lib/functions/system.sh index a5456594f..2cf592a24 100644 --- a/package/base-files/files/lib/functions/system.sh +++ b/package/base-files/files/lib/functions/system.sh @@ -79,24 +79,6 @@ mtd_get_mac_ascii() { [ -n "$mac_dirty" ] && macaddr_canonicalize "$mac_dirty" } -mtd_get_mac_ascii_mmc() { - local mtdname="$1" - local key="$2" - local part - local mac_dirty - - part=$(find_mmc_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 - [ -n "$mac_dirty" ] && macaddr_canonicalize "$mac_dirty" -} - mtd_get_mac_text() { local mtdname=$1 local offset=$(($2)) @@ -162,6 +144,15 @@ mtd_get_part_size() { done < /proc/mtd } +mmc_get_mac_binary() { + local part_name="$1" + local offset="$2" + local part + + part=$(find_mmc_part "$part_name") + get_mac_binary "$part" "$offset" +} + macaddr_add() { local mac=$1 local val=$2