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/umedia-header
30 fix-u-media-header -T 0x46 -B $(1) -i $@ -o $@.new && mv $@.new $@
33 define Build/elecom-header
34 cp $@ $(KDIR)/v_0.0.0.bin
36 $(STAGING_DIR_HOST)/bin/md5sum $(KDIR)/v_0.0.0.bin | \
39 ) | $(STAGING_DIR_HOST)/bin/md5sum | \
40 sed 's/ .*//' > $(KDIR)/v_0.0.0.md5
41 $(STAGING_DIR_HOST)/bin/tar -cf $@ -C $(KDIR) v_0.0.0.bin v_0.0.0.md5
45 $(STAGING_DIR_HOST)/bin/seama -i $@ $(1)
49 define Build/seama-seal
50 $(call Build/seama,-s $@.seama $(1))
53 define Device/ArcherC20i
55 KERNEL := $(KERNEL_DTB)
56 KERNEL_INITRAMFS := $(KERNEL_DTB) | tplink-header ArcherC20i -c
57 IMAGE/sysupgrade.bin := append-kernel | tplink-header ArcherC20i -j -r $(KDIR)/root.squashfs
58 DEVICE_TITLE := TP-Link ArcherC20i
60 TARGET_DEVICES += ArcherC20i
62 define Device/ArcherC50
64 KERNEL := $(KERNEL_DTB)
65 KERNEL_INITRAMFS := $(KERNEL_DTB) | tplink-header ArcherC50 -c
66 IMAGE/sysupgrade.bin := append-kernel | tplink-header ArcherC50 -j -r $(KDIR)/root.squashfs
67 DEVICE_TITLE := TP-Link ArcherC50
69 TARGET_DEVICES += ArcherC50
71 ex2700_mtd_size=3866624
74 IMAGE_SIZE := $(ex2700_mtd_size)
76 KERNEL := $(KERNEL_DTB) | uImage lzma | pad-kernel-ex2700
77 IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | netgear-header -B EX2700 -H 29764623+4+0+32+2x2+0
78 DEVICE_TITLE := Netgear EX2700
80 TARGET_DEVICES += ex2700
82 define Device/wt3020-4M
84 IMAGE_SIZE := $(ralink_default_fw_size_4M)
86 IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | poray-header -B WT3020 -F 4M
87 DEVICE_TITLE := Nexx WT3020 (4MB)
89 TARGET_DEVICES += wt3020-4M
91 define Device/wt3020-8M
93 IMAGE_SIZE := $(ralink_default_fw_size_8M)
95 IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | poray-header -B WT3020 -F 8M
96 DEVICE_TITLE := Nexx WT3020 (8MB)
98 TARGET_DEVICES += wt3020-8M
100 define Device/wrh-300cr
102 IMAGE_SIZE := $(ralink_default_fw_size_16M)
103 IMAGES += factory.bin
104 IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | elecom-header
105 DEVICE_TITLE := Elecom WRH-300CR
106 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
108 TARGET_DEVICES += wrh-300cr
112 IMAGES += factory.bin
113 IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | umedia-header 0x013326
114 DEVICE_TITLE := Linksys E1700
116 TARGET_DEVICES += e1700
118 br100_mtd_size=8126464
119 define Device/ai-br100
121 IMAGE_SIZE := $(br100_mtd_size)
122 DEVICE_TITLE := Aigale Ai-BR100
123 DEVICE_PACKAGES:= kmod-usb2 kmod-usb-ohci
125 TARGET_DEVICES += ai-br100
127 whr_300hp2_mtd_size=7012352
128 define Device/whr-300hp2
130 IMAGE_SIZE := $(whr_300hp2_mtd_size)
131 DEVICE_TITLE := Buffalo WHR-300HP2
133 TARGET_DEVICES += whr-300hp2
135 define Device/whr-600d
137 IMAGE_SIZE := $(whr_300hp2_mtd_size)
138 DEVICE_TITLE := Buffalo WHR-600D
140 TARGET_DEVICES += whr-600d
142 whr_1166d_mtd_size=15400960
143 define Device/whr-1166d
145 IMAGE_SIZE := $(whr_1166d_mtd_size)
146 DEVICE_TITLE := Buffalo WHR-1166D
148 TARGET_DEVICES += whr-1166d
150 dlink810l_mtd_size=6881280
151 define Device/dir-810l
153 IMAGE_SIZE := $(dlink810l_mtd_size)
154 DEVICE_TITLE := D-Link DIR-810L
156 TARGET_DEVICES += dir-810l
158 na930_mtd_size=20971520
161 IMAGE_SIZE := $(na930_mtd_size)
162 DEVICE_TITLE := Sercomm NA930
164 TARGET_DEVICES += na930
166 microwrt_mtd_size=16515072
167 define Device/microwrt
169 IMAGE_SIZE := $(microwrt_mtd_size)
170 DEVICE_TITLE := Microduino MicroWRT
172 TARGET_DEVICES += microwrt
174 define Device/mt7620a
176 IMAGE_SIZE := $(ralink_default_fw_size_8M)
177 DEVICE_TITLE := MediaTek MT7620a EVB
179 TARGET_DEVICES += mt7620a
181 define Device/mt7620a_mt7610e
182 DTS := MT7620a_MT7610e
183 IMAGE_SIZE := $(ralink_default_fw_size_8M)
184 DEVICE_TITLE := MediaTek MT7620a + MT7610e EVB
186 TARGET_DEVICES += mt7620a_mt7610e
188 define Device/mt7620a_mt7530
189 DTS := MT7620a_MT7530
190 IMAGE_SIZE := $(ralink_default_fw_size_8M)
191 DEVICE_TITLE := MediaTek MT7620a + MT7530 EVB
193 TARGET_DEVICES += mt7620a_mt7530
195 define Device/mt7620a_v22sg
197 IMAGE_SIZE := $(ralink_default_fw_size_8M)
198 DEVICE_TITLE := MediaTek MT7620a V22SG
200 TARGET_DEVICES += mt7620a_v22sg
204 IMAGE_SIZE := $(ralink_default_fw_size_8M)
205 DEVICE_TITLE := Asus RP-N53
207 TARGET_DEVICES += rp-n53
209 define Device/cf-wr800n
211 IMAGE_SIZE := $(ralink_default_fw_size_8M)
212 DEVICE_TITLE := Comfast CF-WR800N
214 TARGET_DEVICES += cf-wr800n
216 define Device/cs-qr10
218 IMAGE_SIZE := $(ralink_default_fw_size_8M)
219 DEVICE_TITLE := Planex CS-QR10
220 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-i2c-core kmod-i2c-ralink kmod-sound-core kmod-sound-mtk kmod-sdhci-mt7620
222 TARGET_DEVICES += cs-qr10
224 define Device/db-wrt01
226 IMAGE_SIZE := $(ralink_default_fw_size_8M)
227 DEVICE_TITLE := Planex DB-WRT01
229 TARGET_DEVICES += db-wrt01
231 define Device/mzk-750dhp
233 IMAGE_SIZE := $(ralink_default_fw_size_8M)
234 DEVICE_TITLE := Planex MZK-750DHP
235 DEVICE_PACKAGES := kmod-mt76
237 TARGET_DEVICES += mzk-750dhp
239 define Device/mzk-ex300np
241 IMAGE_SIZE := $(ralink_default_fw_size_8M)
242 DEVICE_TITLE := Planex MZK-EX300NP
244 TARGET_DEVICES += mzk-ex300np
246 define Device/mzk-ex750np
248 IMAGE_SIZE := $(ralink_default_fw_size_8M)
249 DEVICE_TITLE := Planex MZK-EX750NP
250 DEVICE_PACKAGES := kmod-mt76
252 TARGET_DEVICES += mzk-ex750np
256 IMAGE_SIZE := $(ralink_default_fw_size_16M)
257 DEVICE_TITLE := HiWiFi HC5661
258 DEVICE_PACKAGES := kmod-usb2 kmod-sdhci kmod-sdhci-mt7620 kmod-ledtrig-usbdev
260 TARGET_DEVICES += hc5661
264 IMAGE_SIZE := $(ralink_default_fw_size_16M)
265 DEVICE_TITLE := HiWiFi HC5761
266 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-sdhci kmod-sdhci-mt7620 kmod-ledtrig-usbdev
268 TARGET_DEVICES += hc5761
272 IMAGE_SIZE := $(ralink_default_fw_size_16M)
273 DEVICE_TITLE := HiWiFi HC5861
274 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-sdhci kmod-sdhci-mt7620 kmod-ledtrig-usbdev
276 TARGET_DEVICES += hc5861
278 define Device/oy-0001
280 IMAGE_SIZE := $(ralink_default_fw_size_16M)
281 DEVICE_TITLE := Oh Yeah OY-0001
283 TARGET_DEVICES += oy-0001
285 define Device/psg1208
287 IMAGE_SIZE := $(ralink_default_fw_size_8M)
288 DEVICE_TITLE := Phicomm PSG1208
289 DEVICE_PACKAGES := kmod-mt76
291 TARGET_DEVICES += psg1208
295 IMAGE_SIZE := $(ralink_default_fw_size_16M)
296 DEVICE_TITLE := Lenovo Y1
302 IMAGE_SIZE := $(ralink_default_fw_size_16M)
303 DEVICE_TITLE := Lenovo Y1S
305 TARGET_DEVICES += y1s
309 IMAGE_SIZE := $(ralink_default_fw_size_16M)
310 DEVICE_TITLE := Kingston MLW221
312 TARGET_DEVICES += mlw221
316 IMAGE_SIZE := $(ralink_default_fw_size_16M)
317 DEVICE_TITLE := Kingston MLWG2
319 TARGET_DEVICES += mlwg2
321 define Device/wmr-300
323 IMAGE_SIZE := $(ralink_default_fw_size_8M)
324 DEVICE_TITLE := Buffalo WMR-300
326 TARGET_DEVICES += wmr-300
328 define Device/rt-n14u
330 IMAGE_SIZE := $(ralink_default_fw_size_8M)
331 DEVICE_TITLE := Asus RT-N14u
333 TARGET_DEVICES += rt-n14u
335 define Device/wrtnode
337 IMAGE_SIZE := $(ralink_default_fw_size_16M)
338 DEVICE_TITLE := WRTNode
340 TARGET_DEVICES += wrtnode
342 define Device/miwifi-mini
344 IMAGE_SIZE := $(ralink_default_fw_size_16M)
345 DEVICE_TITLE := Xiaomi MiWiFi Mini
346 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
348 TARGET_DEVICES += miwifi-mini
350 define Device/gl-mt300a
352 IMAGE_SIZE := $(ralink_default_fw_size_16M)
353 DEVICE_TITLE := GL-Inet GL-MT300A
354 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-mt76
356 TARGET_DEVICES += gl-mt300a
358 define Device/gl-mt300n
360 IMAGE_SIZE := $(ralink_default_fw_size_16M)
361 DEVICE_TITLE := GL-Inet GL-MT300N
362 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-mt76
364 TARGET_DEVICES += gl-mt300n
366 define Device/gl-mt750
368 IMAGE_SIZE := $(ralink_default_fw_size_16M)
369 DEVICE_TITLE := GL-Inet GL-MT750
370 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-mt76
372 TARGET_DEVICES += gl-mt750
376 IMAGE_SIZE := $(ralink_default_fw_size_8M)
377 DEVICE_TITLE := ZTE Q7
379 TARGET_DEVICES += zte-q7
381 define Device/youku-yk1
383 IMAGE_SIZE := $(ralink_default_fw_size_16M)
384 DEVICE_TITLE := YOUKU YK1
386 TARGET_DEVICES += youku-yk1
388 define Device/zbt-ape522ii
390 IMAGE_SIZE := $(ralink_default_fw_size_8M)
391 DEVICE_TITLE := Zbtlink ZBT-APE522II
392 DEVICE_PACKAGES := kmod-mt76
394 TARGET_DEVICES += zbt-ape522ii
396 define Device/zbt-wa05
398 IMAGE_SIZE := $(ralink_default_fw_size_8M)
399 DEVICE_TITLE := Zbtlink ZBT-WA05
401 TARGET_DEVICES += zbt-wa05
403 define Device/zbt-we826
405 IMAGE_SIZE := $(ralink_default_fw_size_16M)
406 DEVICE_TITLE := Zbtlink ZBT-WE826
407 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-mt76 kmod-sdhci-mt7620
409 TARGET_DEVICES += zbt-we826
411 define Device/zbt-wr8305rt
413 IMAGE_SIZE := $(ralink_default_fw_size_8M)
414 DEVICE_TITLE := Zbtlink ZBT-WR8305RT
416 TARGET_DEVICES += zbt-wr8305rt
418 define Device/tiny-ac
420 IMAGE_SIZE := $(ralink_default_fw_size_8M)
421 DEVICE_TITLE := Dovado Tiny AC
422 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
424 TARGET_DEVICES += tiny-ac
426 dch_m225_mtd_size=7012352
427 define Device/dch-m225
429 IMAGES += factory.bin
430 IMAGE_SIZE := $(dch_m225_mtd_size)
431 IMAGE/sysupgrade.bin := \
432 append-kernel | pad-offset 65536 64 | append-rootfs | \
433 seama -m "dev=/dev/mtdblock/2" -m "type=firmware" | \
434 pad-rootfs | check-size $$$$(IMAGE_SIZE)
435 IMAGE/factory.bin := \
436 append-kernel | pad-offset 65536 64 | append-rootfs | pad-rootfs -x 64 | \
437 seama -m "dev=/dev/mtdblock/2" -m "type=firmware" | \
438 seama-seal -m "signature=wapn22_dlink.2013gui_dap1320b" | \
439 check-size $$$$(IMAGE_SIZE)
440 DEVICE_TITLE := D-Link DCH-M225
441 DEVICE_PACKAGES := kmod-mt76
443 TARGET_DEVICES += dch-m225