KERNEL_LOADADDR = 0x80060000
-DEVICE_VARS += NETGEAR_KERNEL_MAGIC NETGEAR_BOARD_ID NETGEAR_HW_ID CMDLINE CONSOLE IMAGE_SIZE BOARDNAME LOADER_FLASH_OFFS
+DEVICE_VARS += NETGEAR_KERNEL_MAGIC NETGEAR_BOARD_ID NETGEAR_HW_ID CMDLINE CONSOLE IMAGE_SIZE BOARDNAME LOADER_FLASH_OFFS LOADER_TYPE
+
+include ./tp-link.mk
define Build/netgear-squashfs
rm -rf $@.fs $@.squashfs
cp $@ $@.fs/image/uImage
$(STAGING_DIR_HOST)/bin/mksquashfs-lzma \
$@.fs $@.squashfs \
- -noappend -root-owned -be -b 65536
+ -noappend -root-owned -be -b 65536 \
+ $(if $(SOURCE_DATE_EPOCH),-fixed-time $(SOURCE_DATE_EPOCH))
+
dd if=/dev/zero bs=1k count=1 >> $@.squashfs
mkimage \
-A mips -O linux -T filesystem -C none \
$(call Build/uImage,$(1) -M $(NETGEAR_KERNEL_MAGIC))
endef
-# combine kernel and rootfs into one image
-# mktplinkfw <type> <optional extra arguments to mktplinkfw binary>
-# <type> is "sysupgrade" or "factory"
-#
-# -a align the rootfs start on an <align> bytes boundary
-# -j add jffs2 end-of-filesystem markers
-# -s strip padding from end of the image
-# -X reserve <size> bytes in the firmware image (hexval prefixed with 0x)
-define Build/mktplinkfw
- -$(STAGING_DIR_HOST)/bin/mktplinkfw \
- -H $(TPLINK_HWID) -W $(TPLINK_HWREV) -F $(TPLINK_FLASHLAYOUT) -N OpenWrt -V $(REVISION) $2 \
- -m $(TPLINK_HEADER_VERSION) \
- -k $(word 1,$^) \
- -r $@ \
- -o $@.new \
- -j -X 0x40000 \
- -a $(call rootfs_align,$(FILESYSTEM)) \
- $(if $(findstring sysupgrade,$1),-s) && mv $@.new $@ || rm -f $@
-endef
-
-# mktplinkfw-initramfs <optional extra arguments to mktplinkfw binary>
-#
-# -c combined image
-define Build/mktplinkfw-initramfs
- $(STAGING_DIR_HOST)/bin/mktplinkfw \
- -H $(TPLINK_HWID) -W $(TPLINK_HWREV) -F $(TPLINK_FLASHLAYOUT) -N OpenWrt -V $(REVISION) $2 \
- -m $(TPLINK_HEADER_VERSION) \
- -k $@ \
- -o $@.new \
- -s -S \
- -c
- @mv $@.new $@
-endef
-
define Build/loader-common
rm -rf $@.src
$(MAKE) -C lzma-loader \
PKG_BUILD_DIR="$@.src" \
TARGET_DIR="$(dir $@)" LOADER_NAME="$(notdir $@)" \
- KERNEL_CMDLINE="$(CMDLINE)" BOARD="$(BOARDNAME)" \
+ BOARD="$(BOARDNAME)" \
LZMA_TEXT_START=0x80a00000 LOADADDR=0x80060000 \
- $(1) compile loader.gz
- mv "$@.gz" "$@"
+ $(1) compile loader.$(LOADER_TYPE)
+ mv "$@.$(LOADER_TYPE)" "$@"
rm -rf $@.src
endef
define Build/loader-okli-compile
- $(call Build/loader-common,FLASH_OFFS=$(LOADER_FLASH_OFFS) FLASH_MAX=0)
+ $(call Build/loader-common,FLASH_OFFS=$(LOADER_FLASH_OFFS) FLASH_MAX=0 KERNEL_CMDLINE="$(CMDLINE)")
endef
define Build/loader-kernel
$(call Build/loader-common,LOADER_DATA="$@")
endef
+define Build/loader-kernel-cmdline
+ $(call Build/loader-common,LOADER_DATA="$@" KERNEL_CMDLINE="$(CMDLINE)")
+endef
+
define Build/loader-okli
dd if=$(KDIR)/loader-$(1).gz bs=7680 conv=sync of="$@.new"
cat "$@" >> "$@.new"
cat "$(1)" > "$@"
endef
-DEVICE_VARS += TPLINK_HWID TPLINK_HWREV TPLINK_FLASHLAYOUT TPLINK_HEADER_VERSION
-
# UBNT_BOARD e.g. one of (XS2, XS5, RS, XM)
# UBNT_TYPE e.g. one of (BZ, XM, XW)
# UBNT_CHIP e.g. one of (ar7240, ar933x, ar934x)
TARGET_DEVICES += wndr3700 wndr3700v2 wndr3800 wndr3800ch wndrmac wndrmacv2
-define Device/tplink
- TPLINK_HWREV := 0x1
- TPLINK_HEADER_VERSION := 1
- KERNEL := kernel-bin | patch-cmdline | lzma
- KERNEL_INITRAMFS := kernel-bin | patch-cmdline | lzma | mktplinkfw-initramfs
- IMAGES := sysupgrade.bin factory.bin
- IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade
- IMAGE/factory.bin := append-rootfs | mktplinkfw factory
-endef
-
-define Device/tplink-nolzma
-$(Device/tplink)
- LOADER_FLASH_OFFS := 0x22000
- COMPILE := loader-$(1).gz
- COMPILE/loader-$(1).gz := loader-okli-compile
- KERNEL := copy-file $(KDIR)/vmlinux.bin.lzma | uImage lzma -M 0x4f4b4c49 | loader-okli $(1)
- KERNEL_INITRAMFS := copy-file $(KDIR)/vmlinux-initramfs.bin.lzma | loader-kernel | mktplinkfw-initramfs
-endef
-
-define Device/tplink-4m
-$(Device/tplink-nolzma)
- TPLINK_FLASHLAYOUT := 4M
- IMAGE_SIZE := 3904k
-endef
-
-define Device/tplink-8m
-$(Device/tplink-nolzma)
- TPLINK_FLASHLAYOUT := 8M
- IMAGE_SIZE := 7936k
-endef
-
-define Device/tplink-4mlzma
-$(Device/tplink)
- TPLINK_FLASHLAYOUT := 4Mlzma
- IMAGE_SIZE := 3904k
-endef
-
-define Device/tplink-8mlzma
-$(Device/tplink)
- TPLINK_FLASHLAYOUT := 8Mlzma
- IMAGE_SIZE := 7936k
-endef
-
-define Device/tplink-16mlzma
-$(Device/tplink)
- TPLINK_FLASHLAYOUT := 16Mlzma
- IMAGE_SIZE := 15872k
-endef
-
-define Device/tl-wdr4300-v1
-$(Device/tplink-8mlzma)
- BOARDNAME = TL-WDR4300
- DEVICE_PROFILE = TLWDR4300
- TPLINK_HWID := 0x43000001
-endef
-
-define Device/tl-wdr3500-v1
-$(Device/tl-wdr4300-v1)
- BOARDNAME = TL-WDR3500
- TPLINK_HWID := 0x35000001
-endef
-
-define Device/tl-wdr3600-v1
-$(Device/tl-wdr4300-v1)
- TPLINK_HWID := 0x36000001
-endef
-
-define Device/tl-wdr4300-v1-il
-$(Device/tl-wdr4300-v1)
- TPLINK_HWID := 0x43008001
-endef
-
-define Device/tl-wdr4310-v1
-$(Device/tl-wdr4300-v1)
- TPLINK_HWID := 0x43100001
-endef
-
-define Device/mw4530r-v1
-$(Device/tl-wdr4300-v1)
- TPLINK_HWID := 0x45300001
-endef
-TARGET_DEVICES += tl-wdr3500-v1 tl-wdr3600-v1 tl-wdr4300-v1 tl-wdr4300-v1-il tl-wdr4310-v1 mw4530r-v1
-
-define Device/tl-wdr6500-v2
-$(Device/tplink-8mlzma)
- KERNEL := kernel-bin | patch-cmdline | lzma | uImage lzma
- KERNEL_INITRAMFS := kernel-bin | patch-cmdline | lzma | uImage lzma | mktplinkfw-initramfs
- BOARDNAME = TL-WDR6500-v2
- DEVICE_PROFILE = TLWDR6500V2
- TPLINK_HWID := 0x65000002
- TPLINK_HEADER_VERSION := 2
-endef
-TARGET_DEVICES += tl-wdr6500-v2
-
-define Device/tl-wdr3320-v2
-$(Device/tplink-4mlzma)
- BOARDNAME = TL-WDR3320-v2
- DEVICE_PROFILE = TLWDR3320V2
- TPLINK_HWID := 0x33200002
- TPLINK_HEADER_VERSION := 2
-endef
-TARGET_DEVICES += tl-wdr3320-v2
-
-define Device/archer-c5-v1
- $(Device/tplink-16mlzma)
- BOARDNAME := ARCHER-C5
- DEVICE_PROFILE := ARCHERC7
- TPLINK_HWID := 0xc5000001
-endef
-
-define Device/archer-c7-v1
- $(Device/tplink-8mlzma)
- BOARDNAME := ARCHER-C7
- DEVICE_PROFILE := ARCHERC7
- TPLINK_HWID := 0x75000001
-endef
-
-define Device/archer-c7-v2
- $(Device/tplink-16mlzma)
- BOARDNAME := ARCHER-C7
- DEVICE_PROFILE := ARCHERC7
- TPLINK_HWID := 0xc7000002
-endef
-
-define Device/tl-wdr7500-v3
- $(Device/tplink-8mlzma)
- BOARDNAME := ARCHER-C7
- DEVICE_PROFILE := ARCHERC7
- TPLINK_HWID := 0x75000003
-endef
-TARGET_DEVICES += archer-c5-v1 archer-c7-v1 archer-c7-v2 tl-wdr7500-v3
-
define Device/cap324
BOARDNAME := CAP324
DEVICE_PROFILE := CAP324
endef
TARGET_DEVICES += minibox-v1
-define Device/onion-omega
+define Device/omy-g1
$(Device/tplink-16mlzma)
- BOARDNAME := ONION-OMEGA
- DEVICE_PROFILE := OMEGA
- TPLINK_HWID := 0x04700001
- CONSOLE := ttyATH0,115200
-endef
-TARGET_DEVICES += onion-omega
-
-define Device/tl-mr10u-v1
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-MR10U
- DEVICE_PROFILE := TLMR10U
- TPLINK_HWID := 0x00100101
- CONSOLE := ttyATH0,115200
-endef
-
-define Device/tl-mr11u-v1
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-MR11U
- DEVICE_PROFILE := TLMR11U
- TPLINK_HWID := 0x00110101
- CONSOLE := ttyATH0,115200
-endef
-
-define Device/tl-mr11u-v2
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-MR11U
- DEVICE_PROFILE := TLMR11U
- TPLINK_HWID := 0x00110102
- CONSOLE := ttyATH0,115200
-endef
-
-define Device/tl-mr12u-v1
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-MR13U
- DEVICE_PROFILE := TLMR12U
- TPLINK_HWID := 0x00120101
- CONSOLE := ttyATH0,115200
-endef
-
-define Device/tl-mr13u-v1
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-MR13U
- DEVICE_PROFILE := TLMR13U
- TPLINK_HWID := 0x00130101
- CONSOLE := ttyATH0,115200
-endef
-TARGET_DEVICES += tl-mr10u-v1 tl-mr11u-v1 tl-mr11u-v2 tl-mr12u-v1 tl-mr13u-v1
-
-define Device/tl-mr3020-v1
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-MR3020
- DEVICE_PROFILE := TLMR3020
- TPLINK_HWID := 0x30200001
- CONSOLE := ttyATH0,115200
-endef
-
-define Device/tl-mr3040-v1
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-MR3040
- DEVICE_PROFILE := TLMR3040
- TPLINK_HWID := 0x30400001
- CONSOLE := ttyATH0,115200
-endef
-
-define Device/tl-mr3040-v2
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-MR3040-v2
- DEVICE_PROFILE := TLMR3040
- TPLINK_HWID := 0x30400002
- CONSOLE := ttyATH0,115200
-endef
-
-define Device/tl-mr3220-v1
- $(Device/tplink-4m)
- BOARDNAME := TL-MR3220
- DEVICE_PROFILE := TLMR3220
- TPLINK_HWID := 0x32200001
-endef
-
-define Device/tl-mr3220-v2
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-MR3220-v2
- DEVICE_PROFILE := TLMR3220
- TPLINK_HWID := 0x32200002
- CONSOLE := ttyATH0,115200
-endef
-
-define Device/tl-mr3420-v1
- $(Device/tplink-4m)
- BOARDNAME := TL-MR3420
- DEVICE_PROFILE := TLMR3420
- TPLINK_HWID := 0x34200001
-endef
-
-define Device/tl-mr3420-v2
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-MR3420-v2
- DEVICE_PROFILE := TLMR3420
- TPLINK_HWID := 0x34200002
-endef
-TARGET_DEVICES += tl-mr3020-v1 tl-mr3040-v1 tl-mr3040-v2 tl-mr3220-v1 tl-mr3220-v2 tl-mr3420-v1 tl-mr3420-v2
-
-define Device/tl-wr703n-v1
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-WR703N
- DEVICE_PROFILE := TLWR703
- TPLINK_HWID := 0x07030101
- CONSOLE := ttyATH0,115200
-endef
-
-define Device/tl-wr710n-v1
- $(Device/tplink-8mlzma)
- BOARDNAME := TL-WR710N
- DEVICE_PROFILE := TLWR710
- TPLINK_HWID := 0x07100001
- CONSOLE := ttyATH0,115200
-endef
-
-define Device/tl-wr710n-v2
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-WR710N
- DEVICE_PROFILE := TLWR710
- TPLINK_HWID := 0x07100002
- CONSOLE := ttyATH0,115200
+ BOARDNAME := OMY-G1
+ DEVICE_PROFILE := OMYG1
+ TPLINK_HWID := 0x06660101
endef
-define Device/tl-wr710n-v2.1
+define Device/omy-x1
$(Device/tplink-8mlzma)
- BOARDNAME := TL-WR710N
- DEVICE_PROFILE := TLWR710
- TPLINK_HWID := 0x07100002
- TPLINK_HWREV := 0x00000002
- CONSOLE := ttyATH0,115200
-endef
-
-define Device/tl-wr720n-v3
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-WR720N-v3
- DEVICE_PROFILE := TLWR720
- TPLINK_HWID := 0x07200103
- CONSOLE := ttyATH0,115200
-endef
-
-define Device/tl-wr720n-v4
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-WR720N-v3
- DEVICE_PROFILE := TLWR720
- TPLINK_HWID := 0x07200104
- CONSOLE := ttyATH0,115200
-endef
-TARGET_DEVICES += tl-wr703n-v1 tl-wr710n-v1 tl-wr710n-v2 tl-wr710n-v2.1 tl-wr720n-v3 tl-wr720n-v4
-
-define Device/tl-wr740n-v1
- $(Device/tplink-4m)
- BOARDNAME := TL-WR741ND
- DEVICE_PROFILE := TLWR740
- TPLINK_HWID := 0x07400001
-endef
-
-define Device/tl-wr740n-v3
- $(Device/tplink-4m)
- BOARDNAME := TL-WR741ND
- DEVICE_PROFILE := TLWR740
- TPLINK_HWID := 0x07400003
-endef
-
-define Device/tl-wr740n-v4
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-WR741ND-v4
- DEVICE_PROFILE := TLWR740
- TPLINK_HWID := 0x07400004
- CONSOLE := ttyATH0,115200
-endef
-
-define Device/tl-wr740n-v5
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-WR741ND-v4
- DEVICE_PROFILE := TLWR740
- TPLINK_HWID := 0x07400005
- CONSOLE := ttyATH0,115200
-endef
-
-define Device/tl-wr741nd-v1
- $(Device/tplink-4m)
- BOARDNAME := TL-WR741ND
- DEVICE_PROFILE := TLWR741
- TPLINK_HWID := 0x07410001
-endef
-
-define Device/tl-wr741nd-v2
- $(Device/tplink-4m)
- BOARDNAME := TL-WR741ND
- DEVICE_PROFILE := TLWR741
- TPLINK_HWID := 0x07410001
-endef
-
-define Device/tl-wr741nd-v4
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-WR741ND-v4
- DEVICE_PROFILE := TLWR741
- TPLINK_HWID := 0x07410004
- CONSOLE := ttyATH0,115200
-endef
-
-define Device/tl-wr741nd-v5
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-WR741ND-v4
- DEVICE_PROFILE := TLWR741
- TPLINK_HWID := 0x07400005
- CONSOLE := ttyATH0,115200
+ BOARDNAME := OMY-X1
+ DEVICE_PROFILE := OMYX1
+ TPLINK_HWID := 0x06660201
endef
+TARGET_DEVICES += omy-g1 omy-x1
-define Device/tl-wr743nd-v1
- $(Device/tplink-4m)
- BOARDNAME := TL-WR741ND
- DEVICE_PROFILE := TLWR743
- TPLINK_HWID := 0x07430001
-endef
-
-define Device/tl-wr743nd-v2
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-WR741ND-v4
- DEVICE_PROFILE := TLWR743
- TPLINK_HWID := 0x07430002
- CONSOLE := ttyATH0,115200
-endef
-TARGET_DEVICES += tl-wr740n-v1 tl-wr740n-v3 tl-wr740n-v4 tl-wr740n-v5 tl-wr741nd-v1 tl-wr741nd-v2 tl-wr741nd-v4 tl-wr741nd-v5 tl-wr743nd-v1 tl-wr743nd-v2
-
-define Device/tl-wr841nd-v1.5
- $(Device/tplink-4m)
- BOARDNAME := TL-WR841N-v1.5
- DEVICE_PROFILE := TLWR841
- TPLINK_HWID := 0x08410002
- TPLINK_HWREV := 2
-endef
-
-define Device/tl-wr841nd-v3
- $(Device/tplink-4m)
- BOARDNAME := TL-WR941ND
- DEVICE_PROFILE := TLWR841
- TPLINK_HWID := 0x08410003
- TPLINK_HWREV := 3
-endef
-
-define Device/tl-wr841nd-v5
- $(Device/tplink-4m)
- BOARDNAME := TL-WR741ND
- DEVICE_PROFILE := TLWR841
- TPLINK_HWID := 0x08410005
-endef
-
-define Device/tl-wr841nd-v7
- $(Device/tplink-4m)
- BOARDNAME := TL-WR841N-v7
- DEVICE_PROFILE := TLWR841
- TPLINK_HWID := 0x08410007
-endef
-
-define Device/tl-wr841n-v8
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-WR841N-v8
- DEVICE_PROFILE := TLWR841
- TPLINK_HWID := 0x08410008
-endef
-
-define Device/tl-wr841n-v9
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-WR841N-v9
- DEVICE_PROFILE := TLWR841
- TPLINK_HWID := 0x08410009
-endef
-
-define Device/tl-wr841n-v10
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-WR841N-v9
- DEVICE_PROFILE := TLWR841
- TPLINK_HWID := 0x08410010
-endef
-
-define Device/tl-wr842n-v1
- $(Device/tplink-8m)
- BOARDNAME := TL-MR3420
- DEVICE_PROFILE := TLWR842
- TPLINK_HWID := 0x08420001
-endef
-
-define Device/tl-wr842n-v2
- $(Device/tplink-8mlzma)
- BOARDNAME := TL-WR842N-v2
- DEVICE_PROFILE := TLWR842
- TPLINK_HWID := 0x8420002
-endef
-
-define Device/tl-wr843nd-v1
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-WR841N-v8
- DEVICE_PROFILE := TLWR843
- TPLINK_HWID := 0x08430001
-endef
-
-define Device/tl-wr847n-v8
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-WR841N-v8
- DEVICE_PROFILE := TLWR841
- TPLINK_HWID := 0x08470008
-endef
-TARGET_DEVICES += tl-wr841nd-v1.5 tl-wr841nd-v3 tl-wr841nd-v5 tl-wr841nd-v7 tl-wr841n-v8 tl-wr841n-v9 tl-wr841n-v10 tl-wr842n-v1 tl-wr842n-v2 tl-wr843nd-v1 tl-wr847n-v8
-
-define Device/tl-wr941nd-v2
- $(Device/tplink-4m)
- BOARDNAME := TL-WR941ND
- DEVICE_PROFILE := TLWR941
- TPLINK_HWID := 0x09410002
- TPLINK_HWREV := 2
-endef
-
-define Device/tl-wr941nd-v3
- $(Device/tplink-4m)
- BOARDNAME := TL-WR941ND
- DEVICE_PROFILE := TLWR941
- TPLINK_HWID := 0x09410002
- TPLINK_HWREV := 2
-endef
-
-define Device/tl-wr941nd-v4
- $(Device/tplink-4m)
- BOARDNAME := TL-WR741ND
- DEVICE_PROFILE := TLWR941
- TPLINK_HWID := 0x09410004
-endef
-
-define Device/tl-wr941nd-v5
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-WR941ND-v5
- DEVICE_PROFILE := TLWR941
- TPLINK_HWID := 0x09410005
-endef
-
-define Device/tl-wr941nd-v6
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-WR941ND-v6
- DEVICE_PROFILE := TLWR941
- TPLINK_HWID := 0x09410006
-endef
-
-# Chinese version (unlike European) is similar to the TL-WDR3500
-define Device/tl-wr941nd-v6-cn
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-WDR3500
- DEVICE_PROFILE := TLWR941
- TPLINK_HWID := 0x09410006
-endef
-TARGET_DEVICES += tl-wr941nd-v2 tl-wr941nd-v3 tl-wr941nd-v4 tl-wr941nd-v5 tl-wr941nd-v6 tl-wr941nd-v6-cn
-
-define Device/tl-wr1041n-v2
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-WR1041N-v2
- DEVICE_PROFILE := TLWR1041
- TPLINK_HWID := 0x10410002
-endef
-TARGET_DEVICES += tl-wr1041n-v2
-
-define Device/tl-wr1043nd-v1
- $(Device/tplink-8m)
- BOARDNAME := TL-WR1043ND
- DEVICE_PROFILE := TLWR1043
- TPLINK_HWID := 0x10430001
-endef
-
-define Device/tl-wr1043nd-v2
- $(Device/tplink-8mlzma)
- BOARDNAME := TL-WR1043ND-v2
- DEVICE_PROFILE := TLWR1043
- TPLINK_HWID := 0x10430002
-endef
-
-define Device/tl-wr1043nd-v3
- $(Device/tplink-8mlzma)
- BOARDNAME := TL-WR1043ND-v2
- DEVICE_PROFILE := TLWR1043
- TPLINK_HWID := 0x10430003
-endef
-TARGET_DEVICES += tl-wr1043nd-v1 tl-wr1043nd-v2 tl-wr1043nd-v3
-
-define Device/tl-wr2543-v1
- $(Device/tplink-8mlzma)
- BOARDNAME := TL-WR2543N
- DEVICE_PROFILE := TLWR2543
- TPLINK_HWID := 0x25430001
- IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade "-v 3.13.99"
- IMAGE/factory.bin := append-rootfs | mktplinkfw factory "-v 3.13.99"
-endef
-TARGET_DEVICES += tl-wr2543-v1
-
-define Device/tl-wdr4900-v2
- $(Device/tplink-8mlzma)
- BOARDNAME := TL-WDR4900-v2
- DEVICE_PROFILE := TLWDR4900V2
- TPLINK_HWID := 0x49000002
-endef
-TARGET_DEVICES += tl-wdr4900-v2
-
-define Device/tl-wa701n-v1
- $(Device/tplink-4m)
- BOARDNAME := TL-WA901ND
- DEVICE_PROFILE := TLWA701
- TPLINK_HWID := 0x07010001
-endef
-
-define Device/tl-wa701nd-v2
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-WA701ND-v2
- DEVICE_PROFILE := TLWA701
- TPLINK_HWID := 0x07010002
- CONSOLE := ttyATH0,115200
-endef
-
-define Device/tl-wa730rev1
- $(Device/tplink-4m)
- BOARDNAME := TL-WA901ND
- DEVICE_PROFILE := TLWA730RE
- TPLINK_HWID := 0x07300001
-endef
-
-define Device/tl-wa750re-v1
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-WA750RE
- DEVICE_PROFILE := TLWA750
- TPLINK_HWID := 0x07500001
-endef
-
-define Device/tl-wa7510n
- $(Device/tplink-4m)
- BOARDNAME := TL-WA7510N
- DEVICE_PROFILE := TLWA7510
- TPLINK_HWID := 0x75100001
-endef
-TARGET_DEVICES += tl-wa701n-v1 tl-wa701nd-v2 tl-wa730rev1 tl-wa750re-v1 tl-wa7510n
-
-define Device/tl-wa801nd-v1
- $(Device/tplink-4m)
- BOARDNAME := TL-WA901ND
- DEVICE_PROFILE := TLWA801
- TPLINK_HWID := 0x08010001
-endef
-
-define Device/tl-wa801nd-v2
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-WA801ND-v2
- DEVICE_PROFILE := TLWA801
- TPLINK_HWID := 0x08010002
-endef
-
-define Device/tl-wa830re-v1
- $(Device/tplink-4m)
- BOARDNAME := TL-WA901ND
- DEVICE_PROFILE := TLWA830
- TPLINK_HWID := 0x08300010
-endef
-
-define Device/tl-wa830re-v2
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-WA830RE-v2
- DEVICE_PROFILE := TLWA830
- TPLINK_HWID := 0x08300002
-endef
-
-define Device/tl-wa850re-v1
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-WA850RE
- DEVICE_PROFILE := TLWA850
- TPLINK_HWID := 0x08500001
-endef
-
-define Device/tl-wa860re-v1
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-WA860RE
- DEVICE_PROFILE := TLWA860
- TPLINK_HWID := 0x08600001
-endef
-TARGET_DEVICES += tl-wa801nd-v1 tl-wa801nd-v2 tl-wa830re-v1 tl-wa830re-v2 tl-wa850re-v1 tl-wa860re-v1
-
-define Device/tl-wa901nd-v1
- $(Device/tplink-4m)
- BOARDNAME := TL-WA901ND
- DEVICE_PROFILE := TLWA901
- TPLINK_HWID := 0x09010001
-endef
-
-define Device/tl-wa901nd-v2
- $(Device/tplink-4m)
- BOARDNAME := TL-WA901ND-v2
- DEVICE_PROFILE := TLWA901
- TPLINK_HWID := 0x09010002
-endef
-
-define Device/tl-wa901nd-v3
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-WA901ND-v3
- DEVICE_PROFILE := TLWA901
- TPLINK_HWID := 0x09010003
-endef
-TARGET_DEVICES += tl-wa901nd-v1 tl-wa901nd-v2 tl-wa901nd-v3
-
-define Device/tl-wa7210n-v2
- $(Device/tplink-4mlzma)
- BOARDNAME := TL-WA7210N-v2
- DEVICE_PROFILE := TLWA7210
- TPLINK_HWID := 0x72100002
+define Device/onion-omega
+ $(Device/tplink-16mlzma)
+ BOARDNAME := ONION-OMEGA
+ DEVICE_PROFILE := OMEGA
+ TPLINK_HWID := 0x04700001
CONSOLE := ttyATH0,115200
endef
-TARGET_DEVICES += tl-wa7210n-v2
+TARGET_DEVICES += onion-omega
define Device/smart-300
$(Device/tplink-8mlzma)
endef
TARGET_DEVICES += smart-300
+define Device/tellstick-znet-lite
+ $(Device/tplink-16mlzma)
+ BOARDNAME := TELLSTICK-ZNET-LITE
+ DEVICE_PROFILE := TELLSTICKZNETLITE
+ TPLINK_HWID := 0x00726001
+ CONSOLE := ttyATH0,115200
+endef
+TARGET_DEVICES += tellstick-znet-lite
+
define Device/oolite
$(Device/tplink-16mlzma)
BOARDNAME := GS-OOLITE
IMAGE/sysupgrade.bin = append-kernel $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
endef
+define Device/ubnt-unifiac
+ DEVICE_PROFILE := UBNT
+ IMAGE_SIZE := 7744k
+ MTDPARTS = spi0.0:384k(u-boot)ro,64k(u-boot-env)ro,7744k(firmware),7744k(ubnt-airos)ro,128k(bs)ro,256k(cfg)ro,64k(EEPROM)ro
+ IMAGES := sysupgrade.bin
+ IMAGE/sysupgrade.bin = append-kernel $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
+endef
+
define Device/rw2458n
$(Device/ubnt-xm)
BOARDNAME := RW2458N
DEVICE_PROFILE := UBNT UBNTUNIFI
endef
+define Device/ubnt-unifiac-lite
+ $(Device/ubnt-unifiac)
+ DEVICE_PROFILE := UBNT UBNTUNIFIACLITE
+ BOARDNAME := UBNT-UF-AC-LITE
+endef
+
+define Device/ubnt-unifiac-pro
+ $(Device/ubnt-unifiac)
+ DEVICE_PROFILE := UBNT UBNTUNIFIACPRO
+ BOARDNAME := UBNT-UF-AC-PRO
+endef
+
define Device/ubnt-unifi-outdoor
$(Device/ubnt-bz)
BOARDNAME := UBNT-U20
DEVICE_PROFILE := UBNT UBNTUNIFIOUTDOOR
endef
-TARGET_DEVICES += ubnt-unifi ubnt-unifi-outdoor
+TARGET_DEVICES += ubnt-unifi ubnt-unifiac-lite ubnt-unifiac-pro ubnt-unifi-outdoor
define Device/ubnt-nano-m-xw
$(Device/ubnt-xw)
$(Device/ubnt-xm)
MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,7488k(firmware),64k(certs),256k(cfg)ro,64k(EEPROM)ro
BOARDNAME := UBNT-UF
- UBNT_BOARD := XM
+ UBNT_BOARD := UBDEV01
UBNT_TYPE := XM
UBNT_CHIP := ar7240
endef
-$(CP) $(KDIR)/loader-$(1).$(2) $(KDIR)/loader-$(1)$(5).$(2)
endef
-#
-# Embed patched lzma-compressed kernel inside lzma-loader.
-#
-# Specifying the command line via the lzma-loader doesn't work with some
-# models (like the TP-LINK CPE series), so this version first patches the
-# command line in the image and then builds the loader around it.
-#
-# $(1), suffix of output filename, e.g. generic, lowercase board name, etc.
-# $(2), suffix of target file to build, e.g. bin, gz, elf
-# $(3), kernel command line to pass from lzma-loader to kernel
-# $(4), unused here
-# $(5), suffix of kernel filename, e.g. -initramfs, or empty
-define Image/BuildLoaderPatched
- $(call PatchKernelLzma,$(1),$(3))
- -rm -rf $(KDIR)/lzma-loader
- $(LOADER_MAKE) LOADER=loader-$(1).$(2) \
- LZMA_TEXT_START=0x80a00000 LOADADDR=0x80060000 \
- LOADER_DATA="$(KDIR_TMP)/vmlinux-$(1)$(5).bin.lzma" BOARD="$(1)" \
- compile loader.$(2)
- -$(CP) $(KDIR)/loader-$(1).$(2) $(KDIR)/loader-$(1)$(5).$(2)
-endef
-
#
# Build lzma-loader alone which will search for lzma-compressed kernel identified by
# uImage header with magic "OKLI" at boot time.
$(LOADER_MAKE) clean
endef
+alfa_ap120c_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,13312k(rootfs),1536k(kernel),1152k(unknown)ro,64k(art)ro;spi0.1:-(unknown)
alfa_ap96_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,256k(u-boot-env)ro,13312k(rootfs),2048k(kernel),512k(caldata)ro,15360k@0x80000(firmware)
alfa_mtdlayout_8M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,6144k(rootfs),1600k(kernel),64k(nvram),64k(art)ro,7744k@0x50000(firmware)
alfa_mtdlayout_16M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,15936k(firmware),64k(nvram),64k(art)ro
cameo_db120_mtdlayout=mtdparts=spi0.0:64k(uboot)ro,64k(nvram)ro,15936k(firmware),192k(lang)ro,64k(mac)ro,64k(art)ro
cameo_db120_mtdlayout_8M=mtdparts=spi0.0:64k(uboot)ro,64k(nvram)ro,7872k(firmware),128k(lang)ro,64k(art)ro
cap4200ag_mtdlayout=mtdparts=spi0.0:256k(u-boot),64k(u-boot-env),320k(custom)ro,1536k(kernel),12096k(rootfs),2048k(failsafe),64k(art),13632k@0xa0000(firmware)
-cpe510_mtdlayout=mtdparts=spi0.0:128k(u-boot)ro,64k(pation-table)ro,64k(product-info)ro,1536k(kernel),6144k(rootfs),192k(config)ro,64k(ART)ro,7680k@0x40000(firmware)
eap300v2_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env),320k(custom),13632k(firmware),2048k(failsafe),64k(art)ro
db120_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,6336k(rootfs),1408k(kernel),64k(nvram),64k(art)ro,7744k@0x50000(firmware)
dgl_5500_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(nvram)ro,15296k(firmware),192k(lang)ro,512k(my-dlink)ro,64k(mac)ro,64k(art)ro
ubdev_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,7488k(firmware),64k(certs),256k(cfg)ro,64k(EEPROM)ro
whrhpg300n_mtdlayout=mtdparts=spi0.0:248k(u-boot)ro,8k(u-boot-env)ro,3712k(firmware),64k(art)ro
wlr8100_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(u-boot-env)ro,1408k(kernel),14080k(rootfs),192k(unknown)ro,64k(art)ro,384k(unknown2)ro,15488k@0x40000(firmware)
+wpj342_mtdlayout_16M=mtdparts=spi0.0:192k(u-boot)ro,16128k(firmware),64k(art)ro
wpj344_mtdlayout_16M=mtdparts=spi0.0:192k(u-boot)ro,16128k(firmware),64k(art)ro
dr344_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,6336k(rootfs),1408k(kernel),64k(nvram),64k(art)ro,7744k@0x50000(firmware)
wpj531_mtdlayout_16M=mtdparts=spi0.0:192k(u-boot)ro,16128k(firmware),64k(art)ro
$(call sysupname,$(1),$(2))
endef
-Image/Build/TPLINK-SAFELOADER/loader = $(call Image/BuildLoaderPatched,$(1),elf,$(2) $(3))
-
-define Image/Build/TPLINK-SAFELOADER
- [ -e "$(KDIR)/loader-$(2).elf" ]
-
- -$(STAGING_DIR_HOST)/bin/tplink-safeloader \
- -B $(5) \
- -k $(KDIR)/loader-$(2).elf \
- -r $(KDIR)/root.$(1) \
- -V $(REVISION) \
- -j \
- -o $(call factoryname,$(1),$(2))
- -$(STAGING_DIR_HOST)/bin/tplink-safeloader \
- -B $(5) \
- -k $(KDIR)/loader-$(2).elf \
- -r $(KDIR)/root.$(1) \
- -V $(REVISION) \
- -j -S \
- -o $(call sysupname,$(1),$(2))
-endef
-
-
define Image/Build/CyberTAN
echo -n '' > $(KDIR_TMP)/empty.bin
$(STAGING_DIR_HOST)/bin/trx -o $(KDIR)/image.tmp \
cat $(KDIR_TMP)/vmlinux-$(2).uImage > $(KDIR_TMP)/$(2)/image/uImage
$(STAGING_DIR_HOST)/bin/mksquashfs-lzma \
$(KDIR_TMP)/$(2) $(KDIR_TMP)/vmlinux-$(2).uImage.squashfs.tmp1 \
- -noappend -root-owned -be -b 65536
+ -noappend -root-owned -be -b 65536 \
+ $(if $(SOURCE_DATE_EPOCH),-fixed-time $(SOURCE_DATE_EPOCH))
( \
cat $(KDIR_TMP)/vmlinux-$(2).uImage.squashfs.tmp1; \
dd if=/dev/zero bs=1k count=1 \
$(eval $(call SingleProfile,AthGzip,64k,AP96,ap96,AP96,ttyS0,115200,$$(ap96_mtdlayout),RKuImage))
$(eval $(call SingleProfile,AthGzip,64k,WNDAP360,wndap360,WNDAP360,ttyS0,9600,$$(wndap360_mtdlayout),KRuImage))
+$(eval $(call SingleProfile,AthLzma,64k,ALFAAP120C,alfa-ap120c,ALFA-AP120C,ttyS0,115200,$$(alfa_ap120c_mtdlayout),RKuImage))
$(eval $(call SingleProfile,AthLzma,64k,ALFAAP96,alfa-ap96,ALFA-AP96,ttyS0,115200,$$(alfa_ap96_mtdlayout),RKuImage))
$(eval $(call SingleProfile,AthLzma,64k,ALL0258N,all0258n,ALL0258N,ttyS0,115200,$$(all0258n_mtdlayout),KRuImage,65536))
$(eval $(call SingleProfile,AthLzma,256k,ALL0315N,all0315n,ALL0315N,ttyS0,115200,$$(all0315n_mtdlayout),KRuImage,262144))
$(eval $(call SingleProfile,AthLzma,64k,PB92,pb92,PB92,ttyS0,115200,$$(pb92_mtdlayout),KRuImage))
$(eval $(call SingleProfile,AthLzma,64k,TUBE2H16M,tube2h-16M,TUBE2H,ttyATH0,115200,$$(alfa_mtdlayout_16M),KRuImage,65536))
$(eval $(call SingleProfile,AthLzma,64k,WLR8100,wlr8100,WLR8100,ttyS0,115200,$$(wlr8100_mtdlayout),KRuImage))
+$(eval $(call SingleProfile,AthLzma,64k,WPJ342_16M,wpj342-16M,WPJ342,ttyS0,115200,$$(wpj342_mtdlayout_16M),KRuImage,65536))
$(eval $(call SingleProfile,AthLzma,64k,WPJ344_16M,wpj344-16M,WPJ344,ttyS0,115200,$$(wpj344_mtdlayout_16M),KRuImage,65536))
$(eval $(call SingleProfile,AthLzma,64k,DR344,dr344,DR344,ttyS0,115200,$$(dr344_mtdlayout),RKuImage))
$(eval $(call SingleProfile,AthLzma,64k,WPJ531_16M,wpj531-16M,WPJ531,ttyS0,115200,$$(wpj531_mtdlayout_16M),KRuImage,65536))
$(eval $(call SingleProfile,Netgear,64kraw,WNR2000V3,wnr2000v3,WNR2000V3,ttyS0,115200,$$(wnr2000v3_mtdlayout),0x32303033,WNR2000V3,"" NA,-H 29763551+04+32))
$(eval $(call SingleProfile,NetgearLzma,64kraw,WNR2000V4,wnr2000v4,WNR2000V4,ttyS0,115200,$$(wnr2000v4_mtdlayout),0x32303034,WNR2000V4,"" NA,))
-$(eval $(call SingleProfile,Netgear,64kraw,WNR2200,wnr2200,WNR2200,ttyS0,115200,$$(wnr2200_mtdlayout),0x32323030,WNR2200,"" NA,))
+$(eval $(call SingleProfile,Netgear,64kraw,WNR2200,wnr2200,WNR2200,ttyS0,115200,$$(wnr2200_mtdlayout),0x32323030,wnr2200,"" NA,))
$(eval $(call SingleProfile,Netgear,64kraw,REALWNR612V2,wnr612v2,WNR612V2,ttyS0,115200,$$(wnr2000v3_mtdlayout),0x32303631,WNR612V2,"",))
$(eval $(call SingleProfile,Netgear,64kraw,N150R,n150r,WNR612V2,ttyS0,115200,$$(wnr2000v3_mtdlayout),0x32303631,N150R,"",))
$(eval $(call SingleProfile,Netgear,64kraw,REALWNR1000V2,wnr1000v2,WNR1000V2,ttyS0,115200,$$(wnr2000v3_mtdlayout),0x31303031,WNR1000V2,"",))
$(eval $(call SingleProfile,Netgear,64kraw,WNR1000V2_VC,wnr1000v2-vc,WNR1000V2,ttyS0,115200,$$(wnr2000v3_mtdlayout),0x31303030,WNR1000V2-VC,"",))
+$(eval $(call SingleProfile,Netgear,64kraw,WPN824N,wpn824n,WPN824N,ttyS0,115200,$$(wnr2000v3_mtdlayout),0x31313030,WPN824N,"" NA,))
$(eval $(call SingleProfile,OpenMesh,squashfs-only,OM2P,om2p,,,,OM2P))
$(eval $(call SingleProfile,OpenMesh,squashfs-only,OM5P,om5p,,,,OM5P))
+$(eval $(call SingleProfile,OpenMesh,squashfs-only,OM5PAC,om5pac,,,,OM5PAC))
$(eval $(call SingleProfile,OpenMesh,squashfs-only,MR600,mr600,,,,MR600))
$(eval $(call SingleProfile,OpenMesh,squashfs-only,MR900,mr900,,,,MR900))
$(eval $(call SingleProfile,OpenMesh,squashfs-only,MR1750,mr1750,,,,MR1750))
$(eval $(call SingleProfile,Senao,squashfs-only,EAP300V2,eap300v2,EAP300V2,ttyS0,115200,$$(eap300v2_mtdlayout)))
-$(eval $(call SingleProfile,TPLINK-SAFELOADER,64kraw,CPE510,cpe210-220-510-520,CPE510,ttyS0,115200,$$(cpe510_mtdlayout),CPE510))
-
$(eval $(call SingleProfile,WHRHPG300N,64kraw,WHRG301N,whr-g301n,WHR-G301N,ttyS0,115200,$$(whrhpg300n_mtdlayout),WHR-G301N))
$(eval $(call SingleProfile,WHRHPG300N,64kraw,WHRHPG300N,whr-hp-g300n,WHR-HP-G300N,ttyS0,115200,$$(whrhpg300n_mtdlayout),WHR-HP-G300N))
$(eval $(call SingleProfile,WHRHPG300N,64kraw,WHRHPGN,whr-hp-gn,WHR-HP-GN,ttyS0,115200,$$(whrhpg300n_mtdlayout),WHR-HP-GN))
$(eval $(call MultiProfile,AP152,AP152_16M))
$(eval $(call MultiProfile,DIR615IX,DIR615I1 DIR615I3))
$(eval $(call MultiProfile,EWDORIN, EWDORINAP EWDORINRT EWDORIN16M))
-$(eval $(call MultiProfile,OPENMESH,OM2P OM5P MR600 MR900 MR1750))
+$(eval $(call MultiProfile,OPENMESH,OM2P OM5P OM5PAC MR600 MR900 MR1750))
$(eval $(call MultiProfile,TEW652BRP,TEW652BRP_FW TEW652BRP_RECOVERY))
$(eval $(call MultiProfile,TUBE2H,TUBE2H8M TUBE2H16M))
$(eval $(call MultiProfile,WNR612V2,REALWNR612V2 N150R))
$(eval $(call MultiProfile,WNR1000V2,REALWNR1000V2 WNR1000V2_VC))
$(eval $(call MultiProfile,WP543,WP543_2M WP543_4M WP543_8M WP543_16M))
$(eval $(call MultiProfile,WPE72,WPE72_4M WPE72_8M WPE72_16M))
+$(eval $(call MultiProfile,WPJ342,WPJ342_16M))
$(eval $(call MultiProfile,WPJ344,WPJ344_16M))
$(eval $(call MultiProfile,WPJ531,WPJ531_16M))
$(eval $(call MultiProfile,WPJ558,WPJ558_16M))