diff options
Diffstat (limited to 'target/linux/realtek/base-files')
-rw-r--r-- | target/linux/realtek/base-files/etc/board.d/02_network | 4 | ||||
-rw-r--r-- | target/linux/realtek/base-files/lib/upgrade/platform.sh | 19 |
2 files changed, 23 insertions, 0 deletions
diff --git a/target/linux/realtek/base-files/etc/board.d/02_network b/target/linux/realtek/base-files/etc/board.d/02_network index 87d772cf84..d797960faf 100644 --- a/target/linux/realtek/base-files/etc/board.d/02_network +++ b/target/linux/realtek/base-files/etc/board.d/02_network @@ -39,6 +39,10 @@ hpe,1920-24g) lan_mac_start=$(macaddr_add $lan_mac 2) lan_mac_end=$(macaddr_add $lan_mac $((mac_count2-mac_count1))) ;; +tplink,sg2008p-v1) + label_mac=$(mtd_get_mac_binary para 0xfdff4) + lan_mac="$label_mac" + ;; *) lan_mac=$(mtd_get_mac_ascii u-boot-env2 mac_start) lan_mac_end=$(mtd_get_mac_ascii u-boot-env2 mac_end) diff --git a/target/linux/realtek/base-files/lib/upgrade/platform.sh b/target/linux/realtek/base-files/lib/upgrade/platform.sh index 927aadbe31..b39b332063 100644 --- a/target/linux/realtek/base-files/lib/upgrade/platform.sh +++ b/target/linux/realtek/base-files/lib/upgrade/platform.sh @@ -4,6 +4,21 @@ REQUIRE_IMAGE_METADATA=1 RAMFS_COPY_BIN='fw_printenv fw_setenv' RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock' +# The TP-Link bootloader gets its flash layout from "bootargs". +# Use this to our advantage, and: +# 1. Disable the second rootfs (usrimg2) +# 2. Extend the first rootfs (usrimg1) to include more space +# 3. Increase the baudrate to the expected 115200 +tplink_sg2xxx_fix_mtdparts() { + local args + args="bootargs mtdparts=spi_flash:896K(boot),128K(env),6144K(sys)" + args="$args,20480K(usrimg1@main),0K(usrimg2)" + args="$args,4096K(usrappfs),1024K(para)\n" + args="$args baudrate 115200" + + echo -e "$args" | fw_setenv --script - +} + platform_check_image() { return 0 } @@ -12,6 +27,10 @@ platform_do_upgrade() { local board=$(board_name) case "$board" in + tplink,sg2008p-v1) + tplink_sg2xxx_fix_mtdparts + default_do_upgrade "$1" + ;; *) default_do_upgrade "$1" ;; |