DEVICE_VARS += ADDPATTERN_ID ADDPATTERN_VERSION
DEVICE_VARS += SEAMA_SIGNATURE SEAMA_MTDBLOCK
DEVICE_VARS += KERNEL_INITRAMFS_PREFIX
+DEVICE_VARS += DAP_SIGNATURE
define Build/add-elecom-factory-initramfs
$(eval edimax_model=$(word 1,$(1)))
-rm $@-empty.bin
endef
+define Build/mkdapimg2
+ $(STAGING_DIR_HOST)/bin/mkdapimg2 \
+ -i $@ -o $@.new \
+ -s $(DAP_SIGNATURE) \
+ -v $(VERSION_DIST)-$(firstword $(subst +, , \
+ $(firstword $(subst -, ,$(REVISION))))) \
+ -r Default \
+ $(if $(1),-k $(1))
+ mv $@.new $@
+endef
+
+define Build/mkmylofw_16m
+ $(eval device_id=$(word 1,$(1)))
+ $(eval revision=$(word 2,$(1)))
+
+ # On WPJ344, WPJ531, and WPJ563, the default boot command tries 0x9f680000
+ # first and fails if the remains of the stock image are sill there
+ # - resulting in an infinite boot loop.
+ # The size parameter is grown to have that block deleted if the firmware
+ # isn't big enough by itself.
+
+ let \
+ size="$$(stat -c%s $@)" \
+ pad="$(subst k,* 1024,$(BLOCKSIZE))" \
+ pad="(pad - (size % pad)) % pad" \
+ newsize='size + pad' ; \
+ [ $$newsize -lt $$((0x660000)) ] && newsize=0x660000 ; \
+ $(STAGING_DIR_HOST)/bin/mkmylofw \
+ -B WPE72 -i 0x11f6:$(device_id):0x11f6:$(device_id) -r $(revision) \
+ -s 0x1000000 -p0x30000:$$newsize:al:0x80060000:"OpenWRT":$@ \
+ $@.new
+ @mv $@.new $@
+endef
+
+define Build/mkwrggimg
+ $(STAGING_DIR_HOST)/bin/mkwrggimg -b \
+ -i $@ -o $@.imghdr -d /dev/mtdblock/1 \
+ -m $(DEVICE_MODEL)-$(DEVICE_VARIANT) -s $(DAP_SIGNATURE) \
+ -v $(VERSION_DIST) -B $(REVISION)
+ mv $@.imghdr $@
+endef
+
define Build/nec-enc
$(STAGING_DIR_HOST)/bin/nec-enc \
-i $@ -o $@.new -k $(1)
dd of=$@ bs=1 count=16 seek=$$offs conv=notrunc
endef
+define Build/wrgg-pad-rootfs
+ $(STAGING_DIR_HOST)/bin/padjffs2 $(IMAGE_ROOTFS) -c 64 >>$@
+endef
+
define Device/seama
KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma
KERNEL_INITRAMFS := $$(KERNEL) | seama
endef
TARGET_DEVICES += 8dev_carambola2
+define Device/8dev_lima
+ SOC := qca9531
+ DEVICE_VENDOR := 8devices
+ DEVICE_MODEL := Lima
+ DEVICE_PACKAGES := kmod-usb2
+ IMAGE_SIZE := 15616k
+ SUPPORTED_DEVICES += lima
+endef
+TARGET_DEVICES += 8dev_lima
+
define Device/adtran_bsap1880
SOC := ar7161
DEVICE_VENDOR := Adtran/Bluesocket
endef
TARGET_DEVICES += alfa-network_ap121f
+define Device/arduino_yun
+ SOC := ar9331
+ DEVICE_VENDOR := Arduino
+ DEVICE_MODEL := Yun
+ DEVICE_PACKAGES := kmod-usb2 kmod-usb-chipidea2 kmod-usb-ledtrig-usbport \
+ kmod-usb-storage block-mount -swconfig
+ IMAGE_SIZE := 15936k
+ SUPPORTED_DEVICES += arduino-yun
+endef
+TARGET_DEVICES += arduino_yun
+
define Device/aruba_ap-105
SOC := ar7161
DEVICE_VENDOR := Aruba
endef
TARGET_DEVICES += aruba_ap-105
-define Device/avm_fritz300e
- SOC := ar7242
+define Device/avm
DEVICE_VENDOR := AVM
- DEVICE_MODEL := FRITZ!WLAN Repeater 300E
KERNEL := kernel-bin | append-dtb | lzma | eva-image
KERNEL_INITRAMFS := $$(KERNEL)
- IMAGE_SIZE := 15232k
IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | \
append-squashfs-fakeroot-be | pad-to 256 | append-rootfs | pad-rootfs | \
append-metadata | check-size
- DEVICE_PACKAGES := fritz-tffs rssileds -swconfig
+ DEVICE_PACKAGES := fritz-tffs
+endef
+
+define Device/avm_fritz1750e
+ $(Device/avm)
+ SOC := qca9556
+ IMAGE_SIZE := 15232k
+ DEVICE_MODEL := FRITZ!WLAN Repeater 1750E
+ DEVICE_PACKAGES += rssileds kmod-ath10k-ct-smallbuffers \
+ ath10k-firmware-qca988x-ct -swconfig
+endef
+TARGET_DEVICES += avm_fritz1750e
+
+define Device/avm_fritz300e
+ $(Device/avm)
+ SOC := ar7242
+ IMAGE_SIZE := 15232k
+ DEVICE_MODEL := FRITZ!WLAN Repeater 300E
+ DEVICE_PACKAGES += rssileds -swconfig
SUPPORTED_DEVICES += fritz300e
endef
TARGET_DEVICES += avm_fritz300e
define Device/avm_fritz4020
+ $(Device/avm)
SOC := qca9561
- DEVICE_VENDOR := AVM
- DEVICE_MODEL := FRITZ!Box 4020
IMAGE_SIZE := 15232k
- KERNEL := kernel-bin | append-dtb | lzma | eva-image
- KERNEL_INITRAMFS := $$(KERNEL)
- IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | \
- append-squashfs-fakeroot-be | pad-to 256 | append-rootfs | pad-rootfs | \
- append-metadata | check-size
- DEVICE_PACKAGES := fritz-tffs
+ DEVICE_MODEL := FRITZ!Box 4020
SUPPORTED_DEVICES += fritz4020
endef
TARGET_DEVICES += avm_fritz4020
+define Device/avm_fritz450e
+ $(Device/avm)
+ SOC := qca9556
+ IMAGE_SIZE := 15232k
+ DEVICE_MODEL := FRITZ!WLAN Repeater 450E
+ SUPPORTED_DEVICES += fritz450e
+endef
+TARGET_DEVICES += avm_fritz450e
+
+define Device/avm_fritzdvbc
+ $(Device/avm)
+ SOC := qca9556
+ IMAGE_SIZE := 15232k
+ DEVICE_MODEL := FRITZ!WLAN Repeater DVB-C
+ DEVICE_PACKAGES += rssileds kmod-ath10k-ct-smallbuffers \
+ ath10k-firmware-qca988x-ct -swconfig
+endef
+TARGET_DEVICES += avm_fritzdvbc
+
define Device/buffalo_bhr-4grv
SOC := ar7242
DEVICE_VENDOR := Buffalo
endef
TARGET_DEVICES += comfast_cf-e120a-v3
+define Device/comfast_cf-e130n-v2
+ SOC := qca9531
+ DEVICE_VENDOR := COMFAST
+ DEVICE_MODEL := CF-E130N
+ DEVICE_VARIANT := v2
+ DEVICE_PACKAGES := rssileds kmod-leds-gpio -swconfig -uboot-envtools
+ IMAGE_SIZE := 7936k
+endef
+TARGET_DEVICES += comfast_cf-e130n-v2
+
define Device/comfast_cf-e313ac
SOC := qca9531
DEVICE_VENDOR := COMFAST
endef
TARGET_DEVICES += comfast_cf-wr752ac-v1
+define Device/compex_wpj344-16m
+ SOC := ar9344
+ DEVICE_PACKAGES := kmod-usb2
+ IMAGE_SIZE := 16128k
+ DEVICE_VENDOR := Compex
+ DEVICE_MODEL := WPJ344
+ DEVICE_VARIANT := 16M
+ SUPPORTED_DEVICES += wpj344
+ IMAGES += cpximg-6a08.bin
+ IMAGE/cpximg-6a08.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | mkmylofw_16m 0x690 3
+endef
+TARGET_DEVICES += compex_wpj344-16m
+
+define Device/compex_wpj531-16m
+ SOC := qca9531
+ DEVICE_PACKAGES := kmod-usb2
+ IMAGE_SIZE := 16128k
+ DEVICE_VENDOR := Compex
+ DEVICE_MODEL := WPJ531
+ DEVICE_VARIANT := 16M
+ SUPPORTED_DEVICES += wpj531
+ IMAGES += cpximg-7a03.bin cpximg-7a04.bin cpximg-7a06.bin cpximg-7a07.bin
+ IMAGE/cpximg-7a03.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | mkmylofw_16m 0x68a 2
+ IMAGE/cpximg-7a04.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | mkmylofw_16m 0x693 3
+ IMAGE/cpximg-7a06.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | mkmylofw_16m 0x693 3
+ IMAGE/cpximg-7a07.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | mkmylofw_16m 0x693 3
+endef
+TARGET_DEVICES += compex_wpj531-16m
+
define Device/devolo_dvl1200e
SOC := qca9558
DEVICE_VENDOR := devolo
endef
TARGET_DEVICES += devolo_magic-2-wifi
+define Device/dlink_dap-13xx
+ SOC := qca9533
+ DEVICE_VENDOR := D-Link
+ DEVICE_PACKAGES += rssileds
+ IMAGE_SIZE := 7936k
+ IMAGES += factory.bin
+ IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
+ append-rootfs | pad-rootfs | check-size | mkdapimg2 0xE0000
+endef
+
+define Device/dlink_dap-1330-a1
+ $(Device/dlink_dap-13xx)
+ DEVICE_MODEL := DAP-1330
+ DEVICE_VARIANT := A1
+ DAP_SIGNATURE := HONEYBEE-FIRMWARE-DAP-1330
+ SUPPORTED_DEVICES += dap-1330-a1
+endef
+TARGET_DEVICES += dlink_dap-1330-a1
+
+define Device/dlink_dap-1365-a1
+ $(Device/dlink_dap-13xx)
+ DEVICE_MODEL := DAP-1365
+ DEVICE_VARIANT := A1
+ DAP_SIGNATURE := HONEYBEE-FIRMWARE-DAP-1365
+endef
+TARGET_DEVICES += dlink_dap-1365-a1
+
+define Device/dlink_dap-2695-a1
+ SOC := qca9558
+ DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
+ DEVICE_VENDOR := D-Link
+ DEVICE_MODEL := DAP-2965
+ DEVICE_VARIANT := A1
+ IMAGES := factory.img sysupgrade.bin
+ IMAGE_SIZE := 15360k
+ IMAGE/default := append-kernel | pad-offset 65536 160
+ IMAGE/factory.img := $$(IMAGE/default) | append-rootfs | wrgg-pad-rootfs | \
+ mkwrggimg | check-size
+ IMAGE/sysupgrade.bin := $$(IMAGE/default) | mkwrggimg | append-rootfs | \
+ wrgg-pad-rootfs | append-metadata | check-size
+ KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma
+ KERNEL_INITRAMFS := $$(KERNEL) | mkwrggimg
+ DAP_SIGNATURE := wapac02_dkbs_dap2695
+ SUPPORTED_DEVICES += dap-2695-a1
+endef
+TARGET_DEVICES += dlink_dap-2695-a1
+
+define Device/dlink_dch-g020-a1
+ SOC := qca9531
+ DEVICE_VENDOR := D-Link
+ DEVICE_MODEL := DCH-G020
+ DEVICE_VARIANT := A1
+ DEVICE_PACKAGES := kmod-gpio-pca953x kmod-i2c-gpio kmod-usb2 kmod-usb-acm
+ IMAGES += factory.bin
+ IMAGE_SIZE := 14784k
+ IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
+ append-rootfs | pad-rootfs | check-size | mkdapimg2 0x20000
+ DAP_SIGNATURE := HONEYBEE-FIRMWARE-DCH-G020
+endef
+TARGET_DEVICES += dlink_dch-g020-a1
+
define Device/dlink_dir-505
SOC := ar9330
DEVICE_VENDOR := D-Link
endef
TARGET_DEVICES += engenius_ews511ap
+define Device/enterasys_ws-ap3705i
+ SOC := ar9344
+ DEVICE_VENDOR := Enterasys
+ DEVICE_MODEL := WS-AP3705i
+ IMAGE_SIZE := 30528k
+endef
+TARGET_DEVICES += enterasys_ws-ap3705i
+
define Device/etactica_eg200
SOC := ar9331
DEVICE_VENDOR := eTactica
endef
TARGET_DEVICES += glinet_gl-ar750
+define Device/glinet_gl-mifi
+ SOC := ar9331
+ DEVICE_VENDOR := GL.iNET
+ DEVICE_MODEL := GL-MiFi
+ DEVICE_PACKAGES := kmod-usb-chipidea2
+ IMAGE_SIZE := 16000k
+ SUPPORTED_DEVICES += gl-mifi
+endef
+TARGET_DEVICES += glinet_gl-mifi
+
define Device/glinet_gl-x750
SOC := qca9531
DEVICE_VENDOR := GL.iNet
IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
append-rootfs | pad-rootfs | check-size | \
xor-image -p 6A57190601121E4C004C1E1201061957 -x | nec-fw LASER_ATERM
- DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9887-ct-htt
+ DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9887-ct-full-htt
endef
TARGET_DEVICES += nec_wg800hp
endef
TARGET_DEVICES += netgear_wndr3800ch
+define Device/netgear_wndrmac-v1
+ $(Device/netgear_wndr3x00)
+ DEVICE_MODEL := WNDRMAC
+ DEVICE_VARIANT := v1
+ NETGEAR_KERNEL_MAGIC := 0x33373031
+ NETGEAR_BOARD_ID := WNDRMAC
+ NETGEAR_HW_ID := 29763654+16+64
+ IMAGE_SIZE := 15872k
+ SUPPORTED_DEVICES += wndr3700
+endef
+TARGET_DEVICES += netgear_wndrmac-v1
+
+define Device/netgear_wndrmac-v2
+ $(Device/netgear_wndr3x00)
+ DEVICE_MODEL := WNDRMAC
+ DEVICE_VARIANT := v2
+ NETGEAR_KERNEL_MAGIC := 0x33373031
+ NETGEAR_BOARD_ID := WNDRMACv2
+ NETGEAR_HW_ID := 29763654+16+128
+ IMAGE_SIZE := 15872k
+ SUPPORTED_DEVICES += wndr3700
+endef
+TARGET_DEVICES += netgear_wndrmac-v2
+
define Device/netgear_wnr2200_common
SOC := ar7241
DEVICE_MODEL := WNR2200
endef
TARGET_DEVICES += teltonika_rut955
+define Device/teltonika_rut955-h7v3c0
+ $(Device/teltonika_rut955)
+ DEVICE_VARIANT := H7V3C0
+endef
+TARGET_DEVICES += teltonika_rut955-h7v3c0
+
define Device/trendnet_tew-823dru
SOC := qca9558
DEVICE_VENDOR := Trendnet