5 DEVICE_VARS += TPLINK_BOARD_ID TPLINK_HEADER_VERSION TPLINK_HWID TPLINK_HWREV
7 define Build/elecom-wrc-factory
8 $(eval product=$(word 1,$(1)))
9 $(eval version=$(word 2,$(1)))
10 $(STAGING_DIR_HOST)/bin/mkhash md5 $@ >> $@
12 echo -n "ELECOM $(product) v$(version)" | \
13 dd bs=32 count=1 conv=sync; \
19 define Build/iodata-factory
20 $(eval fw_size=$(word 1,$(1)))
21 $(eval fw_type=$(word 2,$(1)))
22 $(eval product=$(word 3,$(1)))
23 $(eval factory_bin=$(word 4,$(1)))
24 if [ -e $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) -a "$$(stat -c%s $@)" -lt "$(fw_size)" ]; then \
25 $(CP) $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) $(factory_bin); \
26 $(STAGING_DIR_HOST)/bin/mksenaofw \
27 -r 0x30a -p $(product) -t $(fw_type) \
28 -e $(factory_bin) -o $(factory_bin).new; \
29 mv $(factory_bin).new $(factory_bin); \
30 $(CP) $(factory_bin) $(BIN_DIR)/; \
32 echo "WARNING: initramfs kernel image too big, cannot generate factory image" >&2; \
36 define Build/ubnt-erx-factory-image
37 if [ -e $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) -a "$$(stat -c%s $@)" -lt "$(KERNEL_SIZE)" ]; then \
38 echo '21001:6' > $(1).compat; \
39 $(TAR) -cf $(1) --transform='s/^.*/compat/' $(1).compat; \
41 $(TAR) -rf $(1) --transform='s/^.*/vmlinux.tmp/' $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE); \
42 mkhash md5 $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) > $(1).md5; \
43 $(TAR) -rf $(1) --transform='s/^.*/vmlinux.tmp.md5/' $(1).md5; \
45 echo "dummy" > $(1).rootfs; \
46 $(TAR) -rf $(1) --transform='s/^.*/squashfs.tmp/' $(1).rootfs; \
48 mkhash md5 $(1).rootfs > $(1).md5; \
49 $(TAR) -rf $(1) --transform='s/^.*/squashfs.tmp.md5/' $(1).md5; \
51 echo '$(BOARD) $(VERSION_CODE) $(VERSION_NUMBER)' > $(1).version; \
52 $(TAR) -rf $(1) --transform='s/^.*/version.tmp/' $(1).version; \
54 $(CP) $(1) $(BIN_DIR)/; \
56 echo "WARNING: initramfs kernel image too big, cannot generate factory image" >&2; \
62 IMAGE_SIZE := $(ralink_default_fw_size_16M)
63 DEVICE_TITLE := WeVO 11AC NAS Router
64 DEVICE_PACKAGES := kmod-mt7603 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
66 TARGET_DEVICES += 11acnas
68 define Device/dir-860l-b1
72 KERNEL := kernel-bin | patch-dtb | relocate-kernel | lzma | uImage lzma
73 IMAGE_SIZE := $(ralink_default_fw_size_16M)
74 IMAGE/sysupgrade.bin := \
75 append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs | \
76 seama -m "dev=/dev/mtdblock/2" -m "type=firmware" | \
77 pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
78 IMAGE/factory.bin := \
79 append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | \
80 append-rootfs | pad-rootfs -x 64 | \
81 seama -m "dev=/dev/mtdblock/2" -m "type=firmware" | \
82 seama-seal -m "signature=wrgac13_dlink.2013gui_dir860lb" | \
83 check-size $$$$(IMAGE_SIZE)
84 DEVICE_TITLE := D-Link DIR-860L B1
85 DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
87 TARGET_DEVICES += dir-860l-b1
89 define Device/mediatek_ap-mt7621a-v60
91 IMAGE_SIZE := $(ralink_default_fw_size_8M)
92 DEVICE_TITLE := Mediatek AP-MT7621A-V60 EVB
93 DEVICE_PACKAGES := kmod-usb3 kmod-sdhci-mt7620 kmod-sound-mt7620
95 TARGET_DEVICES += mediatek_ap-mt7621a-v60
97 define Device/elecom_wrc-1167ghbk2-s
98 DTS := WRC-1167GHBK2-S
100 DEVICE_TITLE := ELECOM WRC-1167GHBK2-S
101 IMAGES += factory.bin
102 IMAGE/factory.bin := $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) |\
103 elecom-wrc-factory WRC-1167GHBK2-S 0.00
105 TARGET_DEVICES += elecom_wrc-1167ghbk2-s
109 IMAGE_SIZE := $(ralink_default_fw_size_16M)
110 DEVICE_TITLE := AFOUNDRY EW1200
112 kmod-ata-core kmod-ata-ahci kmod-mt76x2 kmod-mt7603 kmod-usb3 \
113 kmod-usb-ledtrig-usbport wpad-mini
115 TARGET_DEVICES += ew1200
117 define Device/firewrt
119 IMAGE_SIZE := $(ralink_default_fw_size_16M)
120 DEVICE_TITLE := Firefly FireWRT
121 DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
123 TARGET_DEVICES += firewrt
125 define Device/gnubee_gb-pc1
127 DEVICE_TITLE := GnuBee Personal Cloud One
128 DEVICE_PACKAGES := kmod-ata-core kmod-ata-ahci kmod-usb3 kmod-sdhci-mt7620
129 IMAGE_SIZE := $(ralink_default_fw_size_32M)
131 TARGET_DEVICES += gnubee_gb-pc1
133 define Device/gnubee_gb-pc2
135 DEVICE_TITLE := GnuBee Personal Cloud Two
136 DEVICE_PACKAGES := kmod-ata-core kmod-ata-ahci kmod-usb3 kmod-sdhci-mt7620
137 IMAGE_SIZE := $(ralink_default_fw_size_32M)
139 TARGET_DEVICES += gnubee_gb-pc2
145 KERNEL_SIZE := 2097152
147 IMAGE_SIZE := $(ralink_default_fw_size_32M)
148 IMAGES += factory.bin
149 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
150 IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | check-size $$$$(IMAGE_SIZE)
151 DEVICE_TITLE := HiWiFi HC5962
152 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 wpad-mini
154 TARGET_DEVICES += hc5962
156 define Device/iodata_wn-ax1167gr
159 KERNEL_INITRAMFS := $$(KERNEL) | \
160 iodata-factory 7864320 4 0x1055 $(KDIR)/tmp/$$(KERNEL_INITRAMFS_PREFIX)-factory.bin
161 DEVICE_TITLE := I-O DATA WN-AX1167GR
162 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 wpad-mini
164 TARGET_DEVICES += iodata_wn-ax1167gr
166 define Device/iodata_wn-gx300gr
168 IMAGE_SIZE := 7798784
169 DEVICE_TITLE := I-O DATA WN-GX300GR
170 DEVICE_PACKAGES := kmod-mt7603 wpad-mini
172 TARGET_DEVICES += iodata_wn-gx300gr
176 IMAGE_SIZE := $(ralink_default_fw_size_16M)
177 DEVICE_TITLE := Phicomm K2P
179 TARGET_DEVICES += k2p
186 KERNEL := $(KERNEL_DTB) | uImage lzma
189 IMAGES := sysupgrade.tar kernel1.bin rootfs0.bin
190 IMAGE/kernel1.bin := append-kernel
191 IMAGE/rootfs0.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
192 IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata
193 DEVICE_TITLE := Xiaomi Mi Router 3G
194 SUPPORTED_DEVICES += R3G
196 kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini \
199 TARGET_DEVICES += mir3g
204 IMAGE_SIZE := $(ralink_default_fw_size_4M)
205 DEVICE_TITLE := MediaTek MT7621 EVB
207 TARGET_DEVICES += mt7621
209 define Device/newifi-d1
211 IMAGE_SIZE := $(ralink_default_fw_size_32M)
212 DEVICE_TITLE := Newifi D1
214 kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
216 TARGET_DEVICES += newifi-d1
218 define Device/d-team_newifi-d2
220 IMAGE_SIZE := $(ralink_default_fw_size_32M)
221 DEVICE_TITLE := Newifi D2
223 kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
225 TARGET_DEVICES += d-team_newifi-d2
229 IMAGE_SIZE := $(ralink_default_fw_size_16M)
230 DEVICE_TITLE := PBR-M1
232 kmod-ata-core kmod-ata-ahci kmod-mt7603 kmod-mt76x2 kmod-sdhci-mt7620 \
233 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
235 TARGET_DEVICES += pbr-m1
242 KERNEL := $(KERNEL_DTB) | uImage lzma
245 IMAGES := sysupgrade.tar kernel.bin rootfs.bin
246 IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata
247 IMAGE/kernel.bin := append-kernel
248 IMAGE/rootfs.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
249 DEVICE_TITLE := Netgear R6220
251 kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
253 TARGET_DEVICES += r6220
255 define Device/rb750gr3
257 IMAGE_SIZE := $(ralink_default_fw_size_16M)
258 DEVICE_TITLE := MikroTik RB750Gr3
259 DEVICE_PACKAGES := kmod-usb3 uboot-envtools
261 TARGET_DEVICES += rb750gr3
263 define Device/MikroTik
266 DEVICE_PACKAGES := kmod-usb3
269 KERNEL := kernel-bin | patch-dtb | lzma | loader-kernel
270 IMAGE/sysupgrade.bin := append-kernel | kernel2minor -s 1024 | pad-to $$$$(BLOCKSIZE) | \
271 append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
274 define Device/mikrotik_rbm33g
277 DEVICE_TITLE := MikroTik RouterBOARD M33G
279 TARGET_DEVICES += mikrotik_rbm33g
281 define Device/mikrotik_rbm11g
284 DEVICE_TITLE := MikroTik RouterBOARD M11G
286 TARGET_DEVICES += mikrotik_rbm11g
288 define Device/re350-v1
290 DEVICE_TITLE := TP-LINK RE350 v1
291 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 wpad-mini
292 TPLINK_BOARD_ID := RE350-V1
295 TPLINK_HEADER_VERSION := 1
297 KERNEL := $(KERNEL_DTB) | tplink-v1-header -e -O
298 IMAGES := sysupgrade.bin factory.bin
299 IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | append-metadata | check-size $$$$(IMAGE_SIZE)
300 IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
302 TARGET_DEVICES += re350-v1
306 DEVICE_TITLE := Linksys RE6500
307 DEVICE_PACKAGES := kmod-mt76x2 wpad-mini
309 TARGET_DEVICES += re6500
311 define Device/sap-g3200u3
313 DEVICE_TITLE := STORYLiNK SAP-G3200U3
314 DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
316 TARGET_DEVICES += sap-g3200u3
320 IMAGE_SIZE := $(ralink_default_fw_size_16M)
321 DEVICE_TITLE := SamKnows Whitebox 8
323 kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport \
324 uboot-envtools wpad-mini
326 TARGET_DEVICES += sk-wb8
328 define Device/timecloud
330 DEVICE_TITLE := Thunder Timecloud
331 DEVICE_PACKAGES := kmod-usb3
333 TARGET_DEVICES += timecloud
335 define Device/u7621-06-256M-16M
336 DTS := U7621-06-256M-16M
338 DEVICE_TITLE := UniElec U7621-06 (256M RAM/16M flash)
339 DEVICE_PACKAGES := kmod-ata-core kmod-ata-ahci kmod-sdhci-mt7620 kmod-usb3
341 TARGET_DEVICES += u7621-06-256M-16M
343 define Device/ubnt-erx
345 FILESYSTEMS := squashfs
346 KERNEL_SIZE := 3145728
347 KERNEL := $(KERNEL_DTB) | uImage lzma
348 IMAGES := sysupgrade.tar
349 KERNEL_INITRAMFS := $$(KERNEL) | ubnt-erx-factory-image $(KDIR)/tmp/$$(KERNEL_INITRAMFS_PREFIX)-factory.tar
350 IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata
351 DEVICE_TITLE := Ubiquiti EdgeRouter X
353 TARGET_DEVICES += ubnt-erx
355 define Device/ubnt-erx-sfp
358 DEVICE_TITLE := Ubiquiti EdgeRouter X-SFP
359 DEVICE_PACKAGES += kmod-i2c-algo-pca kmod-gpio-pca953x kmod-i2c-gpio-custom
361 TARGET_DEVICES += ubnt-erx-sfp
365 IMAGE_SIZE := 66453504
366 DEVICE_TITLE := Planex VR500
367 DEVICE_PACKAGES := kmod-usb3
369 TARGET_DEVICES += vr500
371 define Device/w2914nsv2
373 IMAGE_SIZE := $(ralink_default_fw_size_16M)
374 DEVICE_TITLE := WeVO W2914NS v2
376 kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
378 TARGET_DEVICES += w2914nsv2
380 define Device/wf-2881
384 FILESYSTEMS := squashfs
385 IMAGE_SIZE := 129280k
386 KERNEL := $(KERNEL_DTB) | pad-offset $$(BLOCKSIZE) 64 | uImage lzma
388 IMAGE/sysupgrade.bin := append-kernel | append-ubi | append-metadata | check-size $$$$(IMAGE_SIZE)
389 DEVICE_TITLE := NETIS WF-2881
390 DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
392 TARGET_DEVICES += wf-2881
394 define Device/mqmaker_witi-256m
396 IMAGE_SIZE := $(ralink_default_fw_size_16M)
397 DEVICE_TITLE := MQmaker WiTi (256MB RAM)
399 kmod-ata-core kmod-ata-ahci kmod-mt76x2 kmod-sdhci-mt7620 kmod-usb3 \
400 kmod-usb-ledtrig-usbport wpad-mini
401 SUPPORTED_DEVICES += witi
403 TARGET_DEVICES += mqmaker_witi-256m
405 define Device/mqmaker_witi-512m
407 IMAGE_SIZE := $(ralink_default_fw_size_16M)
408 DEVICE_TITLE := MQmaker WiTi (512MB RAM)
410 kmod-ata-core kmod-ata-ahci kmod-mt76x2 kmod-sdhci-mt7620 kmod-usb3 \
411 kmod-usb-ledtrig-usbport wpad-mini
413 TARGET_DEVICES += mqmaker_witi-512m
415 define Device/wndr3700v5
417 IMAGE_SIZE := $(ralink_default_fw_size_16M)
418 DEVICE_TITLE := Netgear WNDR3700v5
419 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 wpad-mini
421 TARGET_DEVICES += wndr3700v5
423 define Device/youhua_wr1200js
426 DEVICE_TITLE := YouHua WR1200JS
428 kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
430 TARGET_DEVICES += youhua_wr1200js
432 define Device/wsr-1166
434 IMAGE/sysupgrade.bin := trx | pad-rootfs | append-metadata
435 IMAGE_SIZE := $(ralink_default_fw_size_16M)
436 DEVICE_TITLE := Buffalo WSR-1166
437 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 wpad-mini
439 TARGET_DEVICES += wsr-1166
441 define Device/wsr-600
443 IMAGE_SIZE := $(ralink_default_fw_size_16M)
444 DEVICE_TITLE := Buffalo WSR-600
445 DEVICE_PACKAGES := kmod-mt7603 kmod-rt2800-pci wpad-mini
447 TARGET_DEVICES += wsr-600
449 define Device/zbt-we1326
451 IMAGE_SIZE := $(ralink_default_fw_size_16M)
452 DEVICE_TITLE := ZBT WE1326
454 kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-sdhci-mt7620 wpad-mini
456 TARGET_DEVICES += zbt-we1326
458 define Device/zbtlink_zbt-we3526
460 IMAGE_SIZE := $(ralink_default_fw_size_16M)
461 DEVICE_TITLE := ZBT WE3526
463 kmod-sdhci-mt7620 kmod-mt7603 kmod-mt76x2 \
464 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
466 TARGET_DEVICES += zbtlink_zbt-we3526
468 define Device/zbt-wg2626
470 IMAGE_SIZE := $(ralink_default_fw_size_16M)
471 DEVICE_TITLE := ZBT WG2626
473 kmod-ata-core kmod-ata-ahci kmod-sdhci-mt7620 kmod-mt76x2 kmod-usb3 \
474 kmod-usb-ledtrig-usbport wpad-mini
476 TARGET_DEVICES += zbt-wg2626
478 define Device/zbt-wg3526-16M
479 DTS := ZBT-WG3526-16M
480 IMAGE_SIZE := $(ralink_default_fw_size_16M)
481 SUPPORTED_DEVICES += zbt-wg3526
482 DEVICE_TITLE := ZBT WG3526 (16MB flash)
484 kmod-ata-core kmod-ata-ahci kmod-sdhci-mt7620 kmod-mt7603 kmod-mt76x2 \
485 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
487 TARGET_DEVICES += zbt-wg3526-16M
489 define Device/zbt-wg3526-32M
490 DTS := ZBT-WG3526-32M
491 IMAGE_SIZE := $(ralink_default_fw_size_32M)
492 SUPPORTED_DEVICES += ac1200pro
493 DEVICE_TITLE := ZBT WG3526 (32MB flash)
495 kmod-ata-core kmod-ata-ahci kmod-sdhci-mt7620 kmod-mt7603 kmod-mt76x2 \
496 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
498 TARGET_DEVICES += zbt-wg3526-32M
500 # FIXME: is this still needed?
502 #define Build/Compile
503 rm -rf $(KDIR)/relocate
504 $(CP) ../../generic/image/relocate $(KDIR)
505 $(MAKE) -C $(KDIR)/relocate KERNEL_ADDR=$(KERNEL_LOADADDR) CROSS_COMPILE=$(TARGET_CROSS)
506 $(CP) $(KDIR)/relocate/loader.bin $(KDIR)/loader.bin