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 | gzip -c | \
71 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 | gzip -c | \
78 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/ubnt-erx-factory-image
85 if [ -e $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) -a "$$(stat -c%s $@)" -lt "$(KERNEL_SIZE)" ]; then \
86 echo '21001:6' > $(1).compat; \
87 $(TAR) -cf $(1) --transform='s/^.*/compat/' $(1).compat; \
89 $(TAR) -rf $(1) --transform='s/^.*/vmlinux.tmp/' $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE); \
90 mkhash md5 $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) > $(1).md5; \
91 $(TAR) -rf $(1) --transform='s/^.*/vmlinux.tmp.md5/' $(1).md5; \
93 echo "dummy" > $(1).rootfs; \
94 $(TAR) -rf $(1) --transform='s/^.*/squashfs.tmp/' $(1).rootfs; \
96 mkhash md5 $(1).rootfs > $(1).md5; \
97 $(TAR) -rf $(1) --transform='s/^.*/squashfs.tmp.md5/' $(1).md5; \
99 echo '$(BOARD) $(VERSION_CODE) $(VERSION_NUMBER)' > $(1).version; \
100 $(TAR) -rf $(1) --transform='s/^.*/version.tmp/' $(1).version; \
102 $(CP) $(1) $(BIN_DIR)/; \
104 echo "WARNING: initramfs kernel image too big, cannot generate factory image" >&2; \
108 define Device/afoundry_ew1200
110 DEVICE_VENDOR := AFOUNDRY
111 DEVICE_MODEL := EW1200
112 DEVICE_PACKAGES := kmod-ata-ahci kmod-mt76x2 kmod-mt7603 kmod-usb3 \
113 kmod-usb-ledtrig-usbport wpad-basic
114 SUPPORTED_DEVICES += ew1200
116 TARGET_DEVICES += afoundry_ew1200
118 define Device/alfa-network_quad-e4g
120 DEVICE_VENDOR := ALFA Network
121 DEVICE_MODEL := Quad-E4G
122 DEVICE_PACKAGES := kmod-ata-ahci kmod-sdhci-mt7620 kmod-usb3 uboot-envtools
124 TARGET_DEVICES += alfa-network_quad-e4g
126 define Device/asiarf_ap7621-001
128 DEVICE_VENDOR := AsiaRF
129 DEVICE_MODEL := AP7621-001
130 DEVICE_PACKAGES := kmod-sdhci-mt7620 kmod-mt76x2 kmod-usb3
132 TARGET_DEVICES += asiarf_ap7621-001
134 define Device/asiarf_ap7621-nv1
136 DEVICE_VENDOR := AsiaRF
137 DEVICE_MODEL := AP7621-NV1
138 DEVICE_PACKAGES := kmod-sdhci-mt7620 kmod-mt76x2 kmod-usb3
140 TARGET_DEVICES += asiarf_ap7621-nv1
142 define Device/asus_rt-ac57u
143 DEVICE_VENDOR := ASUS
144 DEVICE_MODEL := RT-AC57U
146 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
147 kmod-usb-ledtrig-usbport wpad-basic
149 TARGET_DEVICES += asus_rt-ac57u
151 define Device/asus_rt-ac65p
152 DEVICE_VENDOR := ASUS
153 DEVICE_MODEL := RT-AC65P
159 IMAGES += factory.bin
160 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
161 IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
163 DEVICE_PACKAGES := kmod-usb3 kmod-mt7615e wpad-basic uboot-envtools
165 TARGET_DEVICES += asus_rt-ac65p
167 define Device/asus_rt-ac85p
168 DEVICE_VENDOR := ASUS
169 DEVICE_MODEL := RT-AC85P
175 IMAGES += factory.bin
176 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
177 IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
179 DEVICE_PACKAGES := kmod-usb3 kmod-mt7615e wpad-basic uboot-envtools
181 TARGET_DEVICES += asus_rt-ac85p
183 define Device/buffalo_wsr-1166dhp
184 $(Device/uimage-lzma-loader)
185 IMAGE/sysupgrade.bin := trx | pad-rootfs | append-metadata
187 DEVICE_VENDOR := Buffalo
188 DEVICE_MODEL := WSR-1166DHP
189 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 wpad-basic
190 SUPPORTED_DEVICES += wsr-1166
192 TARGET_DEVICES += buffalo_wsr-1166dhp
194 define Device/buffalo_wsr-2533dhpl
195 $(Device/uimage-lzma-loader)
197 DEVICE_VENDOR := Buffalo
198 DEVICE_MODEL := WSR-2533DHPL
199 IMAGE/sysupgrade.bin := trx | pad-rootfs | append-metadata
200 DEVICE_PACKAGES := kmod-mt7615e wpad-basic
202 TARGET_DEVICES += buffalo_wsr-2533dhpl
204 define Device/buffalo_wsr-600dhp
206 DEVICE_VENDOR := Buffalo
207 DEVICE_MODEL := WSR-600DHP
208 DEVICE_PACKAGES := kmod-mt7603 kmod-rt2800-pci wpad-basic
209 SUPPORTED_DEVICES += wsr-600
211 TARGET_DEVICES += buffalo_wsr-600dhp
213 define Device/dlink_dir-860l-b1
216 SEAMA_SIGNATURE := wrgac13_dlink.2013gui_dir860lb
218 KERNEL := kernel-bin | append-dtb | lzma | loader-kernel | relocate-kernel | \
219 lzma -a0 | uImage lzma
221 DEVICE_VENDOR := D-Link
222 DEVICE_MODEL := DIR-860L
224 DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
225 SUPPORTED_DEVICES += dir-860l-b1
227 TARGET_DEVICES += dlink_dir-860l-b1
229 define Device/d-team_newifi-d2
230 $(Device/uimage-lzma-loader)
232 DEVICE_VENDOR := Newifi
234 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
235 kmod-usb-ledtrig-usbport wpad-basic
237 TARGET_DEVICES += d-team_newifi-d2
239 define Device/d-team_pbr-m1
241 DEVICE_VENDOR := PandoraBox
242 DEVICE_MODEL := PBR-M1
243 DEVICE_PACKAGES := kmod-ata-ahci kmod-mt7603 kmod-mt76x2 kmod-sdhci-mt7620 \
244 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
245 SUPPORTED_DEVICES += pbr-m1
247 TARGET_DEVICES += d-team_pbr-m1
249 define Device/edimax_ra21s
251 DEVICE_VENDOR := Edimax
252 DEVICE_MODEL := RA21S
253 DEVICE_ALT0_VENDOR := Edimax
254 DEVICE_ALT0_MODEL := Gemini RA21S
255 IMAGES += factory.bin
256 IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | \
257 elx-header 02020040 8844A2D168B45A2D
258 DEVICE_PACKAGES := kmod-mt7615e wpad-basic
260 TARGET_DEVICES += edimax_ra21s
262 define Device/edimax_rg21s
264 DEVICE_VENDOR := Edimax
265 DEVICE_MODEL := Gemini AC2600 RG21S
266 IMAGES += factory.bin
267 IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | \
268 elx-header 02020038 8844A2D168B45A2D
269 DEVICE_PACKAGES := kmod-mt7615e wpad-basic
271 TARGET_DEVICES += edimax_rg21s
273 define Device/elecom_wrc-1167ghbk2-s
275 DEVICE_VENDOR := ELECOM
276 DEVICE_MODEL := WRC-1167GHBK2-S
277 IMAGES += factory.bin
278 IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | \
279 elecom-wrc-factory WRC-1167GHBK2-S 0.00
280 DEVICE_PACKAGES := kmod-mt7615e wpad-basic
282 TARGET_DEVICES += elecom_wrc-1167ghbk2-s
284 define Device/elecom_wrc-1900gst
285 $(Device/uimage-lzma-loader)
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
296 $(Device/uimage-lzma-loader)
298 DEVICE_VENDOR := ELECOM
299 DEVICE_MODEL := WRC-2533GST
300 IMAGES += factory.bin
301 IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | \
302 elecom-gst-factory WRC-2533GST 0.00
304 TARGET_DEVICES += elecom_wrc-2533gst
306 define Device/firefly_firewrt
308 DEVICE_VENDOR := Firefly
309 DEVICE_MODEL := FireWRT
310 DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
311 SUPPORTED_DEVICES += firewrt
313 TARGET_DEVICES += firefly_firewrt
315 define Device/gehua_ghl-r-001
317 DEVICE_VENDOR := GeHua
318 DEVICE_MODEL := GHL-R-001
319 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
320 kmod-usb-ledtrig-usbport wpad-basic
322 TARGET_DEVICES += gehua_ghl-r-001
324 define Device/gnubee_gb-pc1
325 DEVICE_VENDOR := GnuBee
326 DEVICE_MODEL := Personal Cloud One
327 DEVICE_PACKAGES := kmod-ata-ahci kmod-usb3 kmod-sdhci-mt7620
330 TARGET_DEVICES += gnubee_gb-pc1
332 define Device/gnubee_gb-pc2
333 DEVICE_VENDOR := GnuBee
334 DEVICE_MODEL := Personal Cloud Two
335 DEVICE_PACKAGES := kmod-ata-ahci kmod-usb3 kmod-sdhci-mt7620
338 TARGET_DEVICES += gnubee_gb-pc2
340 define Device/hiwifi_hc5962
346 IMAGES += factory.bin
347 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
348 IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
350 DEVICE_VENDOR := HiWiFi
351 DEVICE_MODEL := HC5962
352 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 wpad-basic
354 TARGET_DEVICES += hiwifi_hc5962
356 define Device/iodata_wn-ax1167gr
357 $(Device/uimage-lzma-loader)
359 KERNEL_INITRAMFS := $$(KERNEL) | \
360 iodata-factory 7864320 4 0x1055 $(KDIR)/tmp/$$(KERNEL_INITRAMFS_PREFIX)-factory.bin
361 DEVICE_VENDOR := I-O DATA
362 DEVICE_MODEL := WN-AX1167GR
363 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 wpad-basic
365 TARGET_DEVICES += iodata_wn-ax1167gr
367 define Device/iodata_nand
368 DEVICE_VENDOR := I-O DATA
375 KERNEL := kernel-bin | append-dtb | lzma | loader-kernel | lzma | uImage lzma
376 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
379 define Device/iodata_wn-ax1167gr2
380 $(Device/iodata_nand)
381 UIMAGE_MAGIC := 0x434f4d42
382 DEVICE_MODEL := WN-AX1167GR2
383 KERNEL_INITRAMFS := $(KERNEL_DTB) | custom-initramfs-uimage 3.10(XBC.1)b10 | \
385 DEVICE_PACKAGES := kmod-mt7615e wpad-basic
387 TARGET_DEVICES += iodata_wn-ax1167gr2
389 define Device/iodata_wn-ax2033gr
390 $(Device/iodata_nand)
391 UIMAGE_MAGIC := 0x434f4d42
392 DEVICE_MODEL := WN-AX2033GR
393 KERNEL_INITRAMFS := $(KERNEL_DTB) | custom-initramfs-uimage 3.10(VST.1)C10 | \
395 DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e wpad-basic
397 TARGET_DEVICES += iodata_wn-ax2033gr
399 define Device/iodata_wn-dx1167r
400 $(Device/iodata_nand)
401 UIMAGE_MAGIC := 0x434f4d43
402 DEVICE_MODEL := WN-DX1167R
403 KERNEL_INITRAMFS := $(KERNEL_DTB) | custom-initramfs-uimage 3.10(XIK.1)b10 | \
405 DEVICE_PACKAGES := kmod-mt7615e wpad-basic
407 TARGET_DEVICES += iodata_wn-dx1167r
409 define Device/iodata_wn-gx300gr
410 $(Device/uimage-lzma-loader)
412 DEVICE_VENDOR := I-O DATA
413 DEVICE_MODEL := WN-GX300GR
414 DEVICE_PACKAGES := kmod-mt7603 wpad-basic
416 TARGET_DEVICES += iodata_wn-gx300gr
418 define Device/iodata_wnpr2600g
419 $(Device/uimage-lzma-loader)
420 DEVICE_VENDOR := I-O DATA
421 DEVICE_MODEL := WNPR2600G
423 IMAGES += factory.bin
424 IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | \
425 elx-header 0104003a 8844A2D168B45A2D
426 DEVICE_PACKAGES := kmod-mt7615e wpad-basic
428 TARGET_DEVICES += iodata_wnpr2600g
430 define Device/iptime_a6ns-m
433 DEVICE_VENDOR := ipTIME
434 DEVICE_MODEL := A6ns-M
435 DEVICE_PACKAGES := kmod-mt7615e kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
437 TARGET_DEVICES += iptime_a6ns-m
439 define Device/iptime_a8004t
441 UIMAGE_NAME := a8004t
442 DEVICE_VENDOR := ipTIME
443 DEVICE_MODEL := A8004T
444 DEVICE_PACKAGES := kmod-mt7615e kmod-usb3 wpad-basic
446 TARGET_DEVICES += iptime_a8004t
448 define Device/jcg_jhr-ac876m
450 IMAGES += factory.bin
451 IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | jcg-header 89.1
452 JCG_MAXSIZE := 16064k
454 DEVICE_MODEL := JHR-AC876M
455 DEVICE_PACKAGES := kmod-mt7615e kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
457 TARGET_DEVICES += jcg_jhr-ac876m
459 define Device/lenovo_newifi-d1
460 $(Device/uimage-lzma-loader)
462 DEVICE_VENDOR := Newifi
464 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-sdhci-mt7620 \
465 kmod-usb-ledtrig-usbport wpad-basic
466 SUPPORTED_DEVICES += newifi-d1
468 TARGET_DEVICES += lenovo_newifi-d1
470 define Device/linksys_re6500
472 DEVICE_VENDOR := Linksys
473 DEVICE_MODEL := RE6500
474 DEVICE_PACKAGES := kmod-mt76x2 wpad-basic
475 SUPPORTED_DEVICES += re6500
477 TARGET_DEVICES += linksys_re6500
479 define Device/mediatek_ap-mt7621a-v60
481 DEVICE_VENDOR := Mediatek
482 DEVICE_MODEL := AP-MT7621A-V60 EVB
483 DEVICE_PACKAGES := kmod-usb3 kmod-sdhci-mt7620 kmod-sound-mt7620
485 TARGET_DEVICES += mediatek_ap-mt7621a-v60
487 define Device/mediatek_mt7621-eval-board
490 DEVICE_VENDOR := MediaTek
491 DEVICE_MODEL := MT7621 EVB
492 SUPPORTED_DEVICES += mt7621
494 TARGET_DEVICES += mediatek_mt7621-eval-board
496 define Device/MikroTik
497 DEVICE_VENDOR := MikroTik
500 DEVICE_PACKAGES := kmod-usb3
502 KERNEL := $(KERNEL_DTB) | loader-kernel
503 IMAGE/sysupgrade.bin := append-kernel | kernel2minor -s 1024 | \
504 pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | append-metadata | \
508 define Device/mikrotik_routerboard-750gr3
510 DEVICE_MODEL := RouterBOARD 750Gr3
511 DEVICE_PACKAGES += kmod-gpio-beeper
512 SUPPORTED_DEVICES += mikrotik,rb750gr3
514 TARGET_DEVICES += mikrotik_routerboard-750gr3
516 define Device/mikrotik_routerboard-m11g
518 DEVICE_MODEL := RouterBOARD M11G
519 SUPPORTED_DEVICES += mikrotik,rbm11g
521 TARGET_DEVICES += mikrotik_routerboard-m11g
523 define Device/mikrotik_routerboard-m33g
525 DEVICE_MODEL := RouterBOARD M33G
526 SUPPORTED_DEVICES += mikrotik,rbm33g
528 TARGET_DEVICES += mikrotik_routerboard-m33g
530 define Device/mqmaker_witi
532 DEVICE_VENDOR := MQmaker
534 DEVICE_PACKAGES := kmod-ata-ahci kmod-mt76x2 kmod-sdhci-mt7620 kmod-usb3 \
535 kmod-usb-ledtrig-usbport wpad-basic
536 SUPPORTED_DEVICES += witi mqmaker,witi-256m mqmaker,witi-512m
538 TARGET_DEVICES += mqmaker_witi
540 define Device/mtc_wr1201
543 DEVICE_MODEL := Wireless Router WR1201
544 KERNEL_INITRAMFS := $(KERNEL_DTB) | custom-initramfs-uimage WR1201_8_128
545 DEVICE_PACKAGES := kmod-sdhci-mt7620 kmod-mt76x2 kmod-usb3 \
546 kmod-usb-ledtrig-usbport wpad-basic
548 TARGET_DEVICES += mtc_wr1201
550 define Device/netgear_ex6150
551 DEVICE_VENDOR := NETGEAR
552 DEVICE_MODEL := EX6150
553 DEVICE_PACKAGES := kmod-mt76x2 wpad-basic
554 NETGEAR_BOARD_ID := U12H318T00_NETGEAR
556 IMAGES += factory.chk
557 IMAGE/factory.chk := $$(sysupgrade_bin) | check-size | netgear-chk
559 TARGET_DEVICES += netgear_ex6150
561 define Device/netgear_sercomm_nand
562 $(Device/uimage-lzma-loader)
567 IMAGES += factory.img kernel.bin rootfs.bin
568 IMAGE/factory.img := pad-extra 2048k | append-kernel | pad-to 6144k | \
569 append-ubi | pad-to $$$$(BLOCKSIZE) | sercom-footer | pad-to 128 | \
570 zip $$$$(SERCOMM_HWNAME).bin | sercom-seal
571 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
572 IMAGE/kernel.bin := append-kernel
573 IMAGE/rootfs.bin := append-ubi | check-size
574 DEVICE_VENDOR := NETGEAR
575 DEVICE_PACKAGES := kmod-mt7603 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
578 define Device/netgear_r6220
579 $(Device/netgear_sercomm_nand)
580 DEVICE_MODEL := R6220
581 SERCOMM_HWNAME := R6220
583 SERCOMM_HWVER := A001
584 SERCOMM_SWVER := 0x0086
586 DEVICE_PACKAGES += kmod-mt76x2
587 SUPPORTED_DEVICES += r6220
589 TARGET_DEVICES += netgear_r6220
592 define Device/netgear_r6260
593 $(Device/netgear_sercomm_nand)
594 DEVICE_MODEL := R6260
595 SERCOMM_HWNAME := R6260
597 SERCOMM_HWVER := A001
598 SERCOMM_SWVER := 0x0052
600 DEVICE_PACKAGES += kmod-mt7615e
602 TARGET_DEVICES += netgear_r6260
604 define Device/netgear_r6350
605 $(Device/netgear_sercomm_nand)
606 DEVICE_MODEL := R6350
607 SERCOMM_HWNAME := R6350
609 SERCOMM_HWVER := A001
610 SERCOMM_SWVER := 0x0052
612 DEVICE_PACKAGES += kmod-mt7615e
614 TARGET_DEVICES += netgear_r6350
616 define Device/netgear_r6700-v2
617 $(Device/netgear_sercomm_nand)
618 DEVICE_MODEL := R6700
620 DEVICE_ALT0_VENDOR := NETGEAR
621 DEVICE_ALT0_MODEL := Nighthawk AC2400
622 DEVICE_ALT0_VARIANT := v1
623 DEVICE_ALT1_VENDOR := NETGEAR
624 DEVICE_ALT1_MODEL := R7200
625 DEVICE_ALT1_VARIANT := v1
626 SERCOMM_HWNAME := R6950
628 SERCOMM_HWVER := A001
629 SERCOMM_SWVER := 0x1032
631 DEVICE_PACKAGES += kmod-mt7615e
633 TARGET_DEVICES += netgear_r6700-v2
635 define Device/netgear_r6800
636 $(Device/netgear_sercomm_nand)
637 DEVICE_MODEL := R6800
638 SERCOMM_HWNAME := R6950
640 SERCOMM_HWVER := A001
641 SERCOMM_SWVER := 0x0062
643 DEVICE_PACKAGES += kmod-mt7615e
645 TARGET_DEVICES += netgear_r6800
647 define Device/netgear_r6850
648 $(Device/netgear_sercomm_nand)
649 DEVICE_MODEL := R6850
650 SERCOMM_HWNAME := R6850
652 SERCOMM_HWVER := A001
653 SERCOMM_SWVER := 0x0052
655 DEVICE_PACKAGES += kmod-mt7615e
657 TARGET_DEVICES += netgear_r6850
659 define Device/netgear_wndr3700-v5
660 $(Device/uimage-lzma-loader)
664 SERCOMM_HWVER := A001
665 SERCOMM_SWVER := 0x1054
666 IMAGES += factory.img
667 IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
669 IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | check-size
670 IMAGE/factory.img := pad-extra 320k | $$(IMAGE/default) | \
671 pad-to $$$$(BLOCKSIZE) | sercom-footer | pad-to 128 | zip WNDR3700v5.bin | \
673 DEVICE_VENDOR := NETGEAR
674 DEVICE_MODEL := WNDR3700
676 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
677 kmod-usb-ledtrig-usbport wpad-basic
678 SUPPORTED_DEVICES += wndr3700v5
680 TARGET_DEVICES += netgear_wndr3700-v5
682 define Device/netis_wf2881
685 FILESYSTEMS := squashfs
687 IMAGE_SIZE := 129280k
689 UIMAGE_NAME := WF2881_0.0.00
690 KERNEL_INITRAMFS := $(KERNEL_DTB) | netis-tail WF2881 | uImage lzma
691 IMAGES += factory.bin
692 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
693 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \
695 DEVICE_VENDOR := NETIS
696 DEVICE_MODEL := WF2881
697 DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
699 TARGET_DEVICES += netis_wf2881
701 define Device/phicomm_k2p
703 DEVICE_VENDOR := Phicomm
705 DEVICE_ALT0_VENDOR := Phicomm
706 DEVICE_ALT0_MODEL := KE 2P
707 SUPPORTED_DEVICES += k2p
708 DEVICE_PACKAGES := kmod-mt7615e wpad-basic
710 TARGET_DEVICES += phicomm_k2p
712 define Device/planex_vr500
713 $(Device/uimage-lzma-loader)
715 DEVICE_VENDOR := Planex
716 DEVICE_MODEL := VR500
717 DEVICE_PACKAGES := kmod-usb3
718 SUPPORTED_DEVICES += vr500
720 TARGET_DEVICES += planex_vr500
722 define Device/samknows_whitebox-v8
724 DEVICE_VENDOR := SamKnows
725 DEVICE_MODEL := Whitebox 8
726 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
727 kmod-usb-ledtrig-usbport uboot-envtools wpad-basic
728 SUPPORTED_DEVICES += sk-wb8
730 TARGET_DEVICES += samknows_whitebox-v8
732 define Device/storylink_sap-g3200u3
734 DEVICE_VENDOR := STORYLiNK
735 DEVICE_MODEL := SAP-G3200U3
736 DEVICE_PACKAGES := kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
737 SUPPORTED_DEVICES += sap-g3200u3
739 TARGET_DEVICES += storylink_sap-g3200u3
741 define Device/telco-electronics_x1
743 DEVICE_VENDOR := Telco Electronics
745 DEVICE_PACKAGES := kmod-usb3 kmod-mt76 wpad-basic
747 TARGET_DEVICES += telco-electronics_x1
749 define Device/thunder_timecloud
750 $(Device/uimage-lzma-loader)
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/uimage-lzma-loader)
799 DEVICE_VENDOR := Ubiquiti
800 IMAGE_SIZE := 256768k
801 FILESYSTEMS := squashfs
802 KERNEL_SIZE := 3145728
803 KERNEL_INITRAMFS := $$(KERNEL) | \
804 ubnt-erx-factory-image $(KDIR)/tmp/$$(KERNEL_INITRAMFS_PREFIX)-factory.tar
805 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
808 define Device/ubnt_edgerouter-x
809 $(Device/ubnt_edgerouter_common)
810 DEVICE_MODEL := EdgeRouter X
811 SUPPORTED_DEVICES += ubnt-erx ubiquiti,edgerouterx
813 TARGET_DEVICES += ubnt_edgerouter-x
815 define Device/ubnt_edgerouter-x-sfp
816 $(Device/ubnt_edgerouter_common)
817 DEVICE_MODEL := EdgeRouter X SFP
818 DEVICE_PACKAGES += kmod-i2c-algo-pca kmod-gpio-pca953x kmod-sfp
819 SUPPORTED_DEVICES += ubnt-erx-sfp ubiquiti,edgerouterx-sfp
821 TARGET_DEVICES += ubnt_edgerouter-x-sfp
823 define Device/ubnt_unifi-nanohd
824 DEVICE_VENDOR := Ubiquiti
825 DEVICE_MODEL := UniFi nanoHD
826 DEVICE_PACKAGES += kmod-mt7603 kmod-mt7615e wpad-basic
829 TARGET_DEVICES += ubnt_unifi-nanohd
831 define Device/unielec_u7621-06-16m
833 DEVICE_VENDOR := UniElec
834 DEVICE_MODEL := U7621-06
835 DEVICE_VARIANT := 16M
836 DEVICE_PACKAGES := kmod-ata-ahci kmod-sdhci-mt7620 kmod-usb3
837 SUPPORTED_DEVICES += u7621-06-256M-16M unielec,u7621-06-256m-16m
839 TARGET_DEVICES += unielec_u7621-06-16m
841 define Device/unielec_u7621-06-64m
843 DEVICE_VENDOR := UniElec
844 DEVICE_MODEL := U7621-06
845 DEVICE_VARIANT := 64M
846 DEVICE_PACKAGES := kmod-ata-ahci kmod-sdhci-mt7620 kmod-usb3
847 SUPPORTED_DEVICES += unielec,u7621-06-512m-64m
849 TARGET_DEVICES += unielec_u7621-06-64m
851 define Device/wevo_11acnas
853 UIMAGE_NAME := 11AC-NAS-Router(0.0.0)
854 DEVICE_VENDOR := WeVO
855 DEVICE_MODEL := 11AC NAS Router
856 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
857 kmod-usb-ledtrig-usbport wpad-basic
858 SUPPORTED_DEVICES += 11acnas
860 TARGET_DEVICES += wevo_11acnas
862 define Device/wevo_w2914ns-v2
864 UIMAGE_NAME := W2914NS-V2(0.0.0)
865 DEVICE_VENDOR := WeVO
866 DEVICE_MODEL := W2914NS
868 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
869 kmod-usb-ledtrig-usbport wpad-basic
870 SUPPORTED_DEVICES += w2914nsv2
872 TARGET_DEVICES += wevo_w2914ns-v2
874 define Device/xiaomi_mir3g
875 $(Device/uimage-lzma-loader)
879 IMAGE_SIZE := 124416k
881 IMAGES += kernel1.bin rootfs0.bin
882 IMAGE/kernel1.bin := append-kernel
883 IMAGE/rootfs0.bin := append-ubi | check-size
884 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
885 DEVICE_VENDOR := Xiaomi
886 DEVICE_MODEL := Mi Router 3G
887 SUPPORTED_DEVICES += R3G
888 SUPPORTED_DEVICES += mir3g
889 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
890 kmod-usb-ledtrig-usbport wpad-basic uboot-envtools
892 TARGET_DEVICES += xiaomi_mir3g
894 define Device/xiaomi_mir3g-v2
895 $(Device/uimage-lzma-loader)
897 DEVICE_VENDOR := Xiaomi
898 DEVICE_MODEL := Mi Router 3G
900 DEVICE_ALT0_VENDOR := Xiaomi
901 DEVICE_ALT0_MODEL := Mi Router 4A
902 DEVICE_ALT0_VARIANT := Gigabit Edition
903 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 wpad-basic
905 TARGET_DEVICES += xiaomi_mir3g-v2
907 define Device/xiaomi_mir3p
908 $(Device/uimage-lzma-loader)
913 IMAGE_SIZE := 255488k
914 DEVICE_VENDOR := Xiaomi
915 DEVICE_MODEL := Mi Router 3 Pro
916 IMAGES += factory.bin
917 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
918 IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
920 DEVICE_PACKAGES := kmod-mt7615e kmod-usb3 kmod-usb-ledtrig-usbport \
921 wpad-basic uboot-envtools
923 TARGET_DEVICES += xiaomi_mir3p
925 define Device/xiaoyu_xy-c5
927 DEVICE_VENDOR := XiaoYu
928 DEVICE_MODEL := XY-C5
929 DEVICE_PACKAGES := kmod-ata-ahci kmod-usb3
931 TARGET_DEVICES += xiaoyu_xy-c5
933 define Device/xzwifi_creativebox-v1
935 DEVICE_VENDOR := CreativeBox
937 DEVICE_PACKAGES := kmod-ata-ahci kmod-mt7603 kmod-mt76x2 kmod-sdhci-mt7620 \
940 TARGET_DEVICES += xzwifi_creativebox-v1
942 define Device/youhua_wr1200js
944 DEVICE_VENDOR := YouHua
945 DEVICE_MODEL := WR1200JS
946 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
947 kmod-usb-ledtrig-usbport wpad-basic
949 TARGET_DEVICES += youhua_wr1200js
951 define Device/youku_yk-l2
953 DEVICE_VENDOR := Youku
954 DEVICE_MODEL := YK-L2
955 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
956 kmod-usb-ledtrig-usbport wpad-basic
958 TARGET_DEVICES += youku_yk-l2
960 define Device/zbtlink_zbt-we1326
962 DEVICE_VENDOR := Zbtlink
963 DEVICE_MODEL := ZBT-WE1326
964 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-sdhci-mt7620 \
966 SUPPORTED_DEVICES += zbt-we1326
968 TARGET_DEVICES += zbtlink_zbt-we1326
970 define Device/zbtlink_zbt-we3526
972 DEVICE_VENDOR := Zbtlink
973 DEVICE_MODEL := ZBT-WE3526
974 DEVICE_PACKAGES := kmod-sdhci-mt7620 kmod-mt7603 kmod-mt76x2 kmod-usb3 \
975 kmod-usb-ledtrig-usbport wpad-basic
977 TARGET_DEVICES += zbtlink_zbt-we3526
979 define Device/zbtlink_zbt-wg2626
981 DEVICE_VENDOR := Zbtlink
982 DEVICE_MODEL := ZBT-WG2626
983 DEVICE_PACKAGES := kmod-ata-ahci kmod-sdhci-mt7620 kmod-mt76x2 kmod-usb3 \
984 kmod-usb-ledtrig-usbport wpad-basic
985 SUPPORTED_DEVICES += zbt-wg2626
987 TARGET_DEVICES += zbtlink_zbt-wg2626
989 define Device/zbtlink_zbt-wg3526-16m
991 DEVICE_VENDOR := Zbtlink
992 DEVICE_MODEL := ZBT-WG3526
993 DEVICE_VARIANT := 16M
994 DEVICE_PACKAGES := kmod-ata-ahci kmod-sdhci-mt7620 kmod-mt7603 kmod-mt76x2 \
995 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
996 SUPPORTED_DEVICES += zbt-wg3526 zbt-wg3526-16M
998 TARGET_DEVICES += zbtlink_zbt-wg3526-16m
1000 define Device/zbtlink_zbt-wg3526-32m
1001 IMAGE_SIZE := 32448k
1002 DEVICE_VENDOR := Zbtlink
1003 DEVICE_MODEL := ZBT-WG3526
1004 DEVICE_VARIANT := 32M
1005 DEVICE_PACKAGES := kmod-ata-ahci kmod-sdhci-mt7620 kmod-mt7603 kmod-mt76x2 \
1006 kmod-usb3 kmod-usb-ledtrig-usbport wpad-basic
1007 SUPPORTED_DEVICES += ac1200pro zbt-wg3526-32M
1009 TARGET_DEVICES += zbtlink_zbt-wg3526-32m
1011 define Device/zio_freezio
1012 IMAGE_SIZE := 16064k
1013 DEVICE_VENDOR := ZIO
1014 DEVICE_MODEL := FREEZIO
1015 DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 \
1016 kmod-usb-ledtrig-usbport wpad-basic
1018 TARGET_DEVICES += zio_freezio