5 include ./common-tp-link.mk
10 DEVICE_VARS += UIMAGE_MAGIC SERCOMM_HWNAME
12 # The OEM webinterface expects an kernel with initramfs which has the uImage
13 # header field ih_name.
14 # We don't want to set the header name field for the kernel include in the
15 # sysupgrade image as well, as this image shouldn't be accepted by the OEM
16 # webinterface. It will soft-brick the board.
17 define Build/custom-initramfs-uimage
18 mkimage -A $(LINUX_KARCH) \
20 -C lzma -a $(KERNEL_LOADADDR) $(if $(UIMAGE_MAGIC),-M $(UIMAGE_MAGIC),) \
21 -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
22 -n '$(1)' -d $@ $@.new
26 define Build/elecom-gst-factory
27 $(eval product=$(word 1,$(1)))
28 $(eval version=$(word 2,$(1)))
29 ( $(STAGING_DIR_HOST)/bin/mkhash md5 $@ | tr -d '\n' ) >> $@
31 echo -n "ELECOM $(product) v$(version)" | \
32 dd bs=32 count=1 conv=sync; \
36 echo -n "MT7621_ELECOM_$(product)" >> $@
39 define Build/elecom-wrc-factory
40 $(eval product=$(word 1,$(1)))
41 $(eval version=$(word 2,$(1)))
42 $(STAGING_DIR_HOST)/bin/mkhash md5 $@ >> $@
44 echo -n "ELECOM $(product) v$(version)" | \
45 dd bs=32 count=1 conv=sync; \
51 define Build/iodata-factory
52 $(eval fw_size=$(word 1,$(1)))
53 $(eval fw_type=$(word 2,$(1)))
54 $(eval product=$(word 3,$(1)))
55 $(eval factory_bin=$(word 4,$(1)))
56 if [ -e $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) -a "$$(stat -c%s $@)" -lt "$(fw_size)" ]; then \
57 $(CP) $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) $(factory_bin); \
58 $(STAGING_DIR_HOST)/bin/mksenaofw \
59 -r 0x30a -p $(product) -t $(fw_type) \
60 -e $(factory_bin) -o $(factory_bin).new; \
61 mv $(factory_bin).new $(factory_bin); \
62 $(CP) $(factory_bin) $(BIN_DIR)/; \
64 echo "WARNING: initramfs kernel image too big, cannot generate factory image" >&2; \
68 define Build/iodata-mstc-header
70 data_size_crc="$$(dd if=$@ ibs=64 skip=1 2>/dev/null | \
71 gzip -c | tail -c 8 | od -An -tx8 --endian little | tr -d ' \n')"; \
72 echo -ne "$$(echo $$data_size_crc | sed 's/../\\x&/g')" | \
73 dd of=$@ bs=8 count=1 seek=7 conv=notrunc 2>/dev/null; \
75 dd if=/dev/zero of=$@ bs=4 count=1 seek=1 conv=notrunc 2>/dev/null
77 header_crc="$$(dd if=$@ bs=64 count=1 2>/dev/null | \
78 gzip -c | tail -c 8 | od -An -N4 -tx4 --endian little | tr -d ' \n')"; \
79 echo -ne "$$(echo $$header_crc | sed 's/../\\x&/g')" | \
80 dd of=$@ bs=4 count=1 seek=1 conv=notrunc 2>/dev/null; \
84 define Build/netis-tail
86 echo -n $(UIMAGE_NAME)-yun | $(STAGING_DIR_HOST)/bin/mkhash md5 | \
87 sed 's/../\\\\x&/g' | xargs echo -ne >> $@
90 define Build/ubnt-erx-factory-image
91 if [ -e $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) -a "$$(stat -c%s $@)" -lt "$(KERNEL_SIZE)" ]; then \
92 echo '21001:6' > $(1).compat; \
93 $(TAR) -cf $(1) --transform='s/^.*/compat/' $(1).compat; \
95 $(TAR) -rf $(1) --transform='s/^.*/vmlinux.tmp/' $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE); \
96 mkhash md5 $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) > $(1).md5; \
97 $(TAR) -rf $(1) --transform='s/^.*/vmlinux.tmp.md5/' $(1).md5; \
99 echo "dummy" > $(1).rootfs; \
100 $(TAR) -rf $(1) --transform='s/^.*/squashfs.tmp/' $(1).rootfs; \
102 mkhash md5 $(1).rootfs > $(1).md5; \
103 $(TAR) -rf $(1) --transform='s/^.*/squashfs.tmp.md5/' $(1).md5; \
105 echo '$(BOARD) $(VERSION_CODE) $(VERSION_NUMBER)' > $(1).version; \
106 $(TAR) -rf $(1) --transform='s/^.*/version.tmp/' $(1).version; \
108 $(CP) $(1) $(BIN_DIR)/; \
110 echo "WARNING: initramfs kernel image too big, cannot generate factory image" >&2; \
114 define Device/afoundry_ew1200
116 DEVICE_VENDOR := AFOUNDRY
117 DEVICE_MODEL := EW1200
118 DEVICE_PACKAGES := kmod-ata-ahci kmod-mt76x2 kmod-mt7603 kmod-usb3 \
119 kmod-usb-ledtrig-usbport wpad-basic
120 SUPPORTED_DEVICES += ew1200
122 TARGET_DEVICES += afoundry_ew1200
124 define Device/alfa-network_quad-e4g
126 DEVICE_VENDOR := ALFA Network
127 DEVICE_MODEL := Quad-E4G
128 DEVICE_PACKAGES := kmod-ata-ahci kmod-sdhci-mt7620 kmod-usb3 uboot-envtools
130 TARGET_DEVICES += alfa-network_quad-e4g
132 define Device/asiarf_ap7621-001
134 DEVICE_VENDOR := AsiaRF
135 DEVICE_MODEL := AP7621-001
136 DEVICE_PACKAGES := kmod-sdhci-mt7620 kmod-mt76x2 kmod-usb3
138 TARGET_DEVICES += asiarf_ap7621-001
140 define Device/asiarf_ap7621-nv1
142 DEVICE_VENDOR := AsiaRF
143 DEVICE_MODEL := AP7621-NV1
144 DEVICE_PACKAGES := kmod-sdhci-mt7620 kmod-mt76x2 kmod-usb3
146 TARGET_DEVICES += asiarf_ap7621-nv1
148 define Device/asus_rt-ac57u
149 DEVICE_VENDOR := ASUS
150 DEVICE_MODEL := RT-AC57U
152 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
153 kmod-usb-ledtrig-usbport wpad-basic
155 TARGET_DEVICES += asus_rt-ac57u
157 define Device/asus_rt-ac65p
158 DEVICE_VENDOR := ASUS
159 DEVICE_MODEL := RT-AC65P
165 IMAGES += factory.bin
166 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
167 IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
169 DEVICE_PACKAGES := kmod-usb3 kmod-mt7615e wpad-basic uboot-envtools
171 TARGET_DEVICES += asus_rt-ac65p
173 define Device/asus_rt-ac85p
174 DEVICE_VENDOR := ASUS
175 DEVICE_MODEL := RT-AC85P
181 IMAGES += factory.bin
182 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
183 IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
185 DEVICE_PACKAGES := kmod-usb3 kmod-mt7615e wpad-basic uboot-envtools
187 TARGET_DEVICES += asus_rt-ac85p
189 define Device/buffalo_wsr-1166dhp
190 IMAGE/sysupgrade.bin := trx | pad-rootfs | append-metadata
192 DEVICE_VENDOR := Buffalo
193 DEVICE_MODEL := WSR-1166DHP
194 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 wpad-basic
195 SUPPORTED_DEVICES += wsr-1166
197 TARGET_DEVICES += buffalo_wsr-1166dhp
199 define Device/buffalo_wsr-2533dhpl
201 DEVICE_VENDOR := Buffalo
202 DEVICE_MODEL := WSR-2533DHPL
203 IMAGE/sysupgrade.bin := trx | pad-rootfs | append-metadata
204 DEVICE_PACKAGES := kmod-mt7615e wpad-basic
206 TARGET_DEVICES += buffalo_wsr-2533dhpl
208 define Device/buffalo_wsr-600dhp
210 DEVICE_VENDOR := Buffalo
211 DEVICE_MODEL := WSR-600DHP
212 DEVICE_PACKAGES := kmod-mt7603 kmod-rt2800-pci wpad-basic
213 SUPPORTED_DEVICES += wsr-600
215 TARGET_DEVICES += buffalo_wsr-600dhp
217 define Device/dlink_dir-860l-b1
220 SEAMA_SIGNATURE := wrgac13_dlink.2013gui_dir860lb
221 KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma | uImage lzma
223 DEVICE_VENDOR := D-Link
224 DEVICE_MODEL := DIR-860L
226 DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
227 SUPPORTED_DEVICES += dir-860l-b1
229 TARGET_DEVICES += dlink_dir-860l-b1
231 define Device/d-team_newifi-d2
233 DEVICE_VENDOR := Newifi
235 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
236 kmod-usb-ledtrig-usbport wpad-basic
238 TARGET_DEVICES += d-team_newifi-d2
240 define Device/d-team_pbr-m1
242 DEVICE_VENDOR := PandoraBox
243 DEVICE_MODEL := PBR-M1
244 DEVICE_PACKAGES := kmod-ata-ahci kmod-mt7603 kmod-mt76x2 kmod-sdhci-mt7620 \
245 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
246 SUPPORTED_DEVICES += pbr-m1
248 TARGET_DEVICES += d-team_pbr-m1
250 define Device/edimax_ra21s
252 DEVICE_VENDOR := Edimax
253 DEVICE_MODEL := RA21S
254 DEVICE_ALT0_VENDOR := Edimax
255 DEVICE_ALT0_MODEL := Gemini RA21S
256 IMAGES += factory.bin
257 IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | \
258 elx-header 02020040 8844A2D168B45A2D
259 DEVICE_PACKAGES := kmod-mt7615e wpad-basic
261 TARGET_DEVICES += edimax_ra21s
263 define Device/edimax_rg21s
265 DEVICE_VENDOR := Edimax
266 DEVICE_MODEL := Gemini AC2600 RG21S
267 IMAGES += factory.bin
268 IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | \
269 elx-header 02020038 8844A2D168B45A2D
270 DEVICE_PACKAGES := kmod-mt7615e wpad-basic
272 TARGET_DEVICES += edimax_rg21s
274 define Device/elecom_wrc-1167ghbk2-s
276 DEVICE_VENDOR := ELECOM
277 DEVICE_MODEL := WRC-1167GHBK2-S
278 IMAGES += factory.bin
279 IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | \
280 elecom-wrc-factory WRC-1167GHBK2-S 0.00
281 DEVICE_PACKAGES := kmod-mt7615e wpad-basic
283 TARGET_DEVICES += elecom_wrc-1167ghbk2-s
285 define Device/elecom_wrc-1900gst
287 DEVICE_VENDOR := ELECOM
288 DEVICE_MODEL := WRC-1900GST
289 IMAGES += factory.bin
290 IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | \
291 elecom-gst-factory WRC-1900GST 0.00
293 TARGET_DEVICES += elecom_wrc-1900gst
295 define Device/elecom_wrc-2533gst
297 DEVICE_VENDOR := ELECOM
298 DEVICE_MODEL := WRC-2533GST
299 IMAGES += factory.bin
300 IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | \
301 elecom-gst-factory WRC-2533GST 0.00
303 TARGET_DEVICES += elecom_wrc-2533gst
305 define Device/firefly_firewrt
307 DEVICE_VENDOR := Firefly
308 DEVICE_MODEL := FireWRT
309 DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
310 SUPPORTED_DEVICES += firewrt
312 TARGET_DEVICES += firefly_firewrt
314 define Device/gehua_ghl-r-001
316 DEVICE_VENDOR := GeHua
317 DEVICE_MODEL := GHL-R-001
318 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
319 kmod-usb-ledtrig-usbport wpad-basic
321 TARGET_DEVICES += gehua_ghl-r-001
323 define Device/gnubee_gb-pc1
324 DEVICE_VENDOR := GnuBee
325 DEVICE_MODEL := Personal Cloud One
326 DEVICE_PACKAGES := kmod-ata-ahci kmod-usb3 kmod-sdhci-mt7620
329 TARGET_DEVICES += gnubee_gb-pc1
331 define Device/gnubee_gb-pc2
332 DEVICE_VENDOR := GnuBee
333 DEVICE_MODEL := Personal Cloud Two
334 DEVICE_PACKAGES := kmod-ata-ahci kmod-usb3 kmod-sdhci-mt7620
337 TARGET_DEVICES += gnubee_gb-pc2
339 define Device/hiwifi_hc5962
342 KERNEL_SIZE := 2097152
345 IMAGES += factory.bin
346 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
347 IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
349 DEVICE_VENDOR := HiWiFi
350 DEVICE_MODEL := HC5962
351 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 wpad-basic
352 SUPPORTED_DEVICES += hc5962
353 # Kernel partition too small
356 TARGET_DEVICES += hiwifi_hc5962
358 define Device/iodata_wn-ax1167gr
360 KERNEL_INITRAMFS := $$(KERNEL) | \
361 iodata-factory 7864320 4 0x1055 $(KDIR)/tmp/$$(KERNEL_INITRAMFS_PREFIX)-factory.bin
362 DEVICE_VENDOR := I-O DATA
363 DEVICE_MODEL := WN-AX1167GR
364 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 wpad-basic
366 TARGET_DEVICES += iodata_wn-ax1167gr
368 define Device/iodata_wn-ax1167gr2
372 UIMAGE_MAGIC := 0x434f4d42
375 DEVICE_VENDOR := I-O DATA
376 DEVICE_MODEL := WN-AX1167GR2
377 KERNEL_INITRAMFS := $(KERNEL_DTB) | custom-initramfs-uimage 3.10(XBC.1)b10 | \
379 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
380 DEVICE_PACKAGES := kmod-mt7615e wpad-basic
382 TARGET_DEVICES += iodata_wn-ax1167gr2
384 define Device/iodata_wn-ax2033gr
388 UIMAGE_MAGIC := 0x434f4d42
391 DEVICE_VENDOR := I-O DATA
392 DEVICE_MODEL := WN-AX2033GR
393 KERNEL_INITRAMFS := $(KERNEL_DTB) | custom-initramfs-uimage 3.10(VST.1)C10 | \
395 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
396 DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e wpad-basic
398 TARGET_DEVICES += iodata_wn-ax2033gr
400 define Device/iodata_wn-dx1167r
404 UIMAGE_MAGIC := 0x434f4d43
407 DEVICE_VENDOR := I-O DATA
408 DEVICE_MODEL := WN-DX1167R
409 KERNEL_INITRAMFS := $(KERNEL_DTB) | custom-initramfs-uimage 3.10(XIK.1)b10 | \
411 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
412 DEVICE_PACKAGES := kmod-mt7615e wpad-basic
414 TARGET_DEVICES += iodata_wn-dx1167r
416 define Device/iodata_wn-gx300gr
418 DEVICE_VENDOR := I-O DATA
419 DEVICE_MODEL := WN-GX300GR
420 DEVICE_PACKAGES := kmod-mt7603 wpad-basic
422 TARGET_DEVICES += iodata_wn-gx300gr
424 define Device/iodata_wnpr2600g
425 DEVICE_VENDOR := I-O DATA
426 DEVICE_MODEL := WNPR2600G
428 IMAGES += factory.bin
429 IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | \
430 elx-header 0104003a 8844A2D168B45A2D
431 DEVICE_PACKAGES := kmod-mt7615e wpad-basic
433 TARGET_DEVICES += iodata_wnpr2600g
435 define Device/iptime_a6ns-m
438 DEVICE_VENDOR := ipTIME
439 DEVICE_MODEL := A6ns-M
440 DEVICE_PACKAGES := kmod-mt7615e kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
442 TARGET_DEVICES += iptime_a6ns-m
444 define Device/iptime_a8004t
446 UIMAGE_NAME := a8004t
447 DEVICE_VENDOR := ipTIME
448 DEVICE_MODEL := A8004T
449 DEVICE_PACKAGES := kmod-mt7615e kmod-usb3 wpad-basic
451 TARGET_DEVICES += iptime_a8004t
453 define Device/jcg_jhr-ac876m
455 IMAGES += factory.bin
456 IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | \
458 JCG_MAXSIZE := 16064k
460 DEVICE_MODEL := JHR-AC876M
461 DEVICE_PACKAGES := kmod-mt7615e kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
463 TARGET_DEVICES += jcg_jhr-ac876m
465 define Device/lenovo_newifi-d1
467 DEVICE_VENDOR := Newifi
469 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-sdhci-mt7620 \
470 kmod-usb-ledtrig-usbport wpad-basic
471 SUPPORTED_DEVICES += newifi-d1
473 TARGET_DEVICES += lenovo_newifi-d1
475 define Device/linksys_re6500
477 DEVICE_VENDOR := Linksys
478 DEVICE_MODEL := RE6500
479 DEVICE_PACKAGES := kmod-mt76x2 wpad-basic
480 SUPPORTED_DEVICES += re6500
482 TARGET_DEVICES += linksys_re6500
484 define Device/mediatek_ap-mt7621a-v60
486 DEVICE_VENDOR := Mediatek
487 DEVICE_MODEL := AP-MT7621A-V60 EVB
488 DEVICE_PACKAGES := kmod-usb3 kmod-sdhci-mt7620 kmod-sound-mt7620
490 TARGET_DEVICES += mediatek_ap-mt7621a-v60
492 define Device/mediatek_mt7621-eval-board
495 DEVICE_VENDOR := MediaTek
496 DEVICE_MODEL := MT7621 EVB
497 SUPPORTED_DEVICES += mt7621
499 TARGET_DEVICES += mediatek_mt7621-eval-board
501 define Device/MikroTik
502 DEVICE_VENDOR := MikroTik
505 DEVICE_PACKAGES := kmod-usb3
508 KERNEL := $(KERNEL_DTB) | loader-kernel
509 IMAGE/sysupgrade.bin := append-kernel | kernel2minor -s 1024 | \
510 pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | append-metadata | \
514 define Device/mikrotik_routerboard-750gr3
516 DEVICE_MODEL := RouterBOARD 750Gr3
517 DEVICE_PACKAGES += kmod-gpio-beeper
518 SUPPORTED_DEVICES += mikrotik,rb750gr3
520 TARGET_DEVICES += mikrotik_routerboard-750gr3
522 define Device/mikrotik_routerboard-m11g
524 DEVICE_MODEL := RouterBOARD M11G
525 SUPPORTED_DEVICES += mikrotik,rbm11g
527 TARGET_DEVICES += mikrotik_routerboard-m11g
529 define Device/mikrotik_routerboard-m33g
531 DEVICE_MODEL := RouterBOARD M33G
532 SUPPORTED_DEVICES += mikrotik,rbm33g
534 TARGET_DEVICES += mikrotik_routerboard-m33g
536 define Device/mqmaker_witi
538 DEVICE_VENDOR := MQmaker
540 DEVICE_PACKAGES := kmod-ata-ahci kmod-mt76x2 kmod-sdhci-mt7620 kmod-usb3 \
541 kmod-usb-ledtrig-usbport wpad-basic
542 SUPPORTED_DEVICES += witi mqmaker,witi-256m mqmaker,witi-512m
544 TARGET_DEVICES += mqmaker_witi
546 define Device/mtc_wr1201
549 DEVICE_MODEL := Wireless Router WR1201
550 KERNEL_INITRAMFS := $(KERNEL_DTB) | custom-initramfs-uimage WR1201_8_128
551 DEVICE_PACKAGES := kmod-sdhci-mt7620 kmod-mt76x2 kmod-usb3 \
552 kmod-usb-ledtrig-usbport wpad-basic
554 TARGET_DEVICES += mtc_wr1201
556 define Device/netgear_ex6150
557 DEVICE_VENDOR := NETGEAR
558 DEVICE_MODEL := EX6150
559 DEVICE_PACKAGES := kmod-mt76x2 wpad-basic
560 NETGEAR_BOARD_ID := U12H318T00_NETGEAR
562 IMAGES += factory.chk
563 IMAGE/factory.chk := $$(sysupgrade_bin) | check-size | \
566 TARGET_DEVICES += netgear_ex6150
568 define Device/netgear_sercomm_nand
573 IMAGES += factory.img kernel.bin rootfs.bin
574 IMAGE/factory.img := pad-extra 2048k | append-kernel | pad-to 6144k | \
575 append-ubi | pad-to $$$$(BLOCKSIZE) | sercom-footer | pad-to 128 | \
576 zip $$$$(SERCOMM_HWNAME).bin | sercom-seal
577 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
578 IMAGE/kernel.bin := append-kernel
579 IMAGE/rootfs.bin := append-ubi | check-size
580 DEVICE_VENDOR := NETGEAR
581 DEVICE_PACKAGES := kmod-mt7603 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
584 define Device/netgear_r6220
585 $(Device/netgear_sercomm_nand)
586 DEVICE_MODEL := R6220
587 SERCOMM_HWNAME := R6220
589 SERCOMM_HWVER := A001
590 SERCOMM_SWVER := 0x0086
592 DEVICE_PACKAGES += kmod-mt76x2
593 SUPPORTED_DEVICES += r6220
595 TARGET_DEVICES += netgear_r6220
598 define Device/netgear_r6260
599 $(Device/netgear_sercomm_nand)
600 DEVICE_MODEL := R6260
601 SERCOMM_HWNAME := R6260
603 SERCOMM_HWVER := A001
604 SERCOMM_SWVER := 0x0052
606 DEVICE_PACKAGES += kmod-mt7615e
608 TARGET_DEVICES += netgear_r6260
610 define Device/netgear_r6350
611 $(Device/netgear_sercomm_nand)
612 DEVICE_MODEL := R6350
613 SERCOMM_HWNAME := R6350
615 SERCOMM_HWVER := A001
616 SERCOMM_SWVER := 0x0052
618 DEVICE_PACKAGES += kmod-mt7615e
620 TARGET_DEVICES += netgear_r6350
622 define Device/netgear_r6700-v2
623 $(Device/netgear_sercomm_nand)
624 DEVICE_MODEL := R6700
626 DEVICE_ALT0_VENDOR := NETGEAR
627 DEVICE_ALT0_MODEL := Nighthawk AC2400
628 SERCOMM_HWNAME := R6950
630 SERCOMM_HWVER := A001
631 SERCOMM_SWVER := 0x1032
633 DEVICE_PACKAGES += kmod-mt7615e
635 TARGET_DEVICES += netgear_r6700-v2
637 define Device/netgear_r6800
638 $(Device/netgear_sercomm_nand)
639 DEVICE_MODEL := R6800
640 SERCOMM_HWNAME := R6950
642 SERCOMM_HWVER := A001
643 SERCOMM_SWVER := 0x0062
645 DEVICE_PACKAGES += kmod-mt7615e
647 TARGET_DEVICES += netgear_r6800
649 define Device/netgear_r6850
650 $(Device/netgear_sercomm_nand)
651 DEVICE_MODEL := R6850
652 SERCOMM_HWNAME := R6850
654 SERCOMM_HWVER := A001
655 SERCOMM_SWVER := 0x0052
657 DEVICE_PACKAGES += kmod-mt7615e
659 TARGET_DEVICES += netgear_r6850
661 define Device/netgear_wndr3700-v5
665 SERCOMM_HWVER := A001
666 SERCOMM_SWVER := 0x1054
667 IMAGES += factory.img
668 IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
670 IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | \
672 IMAGE/factory.img := pad-extra 320k | $$(IMAGE/default) | \
673 pad-to $$$$(BLOCKSIZE) | sercom-footer | pad-to 128 | \
674 zip WNDR3700v5.bin | sercom-seal
675 DEVICE_VENDOR := NETGEAR
676 DEVICE_MODEL := WNDR3700
678 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
679 kmod-usb-ledtrig-usbport wpad-basic
680 SUPPORTED_DEVICES += wndr3700v5
682 TARGET_DEVICES += netgear_wndr3700-v5
684 define Device/netis_wf2881
687 FILESYSTEMS := squashfs
689 IMAGE_SIZE := 129280k
691 UIMAGE_NAME := WF2881_0.0.00
692 KERNEL_INITRAMFS := $(KERNEL_DTB) | netis-tail WF2881 | uImage lzma
693 IMAGES += factory.bin
694 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
695 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \
697 DEVICE_VENDOR := NETIS
698 DEVICE_MODEL := WF2881
699 DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
701 TARGET_DEVICES += netis_wf2881
703 define Device/phicomm_k2p
705 DEVICE_VENDOR := Phicomm
707 DEVICE_ALT0_VENDOR := Phicomm
708 DEVICE_ALT0_MODEL := KE 2P
709 SUPPORTED_DEVICES += k2p
710 DEVICE_PACKAGES := kmod-mt7615e wpad-basic
712 TARGET_DEVICES += phicomm_k2p
714 define Device/planex_vr500
716 DEVICE_VENDOR := Planex
717 DEVICE_MODEL := VR500
718 DEVICE_PACKAGES := kmod-usb3
719 SUPPORTED_DEVICES += vr500
721 TARGET_DEVICES += planex_vr500
723 define Device/samknows_whitebox-v8
725 DEVICE_VENDOR := SamKnows
726 DEVICE_MODEL := Whitebox 8
727 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
728 kmod-usb-ledtrig-usbport uboot-envtools wpad-basic
729 SUPPORTED_DEVICES += sk-wb8
731 TARGET_DEVICES += samknows_whitebox-v8
733 define Device/storylink_sap-g3200u3
735 DEVICE_VENDOR := STORYLiNK
736 DEVICE_MODEL := SAP-G3200U3
737 DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
738 SUPPORTED_DEVICES += sap-g3200u3
740 TARGET_DEVICES += storylink_sap-g3200u3
742 define Device/telco-electronics_x1
744 DEVICE_VENDOR := Telco Electronics
746 DEVICE_PACKAGES := kmod-usb3 kmod-mt76 wpad-basic
748 TARGET_DEVICES += telco-electronics_x1
750 define Device/thunder_timecloud
752 DEVICE_VENDOR := Thunder
753 DEVICE_MODEL := Timecloud
754 DEVICE_PACKAGES := kmod-usb3
755 SUPPORTED_DEVICES += timecloud
757 TARGET_DEVICES += thunder_timecloud
759 define Device/totolink_a7000r
761 UIMAGE_NAME := C8340R1C-9999
762 DEVICE_VENDOR := TOTOLINK
763 DEVICE_MODEL := A7000R
764 DEVICE_PACKAGES := kmod-mt7615e wpad-basic
766 TARGET_DEVICES += totolink_a7000r
768 define Device/adslr_g7
770 DEVICE_VENDOR := ADSLR
772 DEVICE_PACKAGES := kmod-mt7615e wpad-basic
774 TARGET_DEVICES += adslr_g7
776 define Device/tplink_re350-v1
777 $(Device/tplink-safeloader)
778 DEVICE_MODEL := RE350
780 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 wpad-basic
781 TPLINK_BOARD_ID := RE350-V1
783 SUPPORTED_DEVICES += re350-v1
785 TARGET_DEVICES += tplink_re350-v1
787 define Device/tplink_re650-v1
788 $(Device/tplink-safeloader)
789 DEVICE_MODEL := RE650
791 DEVICE_PACKAGES := kmod-mt7615e wpad-basic
792 TPLINK_BOARD_ID := RE650-V1
795 TARGET_DEVICES += tplink_re650-v1
797 define Device/ubnt_edgerouter_common
798 DEVICE_VENDOR := Ubiquiti
799 IMAGE_SIZE := 256768k
800 FILESYSTEMS := squashfs
801 KERNEL_SIZE := 3145728
802 KERNEL_INITRAMFS := $$(KERNEL) | \
803 ubnt-erx-factory-image $(KDIR)/tmp/$$(KERNEL_INITRAMFS_PREFIX)-factory.tar
804 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
807 define Device/ubnt_edgerouter-x
808 $(Device/ubnt_edgerouter_common)
809 DEVICE_MODEL := EdgeRouter X
810 SUPPORTED_DEVICES += ubnt-erx ubiquiti,edgerouterx
812 TARGET_DEVICES += ubnt_edgerouter-x
814 define Device/ubnt_edgerouter-x-sfp
815 $(Device/ubnt_edgerouter_common)
816 DEVICE_MODEL := EdgeRouter X SFP
817 DEVICE_PACKAGES += kmod-i2c-algo-pca kmod-gpio-pca953x
818 SUPPORTED_DEVICES += ubnt-erx-sfp ubiquiti,edgerouterx-sfp
820 TARGET_DEVICES += ubnt_edgerouter-x-sfp
822 define Device/ubnt_unifi-nanohd
823 DEVICE_VENDOR := Ubiquiti
824 DEVICE_MODEL := UniFi nanoHD
825 DEVICE_PACKAGES += kmod-mt7603 kmod-mt7615e wpad-basic
828 TARGET_DEVICES += ubnt_unifi-nanohd
830 define Device/unielec_u7621-06-16m
832 DEVICE_VENDOR := UniElec
833 DEVICE_MODEL := U7621-06
834 DEVICE_VARIANT := 16M
835 DEVICE_PACKAGES := kmod-ata-ahci kmod-sdhci-mt7620 kmod-usb3
836 SUPPORTED_DEVICES += u7621-06-256M-16M unielec,u7621-06-256m-16m
838 TARGET_DEVICES += unielec_u7621-06-16m
840 define Device/unielec_u7621-06-64m
842 DEVICE_VENDOR := UniElec
843 DEVICE_MODEL := U7621-06
844 DEVICE_VARIANT := 64M
845 DEVICE_PACKAGES := kmod-ata-ahci kmod-sdhci-mt7620 kmod-usb3
846 SUPPORTED_DEVICES += unielec,u7621-06-512m-64m
848 TARGET_DEVICES += unielec_u7621-06-64m
850 define Device/wevo_11acnas
852 UIMAGE_NAME := 11AC-NAS-Router(0.0.0)
853 DEVICE_VENDOR := WeVO
854 DEVICE_MODEL := 11AC NAS Router
855 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
856 kmod-usb-ledtrig-usbport wpad-basic
857 SUPPORTED_DEVICES += 11acnas
859 TARGET_DEVICES += wevo_11acnas
861 define Device/wevo_w2914ns-v2
863 UIMAGE_NAME := W2914NS-V2(0.0.0)
864 DEVICE_VENDOR := WeVO
865 DEVICE_MODEL := W2914NS
867 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
868 kmod-usb-ledtrig-usbport wpad-basic
869 SUPPORTED_DEVICES += w2914nsv2
871 TARGET_DEVICES += wevo_w2914ns-v2
873 define Device/xiaomi_mir3g
877 IMAGE_SIZE := 124416k
879 IMAGES += kernel1.bin rootfs0.bin
880 IMAGE/kernel1.bin := append-kernel
881 IMAGE/rootfs0.bin := append-ubi | check-size
882 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
883 DEVICE_VENDOR := Xiaomi
884 DEVICE_MODEL := Mi Router 3G
885 SUPPORTED_DEVICES += R3G
886 SUPPORTED_DEVICES += mir3g
887 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
888 kmod-usb-ledtrig-usbport wpad-basic uboot-envtools
890 TARGET_DEVICES += xiaomi_mir3g
892 define Device/xiaomi_mir3g-v2
894 DEVICE_VENDOR := Xiaomi
895 DEVICE_MODEL := Mi Router 3G
897 DEVICE_ALT0_VENDOR := Xiaomi
898 DEVICE_ALT0_MODEL := Mi Router 4A
899 DEVICE_ALT0_VARIANT := Gigabit Edition
900 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 wpad-basic
902 TARGET_DEVICES += xiaomi_mir3g-v2
904 define Device/xiaomi_mir3p
909 IMAGE_SIZE := 255488k
910 DEVICE_VENDOR := Xiaomi
911 DEVICE_MODEL := Mi Router 3 Pro
912 IMAGES += factory.bin
913 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
914 IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
916 DEVICE_PACKAGES := kmod-mt7615e kmod-usb3 kmod-usb-ledtrig-usbport \
917 wpad-basic uboot-envtools
919 TARGET_DEVICES += xiaomi_mir3p
921 define Device/xiaoyu_xy-c5
923 DEVICE_VENDOR := XiaoYu
924 DEVICE_MODEL := XY-C5
925 DEVICE_PACKAGES := kmod-ata-ahci kmod-usb3
927 TARGET_DEVICES += xiaoyu_xy-c5
929 define Device/xzwifi_creativebox-v1
931 DEVICE_VENDOR := CreativeBox
933 DEVICE_PACKAGES := kmod-ata-ahci kmod-mt7603 kmod-mt76x2 kmod-sdhci-mt7620 \
936 TARGET_DEVICES += xzwifi_creativebox-v1
938 define Device/youhua_wr1200js
940 DEVICE_VENDOR := YouHua
941 DEVICE_MODEL := WR1200JS
942 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
943 kmod-usb-ledtrig-usbport wpad-basic
945 TARGET_DEVICES += youhua_wr1200js
947 define Device/youku_yk-l2
949 DEVICE_VENDOR := Youku
950 DEVICE_MODEL := YK-L2
951 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
952 kmod-usb-ledtrig-usbport wpad-basic
954 TARGET_DEVICES += youku_yk-l2
956 define Device/zbtlink_zbt-we1326
958 DEVICE_VENDOR := Zbtlink
959 DEVICE_MODEL := ZBT-WE1326
960 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-sdhci-mt7620 \
962 SUPPORTED_DEVICES += zbt-we1326
964 TARGET_DEVICES += zbtlink_zbt-we1326
966 define Device/zbtlink_zbt-we3526
968 DEVICE_VENDOR := Zbtlink
969 DEVICE_MODEL := ZBT-WE3526
970 DEVICE_PACKAGES := kmod-sdhci-mt7620 kmod-mt7603 kmod-mt76x2 kmod-usb3 \
971 kmod-usb-ledtrig-usbport wpad-basic
973 TARGET_DEVICES += zbtlink_zbt-we3526
975 define Device/zbtlink_zbt-wg2626
977 DEVICE_VENDOR := Zbtlink
978 DEVICE_MODEL := ZBT-WG2626
979 DEVICE_PACKAGES := kmod-ata-ahci kmod-sdhci-mt7620 kmod-mt76x2 kmod-usb3 \
980 kmod-usb-ledtrig-usbport wpad-basic
981 SUPPORTED_DEVICES += zbt-wg2626
983 TARGET_DEVICES += zbtlink_zbt-wg2626
985 define Device/zbtlink_zbt-wg3526-16m
987 DEVICE_VENDOR := Zbtlink
988 DEVICE_MODEL := ZBT-WG3526
989 DEVICE_VARIANT := 16M
990 DEVICE_PACKAGES := kmod-ata-ahci kmod-sdhci-mt7620 kmod-mt7603 kmod-mt76x2 \
991 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
992 SUPPORTED_DEVICES += zbt-wg3526 zbt-wg3526-16M
994 TARGET_DEVICES += zbtlink_zbt-wg3526-16m
996 define Device/zbtlink_zbt-wg3526-32m
998 DEVICE_VENDOR := Zbtlink
999 DEVICE_MODEL := ZBT-WG3526
1000 DEVICE_VARIANT := 32M
1001 DEVICE_PACKAGES := kmod-ata-ahci kmod-sdhci-mt7620 kmod-mt7603 kmod-mt76x2 \
1002 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
1003 SUPPORTED_DEVICES += ac1200pro zbt-wg3526-32M
1005 TARGET_DEVICES += zbtlink_zbt-wg3526-32m
1007 define Device/zio_freezio
1008 IMAGE_SIZE := 16064k
1009 DEVICE_VENDOR := ZIO
1010 DEVICE_MODEL := FREEZIO
1011 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
1012 kmod-usb-ledtrig-usbport wpad-basic
1014 TARGET_DEVICES += zio_freezio