5 define Build/tplink-header
6 $(STAGING_DIR_HOST)/bin/mktplinkfw2 -a 0x4 -V "ver. 2.0" -B $(1) \
7 -o $@.new -k $@ && mv $@.new $@
10 define Build/pad-kernel-ex2700
11 cp $@ $@.tmp && dd if=/dev/zero bs=64 count=1 >> $@.tmp \
12 && dd if=$@.tmp of=$@.new bs=64k conv=sync && truncate -s -64 $@.new \
13 && cat ex2700-fakeroot.uImage >> $@.new && rm $@.tmp && mv $@.new $@
16 define Build/netgear-header
17 $(STAGING_DIR_HOST)/bin/mkdniimg \
18 $(1) -v OpenWrt -i $@ \
19 -o $@.new && mv $@.new $@
22 define Build/poray-header
29 define Build/elecom-header
30 cp $@ $(KDIR)/v_0.0.0.bin
32 $(STAGING_DIR_HOST)/bin/md5sum $(KDIR)/v_0.0.0.bin | \
35 ) | $(STAGING_DIR_HOST)/bin/md5sum | \
36 sed 's/ .*//' > $(KDIR)/v_0.0.0.md5
37 $(STAGING_DIR_HOST)/bin/tar -cf $@ -C $(KDIR) v_0.0.0.bin v_0.0.0.md5
41 $(STAGING_DIR_HOST)/bin/zyimage $(1) $@
44 define Device/ArcherC20i
46 KERNEL := $(KERNEL_DTB)
47 KERNEL_INITRAMFS := $(KERNEL_DTB) | tplink-header ArcherC20i -c
48 IMAGE/sysupgrade.bin := append-kernel | tplink-header ArcherC20i -j -r $(KDIR)/root.squashfs | append-metadata
49 DEVICE_TITLE := TP-Link ArcherC20i
51 TARGET_DEVICES += ArcherC20i
53 define Device/ArcherC50
55 KERNEL := $(KERNEL_DTB)
56 KERNEL_INITRAMFS := $(KERNEL_DTB) | tplink-header ArcherC50 -c
57 IMAGE/sysupgrade.bin := append-kernel | tplink-header ArcherC50 -j -r $(KDIR)/root.squashfs | append-metadata
58 DEVICE_TITLE := TP-Link ArcherC50
60 TARGET_DEVICES += ArcherC50
65 IMAGE_SIZE := $(ralink_default_fw_size_4M)
67 KERNEL := $(KERNEL_DTB) | uImage lzma | pad-kernel-ex2700
68 IMAGE/factory.bin := $$(sysupgrade_bin) | netgear-header -B EX2700 -H 29764623+4+0+32+2x2+0
69 DEVICE_TITLE := Netgear EX2700
71 TARGET_DEVICES += ex2700
73 define Device/wt3020-4M
76 IMAGE_SIZE := $(ralink_default_fw_size_4M)
78 SUPPORTED_DEVICES := wt3020
79 IMAGE/factory.bin := $$(sysupgrade_bin) | poray-header -B WT3020 -F 4M
80 DEVICE_TITLE := Nexx WT3020 (4MB)
82 TARGET_DEVICES += wt3020-4M
84 define Device/wt3020-8M
87 SUPPORTED_DEVICES := wt3020
88 IMAGE/factory.bin := $$(sysupgrade_bin) | poray-header -B WT3020 -F 8M
89 DEVICE_TITLE := Nexx WT3020 (8MB)
91 TARGET_DEVICES += wt3020-8M
93 define Device/wrh-300cr
95 IMAGE_SIZE := $(ralink_default_fw_size_16M)
97 IMAGE/factory.bin := $$(sysupgrade_bin) | elecom-header
98 DEVICE_TITLE := Elecom WRH-300CR
99 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
101 TARGET_DEVICES += wrh-300cr
105 IMAGES += factory.bin
106 IMAGE/factory.bin := $$(sysupgrade_bin) | umedia-header 0x013326
107 DEVICE_TITLE := Linksys E1700
109 TARGET_DEVICES += e1700
111 define Device/ai-br100
114 DEVICE_TITLE := Aigale Ai-BR100
115 DEVICE_PACKAGES:= kmod-usb2 kmod-usb-ohci
117 TARGET_DEVICES += ai-br100
119 define Device/whr-300hp2
122 DEVICE_TITLE := Buffalo WHR-300HP2
124 TARGET_DEVICES += whr-300hp2
126 define Device/whr-600d
129 DEVICE_TITLE := Buffalo WHR-600D
131 TARGET_DEVICES += whr-600d
133 define Device/whr-1166d
136 DEVICE_TITLE := Buffalo WHR-1166D
138 TARGET_DEVICES += whr-1166d
140 define Device/dir-810l
143 DEVICE_TITLE := D-Link DIR-810L
145 TARGET_DEVICES += dir-810l
150 DEVICE_TITLE := Sercomm NA930
152 TARGET_DEVICES += na930
154 define Device/microwrt
157 DEVICE_TITLE := Microduino MicroWRT
159 TARGET_DEVICES += microwrt
161 define Device/mt7620a
163 DEVICE_TITLE := MediaTek MT7620a EVB
165 TARGET_DEVICES += mt7620a
167 define Device/mt7620a_mt7610e
168 DTS := MT7620a_MT7610e
169 DEVICE_TITLE := MediaTek MT7620a + MT7610e EVB
171 TARGET_DEVICES += mt7620a_mt7610e
173 define Device/mt7620a_mt7530
174 DTS := MT7620a_MT7530
175 DEVICE_TITLE := MediaTek MT7620a + MT7530 EVB
177 TARGET_DEVICES += mt7620a_mt7530
179 define Device/mt7620a_v22sg
181 DEVICE_TITLE := MediaTek MT7620a V22SG
183 TARGET_DEVICES += mt7620a_v22sg
187 DEVICE_TITLE := Asus RP-N53
189 TARGET_DEVICES += rp-n53
191 define Device/cf-wr800n
193 DEVICE_TITLE := Comfast CF-WR800N
195 TARGET_DEVICES += cf-wr800n
197 define Device/cs-qr10
199 DEVICE_TITLE := Planex CS-QR10
200 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-i2c-core kmod-i2c-ralink kmod-sound-core kmod-sound-mtk kmod-sdhci-mt7620
202 TARGET_DEVICES += cs-qr10
204 define Device/db-wrt01
206 DEVICE_TITLE := Planex DB-WRT01
208 TARGET_DEVICES += db-wrt01
210 define Device/mzk-750dhp
212 DEVICE_TITLE := Planex MZK-750DHP
213 DEVICE_PACKAGES := kmod-mt76
215 TARGET_DEVICES += mzk-750dhp
217 define Device/mzk-ex300np
219 DEVICE_TITLE := Planex MZK-EX300NP
221 TARGET_DEVICES += mzk-ex300np
223 define Device/mzk-ex750np
225 DEVICE_TITLE := Planex MZK-EX750NP
226 DEVICE_PACKAGES := kmod-mt76
228 TARGET_DEVICES += mzk-ex750np
232 IMAGE_SIZE := $(ralink_default_fw_size_16M)
233 DEVICE_TITLE := HiWiFi HC5661
234 DEVICE_PACKAGES := kmod-usb2 kmod-sdhci kmod-sdhci-mt7620 kmod-usb-ledtrig-usbport
236 TARGET_DEVICES += hc5661
240 IMAGE_SIZE := $(ralink_default_fw_size_16M)
241 DEVICE_TITLE := HiWiFi HC5761
242 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-sdhci kmod-sdhci-mt7620 kmod-usb-ledtrig-usbport
244 TARGET_DEVICES += hc5761
248 IMAGE_SIZE := $(ralink_default_fw_size_16M)
249 DEVICE_TITLE := HiWiFi HC5861
250 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-sdhci kmod-sdhci-mt7620 kmod-usb-ledtrig-usbport
252 TARGET_DEVICES += hc5861
254 define Device/oy-0001
256 IMAGE_SIZE := $(ralink_default_fw_size_16M)
257 DEVICE_TITLE := Oh Yeah OY-0001
259 TARGET_DEVICES += oy-0001
261 define Device/psg1208
263 DEVICE_TITLE := Phicomm PSG1208
264 DEVICE_PACKAGES := kmod-mt76
266 TARGET_DEVICES += psg1208
268 define Device/psg1218
270 DEVICE_TITLE := Phicomm PSG1218
271 DEVICE_PACKAGES := kmod-mt76
273 TARGET_DEVICES += psg1218
277 IMAGE_SIZE := $(ralink_default_fw_size_16M)
278 DEVICE_TITLE := Lenovo Y1
284 IMAGE_SIZE := $(ralink_default_fw_size_16M)
285 DEVICE_TITLE := Lenovo Y1S
287 TARGET_DEVICES += y1s
291 IMAGE_SIZE := $(ralink_default_fw_size_16M)
292 DEVICE_TITLE := Kingston MLW221
294 TARGET_DEVICES += mlw221
298 IMAGE_SIZE := $(ralink_default_fw_size_16M)
299 DEVICE_TITLE := Kingston MLWG2
301 TARGET_DEVICES += mlwg2
303 define Device/wmr-300
305 DEVICE_TITLE := Buffalo WMR-300
307 TARGET_DEVICES += wmr-300
309 define Device/rt-n14u
311 DEVICE_TITLE := Asus RT-N14u
313 TARGET_DEVICES += rt-n14u
315 define Device/wrtnode
317 IMAGE_SIZE := $(ralink_default_fw_size_16M)
318 DEVICE_TITLE := WRTNode
320 TARGET_DEVICES += wrtnode
322 define Device/miwifi-mini
324 IMAGE_SIZE := $(ralink_default_fw_size_16M)
325 DEVICE_TITLE := Xiaomi MiWiFi Mini
326 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
328 TARGET_DEVICES += miwifi-mini
330 define Device/gl-mt300a
332 IMAGE_SIZE := $(ralink_default_fw_size_16M)
333 DEVICE_TITLE := GL-Inet GL-MT300A
334 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-mt76
336 TARGET_DEVICES += gl-mt300a
338 define Device/gl-mt300n
340 IMAGE_SIZE := $(ralink_default_fw_size_16M)
341 DEVICE_TITLE := GL-Inet GL-MT300N
342 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-mt76
344 TARGET_DEVICES += gl-mt300n
346 define Device/gl-mt750
348 IMAGE_SIZE := $(ralink_default_fw_size_16M)
349 DEVICE_TITLE := GL-Inet GL-MT750
350 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-mt76
352 TARGET_DEVICES += gl-mt750
356 DEVICE_TITLE := ZTE Q7
358 TARGET_DEVICES += zte-q7
360 define Device/youku-yk1
362 IMAGE_SIZE := $(ralink_default_fw_size_16M)
363 DEVICE_TITLE := YOUKU YK1
365 TARGET_DEVICES += youku-yk1
367 define Device/zbt-ape522ii
369 DEVICE_TITLE := Zbtlink ZBT-APE522II
370 DEVICE_PACKAGES := kmod-mt76
372 TARGET_DEVICES += zbt-ape522ii
374 define Device/zbt-cpe102
376 DEVICE_TITLE := Zbtlink ZBT-CPE102
377 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
379 TARGET_DEVICES += zbt-cpe102
381 define Device/zbt-wa05
383 DEVICE_TITLE := Zbtlink ZBT-WA05
385 TARGET_DEVICES += zbt-wa05
387 define Device/zbt-we826
389 IMAGE_SIZE := $(ralink_default_fw_size_16M)
390 DEVICE_TITLE := Zbtlink ZBT-WE826
391 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-mt76 kmod-sdhci-mt7620
393 TARGET_DEVICES += zbt-we826
395 define Device/zbt-wr8305rt
397 DEVICE_TITLE := Zbtlink ZBT-WR8305RT
399 TARGET_DEVICES += zbt-wr8305rt
401 define Device/tiny-ac
403 DEVICE_TITLE := Dovado Tiny AC
404 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
406 TARGET_DEVICES += tiny-ac
408 define Device/dch-m225
411 IMAGES += factory.bin
413 IMAGE/sysupgrade.bin := \
414 append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs | \
415 seama -m "dev=/dev/mtdblock/2" -m "type=firmware" | \
416 pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
417 IMAGE/factory.bin := \
418 append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | \
419 append-rootfs | pad-rootfs -x 64 | \
420 seama -m "dev=/dev/mtdblock/2" -m "type=firmware" | \
421 seama-seal -m "signature=wapn22_dlink.2013gui_dap1320b" | \
422 check-size $$$$(IMAGE_SIZE)
423 DEVICE_TITLE := D-Link DCH-M225
424 DEVICE_PACKAGES := kmod-mt76
426 TARGET_DEVICES += dch-m225
430 IMAGE_SIZE := $(ralink_default_fw_size_16M)
431 DEVICE_TITLE := ZyXEL Keenetic Viva
432 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport kmod-switch-rtl8366-smi kmod-switch-rtl8367b
433 IMAGES += factory.bin
434 IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | zyimage -d 8997 -v "ZyXEL Keenetic Viva"
436 TARGET_DEVICES += kng_rc