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/seama -i $@ $(1)
45 define Build/seama-seal
46 $(call Build/seama,-s $@.seama $(1))
49 define Device/ArcherC20i
51 KERNEL := $(KERNEL_DTB)
52 KERNEL_INITRAMFS := $(KERNEL_DTB) | tplink-header ArcherC20i -c
53 IMAGE/sysupgrade.bin := append-kernel | tplink-header ArcherC20i -j -r $(KDIR)/root.squashfs
54 DEVICE_TITLE := TP-Link ArcherC20i
56 TARGET_DEVICES += ArcherC20i
58 define Device/ArcherC50
60 KERNEL := $(KERNEL_DTB)
61 KERNEL_INITRAMFS := $(KERNEL_DTB) | tplink-header ArcherC50 -c
62 IMAGE/sysupgrade.bin := append-kernel | tplink-header ArcherC50 -j -r $(KDIR)/root.squashfs
63 DEVICE_TITLE := TP-Link ArcherC50
65 TARGET_DEVICES += ArcherC50
69 IMAGE_SIZE := $(ralink_default_fw_size_4M)
71 KERNEL := $(KERNEL_DTB) | uImage lzma | pad-kernel-ex2700
72 IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | netgear-header -B EX2700 -H 29764623+4+0+32+2x2+0
73 DEVICE_TITLE := Netgear EX2700
75 TARGET_DEVICES += ex2700
77 define Device/wt3020-4M
79 IMAGE_SIZE := $(ralink_default_fw_size_4M)
81 IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | poray-header -B WT3020 -F 4M
82 DEVICE_TITLE := Nexx WT3020 (4MB)
84 TARGET_DEVICES += wt3020-4M
86 define Device/wt3020-8M
88 IMAGE_SIZE := $(ralink_default_fw_size_8M)
90 IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | poray-header -B WT3020 -F 8M
91 DEVICE_TITLE := Nexx WT3020 (8MB)
93 TARGET_DEVICES += wt3020-8M
95 define Device/wrh-300cr
97 IMAGE_SIZE := $(ralink_default_fw_size_16M)
99 IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | elecom-header
100 DEVICE_TITLE := Elecom WRH-300CR
101 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
103 TARGET_DEVICES += wrh-300cr
107 IMAGES += factory.bin
108 IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | umedia-header 0x013326
109 DEVICE_TITLE := Linksys E1700
111 TARGET_DEVICES += e1700
113 define Device/ai-br100
116 DEVICE_TITLE := Aigale Ai-BR100
117 DEVICE_PACKAGES:= kmod-usb2 kmod-usb-ohci
119 TARGET_DEVICES += ai-br100
121 define Device/whr-300hp2
124 DEVICE_TITLE := Buffalo WHR-300HP2
126 TARGET_DEVICES += whr-300hp2
128 define Device/whr-600d
131 DEVICE_TITLE := Buffalo WHR-600D
133 TARGET_DEVICES += whr-600d
135 define Device/whr-1166d
138 DEVICE_TITLE := Buffalo WHR-1166D
140 TARGET_DEVICES += whr-1166d
142 define Device/dir-810l
145 DEVICE_TITLE := D-Link DIR-810L
147 TARGET_DEVICES += dir-810l
152 DEVICE_TITLE := Sercomm NA930
154 TARGET_DEVICES += na930
156 define Device/microwrt
159 DEVICE_TITLE := Microduino MicroWRT
161 TARGET_DEVICES += microwrt
163 define Device/mt7620a
165 IMAGE_SIZE := $(ralink_default_fw_size_8M)
166 DEVICE_TITLE := MediaTek MT7620a EVB
168 TARGET_DEVICES += mt7620a
170 define Device/mt7620a_mt7610e
171 DTS := MT7620a_MT7610e
172 IMAGE_SIZE := $(ralink_default_fw_size_8M)
173 DEVICE_TITLE := MediaTek MT7620a + MT7610e EVB
175 TARGET_DEVICES += mt7620a_mt7610e
177 define Device/mt7620a_mt7530
178 DTS := MT7620a_MT7530
179 IMAGE_SIZE := $(ralink_default_fw_size_8M)
180 DEVICE_TITLE := MediaTek MT7620a + MT7530 EVB
182 TARGET_DEVICES += mt7620a_mt7530
184 define Device/mt7620a_v22sg
186 IMAGE_SIZE := $(ralink_default_fw_size_8M)
187 DEVICE_TITLE := MediaTek MT7620a V22SG
189 TARGET_DEVICES += mt7620a_v22sg
193 IMAGE_SIZE := $(ralink_default_fw_size_8M)
194 DEVICE_TITLE := Asus RP-N53
196 TARGET_DEVICES += rp-n53
198 define Device/cf-wr800n
200 IMAGE_SIZE := $(ralink_default_fw_size_8M)
201 DEVICE_TITLE := Comfast CF-WR800N
203 TARGET_DEVICES += cf-wr800n
205 define Device/cs-qr10
207 IMAGE_SIZE := $(ralink_default_fw_size_8M)
208 DEVICE_TITLE := Planex CS-QR10
209 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-i2c-core kmod-i2c-ralink kmod-sound-core kmod-sound-mtk kmod-sdhci-mt7620
211 TARGET_DEVICES += cs-qr10
213 define Device/db-wrt01
215 IMAGE_SIZE := $(ralink_default_fw_size_8M)
216 DEVICE_TITLE := Planex DB-WRT01
218 TARGET_DEVICES += db-wrt01
220 define Device/mzk-750dhp
222 IMAGE_SIZE := $(ralink_default_fw_size_8M)
223 DEVICE_TITLE := Planex MZK-750DHP
224 DEVICE_PACKAGES := kmod-mt76
226 TARGET_DEVICES += mzk-750dhp
228 define Device/mzk-ex300np
230 IMAGE_SIZE := $(ralink_default_fw_size_8M)
231 DEVICE_TITLE := Planex MZK-EX300NP
233 TARGET_DEVICES += mzk-ex300np
235 define Device/mzk-ex750np
237 IMAGE_SIZE := $(ralink_default_fw_size_8M)
238 DEVICE_TITLE := Planex MZK-EX750NP
239 DEVICE_PACKAGES := kmod-mt76
241 TARGET_DEVICES += mzk-ex750np
245 IMAGE_SIZE := $(ralink_default_fw_size_16M)
246 DEVICE_TITLE := HiWiFi HC5661
247 DEVICE_PACKAGES := kmod-usb2 kmod-sdhci kmod-sdhci-mt7620 kmod-ledtrig-usbdev
249 TARGET_DEVICES += hc5661
253 IMAGE_SIZE := $(ralink_default_fw_size_16M)
254 DEVICE_TITLE := HiWiFi HC5761
255 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-sdhci kmod-sdhci-mt7620 kmod-ledtrig-usbdev
257 TARGET_DEVICES += hc5761
261 IMAGE_SIZE := $(ralink_default_fw_size_16M)
262 DEVICE_TITLE := HiWiFi HC5861
263 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-sdhci kmod-sdhci-mt7620 kmod-ledtrig-usbdev
265 TARGET_DEVICES += hc5861
267 define Device/oy-0001
269 IMAGE_SIZE := $(ralink_default_fw_size_16M)
270 DEVICE_TITLE := Oh Yeah OY-0001
272 TARGET_DEVICES += oy-0001
274 define Device/psg1208
276 IMAGE_SIZE := $(ralink_default_fw_size_8M)
277 DEVICE_TITLE := Phicomm PSG1208
278 DEVICE_PACKAGES := kmod-mt76
280 TARGET_DEVICES += psg1208
284 IMAGE_SIZE := $(ralink_default_fw_size_16M)
285 DEVICE_TITLE := Lenovo Y1
291 IMAGE_SIZE := $(ralink_default_fw_size_16M)
292 DEVICE_TITLE := Lenovo Y1S
294 TARGET_DEVICES += y1s
298 IMAGE_SIZE := $(ralink_default_fw_size_16M)
299 DEVICE_TITLE := Kingston MLW221
301 TARGET_DEVICES += mlw221
305 IMAGE_SIZE := $(ralink_default_fw_size_16M)
306 DEVICE_TITLE := Kingston MLWG2
308 TARGET_DEVICES += mlwg2
310 define Device/wmr-300
312 IMAGE_SIZE := $(ralink_default_fw_size_8M)
313 DEVICE_TITLE := Buffalo WMR-300
315 TARGET_DEVICES += wmr-300
317 define Device/rt-n14u
319 IMAGE_SIZE := $(ralink_default_fw_size_8M)
320 DEVICE_TITLE := Asus RT-N14u
322 TARGET_DEVICES += rt-n14u
324 define Device/wrtnode
326 IMAGE_SIZE := $(ralink_default_fw_size_16M)
327 DEVICE_TITLE := WRTNode
329 TARGET_DEVICES += wrtnode
331 define Device/miwifi-mini
333 IMAGE_SIZE := $(ralink_default_fw_size_16M)
334 DEVICE_TITLE := Xiaomi MiWiFi Mini
335 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
337 TARGET_DEVICES += miwifi-mini
339 define Device/gl-mt300a
341 IMAGE_SIZE := $(ralink_default_fw_size_16M)
342 DEVICE_TITLE := GL-Inet GL-MT300A
343 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-mt76
345 TARGET_DEVICES += gl-mt300a
347 define Device/gl-mt300n
349 IMAGE_SIZE := $(ralink_default_fw_size_16M)
350 DEVICE_TITLE := GL-Inet GL-MT300N
351 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-mt76
353 TARGET_DEVICES += gl-mt300n
355 define Device/gl-mt750
357 IMAGE_SIZE := $(ralink_default_fw_size_16M)
358 DEVICE_TITLE := GL-Inet GL-MT750
359 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-mt76
361 TARGET_DEVICES += gl-mt750
365 IMAGE_SIZE := $(ralink_default_fw_size_8M)
366 DEVICE_TITLE := ZTE Q7
368 TARGET_DEVICES += zte-q7
370 define Device/youku-yk1
372 IMAGE_SIZE := $(ralink_default_fw_size_16M)
373 DEVICE_TITLE := YOUKU YK1
375 TARGET_DEVICES += youku-yk1
377 define Device/zbt-ape522ii
379 IMAGE_SIZE := $(ralink_default_fw_size_8M)
380 DEVICE_TITLE := Zbtlink ZBT-APE522II
381 DEVICE_PACKAGES := kmod-mt76
383 TARGET_DEVICES += zbt-ape522ii
385 define Device/zbt-wa05
387 IMAGE_SIZE := $(ralink_default_fw_size_8M)
388 DEVICE_TITLE := Zbtlink ZBT-WA05
390 TARGET_DEVICES += zbt-wa05
392 define Device/zbt-we826
394 IMAGE_SIZE := $(ralink_default_fw_size_16M)
395 DEVICE_TITLE := Zbtlink ZBT-WE826
396 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-mt76 kmod-sdhci-mt7620
398 TARGET_DEVICES += zbt-we826
400 define Device/zbt-wr8305rt
402 IMAGE_SIZE := $(ralink_default_fw_size_8M)
403 DEVICE_TITLE := Zbtlink ZBT-WR8305RT
405 TARGET_DEVICES += zbt-wr8305rt
407 define Device/tiny-ac
409 IMAGE_SIZE := $(ralink_default_fw_size_8M)
410 DEVICE_TITLE := Dovado Tiny AC
411 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
413 TARGET_DEVICES += tiny-ac
415 define Device/dch-m225
417 IMAGES += factory.bin
419 IMAGE/sysupgrade.bin := \
420 append-kernel | pad-offset 65536 64 | append-rootfs | \
421 seama -m "dev=/dev/mtdblock/2" -m "type=firmware" | \
422 pad-rootfs | check-size $$$$(IMAGE_SIZE)
423 IMAGE/factory.bin := \
424 append-kernel | pad-offset 65536 64 | append-rootfs | pad-rootfs -x 64 | \
425 seama -m "dev=/dev/mtdblock/2" -m "type=firmware" | \
426 seama-seal -m "signature=wapn22_dlink.2013gui_dap1320b" | \
427 check-size $$$$(IMAGE_SIZE)
428 DEVICE_TITLE := D-Link DCH-M225
429 DEVICE_PACKAGES := kmod-mt76
431 TARGET_DEVICES += dch-m225