Skip to content

Commit 9f2db43

Browse files
committed
mediatek: bpi-r4: store random MAC addresses for the BPi-R4
1 parent b35c02a commit 9f2db43

4 files changed

Lines changed: 49 additions & 19 deletions

File tree

package/boot/uboot-envtools/files/mediatek_filogic

Lines changed: 36 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,26 +11,45 @@ touch /etc/config/ubootenv
1111

1212
board=$(board_name)
1313

14+
ubootenv_add_mmc_default() {
15+
local envdev="$(find_mmc_part "ubootenv" "${1:-mmcblk0}")"
16+
ubootenv_add_uci_config "$envdev" "0x0" "0x40000" "0x40000" "1"
17+
ubootenv_add_uci_config "$envdev" "0x40000" "0x40000" "0x40000" "1"
18+
}
19+
20+
ubootenv_add_nor_default() {
21+
local envdev="/dev/mtd$(find_mtd_index "u-boot-env")"
22+
ubootenv_add_uci_config "$envdev" "0x0" "0x20000" "0x20000" "1"
23+
ubootenv_add_uci_config "$envdev" "0x20000" "0x20000" "0x20000" "1"
24+
}
25+
26+
ubootenv_add_ubi_default() {
27+
. /lib/upgrade/nand.sh
28+
local envubi=$(nand_find_ubi ubi)
29+
local envdev=/dev/$(nand_find_volume $envubi ubootenv)
30+
local envdev2=/dev/$(nand_find_volume $envubi ubootenv2)
31+
ubootenv_add_uci_config "$envdev" "0x0" "0x1f000" "0x1f000" "1"
32+
ubootenv_add_uci_config "$envdev2" "0x0" "0x1f000" "0x1f000" "1"
33+
}
34+
1435
case "$board" in
15-
bananapi,bpi-r3)
16-
case "$(cmdline_get_var root)" in
17-
/dev/mmc*)
18-
local envdev=$(find_mmc_part "ubootenv" $rootdev)
19-
ubootenv_add_uci_config "$envdev" "0x0" "0x40000" "0x40000" "1"
20-
ubootenv_add_uci_config "$envdev" "0x40000" "0x40000" "0x40000" "1"
36+
bananapi,bpi-r3|\
37+
bananapi,bpi-r3-mini|\
38+
bananapi,bpi-r4|\
39+
bananapi,bpi-r4-poe|\
40+
jdcloud,re-cp-03)
41+
. /lib/upgrade/common.sh
42+
43+
bootdev="$(fitblk_get_bootdev)"
44+
case "$bootdev" in
45+
ubi*)
46+
ubootenv_add_ubi_default
2147
;;
22-
/dev/mtd*)
23-
local envdev=/dev/mtd$(find_mtd_index "u-boot-env")
24-
ubootenv_add_uci_config "$envdev" "0x0" "0x20000" "0x20000" "1"
25-
ubootenv_add_uci_config "$envdev" "0x20000" "0x20000" "0x20000" "1"
48+
mmc*)
49+
ubootenv_add_mmc_default "${bootdev%%p[0-9]*}"
2650
;;
27-
/dev/ubi*)
28-
. /lib/upgrade/nand.sh
29-
local envubi=$(nand_find_ubi ubi)
30-
local envdev=/dev/$(nand_find_volume $envubi ubootenv)
31-
local envdev2=/dev/$(nand_find_volume $envubi ubootenv2)
32-
ubootenv_add_uci_config "$envdev" "0x0" "0x1f000" "0x1f000" "1"
33-
ubootenv_add_uci_config "$envdev2" "0x0" "0x1f000" "0x1f000" "1"
51+
mtd*)
52+
ubootenv_add_nor_default
3453
;;
3554
esac
3655
;;

target/linux/mediatek/base-files/etc/uci-defaults/99_fwenv-store-ethaddr.sh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@ unielec,u7623-02)
99
[ -z "$(fw_printenv -n ethaddr 2>/dev/null)" ] &&
1010
fw_setenv ethaddr "$(cat /sys/class/net/eth0/address)"
1111
;;
12-
bananapi,bpi-r3)
12+
bananapi,bpi-r3|\
13+
bananapi,bpi-r3-mini|\
14+
bananapi,bpi-r4|\
15+
bananapi,bpi-r4-poe)
1316
[ -z "$(fw_printenv -n ethaddr 2>/dev/null)" ] &&
1417
fw_setenv ethaddr "$(cat /sys/class/net/eth0/address)"
1518
[ -z "$(fw_printenv -n eth1addr 2>/dev/null)" ] &&

target/linux/mediatek/filogic/base-files/etc/board.d/02_network

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,9 @@ mediatek_setup_macs()
8181
wan_mac="${addr}"
8282
lan_mac="${addr}"
8383
;;
84-
bananapi,bpi-r3)
84+
bananapi,bpi-r3|\
85+
bananapi,bpi-r3-mini|\
86+
bananapi,bpi-r4)
8587
wan_mac=$(macaddr_add $(cat /sys/class/net/eth0/address) 1)
8688
;;
8789
cmcc,rax3000m-emmc)

target/linux/mediatek/filogic/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,12 @@ case "$board" in
2929
[ "$PHYNBR" = "0" ] && macaddr_add $addr 2 > /sys${DEVPATH}/macaddress
3030
[ "$PHYNBR" = "1" ] && macaddr_add $addr 3 > /sys${DEVPATH}/macaddress
3131
;;
32+
bananapi,bpi-r4)
33+
addr=$(cat /sys/class/net/eth0/address)
34+
[ "$PHYNBR" = "0" ] && macaddr_add $addr 2 > /sys${DEVPATH}/macaddress
35+
[ "$PHYNBR" = "1" ] && macaddr_add $addr 3 > /sys${DEVPATH}/macaddress
36+
[ "$PHYNBR" = "2" ] && macaddr_add $addr 4 > /sys${DEVPATH}/macaddress
37+
;;
3238
cetron,ct3003*)
3339
addr=$(mtd_get_mac_binary "art" 0)
3440
[ "$PHYNBR" = "0" ] && macaddr_add $addr 1 > /sys${DEVPATH}/macaddress

0 commit comments

Comments
 (0)