5 DEVICE_VARS += TPLINK_BOARD_ID TPLINK_HEADER_VERSION TPLINK_HWID TPLINK_HWREV
7 define Build/elecom-gst-factory
8 $(eval product=$(word 1,$(1)))
9 $(eval version=$(word 2,$(1)))
10 ( $(STAGING_DIR_HOST)/bin/mkhash md5 $@ | tr -d '\n' ) >> $@
12 echo -n "ELECOM $(product) v$(version)" | \
13 dd bs=32 count=1 conv=sync; \
17 echo -n "MT7621_ELECOM_$(product)" >> $@
20 define Build/elecom-wrc-factory
21 $(eval product=$(word 1,$(1)))
22 $(eval version=$(word 2,$(1)))
23 $(STAGING_DIR_HOST)/bin/mkhash md5 $@ >> $@
25 echo -n "ELECOM $(product) v$(version)" | \
26 dd bs=32 count=1 conv=sync; \
32 define Build/iodata-factory
33 $(eval fw_size=$(word 1,$(1)))
34 $(eval fw_type=$(word 2,$(1)))
35 $(eval product=$(word 3,$(1)))
36 $(eval factory_bin=$(word 4,$(1)))
37 if [ -e $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) -a "$$(stat -c%s $@)" -lt "$(fw_size)" ]; then \
38 $(CP) $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) $(factory_bin); \
39 $(STAGING_DIR_HOST)/bin/mksenaofw \
40 -r 0x30a -p $(product) -t $(fw_type) \
41 -e $(factory_bin) -o $(factory_bin).new; \
42 mv $(factory_bin).new $(factory_bin); \
43 $(CP) $(factory_bin) $(BIN_DIR)/; \
45 echo "WARNING: initramfs kernel image too big, cannot generate factory image" >&2; \
49 define Build/ubnt-erx-factory-image
50 if [ -e $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) -a "$$(stat -c%s $@)" -lt "$(KERNEL_SIZE)" ]; then \
51 echo '21001:6' > $(1).compat; \
52 $(TAR) -cf $(1) --transform='s/^.*/compat/' $(1).compat; \
54 $(TAR) -rf $(1) --transform='s/^.*/vmlinux.tmp/' $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE); \
55 mkhash md5 $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) > $(1).md5; \
56 $(TAR) -rf $(1) --transform='s/^.*/vmlinux.tmp.md5/' $(1).md5; \
58 echo "dummy" > $(1).rootfs; \
59 $(TAR) -rf $(1) --transform='s/^.*/squashfs.tmp/' $(1).rootfs; \
61 mkhash md5 $(1).rootfs > $(1).md5; \
62 $(TAR) -rf $(1) --transform='s/^.*/squashfs.tmp.md5/' $(1).md5; \
64 echo '$(BOARD) $(VERSION_CODE) $(VERSION_NUMBER)' > $(1).version; \
65 $(TAR) -rf $(1) --transform='s/^.*/version.tmp/' $(1).version; \
67 $(CP) $(1) $(BIN_DIR)/; \
69 echo "WARNING: initramfs kernel image too big, cannot generate factory image" >&2; \
75 IMAGE_SIZE := $(ralink_default_fw_size_16M)
76 DEVICE_TITLE := WeVO 11AC NAS Router
77 DEVICE_PACKAGES := kmod-mt7603 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
79 TARGET_DEVICES += 11acnas
81 define Device/dir-860l-b1
85 KERNEL := kernel-bin | patch-dtb | relocate-kernel | lzma | uImage lzma
86 IMAGE_SIZE := $(ralink_default_fw_size_16M)
87 IMAGE/sysupgrade.bin := \
88 append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs | \
89 seama -m "dev=/dev/mtdblock/2" -m "type=firmware" | \
90 pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
91 IMAGE/factory.bin := \
92 append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | \
93 append-rootfs | pad-rootfs -x 64 | \
94 seama -m "dev=/dev/mtdblock/2" -m "type=firmware" | \
95 seama-seal -m "signature=wrgac13_dlink.2013gui_dir860lb" | \
96 check-size $$$$(IMAGE_SIZE)
97 DEVICE_TITLE := D-Link DIR-860L B1
98 DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
100 TARGET_DEVICES += dir-860l-b1
102 define Device/mediatek_ap-mt7621a-v60
103 DTS := AP-MT7621A-V60
104 IMAGE_SIZE := $(ralink_default_fw_size_8M)
105 DEVICE_TITLE := Mediatek AP-MT7621A-V60 EVB
106 DEVICE_PACKAGES := kmod-usb3 kmod-sdhci-mt7620 kmod-sound-mt7620
108 TARGET_DEVICES += mediatek_ap-mt7621a-v60
110 define Device/elecom_wrc-1167ghbk2-s
111 DTS := WRC-1167GHBK2-S
113 DEVICE_TITLE := ELECOM WRC-1167GHBK2-S
114 IMAGES += factory.bin
115 IMAGE/factory.bin := $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) |\
116 elecom-wrc-factory WRC-1167GHBK2-S 0.00
118 TARGET_DEVICES += elecom_wrc-1167ghbk2-s
120 define Device/elecom_wrc-2533gst
123 DEVICE_TITLE := ELECOM WRC-2533GST
124 IMAGES += factory.bin
125 IMAGE/factory.bin := $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) |\
126 elecom-gst-factory WRC-2533GST 0.00
128 TARGET_DEVICES += elecom_wrc-2533gst
130 define Device/elecom_wrc-1900gst
133 DEVICE_TITLE := ELECOM WRC-1900GST
134 IMAGES += factory.bin
135 IMAGE/factory.bin := $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) |\
136 elecom-gst-factory WRC-1900GST 0.00
138 TARGET_DEVICES += elecom_wrc-1900gst
142 IMAGE_SIZE := $(ralink_default_fw_size_16M)
143 DEVICE_TITLE := AFOUNDRY EW1200
145 kmod-ata-core kmod-ata-ahci kmod-mt76x2 kmod-mt7603 kmod-usb3 \
146 kmod-usb-ledtrig-usbport wpad-mini
148 TARGET_DEVICES += ew1200
150 define Device/firewrt
152 IMAGE_SIZE := $(ralink_default_fw_size_16M)
153 DEVICE_TITLE := Firefly FireWRT
154 DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
156 TARGET_DEVICES += firewrt
158 define Device/gnubee_gb-pc1
160 DEVICE_TITLE := GnuBee Personal Cloud One
161 DEVICE_PACKAGES := kmod-ata-core kmod-ata-ahci kmod-usb3 kmod-sdhci-mt7620
162 IMAGE_SIZE := $(ralink_default_fw_size_32M)
164 TARGET_DEVICES += gnubee_gb-pc1
166 define Device/gnubee_gb-pc2
168 DEVICE_TITLE := GnuBee Personal Cloud Two
169 DEVICE_PACKAGES := kmod-ata-core kmod-ata-ahci kmod-usb3 kmod-sdhci-mt7620
170 IMAGE_SIZE := $(ralink_default_fw_size_32M)
172 TARGET_DEVICES += gnubee_gb-pc2
178 KERNEL_SIZE := 2097152
180 IMAGE_SIZE := $(ralink_default_fw_size_32M)
181 IMAGES += factory.bin
182 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
183 IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | check-size $$$$(IMAGE_SIZE)
184 DEVICE_TITLE := HiWiFi HC5962
185 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 wpad-mini
187 TARGET_DEVICES += hc5962
189 define Device/iodata_wn-ax1167gr
192 KERNEL_INITRAMFS := $$(KERNEL) | \
193 iodata-factory 7864320 4 0x1055 $(KDIR)/tmp/$$(KERNEL_INITRAMFS_PREFIX)-factory.bin
194 DEVICE_TITLE := I-O DATA WN-AX1167GR
195 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 wpad-mini
197 TARGET_DEVICES += iodata_wn-ax1167gr
199 define Device/iodata_wn-gx300gr
201 IMAGE_SIZE := 7798784
202 DEVICE_TITLE := I-O DATA WN-GX300GR
203 DEVICE_PACKAGES := kmod-mt7603 wpad-mini
205 TARGET_DEVICES += iodata_wn-gx300gr
209 IMAGE_SIZE := $(ralink_default_fw_size_16M)
210 DEVICE_TITLE := Phicomm K2P
212 TARGET_DEVICES += k2p
219 KERNEL := $(KERNEL_DTB) | uImage lzma
222 IMAGES := sysupgrade.tar kernel1.bin rootfs0.bin
223 IMAGE/kernel1.bin := append-kernel
224 IMAGE/rootfs0.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
225 IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata
226 DEVICE_TITLE := Xiaomi Mi Router 3G
227 SUPPORTED_DEVICES += R3G
229 kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini \
232 TARGET_DEVICES += mir3g
237 IMAGE_SIZE := $(ralink_default_fw_size_4M)
238 DEVICE_TITLE := MediaTek MT7621 EVB
240 TARGET_DEVICES += mt7621
242 define Device/newifi-d1
244 IMAGE_SIZE := $(ralink_default_fw_size_32M)
245 DEVICE_TITLE := Newifi D1
247 kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
249 TARGET_DEVICES += newifi-d1
251 define Device/d-team_newifi-d2
253 IMAGE_SIZE := $(ralink_default_fw_size_32M)
254 DEVICE_TITLE := Newifi D2
256 kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
258 TARGET_DEVICES += d-team_newifi-d2
262 IMAGE_SIZE := $(ralink_default_fw_size_16M)
263 DEVICE_TITLE := PBR-M1
265 kmod-ata-core kmod-ata-ahci kmod-mt7603 kmod-mt76x2 kmod-sdhci-mt7620 \
266 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
268 TARGET_DEVICES += pbr-m1
275 KERNEL := $(KERNEL_DTB) | uImage lzma
278 IMAGES := sysupgrade.tar kernel.bin rootfs.bin
279 IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata
280 IMAGE/kernel.bin := append-kernel
281 IMAGE/rootfs.bin := append-ubi | check-size $$$$(IMAGE_SIZE)
282 DEVICE_TITLE := Netgear R6220
284 kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
286 TARGET_DEVICES += r6220
288 define Device/rb750gr3
290 IMAGE_SIZE := $(ralink_default_fw_size_16M)
291 DEVICE_TITLE := MikroTik RB750Gr3
292 DEVICE_PACKAGES := kmod-usb3 uboot-envtools
294 TARGET_DEVICES += rb750gr3
296 define Device/MikroTik
299 DEVICE_PACKAGES := kmod-usb3
302 KERNEL := kernel-bin | patch-dtb | lzma | loader-kernel
303 IMAGE/sysupgrade.bin := append-kernel | kernel2minor -s 1024 | pad-to $$$$(BLOCKSIZE) | \
304 append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
307 define Device/mikrotik_rbm33g
310 DEVICE_TITLE := MikroTik RouterBOARD M33G
312 TARGET_DEVICES += mikrotik_rbm33g
314 define Device/mikrotik_rbm11g
317 DEVICE_TITLE := MikroTik RouterBOARD M11G
319 TARGET_DEVICES += mikrotik_rbm11g
321 define Device/re350-v1
323 DEVICE_TITLE := TP-LINK RE350 v1
324 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 wpad-mini
325 TPLINK_BOARD_ID := RE350-V1
328 TPLINK_HEADER_VERSION := 1
330 KERNEL := $(KERNEL_DTB) | tplink-v1-header -e -O
331 IMAGES := sysupgrade.bin factory.bin
332 IMAGE/sysupgrade.bin := append-rootfs | tplink-safeloader sysupgrade | append-metadata | check-size $$$$(IMAGE_SIZE)
333 IMAGE/factory.bin := append-rootfs | tplink-safeloader factory
335 TARGET_DEVICES += re350-v1
339 DEVICE_TITLE := Linksys RE6500
340 DEVICE_PACKAGES := kmod-mt76x2 wpad-mini
342 TARGET_DEVICES += re6500
344 define Device/sap-g3200u3
346 DEVICE_TITLE := STORYLiNK SAP-G3200U3
347 DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
349 TARGET_DEVICES += sap-g3200u3
353 IMAGE_SIZE := $(ralink_default_fw_size_16M)
354 DEVICE_TITLE := SamKnows Whitebox 8
356 kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport \
357 uboot-envtools wpad-mini
359 TARGET_DEVICES += sk-wb8
361 define Device/timecloud
363 DEVICE_TITLE := Thunder Timecloud
364 DEVICE_PACKAGES := kmod-usb3
366 TARGET_DEVICES += timecloud
368 define Device/u7621-06-256M-16M
369 DTS := U7621-06-256M-16M
371 DEVICE_TITLE := UniElec U7621-06 (256M RAM/16M flash)
372 DEVICE_PACKAGES := kmod-ata-core kmod-ata-ahci kmod-sdhci-mt7620 kmod-usb3
374 TARGET_DEVICES += u7621-06-256M-16M
376 define Device/ubnt-erx
378 FILESYSTEMS := squashfs
379 KERNEL_SIZE := 3145728
380 KERNEL := $(KERNEL_DTB) | uImage lzma
381 IMAGES := sysupgrade.tar
382 KERNEL_INITRAMFS := $$(KERNEL) | ubnt-erx-factory-image $(KDIR)/tmp/$$(KERNEL_INITRAMFS_PREFIX)-factory.tar
383 IMAGE/sysupgrade.tar := sysupgrade-tar | append-metadata
384 DEVICE_TITLE := Ubiquiti EdgeRouter X
386 TARGET_DEVICES += ubnt-erx
388 define Device/ubnt-erx-sfp
391 DEVICE_TITLE := Ubiquiti EdgeRouter X-SFP
392 DEVICE_PACKAGES += kmod-i2c-algo-pca kmod-gpio-pca953x kmod-i2c-gpio-custom
394 TARGET_DEVICES += ubnt-erx-sfp
398 IMAGE_SIZE := 66453504
399 DEVICE_TITLE := Planex VR500
400 DEVICE_PACKAGES := kmod-usb3
402 TARGET_DEVICES += vr500
404 define Device/w2914nsv2
406 IMAGE_SIZE := $(ralink_default_fw_size_16M)
407 DEVICE_TITLE := WeVO W2914NS v2
409 kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
411 TARGET_DEVICES += w2914nsv2
413 define Device/wf-2881
417 FILESYSTEMS := squashfs
418 IMAGE_SIZE := 129280k
419 KERNEL := $(KERNEL_DTB) | pad-offset $$(BLOCKSIZE) 64 | uImage lzma
421 IMAGE/sysupgrade.bin := append-kernel | append-ubi | append-metadata | check-size $$$$(IMAGE_SIZE)
422 DEVICE_TITLE := NETIS WF-2881
423 DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
425 TARGET_DEVICES += wf-2881
427 define Device/mqmaker_witi-256m
429 IMAGE_SIZE := $(ralink_default_fw_size_16M)
430 DEVICE_TITLE := MQmaker WiTi (256MB RAM)
432 kmod-ata-core kmod-ata-ahci kmod-mt76x2 kmod-sdhci-mt7620 kmod-usb3 \
433 kmod-usb-ledtrig-usbport wpad-mini
434 SUPPORTED_DEVICES += witi
436 TARGET_DEVICES += mqmaker_witi-256m
438 define Device/mqmaker_witi-512m
440 IMAGE_SIZE := $(ralink_default_fw_size_16M)
441 DEVICE_TITLE := MQmaker WiTi (512MB RAM)
443 kmod-ata-core kmod-ata-ahci kmod-mt76x2 kmod-sdhci-mt7620 kmod-usb3 \
444 kmod-usb-ledtrig-usbport wpad-mini
446 TARGET_DEVICES += mqmaker_witi-512m
448 define Device/wndr3700v5
450 IMAGE_SIZE := $(ralink_default_fw_size_16M)
451 DEVICE_TITLE := Netgear WNDR3700v5
452 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 wpad-mini
454 TARGET_DEVICES += wndr3700v5
456 define Device/youhua_wr1200js
459 DEVICE_TITLE := YouHua WR1200JS
461 kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
463 TARGET_DEVICES += youhua_wr1200js
465 define Device/wsr-1166
467 IMAGE/sysupgrade.bin := trx | pad-rootfs | append-metadata
468 IMAGE_SIZE := $(ralink_default_fw_size_16M)
469 DEVICE_TITLE := Buffalo WSR-1166
470 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 wpad-mini
472 TARGET_DEVICES += wsr-1166
474 define Device/wsr-600
476 IMAGE_SIZE := $(ralink_default_fw_size_16M)
477 DEVICE_TITLE := Buffalo WSR-600
478 DEVICE_PACKAGES := kmod-mt7603 kmod-rt2800-pci wpad-mini
480 TARGET_DEVICES += wsr-600
482 define Device/zbt-we1326
484 IMAGE_SIZE := $(ralink_default_fw_size_16M)
485 DEVICE_TITLE := ZBT WE1326
487 kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-sdhci-mt7620 wpad-mini
489 TARGET_DEVICES += zbt-we1326
491 define Device/zbtlink_zbt-we3526
493 IMAGE_SIZE := $(ralink_default_fw_size_16M)
494 DEVICE_TITLE := ZBT WE3526
496 kmod-sdhci-mt7620 kmod-mt7603 kmod-mt76x2 \
497 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
499 TARGET_DEVICES += zbtlink_zbt-we3526
501 define Device/zbt-wg2626
503 IMAGE_SIZE := $(ralink_default_fw_size_16M)
504 DEVICE_TITLE := ZBT WG2626
506 kmod-ata-core kmod-ata-ahci kmod-sdhci-mt7620 kmod-mt76x2 kmod-usb3 \
507 kmod-usb-ledtrig-usbport wpad-mini
509 TARGET_DEVICES += zbt-wg2626
511 define Device/zbt-wg3526-16M
512 DTS := ZBT-WG3526-16M
513 IMAGE_SIZE := $(ralink_default_fw_size_16M)
514 SUPPORTED_DEVICES += zbt-wg3526
515 DEVICE_TITLE := ZBT WG3526 (16MB flash)
517 kmod-ata-core kmod-ata-ahci kmod-sdhci-mt7620 kmod-mt7603 kmod-mt76x2 \
518 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
520 TARGET_DEVICES += zbt-wg3526-16M
522 define Device/zbt-wg3526-32M
523 DTS := ZBT-WG3526-32M
524 IMAGE_SIZE := $(ralink_default_fw_size_32M)
525 SUPPORTED_DEVICES += ac1200pro
526 DEVICE_TITLE := ZBT WG3526 (32MB flash)
528 kmod-ata-core kmod-ata-ahci kmod-sdhci-mt7620 kmod-mt7603 kmod-mt76x2 \
529 kmod-usb3 kmod-usb-ledtrig-usbport wpad-mini
531 TARGET_DEVICES += zbt-wg3526-32M
533 # FIXME: is this still needed?
535 #define Build/Compile
536 rm -rf $(KDIR)/relocate
537 $(CP) ../../generic/image/relocate $(KDIR)
538 $(MAKE) -C $(KDIR)/relocate KERNEL_ADDR=$(KERNEL_LOADADDR) CROSS_COMPILE=$(TARGET_CROSS)
539 $(CP) $(KDIR)/relocate/loader.bin $(KDIR)/loader.bin