[PATCH 5/5] example: implement compat_version for devices
Adrian Schmutzler
freifunk at adrianschmutzler.de
Thu Jul 9 14:15:00 EDT 2020
This is a stupid example of how the compat_version can be implemented.
It's just for illustration and should not be used except for testing.
While there is nothing remarkable to say about the DEVICE_COMPAT_*
variables, note that the placement of the ucidef_set_compat_version
variable is suboptimal in the example and might actually be done in
a separate file or function.
This also gives rise to interesting possibilities:
If ath79 hadn't been introduced already, we could e.g. set
ucidef_set_compat_version 1.1
in a default case for ath79, so all ar71xx devices would be required
to upgrade without keeping settings...
---
.../ath79/generic/base-files/etc/board.d/02_network | 12 ++++++++++--
target/linux/ath79/image/generic-tp-link.mk | 3 +++
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network
index f93d914374..1df6826e9e 100755
--- a/target/linux/ath79/generic/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network
@@ -167,11 +167,15 @@ ath79_setup_interfaces()
dlink,dir-859-a1|\
engenius,epg5000|\
tplink,archer-c2-v3|\
- tplink,tl-wr1043nd-v4|\
tplink,tl-wr1043n-v5)
ucidef_add_switch "switch0" \
"0 at eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan"
;;
+ tplink,tl-wr1043nd-v4)
+ ucidef_add_switch "switch0" \
+ "0 at eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan"
+ ucidef_set_compat_version "2.0"
+ ;;
elecom,wrc-1750ghbk2-i|\
elecom,wrc-300ghbk2-i|\
sitecom,wlr-8100)
@@ -264,12 +268,16 @@ ath79_setup_interfaces()
tplink,archer-c7-v4|\
tplink,archer-c7-v5|\
tplink,tl-wdr3600-v1|\
- tplink,tl-wdr4300-v1|\
tplink,tl-wdr4300-v1-il|\
tplink,tl-wdr4310-v1)
ucidef_add_switch "switch0" \
"0 at eth0" "2:lan:1" "3:lan:2" "4:lan:3" "5:lan:4" "1:wan"
;;
+ tplink,tl-wdr4300-v1)
+ ucidef_add_switch "switch0" \
+ "0 at eth0" "2:lan:1" "3:lan:2" "4:lan:3" "5:lan:4" "1:wan"
+ ucidef_set_compat_version "1.1"
+ ;;
tplink,archer-c5-v1|\
tplink,archer-c7-v1|\
tplink,archer-c7-v2|\
diff --git a/target/linux/ath79/image/generic-tp-link.mk b/target/linux/ath79/image/generic-tp-link.mk
index 967eb2a7c3..e18d6aad91 100644
--- a/target/linux/ath79/image/generic-tp-link.mk
+++ b/target/linux/ath79/image/generic-tp-link.mk
@@ -464,6 +464,7 @@ define Device/tplink_tl-wdr4300-v1
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
TPLINK_HWID := 0x43000001
SUPPORTED_DEVICES += tl-wdr4300
+ DEVICE_COMPAT_VERSION := 1.1
endef
TARGET_DEVICES += tplink_tl-wdr4300-v1
@@ -543,6 +544,8 @@ define Device/tplink_tl-wr1043nd-v4
TPLINK_HWID := 0x10430004
TPLINK_BOARD_ID := TLWR1043NDV4
SUPPORTED_DEVICES += tl-wr1043nd-v4
+ DEVICE_COMPAT_VERSION := 2.0
+ DEVICE_COMPAT_MESSAGE := The router cannot be updated because it will explode. Flash factory via TFTP instead.
endef
TARGET_DEVICES += tplink_tl-wr1043nd-v4
--
2.20.1
More information about the openwrt-devel
mailing list