mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2026-09-09 00:06:08 +08:00
base-files: add mtd_get_mac_uci_config()
Add mtd_get_mac_uci_config() for reading a MAC address from a UCI-style config stored in an MTD partition. This is needed to support the TP-Link ER605 v1; the existing UBI helper already covers the ER605 v2. Also refactor common sed logic into a shared helper used by both variants and drop the redundant cat pipe. TP-Link ER605 v2 device support is unaffected. The one and only MAC address on the tddp partition for v1/v2 is the label MAC address. Signed-off-by: Charles Joynson <ctjoynson@gmail.com> Link: https://github.com/openwrt/openwrt/pull/24331 Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
This commit is contained in:
@@ -136,6 +136,25 @@ mtd_get_mac_encrypted_deco() {
|
||||
echo $macaddr
|
||||
}
|
||||
|
||||
get_mac_uci_config() {
|
||||
local file="$1"
|
||||
|
||||
sed -n 's/^\s*option macaddr\s*'"'"'\?\([0-9A-F:]\+\)'"'"'\?/\1/Ip' "$file" | head -n1
|
||||
}
|
||||
|
||||
mtd_get_mac_uci_config() {
|
||||
local mtdname="$1"
|
||||
local part
|
||||
|
||||
part=$(find_mtd_part "$mtdname")
|
||||
if [ -z "$part" ]; then
|
||||
echo "mtd_get_mac_uci_config: partition $mtdname not found!" >&2
|
||||
return
|
||||
fi
|
||||
|
||||
get_mac_uci_config "$part"
|
||||
}
|
||||
|
||||
mtd_get_mac_uci_config_ubi() {
|
||||
local volumename="$1"
|
||||
|
||||
@@ -144,7 +163,7 @@ mtd_get_mac_uci_config_ubi() {
|
||||
local ubidev=$(nand_attach_ubi $CI_UBIPART)
|
||||
local part=$(nand_find_volume $ubidev $volumename)
|
||||
|
||||
cat "/dev/$part" | sed -n 's/^\s*option macaddr\s*'"'"'\?\([0-9A-F:]\+\)'"'"'\?/\1/Ip'
|
||||
get_mac_uci_config "/dev/$part"
|
||||
}
|
||||
|
||||
mtd_get_mac_text() {
|
||||
|
||||
Reference in New Issue
Block a user