608b51766fa4f969d752f8367b64dbb3fc878183
[openwrt/openwrt.git] / target / linux / ath79 / image / generic.mk
1 include ./common-buffalo.mk
2 include ./common-netgear.mk
3 include ./common-senao.mk
4 include ./common-tp-link.mk
5 include ./common-yuncore.mk
6 include ./common-ubnt.mk
7
8 DEVICE_VARS += ADDPATTERN_ID ADDPATTERN_VERSION
9 DEVICE_VARS += SEAMA_SIGNATURE SEAMA_MTDBLOCK
10 DEVICE_VARS += KERNEL_INITRAMFS_PREFIX DAP_SIGNATURE
11 DEVICE_VARS += EDIMAX_HEADER_MAGIC EDIMAX_HEADER_MODEL
12 DEVICE_VARS += OPENMESH_CE_TYPE ZYXEL_MODEL_STRING
13 DEVICE_VARS += SUPPORTED_TELTONIKA_DEVICES
14
15 define Build/addpattern
16 -$(STAGING_DIR_HOST)/bin/addpattern -B $(ADDPATTERN_ID) \
17 -v v$(ADDPATTERN_VERSION) -i $@ -o $@.new
18 -mv "$@.new" "$@"
19 endef
20
21 define Build/append-md5sum-bin
22 $(MKHASH) md5 $@ | sed 's/../\\\\x&/g' |\
23 xargs echo -ne >> $@
24 endef
25
26 define Build/cybertan-trx
27 @echo -n '' > $@-empty.bin
28 -$(STAGING_DIR_HOST)/bin/trx -o $@.new \
29 -f $(IMAGE_KERNEL) -F $@-empty.bin \
30 -x 32 -a 0x10000 -x -32 -f $@
31 -mv "$@.new" "$@"
32 -rm $@-empty.bin
33 endef
34
35 define Build/edimax-headers
36 $(eval edimax_magic=$(word 1,$(1)))
37 $(eval edimax_model=$(word 2,$(1)))
38
39 $(STAGING_DIR_HOST)/bin/edimax_fw_header -M $(edimax_magic) -m $(edimax_model)\
40 -v $(VERSION_DIST)$(firstword $(subst +, , $(firstword $(subst -, ,$(REVISION))))) \
41 -n "uImage" \
42 -i $(KDIR)/loader-$(DEVICE_NAME).uImage \
43 -o $@.uImage
44 $(STAGING_DIR_HOST)/bin/edimax_fw_header -M $(edimax_magic) -m $(edimax_model)\
45 -v $(VERSION_DIST)$(firstword $(subst +, , $(firstword $(subst -, ,$(REVISION))))) \
46 -n "rootfs" \
47 -i $@ \
48 -o $@.rootfs
49 cat $@.uImage $@.rootfs > $@
50 rm -rf $@.uImage $@.rootfs
51 endef
52
53 define Build/mkdapimg2
54 $(STAGING_DIR_HOST)/bin/mkdapimg2 \
55 -i $@ -o $@.new \
56 -s $(DAP_SIGNATURE) \
57 -v $(VERSION_DIST)-$(firstword $(subst +, , \
58 $(firstword $(subst -, ,$(REVISION))))) \
59 -r Default \
60 $(if $(1),-k $(1))
61 mv $@.new $@
62 endef
63
64 define Build/mkmylofw_16m
65 $(eval device_id=$(word 1,$(1)))
66 $(eval revision=$(word 2,$(1)))
67
68 # On WPJ344, WPJ531, and WPJ563, the default boot command tries 0x9f680000
69 # first and fails if the remains of the stock image are sill there
70 # - resulting in an infinite boot loop.
71 # The size parameter is grown to have that block deleted if the firmware
72 # isn't big enough by itself.
73
74 let \
75 size="$$(stat -c%s $@)" \
76 pad="$(subst k,* 1024,$(BLOCKSIZE))" \
77 pad="(pad - (size % pad)) % pad" \
78 newsize='size + pad' ; \
79 [ $$newsize -lt $$((0x660000)) ] && newsize=0x660000 ; \
80 $(STAGING_DIR_HOST)/bin/mkmylofw \
81 -B WPE72 -i 0x11f6:$(device_id):0x11f6:$(device_id) -r $(revision) \
82 -s 0x1000000 -p0x30000:$$newsize:al:0x80060000:"OpenWRT":$@ \
83 $@.new
84 @mv $@.new $@
85 endef
86
87 define Build/mkwrggimg
88 $(STAGING_DIR_HOST)/bin/mkwrggimg -b \
89 -i $@ -o $@.imghdr -d /dev/mtdblock/1 \
90 -m $(DEVICE_MODEL)-$(DEVICE_VARIANT) -s $(DAP_SIGNATURE) \
91 -v $(VERSION_DIST) -B $(REVISION)
92 mv $@.imghdr $@
93 endef
94
95 define Build/nec-enc
96 $(STAGING_DIR_HOST)/bin/nec-enc \
97 -i $@ -o $@.new -k $(1)
98 mv $@.new $@
99 endef
100
101 define Build/nec-fw
102 ( stat -c%s $@ | tr -d "\n" | dd bs=16 count=1 conv=sync; ) >> $@
103 ( \
104 echo -n -e "$(1)" | dd bs=16 count=1 conv=sync; \
105 echo -n "0.0.00" | dd bs=16 count=1 conv=sync; \
106 dd if=$@; \
107 ) > $@.new
108 mv $@.new $@
109 endef
110
111 define Build/pisen_wmb001n-factory
112 -[ -f "$@" ] && \
113 mkdir -p "$@.tmp" && \
114 cp "$(KDIR)/loader-$(word 1,$(1)).uImage" "$@.tmp/uImage" && \
115 mv "$@" "$@.tmp/rootfs" && \
116 cp "bin/pisen_wmb001n_factory-header.bin" "$@" && \
117 $(TAR) -cp --numeric-owner --owner=0 --group=0 --mode=a-s --sort=name \
118 $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \
119 -C "$@.tmp" . | gzip -9n >> "$@" && \
120 rm -rf "$@.tmp"
121 endef
122
123 define Build/teltonika-fw-fake-checksum
124 # Teltonika U-Boot web based firmware upgrade/recovery routine compares
125 # 16 bytes from md5sum1[16] field in TP-Link v1 header (offset: 76 bytes
126 # from begin of the firmware file) with 16 bytes stored just before
127 # 0xdeadc0de marker. Values are only compared, MD5 sum is not verified.
128 let \
129 offs="$$(stat -c%s $@) - $(1)"; \
130 dd if=$@ bs=1 count=16 skip=76 |\
131 dd of=$@ bs=1 count=16 seek=$$offs conv=notrunc
132 endef
133
134 define Build/teltonika-v1-header
135 $(STAGING_DIR_HOST)/bin/mktplinkfw \
136 -c -H $(TPLINK_HWID) -W $(TPLINK_HWREV) -L $(KERNEL_LOADADDR) \
137 -E $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
138 -m $(TPLINK_HEADER_VERSION) -N "$(VERSION_DIST)" -V "RUT2xx " \
139 -k $@ -o $@.new $(1)
140 @mv $@.new $@
141 endef
142
143 metadata_json_teltonika = \
144 '{ $(if $(IMAGE_METADATA),$(IMAGE_METADATA)$(comma)) \
145 "metadata_version": "1.1", \
146 "compat_version": "$(call json_quote,$(compat_version))", \
147 "version":"$(call json_quote,$(VERSION_DIST))-$(call json_quote,$(VERSION_NUMBER))-$(call json_quote,$(REVISION))", \
148 "device_code": [".*"], \
149 "hwver": [".*"], \
150 "batch": [".*"], \
151 "serial": [".*"], \
152 $(if $(DEVICE_COMPAT_MESSAGE),"compat_message": "$(call json_quote,$(DEVICE_COMPAT_MESSAGE))"$(comma)) \
153 $(if $(filter-out 1.0,$(compat_version)),"new_supported_devices": \
154 [$(call metadata_devices,$(SUPPORTED_TELTONIKA_DEVICES))]$(comma) \
155 "supported_devices": ["$(call json_quote,$(legacy_supported_message))"]$(comma)) \
156 $(if $(filter 1.0,$(compat_version)),"supported_devices":[$(call metadata_devices,$(SUPPORTED_TELTONIKA_DEVICES))]$(comma)) \
157 "version_wrt": { \
158 "dist": "$(call json_quote,$(VERSION_DIST))", \
159 "version": "$(call json_quote,$(VERSION_NUMBER))", \
160 "revision": "$(call json_quote,$(REVISION))", \
161 "target": "$(call json_quote,$(TARGETID))", \
162 "board": "$(call json_quote,$(if $(BOARD_NAME),$(BOARD_NAME),$(DEVICE_NAME)))" \
163 }, \
164 "hw_support": {}, \
165 "hw_mods": {} \
166 }'
167
168 define Build/append-metadata-teltonika
169 echo $(call metadata_json_teltonika) | fwtool -I - $@
170 endef
171
172 define Build/wrgg-pad-rootfs
173 $(STAGING_DIR_HOST)/bin/padjffs2 $(IMAGE_ROOTFS) -c 64 >>$@
174 endef
175
176 define Build/zyxel-tar-bz2
177 mkdir -p $@.tmp
178 mv $@ $@.tmp/$(word 2,$(1))
179 cp $(KDIR)/loader-$(DEVICE_NAME).uImage $@.tmp/$(word 1,$(1)).lzma.uImage
180 $(TAR) -cjf $@ -C $@.tmp .
181 rm -rf $@.tmp
182 endef
183
184 define Device/seama
185 KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma
186 KERNEL_INITRAMFS := $$(KERNEL) | seama
187 IMAGES += factory.bin
188 SEAMA_MTDBLOCK := 1
189
190 # 64 bytes offset:
191 # - 28 bytes seama_header
192 # - 36 bytes of META data (4-bytes aligned)
193 IMAGE/default := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs
194 IMAGE/sysupgrade.bin := $$(IMAGE/default) | seama | pad-rootfs | \
195 check-size | append-metadata
196 IMAGE/factory.bin := $$(IMAGE/default) | pad-rootfs -x 64 | seama | \
197 seama-seal | check-size
198 SEAMA_SIGNATURE :=
199 endef
200
201
202 define Device/8dev_carambola2
203 SOC := ar9331
204 DEVICE_VENDOR := 8devices
205 DEVICE_MODEL := Carambola2
206 DEVICE_PACKAGES := kmod-usb-chipidea2
207 IMAGE_SIZE := 16000k
208 SUPPORTED_DEVICES += carambola2
209 endef
210 TARGET_DEVICES += 8dev_carambola2
211
212 define Device/8dev_lima
213 SOC := qca9531
214 DEVICE_VENDOR := 8devices
215 DEVICE_MODEL := Lima
216 DEVICE_PACKAGES := kmod-usb2
217 IMAGE_SIZE := 15616k
218 SUPPORTED_DEVICES += lima
219 endef
220 TARGET_DEVICES += 8dev_lima
221
222 define Device/adtran_bsap1880
223 SOC := ar7161
224 DEVICE_VENDOR := Adtran/Bluesocket
225 DEVICE_PACKAGES += -swconfig -uboot-envtools fconfig
226 KERNEL := kernel-bin | append-dtb | lzma | pad-to $$(BLOCKSIZE)
227 KERNEL_INITRAMFS := kernel-bin | append-dtb
228 IMAGE_SIZE := 11200k
229 IMAGES += kernel.bin rootfs.bin
230 IMAGE/kernel.bin := append-kernel
231 IMAGE/rootfs.bin := append-rootfs | pad-rootfs | pad-to $$(BLOCKSIZE)
232 IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | \
233 check-size | sysupgrade-tar rootfs=$$$$@ | append-metadata
234 endef
235
236 define Device/adtran_bsap1800-v2
237 $(Device/adtran_bsap1880)
238 DEVICE_MODEL := BSAP-1800
239 DEVICE_VARIANT := v2
240 endef
241 TARGET_DEVICES += adtran_bsap1800-v2
242
243 define Device/adtran_bsap1840
244 $(Device/adtran_bsap1880)
245 DEVICE_MODEL := BSAP-1840
246 endef
247 TARGET_DEVICES += adtran_bsap1840
248
249 define Device/airtight_c-75
250 SOC := qca9550
251 DEVICE_VENDOR := AirTight Networks
252 DEVICE_MODEL := C-75
253 DEVICE_ALT0_VENDOR := Mojo Networks
254 DEVICE_ALT0_MODEL := C-75
255 DEVICE_ALT1_VENDOR := WatchGuard
256 DEVICE_ALT1_MODEL := AP320
257 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct kmod-usb2
258 IMAGE_SIZE := 32320k
259 KERNEL_SIZE := 15936k
260 endef
261 TARGET_DEVICES += airtight_c-75
262
263 define Device/alfa-network_ap121f
264 SOC := ar9331
265 DEVICE_VENDOR := ALFA Network
266 DEVICE_MODEL := AP121F
267 DEVICE_PACKAGES := kmod-usb-chipidea2 kmod-usb-storage -swconfig
268 IMAGE_SIZE := 16064k
269 SUPPORTED_DEVICES += ap121f
270 endef
271 TARGET_DEVICES += alfa-network_ap121f
272
273 define Device/alfa-network_ap121fe
274 SOC := ar9331
275 DEVICE_VENDOR := ALFA Network
276 DEVICE_MODEL := AP121FE
277 DEVICE_PACKAGES := kmod-usb-chipidea2 kmod-usb-gadget-eth -swconfig
278 IMAGE_SIZE := 16064k
279 endef
280 TARGET_DEVICES += alfa-network_ap121fe
281
282 define Device/alfa-network_n2q
283 SOC := qca9531
284 DEVICE_VENDOR := ALFA Network
285 DEVICE_MODEL := N2Q
286 DEVICE_PACKAGES := kmod-i2c-gpio kmod-gpio-pcf857x kmod-usb2 \
287 kmod-usb-ledtrig-usbport rssileds
288 IMAGE_SIZE := 15872k
289 endef
290 TARGET_DEVICES += alfa-network_n2q
291
292 define Device/alfa-network_n5q
293 SOC := ar9344
294 DEVICE_VENDOR := ALFA Network
295 DEVICE_MODEL := N5Q
296 DEVICE_PACKAGES := rssileds
297 IMAGE_SIZE := 15872k
298 SUPPORTED_DEVICES += n5q
299 endef
300 TARGET_DEVICES += alfa-network_n5q
301
302 define Device/alfa-network_pi-wifi4
303 SOC := qca9531
304 DEVICE_VENDOR := ALFA Network
305 DEVICE_MODEL := Pi-WiFi4
306 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport -swconfig
307 IMAGE_SIZE := 15872k
308 endef
309 TARGET_DEVICES += alfa-network_pi-wifi4
310
311 define Device/alfa-network_r36a
312 SOC := qca9531
313 DEVICE_VENDOR := ALFA Network
314 DEVICE_MODEL := R36A
315 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
316 IMAGE_SIZE := 15872k
317 SUPPORTED_DEVICES += r36a
318 endef
319 TARGET_DEVICES += alfa-network_r36a
320
321 define Device/alfa-network_tube-2hq
322 SOC := qca9531
323 DEVICE_VENDOR := ALFA Network
324 DEVICE_MODEL := Tube-2HQ
325 DEVICE_PACKAGES := rssileds -swconfig
326 IMAGE_SIZE := 15872k
327 SUPPORTED_DEVICES += tube-2hq
328 endef
329 TARGET_DEVICES += alfa-network_tube-2hq
330
331 define Device/allnet_all-wap02860ac
332 $(Device/senao_loader_okli)
333 SOC := qca9558
334 DEVICE_VENDOR := ALLNET
335 DEVICE_MODEL := ALL-WAP02860AC
336 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
337 IMAGE_SIZE := 11584k
338 LOADER_FLASH_OFFS := 0x220000
339 SENAO_IMGNAME := senao-allwap02860ac
340 endef
341 TARGET_DEVICES += allnet_all-wap02860ac
342
343 define Device/araknis_an-300-ap-i-n
344 $(Device/senao_loader_okli)
345 SOC := ar9344
346 DEVICE_VENDOR := Araknis
347 DEVICE_MODEL := AN-300-AP-I-N
348 IMAGE_SIZE := 12096k
349 LOADER_FLASH_OFFS := 0x220000
350 SENAO_IMGNAME := senao-an300
351 endef
352 TARGET_DEVICES += araknis_an-300-ap-i-n
353
354 define Device/araknis_an-500-ap-i-ac
355 $(Device/senao_loader_okli)
356 SOC := qca9557
357 DEVICE_VENDOR := Araknis
358 DEVICE_MODEL := AN-500-AP-I-AC
359 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
360 IMAGE_SIZE := 11584k
361 LOADER_FLASH_OFFS := 0x220000
362 SENAO_IMGNAME := senao-generic-v1-an500
363 endef
364 TARGET_DEVICES += araknis_an-500-ap-i-ac
365
366 define Device/araknis_an-700-ap-i-ac
367 $(Device/senao_loader_okli)
368 SOC := qca9558
369 DEVICE_VENDOR := Araknis
370 DEVICE_MODEL := AN-700-AP-I-AC
371 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
372 IMAGE_SIZE := 11584k
373 LOADER_FLASH_OFFS := 0x220000
374 SENAO_IMGNAME := senao-generic-v1-an700
375 endef
376 TARGET_DEVICES += araknis_an-700-ap-i-ac
377
378 define Device/arduino_yun
379 SOC := ar9331
380 DEVICE_VENDOR := Arduino
381 DEVICE_MODEL := Yun
382 DEVICE_PACKAGES := kmod-usb-chipidea2 kmod-usb-ledtrig-usbport \
383 kmod-usb-storage block-mount -swconfig
384 IMAGE_SIZE := 15936k
385 SUPPORTED_DEVICES += arduino-yun
386 endef
387 TARGET_DEVICES += arduino_yun
388
389 define Device/aruba_ap-105
390 SOC := ar7161
391 DEVICE_VENDOR := Aruba
392 DEVICE_MODEL := AP-105
393 IMAGE_SIZE := 16000k
394 DEVICE_PACKAGES := kmod-i2c-gpio kmod-tpm-i2c-atmel
395 endef
396 TARGET_DEVICES += aruba_ap-105
397
398 define Device/asus_pl-ac56
399 SOC := qca9563
400 DEVICE_VENDOR := ASUS
401 DEVICE_MODEL := PL-AC56
402 DEVICE_VARIANT := A1
403 IMAGE_SIZE := 15488k
404 IMAGES += factory.bin
405 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
406 append-rootfs | pad-rootfs
407 DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct
408 endef
409 TARGET_DEVICES += asus_pl-ac56
410
411 define Device/asus_rp-ac51
412 SOC := qca9531
413 DEVICE_VENDOR := ASUS
414 DEVICE_MODEL := RP-AC51
415 IMAGE_SIZE := 16000k
416 IMAGES += factory.bin
417 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
418 append-rootfs | pad-rootfs
419 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct \
420 -swconfig
421 endef
422 TARGET_DEVICES += asus_rp-ac51
423
424 define Device/asus_rp-ac66
425 SOC := qca9563
426 DEVICE_VENDOR := ASUS
427 DEVICE_MODEL := RP-AC66
428 IMAGE_SIZE := 16000k
429 IMAGES += factory.bin
430 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
431 append-rootfs | pad-rootfs
432 DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct \
433 rssileds -swconfig
434 endef
435 TARGET_DEVICES += asus_rp-ac66
436
437 define Device/atheros_db120
438 $(Device/loader-okli-uimage)
439 SOC := ar9344
440 DEVICE_VENDOR := Atheros
441 DEVICE_MODEL := DB120
442 DEVICE_PACKAGES := kmod-usb2
443 IMAGE_SIZE := 7808k
444 SUPPORTED_DEVICES += db120
445 LOADER_FLASH_OFFS := 0x50000
446 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49
447 IMAGES += factory.bin
448 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
449 append-rootfs | pad-rootfs | check-size | pad-to 6336k | \
450 append-loader-okli-uimage $(1) | pad-to 64k
451 endef
452 TARGET_DEVICES += atheros_db120
453
454 define Device/avm
455 DEVICE_VENDOR := AVM
456 KERNEL := kernel-bin | append-dtb | lzma | eva-image
457 KERNEL_INITRAMFS := $$(KERNEL)
458 IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | \
459 append-squashfs-fakeroot-be | pad-to 256 | append-rootfs | pad-rootfs | \
460 check-size | append-metadata
461 DEVICE_PACKAGES := fritz-tffs
462 endef
463
464 define Device/avm_fritz1750e
465 $(Device/avm)
466 SOC := qca9556
467 IMAGE_SIZE := 15232k
468 DEVICE_MODEL := FRITZ!WLAN Repeater 1750E
469 DEVICE_PACKAGES += rssileds kmod-ath10k-ct-smallbuffers \
470 ath10k-firmware-qca988x-ct -swconfig
471 endef
472 TARGET_DEVICES += avm_fritz1750e
473
474 define Device/avm_fritz300e
475 $(Device/avm)
476 SOC := ar7242
477 IMAGE_SIZE := 15232k
478 DEVICE_MODEL := FRITZ!WLAN Repeater 300E
479 DEVICE_PACKAGES += rssileds -swconfig
480 SUPPORTED_DEVICES += fritz300e
481 endef
482 TARGET_DEVICES += avm_fritz300e
483
484 define Device/avm_fritz4020
485 $(Device/avm)
486 SOC := qca9561
487 IMAGE_SIZE := 15232k
488 DEVICE_MODEL := FRITZ!Box 4020
489 SUPPORTED_DEVICES += fritz4020
490 endef
491 TARGET_DEVICES += avm_fritz4020
492
493 define Device/avm_fritz450e
494 $(Device/avm)
495 SOC := qca9556
496 IMAGE_SIZE := 15232k
497 DEVICE_MODEL := FRITZ!WLAN Repeater 450E
498 SUPPORTED_DEVICES += fritz450e
499 endef
500 TARGET_DEVICES += avm_fritz450e
501
502 define Device/avm_fritzdvbc
503 $(Device/avm)
504 SOC := qca9556
505 IMAGE_SIZE := 15232k
506 DEVICE_MODEL := FRITZ!WLAN Repeater DVB-C
507 DEVICE_PACKAGES += rssileds kmod-ath10k-ct-smallbuffers \
508 ath10k-firmware-qca988x-ct -swconfig
509 endef
510 TARGET_DEVICES += avm_fritzdvbc
511
512 define Device/belkin_f9x-v2
513 $(Device/loader-okli-uimage)
514 SOC := qca9558
515 DEVICE_VENDOR := Belkin
516 IMAGE_SIZE := 14464k
517 DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct kmod-usb2 \
518 kmod-usb3 kmod-usb-ledtrig-usbport
519 LOADER_FLASH_OFFS := 0x50000
520 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49
521 IMAGES += factory.bin
522 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
523 append-rootfs | pad-rootfs | check-size | \
524 edimax-headers $$$$(EDIMAX_HEADER_MAGIC) $$$$(EDIMAX_HEADER_MODEL) | \
525 pad-to $$$$(BLOCKSIZE)
526 endef
527
528 define Device/belkin_f9j1108-v2
529 $(Device/belkin_f9x-v2)
530 DEVICE_MODEL := F9J1108 v2 (AC1750 DB Wi-Fi)
531 EDIMAX_HEADER_MAGIC := F9J1108v1
532 EDIMAX_HEADER_MODEL := BR-6679BAC
533 endef
534 TARGET_DEVICES += belkin_f9j1108-v2
535
536 define Device/belkin_f9k1115-v2
537 $(Device/belkin_f9x-v2)
538 DEVICE_MODEL := F9K1115 v2 (AC1750 DB Wi-Fi)
539 EDIMAX_HEADER_MAGIC := eDiMaX
540 EDIMAX_HEADER_MODEL := F9K1115V2
541 endef
542 TARGET_DEVICES += belkin_f9k1115-v2
543
544 define Device/buffalo_bhr-4grv
545 $(Device/buffalo_common)
546 SOC := ar7242
547 DEVICE_MODEL := BHR-4GRV
548 BUFFALO_PRODUCT := BHR-4GRV
549 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
550 IMAGE_SIZE := 32256k
551 SUPPORTED_DEVICES += wzr-hp-g450h
552 endef
553 TARGET_DEVICES += buffalo_bhr-4grv
554
555 define Device/buffalo_bhr-4grv2
556 SOC := qca9557
557 DEVICE_VENDOR := Buffalo
558 DEVICE_MODEL := BHR-4GRV2
559 IMAGE_SIZE := 16000k
560 endef
561 TARGET_DEVICES += buffalo_bhr-4grv2
562
563 define Device/buffalo_wzr_ar7161
564 $(Device/buffalo_common)
565 SOC := ar7161
566 BUFFALO_PRODUCT := WZR-HP-AG300H
567 DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport \
568 kmod-leds-reset kmod-owl-loader
569 IMAGE_SIZE := 32320k
570 SUPPORTED_DEVICES += wzr-hp-ag300h
571 endef
572
573 define Device/buffalo_wzr-600dhp
574 $(Device/buffalo_wzr_ar7161)
575 DEVICE_MODEL := WZR-600DHP
576 endef
577 TARGET_DEVICES += buffalo_wzr-600dhp
578
579 define Device/buffalo_wzr-hp-ag300h
580 $(Device/buffalo_wzr_ar7161)
581 DEVICE_MODEL := WZR-HP-AG300H
582 endef
583 TARGET_DEVICES += buffalo_wzr-hp-ag300h
584
585 define Device/buffalo_wzr-hp-g300nh
586 $(Device/buffalo_common)
587 SOC := ar9132
588 BUFFALO_PRODUCT := WZR-HP-G300NH
589 BUFFALO_HWVER := 1
590 DEVICE_PACKAGES := kmod-gpio-cascade kmod-mux-gpio kmod-usb2 kmod-usb-ledtrig-usbport
591 BLOCKSIZE := 128k
592 IMAGE_SIZE := 32128k
593 SUPPORTED_DEVICES += wzr-hp-g300nh
594 endef
595
596 define Device/buffalo_wzr-hp-g300nh-rb
597 $(Device/buffalo_wzr-hp-g300nh)
598 DEVICE_MODEL := WZR-HP-G300NH (RTL8366RB switch)
599 endef
600 TARGET_DEVICES += buffalo_wzr-hp-g300nh-rb
601
602 define Device/buffalo_wzr-hp-g300nh-s
603 $(Device/buffalo_wzr-hp-g300nh)
604 DEVICE_MODEL := WZR-HP-G300NH (RTL8366S switch)
605 DEVICE_PACKAGES += kmod-switch-rtl8366rb
606 endef
607 TARGET_DEVICES += buffalo_wzr-hp-g300nh-s
608
609 define Device/buffalo_wzr-hp-g302h-a1a0
610 $(Device/buffalo_common)
611 SOC := ar7242
612 DEVICE_MODEL := WZR-HP-G302H
613 DEVICE_VARIANT := A1A0
614 BUFFALO_PRODUCT := WZR-HP-G302H
615 BUFFALO_HWVER := 4
616 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
617 IMAGE_SIZE := 32128k
618 SUPPORTED_DEVICES += wzr-hp-g300nh2
619 endef
620 TARGET_DEVICES += buffalo_wzr-hp-g302h-a1a0
621
622 define Device/buffalo_wzr-hp-g450h
623 $(Device/buffalo_common)
624 SOC := ar7242
625 DEVICE_MODEL := WZR-HP-G450H/WZR-450HP
626 BUFFALO_PRODUCT := WZR-HP-G450H
627 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
628 IMAGE_SIZE := 32256k
629 SUPPORTED_DEVICES += wzr-hp-g450h
630 endef
631 TARGET_DEVICES += buffalo_wzr-hp-g450h
632
633 define Device/comfast_cf-e110n-v2
634 SOC := qca9533
635 DEVICE_VENDOR := COMFAST
636 DEVICE_MODEL := CF-E110N
637 DEVICE_VARIANT := v2
638 DEVICE_PACKAGES := rssileds -swconfig -uboot-envtools
639 IMAGE_SIZE := 16192k
640 endef
641 TARGET_DEVICES += comfast_cf-e110n-v2
642
643 define Device/comfast_cf-e120a-v3
644 SOC := ar9344
645 DEVICE_VENDOR := COMFAST
646 DEVICE_MODEL := CF-E120A
647 DEVICE_VARIANT := v3
648 DEVICE_PACKAGES := rssileds -uboot-envtools
649 IMAGE_SIZE := 8000k
650 endef
651 TARGET_DEVICES += comfast_cf-e120a-v3
652
653 define Device/comfast_cf-e130n-v2
654 SOC := qca9531
655 DEVICE_VENDOR := COMFAST
656 DEVICE_MODEL := CF-E130N
657 DEVICE_VARIANT := v2
658 DEVICE_PACKAGES := rssileds -swconfig -uboot-envtools
659 IMAGE_SIZE := 7936k
660 endef
661 TARGET_DEVICES += comfast_cf-e130n-v2
662
663 define Device/comfast_cf-e313ac
664 SOC := qca9531
665 DEVICE_VENDOR := COMFAST
666 DEVICE_MODEL := CF-E313AC
667 DEVICE_PACKAGES := rssileds kmod-ath10k-ct-smallbuffers \
668 ath10k-firmware-qca9888-ct -swconfig -uboot-envtools
669 IMAGE_SIZE := 7936k
670 endef
671 TARGET_DEVICES += comfast_cf-e313ac
672
673 define Device/comfast_cf-e314n-v2
674 SOC := qca9531
675 DEVICE_VENDOR := COMFAST
676 DEVICE_MODEL := CF-E314N
677 DEVICE_VARIANT := v2
678 DEVICE_PACKAGES := rssileds
679 IMAGE_SIZE := 7936k
680 endef
681 TARGET_DEVICES += comfast_cf-e314n-v2
682
683 define Device/comfast_cf-e375ac
684 SOC := qca9563
685 DEVICE_VENDOR := COMFAST
686 DEVICE_MODEL := CF-E375AC
687 DEVICE_PACKAGES := kmod-ath10k-ct \
688 ath10k-firmware-qca9888-ct -uboot-envtools
689 IMAGE_SIZE := 16000k
690 endef
691 TARGET_DEVICES += comfast_cf-e375ac
692
693 define Device/comfast_cf-e5
694 SOC := qca9531
695 DEVICE_VENDOR := COMFAST
696 DEVICE_MODEL := CF-E5/E7
697 DEVICE_PACKAGES := rssileds kmod-usb2 kmod-usb-net-qmi-wwan -swconfig \
698 -uboot-envtools
699 IMAGE_SIZE := 16192k
700 endef
701 TARGET_DEVICES += comfast_cf-e5
702
703 define Device/comfast_cf-e560ac
704 SOC := qca9531
705 DEVICE_VENDOR := COMFAST
706 DEVICE_MODEL := CF-E560AC
707 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9888-ct
708 IMAGE_SIZE := 16128k
709 endef
710 TARGET_DEVICES += comfast_cf-e560ac
711
712 define Device/comfast_cf-ew72
713 SOC := qca9531
714 DEVICE_VENDOR := COMFAST
715 DEVICE_MODEL := CF-EW72
716 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9888-ct \
717 -uboot-envtools -swconfig
718 IMAGE_SIZE := 16192k
719 endef
720 TARGET_DEVICES += comfast_cf-ew72
721
722 define Device/comfast_cf-wr650ac-v1
723 SOC := qca9558
724 DEVICE_VENDOR := COMFAST
725 DEVICE_MODEL := CF-WR650AC
726 DEVICE_VARIANT := v1
727 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
728 IMAGE_SIZE := 16128k
729 endef
730 TARGET_DEVICES += comfast_cf-wr650ac-v1
731
732 define Device/comfast_cf-wr650ac-v2
733 SOC := qca9558
734 DEVICE_VENDOR := COMFAST
735 DEVICE_MODEL := CF-WR650AC
736 DEVICE_VARIANT := v2
737 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
738 IMAGE_SIZE := 16000k
739 endef
740 TARGET_DEVICES += comfast_cf-wr650ac-v2
741
742 define Device/comfast_cf-wr752ac-v1
743 SOC := qca9531
744 DEVICE_VENDOR := COMFAST
745 DEVICE_MODEL := CF-WR752AC
746 DEVICE_VARIANT := v1
747 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9888-ct \
748 -uboot-envtools
749 IMAGE_SIZE := 16192k
750 endef
751 TARGET_DEVICES += comfast_cf-wr752ac-v1
752
753 define Device/compex_wpj344-16m
754 SOC := ar9344
755 DEVICE_PACKAGES := kmod-usb2
756 IMAGE_SIZE := 16128k
757 DEVICE_VENDOR := Compex
758 DEVICE_MODEL := WPJ344
759 DEVICE_VARIANT := 16M
760 SUPPORTED_DEVICES += wpj344
761 IMAGES += cpximg-6a08.bin
762 IMAGE/cpximg-6a08.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | mkmylofw_16m 0x690 3
763 endef
764 TARGET_DEVICES += compex_wpj344-16m
765
766 define Device/compex_wpj531-16m
767 SOC := qca9531
768 DEVICE_PACKAGES := kmod-usb2
769 IMAGE_SIZE := 16128k
770 DEVICE_VENDOR := Compex
771 DEVICE_MODEL := WPJ531
772 DEVICE_VARIANT := 16M
773 SUPPORTED_DEVICES += wpj531
774 IMAGES += cpximg-7a03.bin cpximg-7a04.bin cpximg-7a06.bin cpximg-7a07.bin
775 IMAGE/cpximg-7a03.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | mkmylofw_16m 0x68a 2
776 IMAGE/cpximg-7a04.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | mkmylofw_16m 0x693 3
777 IMAGE/cpximg-7a06.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | mkmylofw_16m 0x693 3
778 IMAGE/cpximg-7a07.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | mkmylofw_16m 0x693 3
779 endef
780 TARGET_DEVICES += compex_wpj531-16m
781
782 define Device/compex_wpj558-16m
783 SOC := qca9558
784 IMAGE_SIZE := 16128k
785 DEVICE_VENDOR := Compex
786 DEVICE_MODEL := WPJ558
787 DEVICE_VARIANT := 16M
788 SUPPORTED_DEVICES += wpj558
789 IMAGES += cpximg-6a07.bin
790 IMAGE/cpximg-6a07.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
791 append-rootfs | pad-rootfs | mkmylofw_16m 0x691 3
792 DEVICE_PACKAGES := kmod-gpio-beeper
793 endef
794 TARGET_DEVICES += compex_wpj558-16m
795
796 define Device/compex_wpj563
797 SOC := qca9563
798 DEVICE_PACKAGES := kmod-usb2 kmod-usb3
799 IMAGE_SIZE := 16128k
800 DEVICE_VENDOR := Compex
801 DEVICE_MODEL := WPJ563
802 SUPPORTED_DEVICES += wpj563
803 IMAGES += cpximg-7a02.bin
804 IMAGE/cpximg-7a02.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | mkmylofw_16m 0x694 2
805 endef
806 TARGET_DEVICES += compex_wpj563
807
808 define Device/devolo_dlan-pro-1200plus-ac
809 SOC := ar9344
810 DEVICE_VENDOR := devolo
811 DEVICE_MODEL := dLAN pro 1200+ WiFi ac
812 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
813 IMAGE_SIZE := 15872k
814 endef
815 TARGET_DEVICES += devolo_dlan-pro-1200plus-ac
816
817 define Device/devolo_wifi-pro
818 SOC := qca9558
819 DEVICE_VENDOR := devolo
820 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
821 IMAGE_SIZE := 15936k
822 endef
823
824 define Device/devolo_dvl1200e
825 $(Device/devolo_wifi-pro)
826 DEVICE_MODEL := WiFi pro 1200e
827 endef
828 TARGET_DEVICES += devolo_dvl1200e
829
830 define Device/devolo_dvl1200i
831 $(Device/devolo_wifi-pro)
832 DEVICE_MODEL := WiFi pro 1200i
833 endef
834 TARGET_DEVICES += devolo_dvl1200i
835
836 define Device/devolo_dvl1750c
837 $(Device/devolo_wifi-pro)
838 DEVICE_MODEL := WiFi pro 1750c
839 endef
840 TARGET_DEVICES += devolo_dvl1750c
841
842 define Device/devolo_dvl1750e
843 $(Device/devolo_wifi-pro)
844 DEVICE_MODEL := WiFi pro 1750e
845 DEVICE_PACKAGES += kmod-usb2
846 endef
847 TARGET_DEVICES += devolo_dvl1750e
848
849 define Device/devolo_dvl1750i
850 $(Device/devolo_wifi-pro)
851 DEVICE_MODEL := WiFi pro 1750i
852 endef
853 TARGET_DEVICES += devolo_dvl1750i
854
855 define Device/devolo_dvl1750x
856 SOC := qca9558
857 DEVICE_VENDOR := devolo
858 DEVICE_MODEL := WiFi pro 1750x
859 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
860 IMAGE_SIZE := 15936k
861 endef
862 TARGET_DEVICES += devolo_dvl1750x
863
864 define Device/devolo_magic-2-wifi
865 SOC := ar9344
866 DEVICE_VENDOR := devolo
867 DEVICE_MODEL := Magic 2 WiFi
868 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
869 IMAGE_SIZE := 15872k
870 endef
871 TARGET_DEVICES += devolo_magic-2-wifi
872
873 define Device/dlink_dap-13xx
874 SOC := qca9533
875 DEVICE_VENDOR := D-Link
876 DEVICE_PACKAGES += rssileds
877 IMAGE_SIZE := 7936k
878 IMAGES += factory.bin
879 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
880 append-rootfs | pad-rootfs | check-size | mkdapimg2 0xE0000
881 endef
882
883 define Device/dlink_dap-1330-a1
884 $(Device/dlink_dap-13xx)
885 DEVICE_MODEL := DAP-1330
886 DEVICE_VARIANT := A1
887 DAP_SIGNATURE := HONEYBEE-FIRMWARE-DAP-1330
888 SUPPORTED_DEVICES += dap-1330-a1
889 endef
890 TARGET_DEVICES += dlink_dap-1330-a1
891
892 define Device/dlink_dap-1365-a1
893 $(Device/dlink_dap-13xx)
894 DEVICE_MODEL := DAP-1365
895 DEVICE_VARIANT := A1
896 DAP_SIGNATURE := HONEYBEE-FIRMWARE-DAP-1365
897 endef
898 TARGET_DEVICES += dlink_dap-1365-a1
899
900 define Device/dlink_dap-2xxx
901 IMAGES += factory.img
902 IMAGE/factory.img := append-kernel | pad-offset 6144k 160 | \
903 append-rootfs | wrgg-pad-rootfs | mkwrggimg | check-size
904 IMAGE/sysupgrade.bin := append-kernel | mkwrggimg | \
905 pad-to $$$$(BLOCKSIZE) | append-rootfs | wrgg-pad-rootfs | \
906 check-size | append-metadata
907 KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma
908 KERNEL_INITRAMFS := $$(KERNEL) | mkwrggimg
909 endef
910
911 define Device/dlink_dap-2230-a1
912 $(Device/dlink_dap-2xxx)
913 SOC := qca9533
914 DEVICE_VENDOR := D-Link
915 DEVICE_MODEL := DAP-2230
916 DEVICE_VARIANT := A1
917 IMAGE_SIZE := 15232k
918 DAP_SIGNATURE := wapn31_dkbs_dap2230
919 endef
920 TARGET_DEVICES += dlink_dap-2230-a1
921
922 define Device/dlink_dap-2660-a1
923 $(Device/dlink_dap-2xxx)
924 SOC := qca9557
925 DEVICE_VENDOR := D-Link
926 DEVICE_MODEL := DAP-2660
927 DEVICE_VARIANT := A1
928 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
929 IMAGE_SIZE := 15232k
930 DAP_SIGNATURE := wapac09_dkbs_dap2660
931 endef
932 TARGET_DEVICES += dlink_dap-2660-a1
933
934 define Device/dlink_dap-2680-a1
935 $(Device/dlink_dap-2xxx)
936 SOC := qca9558
937 DEVICE_VENDOR := D-Link
938 DEVICE_MODEL := DAP-2680
939 DEVICE_VARIANT := A1
940 DEVICE_PACKAGES := ath10k-firmware-qca9984-ct kmod-ath10k-ct
941 IMAGE_SIZE := 15232k
942 DAP_SIGNATURE := wapac36_dkbs_dap2680
943 endef
944 TARGET_DEVICES += dlink_dap-2680-a1
945
946 define Device/dlink_dap-2695-a1
947 $(Device/dlink_dap-2xxx)
948 SOC := qca9558
949 DEVICE_VENDOR := D-Link
950 DEVICE_MODEL := DAP-2695
951 DEVICE_VARIANT := A1
952 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
953 IMAGE_SIZE := 15360k
954 DAP_SIGNATURE := wapac02_dkbs_dap2695
955 SUPPORTED_DEVICES += dap-2695-a1
956 endef
957 TARGET_DEVICES += dlink_dap-2695-a1
958
959 define Device/dlink_dap-3320-a1
960 $(Device/dlink_dap-2xxx)
961 SOC := qca9533
962 DEVICE_VENDOR := D-Link
963 DEVICE_MODEL := DAP-3320
964 DEVICE_VARIANT := A1
965 IMAGE_SIZE := 15296k
966 DAP_SIGNATURE := wapn29_dkbs_dap3320
967 endef
968 TARGET_DEVICES += dlink_dap-3320-a1
969
970 define Device/dlink_dap-3662-a1
971 $(Device/dlink_dap-2xxx)
972 SOC := qca9558
973 DEVICE_VENDOR := D-Link
974 DEVICE_MODEL := DAP-3662
975 DEVICE_VARIANT := A1
976 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
977 IMAGE_SIZE := 15296k
978 DAP_SIGNATURE := wapac11_dkbs_dap3662
979 endef
980 TARGET_DEVICES += dlink_dap-3662-a1
981
982 define Device/dlink_dch-g020-a1
983 SOC := qca9531
984 DEVICE_VENDOR := D-Link
985 DEVICE_MODEL := DCH-G020
986 DEVICE_VARIANT := A1
987 DEVICE_PACKAGES := kmod-gpio-pca953x kmod-i2c-gpio kmod-usb2 kmod-usb-acm
988 IMAGES += factory.bin
989 IMAGE_SIZE := 14784k
990 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
991 append-rootfs | pad-rootfs | check-size | mkdapimg2 0x20000
992 DAP_SIGNATURE := HONEYBEE-FIRMWARE-DCH-G020
993 endef
994 TARGET_DEVICES += dlink_dch-g020-a1
995
996 define Device/dlink_dir-505
997 SOC := ar9330
998 DEVICE_VENDOR := D-Link
999 DEVICE_MODEL := DIR-505
1000 IMAGE_SIZE := 7680k
1001 DEVICE_PACKAGES := kmod-usb-chipidea2
1002 SUPPORTED_DEVICES += dir-505-a1
1003 endef
1004 TARGET_DEVICES += dlink_dir-505
1005
1006 define Device/dlink_dir-629-a1
1007 $(Device/seama)
1008 SOC := qca9558
1009 IMAGE_SIZE := 7616k
1010 DEVICE_VENDOR := D-Link
1011 DEVICE_MODEL := DIR-629
1012 DEVICE_VARIANT := A1
1013 DEVICE_PACKAGES := -uboot-envtools
1014 SEAMA_MTDBLOCK := 6
1015 SEAMA_SIGNATURE := wrgn83_dlob.hans_dir629
1016 endef
1017 TARGET_DEVICES += dlink_dir-629-a1
1018
1019 define Device/dlink_dir-825-b1
1020 SOC := ar7161
1021 DEVICE_VENDOR := D-Link
1022 DEVICE_MODEL := DIR-825
1023 DEVICE_VARIANT := B1
1024 DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport \
1025 kmod-leds-reset kmod-owl-loader kmod-switch-rtl8366s
1026 IMAGE_SIZE := 7808k
1027 FACTORY_SIZE := 6144k
1028 IMAGES += factory.bin
1029 IMAGE/factory.bin = append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
1030 pad-rootfs | check-size $$$$(FACTORY_SIZE) | pad-to $$$$(FACTORY_SIZE) | \
1031 append-string 01AP94-AR7161-RT-080619-00
1032 endef
1033 TARGET_DEVICES += dlink_dir-825-b1
1034
1035 define Device/dlink_dir-825-c1
1036 SOC := ar9344
1037 DEVICE_VENDOR := D-Link
1038 DEVICE_MODEL := DIR-825
1039 DEVICE_VARIANT := C1
1040 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-leds-reset \
1041 kmod-owl-loader
1042 SUPPORTED_DEVICES += dir-825-c1
1043 IMAGE_SIZE := 15936k
1044 IMAGES := factory.bin sysupgrade.bin
1045 IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
1046 pad-rootfs
1047 IMAGE/factory.bin := $$(IMAGE/default) | pad-offset $$$$(IMAGE_SIZE) 26 | \
1048 append-string 00DB120AR9344-RT-101214-00 | check-size
1049 IMAGE/sysupgrade.bin := $$(IMAGE/default) | check-size | append-metadata
1050 endef
1051 TARGET_DEVICES += dlink_dir-825-c1
1052
1053 define Device/dlink_dir-835-a1
1054 SOC := ar9344
1055 DEVICE_VENDOR := D-Link
1056 DEVICE_MODEL := DIR-835
1057 DEVICE_VARIANT := A1
1058 DEVICE_PACKAGES := kmod-usb2 kmod-leds-reset kmod-owl-loader
1059 SUPPORTED_DEVICES += dir-835-a1
1060 IMAGE_SIZE := 15936k
1061 IMAGES := factory.bin sysupgrade.bin
1062 IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
1063 pad-rootfs
1064 IMAGE/factory.bin := $$(IMAGE/default) | pad-offset $$$$(IMAGE_SIZE) 26 | \
1065 append-string 00DB120AR9344-RT-101214-00 | check-size
1066 IMAGE/sysupgrade.bin := $$(IMAGE/default) | check-size | append-metadata
1067 endef
1068 TARGET_DEVICES += dlink_dir-835-a1
1069
1070 define Device/dlink_dir-842-c
1071 SOC := qca9563
1072 DEVICE_VENDOR := D-Link
1073 DEVICE_MODEL := DIR-842
1074 KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma
1075 KERNEL_INITRAMFS := $$(KERNEL) | seama
1076 IMAGES += factory.bin
1077 SEAMA_MTDBLOCK := 5
1078 SEAMA_SIGNATURE := wrgac65_dlink.2015_dir842
1079 # 64 bytes offset:
1080 # - 28 bytes seama_header
1081 # - 36 bytes of META data (4-bytes aligned)
1082 IMAGE/default := append-kernel | uImage lzma | \
1083 pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs
1084 IMAGE/sysupgrade.bin := $$(IMAGE/default) | seama | pad-rootfs | \
1085 check-size | append-metadata
1086 IMAGE/factory.bin := $$(IMAGE/default) | pad-rootfs -x 64 | seama | \
1087 seama-seal | check-size
1088 IMAGE_SIZE := 15680k
1089 endef
1090
1091 define Device/dlink_dir-842-c1
1092 $(Device/dlink_dir-842-c)
1093 DEVICE_VARIANT := C1
1094 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
1095 endef
1096 TARGET_DEVICES += dlink_dir-842-c1
1097
1098 define Device/dlink_dir-842-c2
1099 $(Device/dlink_dir-842-c)
1100 DEVICE_VARIANT := C2
1101 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9888-ct
1102 endef
1103 TARGET_DEVICES += dlink_dir-842-c2
1104
1105 define Device/dlink_dir-842-c3
1106 $(Device/dlink_dir-842-c)
1107 DEVICE_VARIANT := C3
1108 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
1109 endef
1110 TARGET_DEVICES += dlink_dir-842-c3
1111
1112 define Device/dlink_dir-859-a1
1113 $(Device/seama)
1114 SOC := qca9563
1115 DEVICE_VENDOR := D-Link
1116 DEVICE_MODEL := DIR-859
1117 DEVICE_VARIANT := A1
1118 IMAGE_SIZE := 15872k
1119 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct
1120 SEAMA_SIGNATURE := wrgac37_dlink.2013gui_dir859
1121 endef
1122 TARGET_DEVICES += dlink_dir-859-a1
1123
1124 define Device/elecom_wrc-1750ghbk2-i
1125 SOC := qca9563
1126 DEVICE_VENDOR := ELECOM
1127 DEVICE_MODEL := WRC-1750GHBK2-I/C
1128 IMAGE_SIZE := 15808k
1129 ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
1130 ARTIFACTS := initramfs-factory.bin
1131 ARTIFACT/initramfs-factory.bin := append-image initramfs-kernel.bin | \
1132 pad-to 2 | edimax-header -b -s CSYS -m RN68 -f 0x70000 -S 0x01100000 | \
1133 elecom-product-header WRC-1750GHBK2 | check-size
1134 endif
1135 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
1136 endef
1137 TARGET_DEVICES += elecom_wrc-1750ghbk2-i
1138
1139 define Device/elecom_wrc-300ghbk2-i
1140 SOC := qca9563
1141 DEVICE_VENDOR := ELECOM
1142 DEVICE_MODEL := WRC-300GHBK2-I
1143 IMAGE_SIZE := 7616k
1144 ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
1145 ARTIFACTS := initramfs-factory.bin
1146 ARTIFACT/initramfs-factory.bin := append-image initramfs-kernel.bin | \
1147 pad-to 2 | edimax-header -b -s CSYS -m RN51 -f 0x70000 -S 0x01100000 | \
1148 elecom-product-header WRC-300GHBK2-I | check-size
1149 endif
1150 endef
1151 TARGET_DEVICES += elecom_wrc-300ghbk2-i
1152
1153 define Device/embeddedwireless_balin
1154 SOC := ar9344
1155 DEVICE_VENDOR := Embedded Wireless
1156 DEVICE_MODEL := Balin
1157 DEVICE_PACKAGES := kmod-usb-chipidea2
1158 IMAGE_SIZE := 16000k
1159 endef
1160 TARGET_DEVICES += embeddedwireless_balin
1161
1162 define Device/embeddedwireless_dorin
1163 SOC := ar9331
1164 DEVICE_VENDOR := Embedded Wireless
1165 DEVICE_MODEL := Dorin
1166 DEVICE_PACKAGES := kmod-usb-chipidea2
1167 IMAGE_SIZE := 16000k
1168 endef
1169 TARGET_DEVICES += embeddedwireless_dorin
1170
1171 define Device/engenius_eap1200h
1172 $(Device/senao_loader_okli)
1173 SOC := qca9557
1174 DEVICE_VENDOR := EnGenius
1175 DEVICE_MODEL := EAP1200H
1176 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
1177 IMAGE_SIZE := 11584k
1178 LOADER_FLASH_OFFS := 0x220000
1179 SENAO_IMGNAME := ar71xx-generic-eap1200h
1180 endef
1181 TARGET_DEVICES += engenius_eap1200h
1182
1183 define Device/engenius_eap1750h
1184 $(Device/senao_loader_okli)
1185 SOC := qca9558
1186 DEVICE_VENDOR := EnGenius
1187 DEVICE_MODEL := EAP1750H
1188 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
1189 IMAGE_SIZE := 11584k
1190 LOADER_FLASH_OFFS := 0x220000
1191 SENAO_IMGNAME := ar71xx-generic-eap1750h
1192 endef
1193 TARGET_DEVICES += engenius_eap1750h
1194
1195 define Device/engenius_eap300-v2
1196 $(Device/senao_loader_okli)
1197 SOC := ar9341
1198 DEVICE_VENDOR := EnGenius
1199 DEVICE_MODEL := EAP300
1200 DEVICE_VARIANT := v2
1201 IMAGE_SIZE := 12096k
1202 LOADER_FLASH_OFFS := 0x220000
1203 SENAO_IMGNAME := senao-eap300v2
1204 endef
1205 TARGET_DEVICES += engenius_eap300-v2
1206
1207 define Device/engenius_eap600
1208 $(Device/senao_loader_okli)
1209 SOC := ar9344
1210 DEVICE_VENDOR := EnGenius
1211 DEVICE_MODEL := EAP600
1212 IMAGE_SIZE := 12096k
1213 LOADER_FLASH_OFFS := 0x220000
1214 SENAO_IMGNAME := senao-eap600
1215 endef
1216 TARGET_DEVICES += engenius_eap600
1217
1218 define Device/engenius_ecb1200
1219 SOC := qca9557
1220 DEVICE_VENDOR := EnGenius
1221 DEVICE_MODEL := ECB1200
1222 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
1223 IMAGE_SIZE := 15680k
1224 IMAGES += factory.bin
1225 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
1226 append-rootfs | pad-rootfs | check-size | \
1227 senao-header -r 0x101 -p 0x6e -t 2
1228 endef
1229 TARGET_DEVICES += engenius_ecb1200
1230
1231 define Device/engenius_ecb1750
1232 SOC := qca9558
1233 DEVICE_VENDOR := EnGenius
1234 DEVICE_MODEL := ECB1750
1235 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
1236 IMAGE_SIZE := 15680k
1237 IMAGES += factory.bin
1238 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
1239 append-rootfs | pad-rootfs | check-size | \
1240 senao-header -r 0x101 -p 0x6d -t 2
1241 endef
1242 TARGET_DEVICES += engenius_ecb1750
1243
1244 define Device/engenius_ecb600
1245 $(Device/senao_loader_okli)
1246 SOC := ar9344
1247 DEVICE_VENDOR := EnGenius
1248 DEVICE_MODEL := ECB600
1249 IMAGE_SIZE := 12096k
1250 LOADER_FLASH_OFFS := 0x220000
1251 SENAO_IMGNAME := senao-ecb600
1252 endef
1253 TARGET_DEVICES += engenius_ecb600
1254
1255 define Device/engenius_ens202ext-v1
1256 $(Device/senao_loader_okli)
1257 SOC := ar9341
1258 DEVICE_VENDOR := EnGenius
1259 DEVICE_MODEL := ENS202EXT
1260 DEVICE_VARIANT := v1
1261 DEVICE_PACKAGES := rssileds
1262 IMAGE_SIZE := 12096k
1263 LOADER_FLASH_OFFS := 0x220000
1264 SENAO_IMGNAME := senao-ens202ext
1265 endef
1266 TARGET_DEVICES += engenius_ens202ext-v1
1267
1268 define Device/engenius_enstationac-v1
1269 $(Device/senao_loader_okli)
1270 SOC := qca9557
1271 DEVICE_VENDOR := EnGenius
1272 DEVICE_MODEL := EnStationAC
1273 DEVICE_VARIANT := v1
1274 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct rssileds
1275 IMAGE_SIZE := 11584k
1276 LOADER_FLASH_OFFS := 0x220000
1277 SENAO_IMGNAME := ar71xx-generic-enstationac
1278 endef
1279 TARGET_DEVICES += engenius_enstationac-v1
1280
1281 define Device/engenius_epg5000
1282 SOC := qca9558
1283 DEVICE_VENDOR := EnGenius
1284 DEVICE_MODEL := EPG5000
1285 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct kmod-usb2
1286 IMAGE_SIZE := 14656k
1287 IMAGES += factory.dlf
1288 IMAGE/factory.dlf := append-kernel | pad-to $$$$(BLOCKSIZE) | \
1289 append-rootfs | pad-rootfs | check-size | \
1290 senao-header -r 0x101 -p 0x71 -t 2
1291 SUPPORTED_DEVICES += epg5000
1292 endef
1293 TARGET_DEVICES += engenius_epg5000
1294
1295 define Device/engenius_esr1200
1296 SOC := qca9557
1297 DEVICE_VENDOR := EnGenius
1298 DEVICE_MODEL := ESR1200
1299 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct kmod-usb2
1300 IMAGE_SIZE := 14656k
1301 IMAGES += factory.dlf
1302 IMAGE/factory.dlf := append-kernel | pad-to $$$$(BLOCKSIZE) | \
1303 append-rootfs | pad-rootfs | check-size | \
1304 senao-header -r 0x101 -p 0x61 -t 2
1305 SUPPORTED_DEVICES += esr1200 esr1750 engenius,esr1750
1306 endef
1307 TARGET_DEVICES += engenius_esr1200
1308
1309 define Device/engenius_esr1750
1310 SOC := qca9558
1311 DEVICE_VENDOR := EnGenius
1312 DEVICE_MODEL := ESR1750
1313 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct kmod-usb2
1314 IMAGE_SIZE := 14656k
1315 IMAGES += factory.dlf
1316 IMAGE/factory.dlf := append-kernel | pad-to $$$$(BLOCKSIZE) | \
1317 append-rootfs | pad-rootfs | check-size | \
1318 senao-header -r 0x101 -p 0x62 -t 2
1319 SUPPORTED_DEVICES += esr1750 esr1200 engenius,esr1200
1320 endef
1321 TARGET_DEVICES += engenius_esr1750
1322
1323 define Device/engenius_esr900
1324 SOC := qca9558
1325 DEVICE_VENDOR := EnGenius
1326 DEVICE_MODEL := ESR900
1327 DEVICE_PACKAGES := kmod-usb2
1328 IMAGE_SIZE := 14656k
1329 IMAGES += factory.dlf
1330 IMAGE/factory.dlf := append-kernel | pad-to $$$$(BLOCKSIZE) | \
1331 append-rootfs | pad-rootfs | check-size | \
1332 senao-header -r 0x101 -p 0x4e -t 2
1333 SUPPORTED_DEVICES += esr900
1334 endef
1335 TARGET_DEVICES += engenius_esr900
1336
1337 define Device/engenius_ews511ap
1338 SOC := qca9531
1339 DEVICE_VENDOR := EnGenius
1340 DEVICE_MODEL := EWS511AP
1341 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct
1342 IMAGE_SIZE := 16000k
1343 endef
1344 TARGET_DEVICES += engenius_ews511ap
1345
1346 define Device/engenius_ews660ap
1347 $(Device/senao_loader_okli)
1348 SOC := qca9558
1349 DEVICE_VENDOR := EnGenius
1350 DEVICE_MODEL := EWS660AP
1351 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
1352 IMAGE_SIZE := 11584k
1353 LOADER_FLASH_OFFS := 0x220000
1354 SENAO_IMGNAME := ar71xx-generic-ews660ap
1355 endef
1356 TARGET_DEVICES += engenius_ews660ap
1357
1358 define Device/enterasys_ws-ap3705i
1359 SOC := ar9344
1360 DEVICE_VENDOR := Enterasys
1361 DEVICE_MODEL := WS-AP3705i
1362 IMAGE_SIZE := 30528k
1363 endef
1364 TARGET_DEVICES += enterasys_ws-ap3705i
1365
1366 define Device/etactica_eg200
1367 SOC := ar9331
1368 DEVICE_VENDOR := eTactica
1369 DEVICE_MODEL := EG200
1370 DEVICE_PACKAGES := kmod-usb-chipidea2 kmod-ledtrig-oneshot \
1371 kmod-usb-serial-ftdi kmod-usb-storage kmod-fs-ext4
1372 IMAGE_SIZE := 16000k
1373 SUPPORTED_DEVICES += rme-eg200
1374 endef
1375 TARGET_DEVICES += etactica_eg200
1376
1377 define Device/extreme-networks_ws-ap3805i
1378 SOC := qca9557
1379 BLOCKSIZE := 256k
1380 DEVICE_VENDOR := Extreme Networks
1381 DEVICE_MODEL := WS-AP3805i
1382 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
1383 IMAGE_SIZE := 29440k
1384 endef
1385 TARGET_DEVICES += extreme-networks_ws-ap3805i
1386
1387 define Device/fortinet_fap-221-b
1388 $(Device/senao_loader_okli)
1389 SOC := ar9344
1390 DEVICE_VENDOR := Fortinet
1391 DEVICE_MODEL := FAP-221-B
1392 FACTORY_IMG_NAME := FP221B-9.99-AP-build999-999999-patch99
1393 IMAGE_SIZE := 9216k
1394 LOADER_FLASH_OFFS := 0x040000
1395 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
1396 append-rootfs | pad-rootfs | \
1397 check-size | pad-to $$$$(IMAGE_SIZE) | \
1398 append-loader-okli-uimage $(1) | pad-to 10944k | \
1399 gzip-filename $$$$(FACTORY_IMG_NAME)
1400 endef
1401 TARGET_DEVICES += fortinet_fap-221-b
1402
1403 define Device/glinet_6408
1404 $(Device/tplink-8mlzma)
1405 SOC := ar9331
1406 DEVICE_VENDOR := GL.iNet
1407 DEVICE_MODEL := 6408
1408 DEVICE_PACKAGES := kmod-usb-chipidea2
1409 IMAGE_SIZE := 8000k
1410 TPLINK_HWID := 0x08000001
1411 IMAGES := sysupgrade.bin
1412 SUPPORTED_DEVICES += gl-inet
1413 endef
1414 TARGET_DEVICES += glinet_6408
1415
1416 define Device/glinet_6416
1417 $(Device/tplink-16mlzma)
1418 SOC := ar9331
1419 DEVICE_VENDOR := GL.iNet
1420 DEVICE_MODEL := 6416
1421 DEVICE_PACKAGES := kmod-usb-chipidea2
1422 IMAGE_SIZE := 16192k
1423 TPLINK_HWID := 0x08000001
1424 IMAGES := sysupgrade.bin
1425 SUPPORTED_DEVICES += gl-inet
1426 endef
1427 TARGET_DEVICES += glinet_6416
1428
1429 define Device/glinet_gl-ar150
1430 SOC := ar9330
1431 DEVICE_VENDOR := GL.iNet
1432 DEVICE_MODEL := GL-AR150
1433 DEVICE_PACKAGES := kmod-usb-chipidea2
1434 IMAGE_SIZE := 16000k
1435 SUPPORTED_DEVICES += gl-ar150
1436 endef
1437 TARGET_DEVICES += glinet_gl-ar150
1438
1439 define Device/glinet_gl-ar300m-common-nor
1440 SOC := qca9531
1441 DEVICE_VENDOR := GL.iNet
1442 DEVICE_PACKAGES := kmod-usb2
1443 IMAGE_SIZE := 16000k
1444 SUPPORTED_DEVICES += gl-ar300m
1445 endef
1446
1447 define Device/glinet_gl-ar300m-lite
1448 $(Device/glinet_gl-ar300m-common-nor)
1449 DEVICE_MODEL := GL-AR300M
1450 DEVICE_VARIANT := Lite
1451 endef
1452 TARGET_DEVICES += glinet_gl-ar300m-lite
1453
1454 define Device/glinet_gl-ar300m16
1455 $(Device/glinet_gl-ar300m-common-nor)
1456 DEVICE_MODEL := GL-AR300M16
1457 endef
1458 TARGET_DEVICES += glinet_gl-ar300m16
1459
1460 define Device/glinet_gl-ar750
1461 SOC := qca9531
1462 DEVICE_VENDOR := GL.iNet
1463 DEVICE_MODEL := GL-AR750
1464 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9887-ct
1465 IMAGE_SIZE := 16000k
1466 SUPPORTED_DEVICES += gl-ar750
1467 endef
1468 TARGET_DEVICES += glinet_gl-ar750
1469
1470 define Device/glinet_gl-mifi
1471 SOC := ar9331
1472 DEVICE_VENDOR := GL.iNET
1473 DEVICE_MODEL := GL-MiFi
1474 DEVICE_PACKAGES := kmod-usb-chipidea2
1475 IMAGE_SIZE := 16000k
1476 SUPPORTED_DEVICES += gl-mifi
1477 endef
1478 TARGET_DEVICES += glinet_gl-mifi
1479
1480 define Device/glinet_gl-usb150
1481 SOC := ar9331
1482 DEVICE_VENDOR := GL.iNET
1483 DEVICE_MODEL := GL-USB150
1484 IMAGE_SIZE := 16000k
1485 SUPPORTED_DEVICES += gl-usb150
1486 endef
1487 TARGET_DEVICES += glinet_gl-usb150
1488
1489 define Device/glinet_gl-x300b
1490 SOC := qca9531
1491 DEVICE_VENDOR := GL.iNet
1492 DEVICE_MODEL := GL-X300B
1493 DEVICE_PACKAGES := kmod-usb2
1494 IMAGE_SIZE := 16000k
1495 endef
1496 TARGET_DEVICES += glinet_gl-x300b
1497
1498 define Device/glinet_gl-x750
1499 SOC := qca9531
1500 DEVICE_VENDOR := GL.iNet
1501 DEVICE_MODEL := GL-X750
1502 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9887-ct
1503 IMAGE_SIZE := 16000k
1504 endef
1505 TARGET_DEVICES += glinet_gl-x750
1506
1507 define Device/hak5_lan-turtle
1508 $(Device/tplink-16mlzma)
1509 SOC := ar9331
1510 DEVICE_VENDOR := Hak5
1511 DEVICE_MODEL := LAN Turtle
1512 TPLINK_HWID := 0x5348334c
1513 IMAGES := sysupgrade.bin
1514 DEVICE_PACKAGES := kmod-usb-chipidea2 -iwinfo -kmod-ath9k -swconfig \
1515 -uboot-envtools -wpad-basic-mbedtls
1516 SUPPORTED_DEVICES += lan-turtle
1517 endef
1518 TARGET_DEVICES += hak5_lan-turtle
1519
1520 define Device/hak5_packet-squirrel
1521 $(Device/tplink-16mlzma)
1522 SOC := ar9331
1523 DEVICE_VENDOR := Hak5
1524 DEVICE_MODEL := Packet Squirrel
1525 TPLINK_HWID := 0x5351524c
1526 IMAGES := sysupgrade.bin
1527 DEVICE_PACKAGES := kmod-usb-chipidea2 -iwinfo -kmod-ath9k -swconfig \
1528 -uboot-envtools -wpad-basic-mbedtls
1529 SUPPORTED_DEVICES += packet-squirrel
1530 endef
1531 TARGET_DEVICES += hak5_packet-squirrel
1532
1533 define Device/hak5_wifi-pineapple-nano
1534 $(Device/tplink-16mlzma)
1535 SOC := ar9331
1536 DEVICE_VENDOR := Hak5
1537 DEVICE_MODEL := WiFi Pineapple NANO
1538 TPLINK_HWID := 0x4e414e4f
1539 IMAGES := sysupgrade.bin
1540 DEVICE_PACKAGES := kmod-ath9k-htc kmod-usb-chipidea2 kmod-usb-storage \
1541 -swconfig -uboot-envtools
1542 SUPPORTED_DEVICES += wifi-pineapple-nano
1543 endef
1544 TARGET_DEVICES += hak5_wifi-pineapple-nano
1545
1546 define Device/hiwifi_hc6361
1547 SOC := ar9331
1548 DEVICE_VENDOR := HiWiFi
1549 DEVICE_MODEL := HC6361
1550 DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-chipidea2 kmod-usb-storage \
1551 kmod-fs-ext4 kmod-nls-iso8859-1 e2fsprogs
1552 BOARDNAME := HiWiFi-HC6361
1553 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma | pad-to $$(BLOCKSIZE)
1554 IMAGE_SIZE := 16128k
1555 endef
1556 TARGET_DEVICES += hiwifi_hc6361
1557
1558 define Device/iodata_etg3-r
1559 SOC := ar9342
1560 DEVICE_VENDOR := I-O DATA
1561 DEVICE_MODEL := ETG3-R
1562 IMAGE_SIZE := 7680k
1563 DEVICE_PACKAGES := -iwinfo -kmod-ath9k -wpad-basic-mbedtls
1564 endef
1565 TARGET_DEVICES += iodata_etg3-r
1566
1567 define Device/iodata_wn-ac1167dgr
1568 SOC := qca9557
1569 DEVICE_VENDOR := I-O DATA
1570 DEVICE_MODEL := WN-AC1167DGR
1571 IMAGE_SIZE := 14656k
1572 IMAGES += factory.bin
1573 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
1574 append-rootfs | pad-rootfs | check-size | \
1575 senao-header -r 0x30a -p 0x61 -t 2
1576 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
1577 endef
1578 TARGET_DEVICES += iodata_wn-ac1167dgr
1579
1580 define Device/iodata_wn-ac1600dgr
1581 SOC := qca9557
1582 DEVICE_VENDOR := I-O DATA
1583 DEVICE_MODEL := WN-AC1600DGR
1584 IMAGE_SIZE := 14656k
1585 IMAGES += factory.bin
1586 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
1587 append-rootfs | pad-rootfs | check-size | \
1588 senao-header -r 0x30a -p 0x60 -t 2 -v 200
1589 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
1590 endef
1591 TARGET_DEVICES += iodata_wn-ac1600dgr
1592
1593 define Device/iodata_wn-ac1600dgr2
1594 SOC := qca9557
1595 DEVICE_VENDOR := I-O DATA
1596 DEVICE_MODEL := WN-AC1600DGR2/DGR3
1597 IMAGE_SIZE := 14656k
1598 IMAGES += dgr2-dgr3-factory.bin
1599 IMAGE/dgr2-dgr3-factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
1600 append-rootfs | pad-rootfs | check-size | \
1601 senao-header -r 0x30a -p 0x60 -t 2 -v 200
1602 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
1603 endef
1604 TARGET_DEVICES += iodata_wn-ac1600dgr2
1605
1606 define Device/iodata_wn-ag300dgr
1607 SOC := ar1022
1608 DEVICE_VENDOR := I-O DATA
1609 DEVICE_MODEL := WN-AG300DGR
1610 IMAGE_SIZE := 15424k
1611 IMAGES += factory.bin
1612 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
1613 append-rootfs | pad-rootfs | check-size | \
1614 senao-header -r 0x30a -p 0x47 -t 2
1615 DEVICE_PACKAGES := kmod-usb2
1616 endef
1617 TARGET_DEVICES += iodata_wn-ag300dgr
1618
1619 define Device/jjplus_ja76pf2
1620 SOC := ar7161
1621 DEVICE_VENDOR := jjPlus
1622 DEVICE_MODEL := JA76PF2
1623 DEVICE_PACKAGES += -kmod-ath9k -swconfig -wpad-basic-mbedtls -uboot-envtools fconfig kmod-hwmon-lm75
1624 LOADER_TYPE := bin
1625 LOADER_FLASH_OFFS := 0x60000
1626 COMPILE := loader-$(1).bin
1627 COMPILE/loader-$(1).bin := loader-okli-compile | lzma | pad-to 128k
1628 ARTIFACTS := loader.bin
1629 ARTIFACT/loader.bin := append-loader-okli $(1)
1630 IMAGES += firmware.bin
1631 IMAGE/firmware.bin := append-kernel | uImage lzma -M 0x4f4b4c49 | pad-to $$$$(BLOCKSIZE) | \
1632 append-rootfs | pad-rootfs | pad-to $$$$(BLOCKSIZE) | check-size
1633 IMAGE/sysupgrade.bin := $$(IMAGE/firmware.bin) | \
1634 sysupgrade-tar kernel=$$$$(KDIR)/loader-$(1).bin rootfs=$$$$@ | append-metadata
1635 KERNEL := kernel-bin | append-dtb | lzma
1636 KERNEL_INITRAMFS := kernel-bin | append-dtb
1637 IMAGE_SIZE := 15872k
1638 DEVICE_COMPAT_VERSION := 2.0
1639 DEVICE_COMPAT_MESSAGE := Partition design has changed compared to older versions (19.07 and 21.02) \
1640 due to kernel drivers restrictions. Upgrade via sysupgrade mechanism is one way operation. \
1641 Downgrading OpenWrt version will involve usage of bootloader command line interface.
1642 endef
1643 TARGET_DEVICES += jjplus_ja76pf2
1644
1645 define Device/jjplus_jwap230
1646 SOC := qca9558
1647 DEVICE_VENDOR := jjPlus
1648 DEVICE_MODEL := JWAP230
1649 IMAGE_SIZE := 16000k
1650 endef
1651 TARGET_DEVICES += jjplus_jwap230
1652
1653 define Device/joyit_jt-or750i
1654 SOC := qca9531
1655 DEVICE_VENDOR := Joy-IT
1656 DEVICE_MODEL := JT-OR750i
1657 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct
1658 IMAGE_SIZE := 16000k
1659 endef
1660 TARGET_DEVICES += joyit_jt-or750i
1661
1662 define Device/kuwfi_c910
1663 $(Device/loader-okli-uimage)
1664 SOC := qca9533
1665 DEVICE_VENDOR := KuWFi
1666 DEVICE_MODEL := C910
1667 DEVICE_PACKAGES := kmod-usb2 kmod-usb-net-cdc-ether comgt-ncm
1668 LOADER_FLASH_OFFS := 0x50000
1669 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49
1670 IMAGE_SIZE := 15936k
1671 IMAGES += factory.bin
1672 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
1673 append-rootfs | pad-rootfs | check-size | pad-to 14528k | \
1674 append-loader-okli-uimage $(1) | pad-to 64k
1675 endef
1676 TARGET_DEVICES += kuwfi_c910
1677
1678 define Device/letv_lba-047-ch
1679 $(Device/loader-okli-uimage)
1680 SOC := qca9531
1681 DEVICE_VENDOR := Letv
1682 DEVICE_MODEL := LBA-047-CH
1683 DEVICE_PACKAGES := -uboot-envtools
1684 FACTORY_SIZE := 14528k
1685 IMAGE_SIZE := 15936k
1686 LOADER_FLASH_OFFS := 0x50000
1687 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49
1688 IMAGES += kernel.bin rootfs.bin
1689 IMAGE/kernel.bin := append-loader-okli-uimage $(1) | pad-to 64k
1690 IMAGE/rootfs.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
1691 append-rootfs | pad-rootfs | check-size $$$$(FACTORY_SIZE)
1692 endef
1693 TARGET_DEVICES += letv_lba-047-ch
1694
1695 define Device/librerouter_librerouter-v1
1696 SOC := qca9558
1697 DEVICE_VENDOR := Librerouter
1698 DEVICE_MODEL := LibreRouter
1699 DEVICE_VARIANT := v1
1700 IMAGE_SIZE := 7936k
1701 DEVICE_PACKAGES := kmod-usb2
1702 endef
1703 TARGET_DEVICES += librerouter_librerouter-v1
1704
1705 define Device/meraki_mr12
1706 SOC := ar7242
1707 DEVICE_VENDOR := Meraki
1708 DEVICE_MODEL := MR12
1709 IMAGE_SIZE := 15616k
1710 DEVICE_PACKAGES := kmod-owl-loader rssileds
1711 SUPPORTED_DEVICES += mr12
1712 DEVICE_COMPAT_VERSION := 2.0
1713 DEVICE_COMPAT_MESSAGE := Partitions differ from ar71xx version of MR12. Image format is incompatible. \
1714 To use sysupgrade, you must change /lib/update/common.sh::get_image to prepend 128K zeroes to this image, \
1715 and change the bootcmd in u-boot to "bootm 0xbf0a0000". After that, you can use "sysupgrade -F -n". \
1716 Make sure you do not keep your old config, as ethernet setup is not compatible either. \
1717 For more details, see the OpenWrt Wiki: https://openwrt.org/toh/meraki/MR12, \
1718 or the commit message of the MR12 ath79 port on git.openwrt.org.
1719 endef
1720 TARGET_DEVICES += meraki_mr12
1721
1722 define Device/meraki_mr16
1723 SOC := ar7161
1724 DEVICE_VENDOR := Meraki
1725 DEVICE_MODEL := MR16
1726 IMAGE_SIZE := 15616k
1727 DEVICE_PACKAGES := kmod-owl-loader
1728 SUPPORTED_DEVICES += mr16
1729 DEVICE_COMPAT_VERSION := 2.0
1730 DEVICE_COMPAT_MESSAGE := Partitions differ from ar71xx version of MR16. Image format is incompatible. \
1731 To use sysupgrade, you must change /lib/update/common.sh::get_image to prepend 128K zeroes to this image, \
1732 and change the bootcmd in u-boot to "bootm 0xbf0a0000". After that, you can use "sysupgrade -F". \
1733 For more details, see the OpenWrt Wiki: https://openwrt.org/toh/meraki/mr16, \
1734 or the commit message of the MR16 ath79 port on git.openwrt.org.
1735 endef
1736 TARGET_DEVICES += meraki_mr16
1737
1738 define Device/mercury_mw4530r-v1
1739 $(Device/tplink-8mlzma)
1740 SOC := ar9344
1741 DEVICE_VENDOR := Mercury
1742 DEVICE_MODEL := MW4530R
1743 DEVICE_VARIANT := v1
1744 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
1745 TPLINK_HWID := 0x45300001
1746 SUPPORTED_DEVICES += tl-wdr4300
1747 endef
1748 TARGET_DEVICES += mercury_mw4530r-v1
1749
1750 define Device/nec_wx1200cr
1751 DEVICE_VENDOR := NEC
1752 IMAGE/default := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs
1753 IMAGE/sysupgrade.bin := $$(IMAGE/default) | seama | pad-rootfs | \
1754 check-size | append-metadata
1755 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
1756 endef
1757
1758 define Device/nec_wf1200cr
1759 $(Device/nec_wx1200cr)
1760 SOC := qca9561
1761 DEVICE_MODEL := Aterm WF1200CR
1762 IMAGE_SIZE := 7680k
1763 SEAMA_MTDBLOCK := 5
1764 SEAMA_SIGNATURE := wrgac62_necpf.2016gui_wf1200cr
1765 IMAGES += factory.bin
1766 IMAGE/factory.bin := $$(IMAGE/default) | pad-rootfs -x 64 | seama | \
1767 seama-seal | nec-enc ryztfyutcrqqo69d | check-size
1768 endef
1769 TARGET_DEVICES += nec_wf1200cr
1770
1771 define Device/nec_wg1200cr
1772 $(Device/nec_wx1200cr)
1773 SOC := qca9563
1774 DEVICE_MODEL := Aterm WG1200CR
1775 IMAGE_SIZE := 7616k
1776 SEAMA_MTDBLOCK := 6
1777 SEAMA_SIGNATURE := wrgac72_necpf.2016gui_wg1200cr
1778 IMAGES += factory.bin
1779 IMAGE/factory.bin := $$(IMAGE/default) | pad-rootfs -x 64 | seama | \
1780 seama-seal | nec-enc 9gsiy9nzep452pad | check-size
1781 endef
1782 TARGET_DEVICES += nec_wg1200cr
1783
1784 define Device/nec_wg800hp
1785 SOC := qca9563
1786 DEVICE_VENDOR := NEC
1787 DEVICE_MODEL := Aterm WG800HP
1788 IMAGE_SIZE := 7104k
1789 IMAGES += factory.bin
1790 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
1791 append-rootfs | pad-rootfs | check-size | \
1792 xor-image -p 6A57190601121E4C004C1E1201061957 -x | nec-fw LASER_ATERM
1793 DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9887-ct-full-htt
1794 endef
1795 TARGET_DEVICES += nec_wg800hp
1796
1797 define Device/netgear_ex7300
1798 SOC := qca9558
1799 DEVICE_VENDOR := NETGEAR
1800 DEVICE_MODEL := EX7300
1801 DEVICE_ALT0_VENDOR := NETGEAR
1802 DEVICE_ALT0_MODEL := EX6400
1803 NETGEAR_BOARD_ID := EX7300series
1804 NETGEAR_HW_ID := 29765104+16+0+128
1805 IMAGE_SIZE := 15552k
1806 IMAGES += factory.img
1807 IMAGE/default := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | \
1808 netgear-rootfs | pad-rootfs
1809 IMAGE/sysupgrade.bin := $$(IMAGE/default) | check-size | append-metadata
1810 IMAGE/factory.img := $$(IMAGE/default) | netgear-dni | check-size
1811 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca99x0-ct
1812 SUPPORTED_DEVICES += netgear,ex6400
1813 endef
1814 TARGET_DEVICES += netgear_ex7300
1815
1816 define Device/netgear_ex7300-v2
1817 SOC := qcn5502
1818 DEVICE_VENDOR := NETGEAR
1819 DEVICE_MODEL := EX7300
1820 DEVICE_VARIANT := v2
1821 DEVICE_ALT0_VENDOR := NETGEAR
1822 DEVICE_ALT0_MODEL := EX6250
1823 DEVICE_ALT1_VENDOR := NETGEAR
1824 DEVICE_ALT1_MODEL := EX6400
1825 DEVICE_ALT1_VARIANT := v2
1826 DEVICE_ALT2_VENDOR := NETGEAR
1827 DEVICE_ALT2_MODEL := EX6410
1828 DEVICE_ALT3_VENDOR := NETGEAR
1829 DEVICE_ALT3_MODEL := EX6420
1830 DEVICE_ALT4_VENDOR := NETGEAR
1831 DEVICE_ALT4_MODEL := EX7320
1832 NETGEAR_BOARD_ID := EX7300v2series
1833 NETGEAR_HW_ID := 29765907+16+0+128
1834 IMAGE_SIZE := 14528k
1835 IMAGES += factory.img
1836 IMAGE/default := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | \
1837 netgear-rootfs | pad-rootfs
1838 IMAGE/sysupgrade.bin := $$(IMAGE/default) | check-size | append-metadata
1839 IMAGE/factory.img := $$(IMAGE/default) | check-size | netgear-dni
1840 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9984-ct
1841 endef
1842 TARGET_DEVICES += netgear_ex7300-v2
1843
1844 define Device/netgear_wndap360
1845 $(Device/netgear_generic)
1846 SOC := ar7161
1847 DEVICE_MODEL := WNDAP360
1848 DEVICE_PACKAGES := kmod-leds-reset
1849 IMAGE_SIZE := 7744k
1850 BLOCKSIZE := 256k
1851 KERNEL := kernel-bin | append-dtb | gzip | uImage gzip
1852 KERNEL_INITRAMFS := kernel-bin | append-dtb | uImage none
1853 IMAGES := sysupgrade.bin
1854 IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | append-rootfs | pad-rootfs | \
1855 check-size | append-metadata
1856 endef
1857 TARGET_DEVICES += netgear_wndap360
1858
1859 define Device/netgear_wndr3x00
1860 $(Device/netgear_generic)
1861 SOC := ar7161
1862 DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport \
1863 kmod-leds-reset kmod-owl-loader kmod-switch-rtl8366s
1864 endef
1865
1866 define Device/netgear_wndr3700
1867 $(Device/netgear_wndr3x00)
1868 DEVICE_MODEL := WNDR3700
1869 DEVICE_VARIANT := v1
1870 UIMAGE_MAGIC := 0x33373030
1871 NETGEAR_BOARD_ID := WNDR3700
1872 IMAGE_SIZE := 7680k
1873 IMAGES += factory-NA.img
1874 IMAGE/factory-NA.img := $$(IMAGE/default) | netgear-dni NA | \
1875 check-size
1876 SUPPORTED_DEVICES += wndr3700
1877 endef
1878 TARGET_DEVICES += netgear_wndr3700
1879
1880 define Device/netgear_wndr3700-v2
1881 $(Device/netgear_wndr3x00)
1882 DEVICE_MODEL := WNDR3700
1883 DEVICE_VARIANT := v2
1884 UIMAGE_MAGIC := 0x33373031
1885 NETGEAR_BOARD_ID := WNDR3700v2
1886 NETGEAR_HW_ID := 29763654+16+64
1887 IMAGE_SIZE := 15872k
1888 SUPPORTED_DEVICES += wndr3700 netgear,wndr3700v2
1889 endef
1890 TARGET_DEVICES += netgear_wndr3700-v2
1891
1892 define Device/netgear_wndr3800
1893 $(Device/netgear_wndr3x00)
1894 DEVICE_MODEL := WNDR3800
1895 UIMAGE_MAGIC := 0x33373031
1896 NETGEAR_BOARD_ID := WNDR3800
1897 NETGEAR_HW_ID := 29763654+16+128
1898 IMAGE_SIZE := 15872k
1899 SUPPORTED_DEVICES += wndr3700
1900 endef
1901 TARGET_DEVICES += netgear_wndr3800
1902
1903 define Device/netgear_wndr3800ch
1904 $(Device/netgear_wndr3x00)
1905 DEVICE_MODEL := WNDR3800CH
1906 UIMAGE_MAGIC := 0x33373031
1907 NETGEAR_BOARD_ID := WNDR3800CH
1908 NETGEAR_HW_ID := 29763654+16+128
1909 IMAGE_SIZE := 15872k
1910 SUPPORTED_DEVICES += wndr3700
1911 endef
1912 TARGET_DEVICES += netgear_wndr3800ch
1913
1914 define Device/netgear_wndrmac-v1
1915 $(Device/netgear_wndr3x00)
1916 DEVICE_MODEL := WNDRMAC
1917 DEVICE_VARIANT := v1
1918 UIMAGE_MAGIC := 0x33373031
1919 NETGEAR_BOARD_ID := WNDRMAC
1920 NETGEAR_HW_ID := 29763654+16+64
1921 IMAGE_SIZE := 15872k
1922 SUPPORTED_DEVICES += wndr3700
1923 endef
1924 TARGET_DEVICES += netgear_wndrmac-v1
1925
1926 define Device/netgear_wndrmac-v2
1927 $(Device/netgear_wndr3x00)
1928 DEVICE_MODEL := WNDRMAC
1929 DEVICE_VARIANT := v2
1930 UIMAGE_MAGIC := 0x33373031
1931 NETGEAR_BOARD_ID := WNDRMACv2
1932 NETGEAR_HW_ID := 29763654+16+128
1933 IMAGE_SIZE := 15872k
1934 SUPPORTED_DEVICES += wndr3700
1935 endef
1936 TARGET_DEVICES += netgear_wndrmac-v2
1937
1938 define Device/netgear_wnr2200_common
1939 $(Device/netgear_generic)
1940 SOC := ar7241
1941 DEVICE_MODEL := WNR2200
1942 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
1943 UIMAGE_MAGIC := 0x32323030
1944 NETGEAR_BOARD_ID := wnr2200
1945 endef
1946
1947 define Device/netgear_wnr2200-8m
1948 $(Device/netgear_wnr2200_common)
1949 DEVICE_VARIANT := 8M
1950 NETGEAR_HW_ID := 29763600+08+64
1951 IMAGE_SIZE := 7808k
1952 IMAGES += factory-NA.img
1953 IMAGE/factory-NA.img := $$(IMAGE/default) | netgear-dni NA | \
1954 check-size
1955 SUPPORTED_DEVICES += wnr2200
1956 endef
1957 TARGET_DEVICES += netgear_wnr2200-8m
1958
1959 define Device/netgear_wnr2200-16m
1960 $(Device/netgear_wnr2200_common)
1961 DEVICE_VARIANT := 16M
1962 DEVICE_ALT0_VENDOR := NETGEAR
1963 DEVICE_ALT0_MODEL := WNR2200
1964 DEVICE_ALT0_VARIANT := CN/RU
1965 NETGEAR_HW_ID :=
1966 IMAGE_SIZE := 16000k
1967 endef
1968 TARGET_DEVICES += netgear_wnr2200-16m
1969
1970 define Device/ocedo_koala
1971 SOC := qca9558
1972 DEVICE_VENDOR := Ocedo
1973 DEVICE_MODEL := Koala
1974 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
1975 SUPPORTED_DEVICES += koala
1976 IMAGE_SIZE := 14848k
1977 endef
1978 TARGET_DEVICES += ocedo_koala
1979
1980 define Device/ocedo_raccoon
1981 SOC := ar9344
1982 DEVICE_VENDOR := Ocedo
1983 DEVICE_MODEL := Raccoon
1984 IMAGE_SIZE := 14848k
1985 endef
1986 TARGET_DEVICES += ocedo_raccoon
1987
1988 define Device/ocedo_ursus
1989 SOC := qca9558
1990 DEVICE_VENDOR := Ocedo
1991 DEVICE_MODEL := Ursus
1992 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
1993 IMAGE_SIZE := 14848k
1994 endef
1995 TARGET_DEVICES += ocedo_ursus
1996
1997 define Device/onion_omega
1998 $(Device/tplink-16mlzma)
1999 SOC := ar9331
2000 DEVICE_VENDOR := Onion
2001 DEVICE_MODEL := Omega
2002 DEVICE_PACKAGES := kmod-usb-chipidea2
2003 SUPPORTED_DEVICES += onion-omega
2004 KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma
2005 IMAGE_SIZE := 16192k
2006 TPLINK_HWID := 0x04700001
2007 endef
2008 TARGET_DEVICES += onion_omega
2009
2010 define Device/openmesh_common_64k
2011 DEVICE_VENDOR := OpenMesh
2012 DEVICE_PACKAGES := uboot-envtools
2013 IMAGE_SIZE := 7808k
2014 OPENMESH_CE_TYPE :=
2015 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma | \
2016 pad-to $$(BLOCKSIZE)
2017 IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | \
2018 openmesh-image ce_type=$$$$(OPENMESH_CE_TYPE) | append-metadata
2019 endef
2020
2021 define Device/openmesh_common_256k
2022 DEVICE_VENDOR := OpenMesh
2023 DEVICE_PACKAGES := uboot-envtools
2024 IMAGE_SIZE := 7168k
2025 BLOCKSIZE := 256k
2026 OPENMESH_CE_TYPE :=
2027 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma | \
2028 pad-to $$(BLOCKSIZE)
2029 IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | \
2030 openmesh-image ce_type=$$$$(OPENMESH_CE_TYPE) | append-metadata
2031 endef
2032
2033 define Device/openmesh_a40
2034 $(Device/openmesh_common_64k)
2035 SOC := qca9558
2036 DEVICE_MODEL := A40
2037 DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct kmod-usb2
2038 OPENMESH_CE_TYPE := A60
2039 SUPPORTED_DEVICES += a40
2040 endef
2041 TARGET_DEVICES += openmesh_a40
2042
2043 define Device/openmesh_a60
2044 $(Device/openmesh_common_64k)
2045 SOC := qca9558
2046 DEVICE_MODEL := A60
2047 DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct kmod-usb2
2048 OPENMESH_CE_TYPE := A60
2049 SUPPORTED_DEVICES += a60
2050 endef
2051 TARGET_DEVICES += openmesh_a60
2052
2053 define Device/openmesh_mr600-v1
2054 $(Device/openmesh_common_64k)
2055 SOC := ar9344
2056 DEVICE_MODEL := MR600
2057 DEVICE_VARIANT := v1
2058 OPENMESH_CE_TYPE := MR600
2059 SUPPORTED_DEVICES += mr600
2060 endef
2061 TARGET_DEVICES += openmesh_mr600-v1
2062
2063 define Device/openmesh_mr600-v2
2064 $(Device/openmesh_common_64k)
2065 SOC := ar9344
2066 DEVICE_MODEL := MR600
2067 DEVICE_VARIANT := v2
2068 OPENMESH_CE_TYPE := MR600
2069 SUPPORTED_DEVICES += mr600v2
2070 endef
2071 TARGET_DEVICES += openmesh_mr600-v2
2072
2073 define Device/openmesh_mr900-v1
2074 $(Device/openmesh_common_64k)
2075 SOC := qca9558
2076 DEVICE_MODEL := MR900
2077 DEVICE_VARIANT := v1
2078 OPENMESH_CE_TYPE := MR900
2079 SUPPORTED_DEVICES += mr900
2080 endef
2081 TARGET_DEVICES += openmesh_mr900-v1
2082
2083 define Device/openmesh_mr900-v2
2084 $(Device/openmesh_common_64k)
2085 SOC := qca9558
2086 DEVICE_MODEL := MR900
2087 DEVICE_VARIANT := v2
2088 OPENMESH_CE_TYPE := MR900
2089 SUPPORTED_DEVICES += mr900v2
2090 endef
2091 TARGET_DEVICES += openmesh_mr900-v2
2092
2093 define Device/openmesh_mr1750-v1
2094 $(Device/openmesh_common_64k)
2095 SOC := qca9558
2096 DEVICE_MODEL := MR1750
2097 DEVICE_VARIANT := v1
2098 DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct
2099 OPENMESH_CE_TYPE := MR1750
2100 SUPPORTED_DEVICES += mr1750
2101 endef
2102 TARGET_DEVICES += openmesh_mr1750-v1
2103
2104 define Device/openmesh_mr1750-v2
2105 $(Device/openmesh_common_64k)
2106 SOC := qca9558
2107 DEVICE_MODEL := MR1750
2108 DEVICE_VARIANT := v2
2109 DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct
2110 OPENMESH_CE_TYPE := MR1750
2111 SUPPORTED_DEVICES += mr1750v2
2112 endef
2113 TARGET_DEVICES += openmesh_mr1750-v2
2114
2115 define Device/openmesh_om2p-v1
2116 $(Device/openmesh_common_256k)
2117 SOC := ar7240
2118 DEVICE_MODEL := OM2P
2119 DEVICE_VARIANT := v1
2120 OPENMESH_CE_TYPE := OM2P
2121 SUPPORTED_DEVICES += om2p
2122 endef
2123 TARGET_DEVICES += openmesh_om2p-v1
2124
2125 define Device/openmesh_om2p-v2
2126 $(Device/openmesh_common_256k)
2127 SOC := ar9330
2128 DEVICE_MODEL := OM2P
2129 DEVICE_VARIANT := v2
2130 OPENMESH_CE_TYPE := OM2P
2131 SUPPORTED_DEVICES += om2pv2
2132 endef
2133 TARGET_DEVICES += openmesh_om2p-v2
2134
2135 define Device/openmesh_om2p-v4
2136 $(Device/openmesh_common_256k)
2137 SOC := qca9533
2138 DEVICE_MODEL := OM2P
2139 DEVICE_VARIANT := v4
2140 OPENMESH_CE_TYPE := OM2P
2141 SUPPORTED_DEVICES += om2pv4
2142 endef
2143 TARGET_DEVICES += openmesh_om2p-v4
2144
2145 define Device/openmesh_om2p-hs-v1
2146 $(Device/openmesh_common_256k)
2147 SOC := ar9341
2148 DEVICE_MODEL := OM2P-HS
2149 DEVICE_VARIANT := v1
2150 OPENMESH_CE_TYPE := OM2P
2151 SUPPORTED_DEVICES += om2p-hs
2152 endef
2153 TARGET_DEVICES += openmesh_om2p-hs-v1
2154
2155 define Device/openmesh_om2p-hs-v2
2156 $(Device/openmesh_common_256k)
2157 SOC := ar9341
2158 DEVICE_MODEL := OM2P-HS
2159 DEVICE_VARIANT := v2
2160 OPENMESH_CE_TYPE := OM2P
2161 SUPPORTED_DEVICES += om2p-hsv2
2162 endef
2163 TARGET_DEVICES += openmesh_om2p-hs-v2
2164
2165 define Device/openmesh_om2p-hs-v3
2166 $(Device/openmesh_common_256k)
2167 SOC := ar9341
2168 DEVICE_MODEL := OM2P-HS
2169 DEVICE_VARIANT := v3
2170 OPENMESH_CE_TYPE := OM2P
2171 SUPPORTED_DEVICES += om2p-hsv3
2172 endef
2173 TARGET_DEVICES += openmesh_om2p-hs-v3
2174
2175 define Device/openmesh_om2p-hs-v4
2176 $(Device/openmesh_common_256k)
2177 SOC := qca9533
2178 DEVICE_MODEL := OM2P-HS
2179 DEVICE_VARIANT := v4
2180 OPENMESH_CE_TYPE := OM2P
2181 SUPPORTED_DEVICES += om2p-hsv4
2182 endef
2183 TARGET_DEVICES += openmesh_om2p-hs-v4
2184
2185 define Device/openmesh_om2p-lc
2186 $(Device/openmesh_common_256k)
2187 SOC := ar9330
2188 DEVICE_MODEL := OM2P-LC
2189 OPENMESH_CE_TYPE := OM2P
2190 SUPPORTED_DEVICES += om2p-lc
2191 endef
2192 TARGET_DEVICES += openmesh_om2p-lc
2193
2194 define Device/openmesh_om5p
2195 $(Device/openmesh_common_64k)
2196 SOC := ar9344
2197 DEVICE_MODEL := OM5P
2198 OPENMESH_CE_TYPE := OM5P
2199 SUPPORTED_DEVICES += om5p
2200 endef
2201 TARGET_DEVICES += openmesh_om5p
2202
2203 define Device/openmesh_om5p-ac-v1
2204 $(Device/openmesh_common_64k)
2205 SOC := qca9558
2206 DEVICE_MODEL := OM5P-AC
2207 DEVICE_VARIANT := v1
2208 DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct
2209 OPENMESH_CE_TYPE := OM5PAC
2210 SUPPORTED_DEVICES += om5p-ac
2211 endef
2212 TARGET_DEVICES += openmesh_om5p-ac-v1
2213
2214 define Device/openmesh_om5p-ac-v2
2215 $(Device/openmesh_common_64k)
2216 SOC := qca9558
2217 DEVICE_MODEL := OM5P-AC
2218 DEVICE_VARIANT := v2
2219 DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct
2220 OPENMESH_CE_TYPE := OM5PAC
2221 SUPPORTED_DEVICES += om5p-acv2
2222 endef
2223 TARGET_DEVICES += openmesh_om5p-ac-v2
2224
2225 define Device/openmesh_om5p-an
2226 $(Device/openmesh_common_64k)
2227 SOC := ar9344
2228 DEVICE_MODEL := OM5P-AN
2229 OPENMESH_CE_TYPE := OM5P
2230 SUPPORTED_DEVICES += om5p-an
2231 endef
2232 TARGET_DEVICES += openmesh_om5p-an
2233
2234 define Device/pcs_cap324
2235 SOC := ar9344
2236 DEVICE_VENDOR := PowerCloud Systems
2237 DEVICE_MODEL := CAP324
2238 IMAGE_SIZE := 16000k
2239 SUPPORTED_DEVICES += cap324
2240 endef
2241 TARGET_DEVICES += pcs_cap324
2242
2243 define Device/pcs_cr3000
2244 SOC := ar9341
2245 DEVICE_VENDOR := PowerCloud Systems
2246 DEVICE_MODEL := CR3000
2247 IMAGE_SIZE := 7808k
2248 SUPPORTED_DEVICES += cr3000
2249 endef
2250 TARGET_DEVICES += pcs_cr3000
2251
2252 define Device/pcs_cr5000
2253 SOC := ar9344
2254 DEVICE_VENDOR := PowerCloud Systems
2255 DEVICE_MODEL := CR5000
2256 DEVICE_PACKAGES := kmod-usb2
2257 IMAGE_SIZE := 7808k
2258 SUPPORTED_DEVICES += cr5000
2259 endef
2260 TARGET_DEVICES += pcs_cr5000
2261
2262 define Device/phicomm_k2t
2263 SOC := qca9563
2264 DEVICE_VENDOR := Phicomm
2265 DEVICE_MODEL := K2T
2266 IMAGE_SIZE := 15744k
2267 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \
2268 check-size | append-metadata
2269 DEVICE_PACKAGES := kmod-leds-reset kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9888-ct
2270 endef
2271 TARGET_DEVICES += phicomm_k2t
2272
2273 define Device/pisen_ts-d084
2274 $(Device/tplink-8mlzma)
2275 SOC := ar9331
2276 DEVICE_VENDOR := PISEN
2277 DEVICE_MODEL := TS-D084
2278 DEVICE_PACKAGES := kmod-usb-chipidea2
2279 TPLINK_HWID := 0x07030101
2280 endef
2281 TARGET_DEVICES += pisen_ts-d084
2282
2283 define Device/pisen_wmb001n
2284 $(Device/loader-okli-uimage)
2285 SOC := ar9341
2286 DEVICE_VENDOR := PISEN
2287 DEVICE_MODEL := WMB001N
2288 IMAGE_SIZE := 14080k
2289 DEVICE_PACKAGES := kmod-i2c-gpio kmod-usb2
2290 LOADER_FLASH_OFFS := 0x20000
2291 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49
2292 IMAGES += factory.bin
2293 IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | pisen_wmb001n-factory $(1)
2294 endef
2295 TARGET_DEVICES += pisen_wmb001n
2296
2297 define Device/pisen_wmm003n
2298 $(Device/tplink-8mlzma)
2299 SOC := ar9331
2300 DEVICE_VENDOR := PISEN
2301 DEVICE_MODEL := Cloud Easy Power (WMM003N)
2302 DEVICE_PACKAGES := kmod-usb-chipidea2
2303 TPLINK_HWID := 0x07030101
2304 endef
2305 TARGET_DEVICES += pisen_wmm003n
2306
2307 define Device/plasmacloud_pa300-common
2308 SOC := qca9533
2309 DEVICE_VENDOR := Plasma Cloud
2310 DEVICE_PACKAGES := uboot-envtools
2311 IMAGE_SIZE := 7168k
2312 IMAGES += factory.bin
2313 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma | pad-to $$(BLOCKSIZE)
2314 IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=PA300
2315 IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
2316 endef
2317
2318 define Device/plasmacloud_pa300
2319 $(Device/plasmacloud_pa300-common)
2320 DEVICE_MODEL := PA300
2321 endef
2322 TARGET_DEVICES += plasmacloud_pa300
2323
2324 define Device/plasmacloud_pa300e
2325 $(Device/plasmacloud_pa300-common)
2326 DEVICE_MODEL := PA300E
2327 endef
2328 TARGET_DEVICES += plasmacloud_pa300e
2329
2330 define Device/qca_ap143
2331 $(Device/loader-okli-uimage)
2332 SOC := qca9533
2333 DEVICE_VENDOR := Qualcomm Atheros
2334 DEVICE_MODEL := AP143
2335 DEVICE_PACKAGES := kmod-usb2
2336 SUPPORTED_DEVICES += ap143
2337 LOADER_FLASH_OFFS := 0x50000
2338 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49
2339 endef
2340
2341 define Device/qca_ap143-8m
2342 $(Device/qca_ap143)
2343 DEVICE_VARIANT := (8M)
2344 IMAGE_SIZE := 7744k
2345 IMAGES += factory.bin
2346 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
2347 append-rootfs | pad-rootfs | check-size | pad-to 6336k | \
2348 append-loader-okli-uimage $(1) | pad-to 64k
2349 endef
2350 TARGET_DEVICES += qca_ap143-8m
2351
2352 define Device/qca_ap143-16m
2353 $(Device/qca_ap143)
2354 DEVICE_VARIANT := (16M)
2355 IMAGE_SIZE := 15936k
2356 IMAGES += factory.bin
2357 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
2358 append-rootfs | pad-rootfs | check-size | pad-to 14528k | \
2359 append-loader-okli-uimage $(1) | pad-to 64k
2360 endef
2361 TARGET_DEVICES += qca_ap143-16m
2362
2363 define Device/qihoo_c301
2364 $(Device/seama)
2365 SOC := ar9344
2366 DEVICE_VENDOR := Qihoo
2367 DEVICE_MODEL := C301
2368 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct \
2369 uboot-envtools
2370 IMAGE_SIZE := 15744k
2371 SEAMA_SIGNATURE := wrgac26_qihoo360_360rg
2372 SUPPORTED_DEVICES += qihoo-c301
2373 endef
2374 TARGET_DEVICES += qihoo_c301
2375
2376 define Device/qxwlan_e1700ac-v2
2377 SOC := qca9563
2378 DEVICE_VENDOR := Qxwlan
2379 DEVICE_MODEL := E1700AC
2380 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
2381 SUPPORTED_DEVICES += e1700ac-v2
2382 endef
2383
2384 define Device/qxwlan_e1700ac-v2-16m
2385 $(Device/qxwlan_e1700ac-v2)
2386 DEVICE_VARIANT := v2 (16M)
2387 IMAGE_SIZE := 15936k
2388 endef
2389 TARGET_DEVICES += qxwlan_e1700ac-v2-16m
2390
2391 define Device/qxwlan_e1700ac-v2-8m
2392 $(Device/qxwlan_e1700ac-v2)
2393 DEVICE_VARIANT := v2 (8M)
2394 IMAGE_SIZE := 7744k
2395 endef
2396 TARGET_DEVICES += qxwlan_e1700ac-v2-8m
2397
2398 define Device/qxwlan_e558-v2
2399 SOC := qca9558
2400 DEVICE_VENDOR := Qxwlan
2401 DEVICE_MODEL := E558
2402 DEVICE_PACKAGES := kmod-usb2
2403 SUPPORTED_DEVICES += e558-v2
2404 endef
2405
2406 define Device/qxwlan_e558-v2-16m
2407 $(Device/qxwlan_e558-v2)
2408 DEVICE_VARIANT := v2 (16M)
2409 IMAGE_SIZE := 15936k
2410 endef
2411 TARGET_DEVICES += qxwlan_e558-v2-16m
2412
2413 define Device/qxwlan_e558-v2-8m
2414 $(Device/qxwlan_e558-v2)
2415 DEVICE_VARIANT := v2 (8M)
2416 IMAGE_SIZE := 7744k
2417 endef
2418 TARGET_DEVICES += qxwlan_e558-v2-8m
2419
2420 define Device/qxwlan_e600g-v2
2421 SOC := qca9531
2422 DEVICE_VENDOR := Qxwlan
2423 DEVICE_MODEL := E600G
2424 DEVICE_PACKAGES := kmod-usb2
2425 SUPPORTED_DEVICES += e600g-v2
2426 endef
2427
2428 define Device/qxwlan_e600g-v2-16m
2429 $(Device/qxwlan_e600g-v2)
2430 DEVICE_VARIANT := v2 (16M)
2431 IMAGE_SIZE := 15936k
2432 endef
2433 TARGET_DEVICES += qxwlan_e600g-v2-16m
2434
2435 define Device/qxwlan_e600g-v2-8m
2436 $(Device/qxwlan_e600g-v2)
2437 DEVICE_VARIANT := v2 (8M)
2438 IMAGE_SIZE := 7744k
2439 endef
2440 TARGET_DEVICES += qxwlan_e600g-v2-8m
2441
2442 define Device/qxwlan_e600gac-v2
2443 SOC := qca9531
2444 DEVICE_VENDOR := Qxwlan
2445 DEVICE_MODEL := E600GAC
2446 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct
2447 SUPPORTED_DEVICES += e600gac-v2
2448 endef
2449
2450 define Device/qxwlan_e600gac-v2-16m
2451 $(Device/qxwlan_e600gac-v2)
2452 DEVICE_VARIANT := v2 (16M)
2453 IMAGE_SIZE := 15936k
2454 endef
2455 TARGET_DEVICES += qxwlan_e600gac-v2-16m
2456
2457 define Device/qxwlan_e600gac-v2-8m
2458 $(Device/qxwlan_e600gac-v2)
2459 DEVICE_VARIANT := v2 (8M)
2460 IMAGE_SIZE := 7744k
2461 endef
2462 TARGET_DEVICES += qxwlan_e600gac-v2-8m
2463
2464 define Device/qxwlan_e750a-v4
2465 SOC := ar9344
2466 DEVICE_VENDOR := Qxwlan
2467 DEVICE_MODEL := E750A
2468 DEVICE_PACKAGES := kmod-usb2
2469 SUPPORTED_DEVICES += e750a-v4
2470 endef
2471
2472 define Device/qxwlan_e750a-v4-16m
2473 $(Device/qxwlan_e750a-v4)
2474 DEVICE_VARIANT := v4 (16M)
2475 IMAGE_SIZE := 15936k
2476 endef
2477 TARGET_DEVICES += qxwlan_e750a-v4-16m
2478
2479 define Device/qxwlan_e750a-v4-8m
2480 $(Device/qxwlan_e750a-v4)
2481 DEVICE_VARIANT := v4 (8M)
2482 IMAGE_SIZE := 7744k
2483 endef
2484 TARGET_DEVICES += qxwlan_e750a-v4-8m
2485
2486 define Device/qxwlan_e750g-v8
2487 SOC := ar9344
2488 DEVICE_VENDOR := Qxwlan
2489 DEVICE_MODEL := E750G
2490 DEVICE_PACKAGES := kmod-usb2
2491 SUPPORTED_DEVICES += e750g-v8
2492 endef
2493
2494 define Device/qxwlan_e750g-v8-16m
2495 $(Device/qxwlan_e750g-v8)
2496 DEVICE_VARIANT := v8 (16M)
2497 IMAGE_SIZE := 15936k
2498 endef
2499 TARGET_DEVICES += qxwlan_e750g-v8-16m
2500
2501 define Device/qxwlan_e750g-v8-8m
2502 $(Device/qxwlan_e750g-v8)
2503 DEVICE_VARIANT := v8 (8M)
2504 IMAGE_SIZE := 7744k
2505 endef
2506 TARGET_DEVICES += qxwlan_e750g-v8-8m
2507
2508 define Device/rosinson_wr818
2509 SOC := qca9563
2510 DEVICE_VENDOR := Rosinson
2511 DEVICE_MODEL := WR818
2512 IMAGE_SIZE := 15872k
2513 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
2514 endef
2515 TARGET_DEVICES += rosinson_wr818
2516
2517 define Device/ruckus_common
2518 DEVICE_VENDOR := Ruckus
2519 LOADER_TYPE := bin
2520 KERNEL := kernel-bin | append-dtb | lzma | loader-kernel | uImage none
2521 KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | loader-kernel | uImage none
2522 endef
2523
2524 define Device/ruckus_zf7025
2525 $(Device/ruckus_common)
2526 SOC := ar7240
2527 DEVICE_MODEL := ZoneFlex 7025
2528 IMAGE_SIZE := 15616k
2529 BLOCKSIZE := 256k
2530 endef
2531 TARGET_DEVICES += ruckus_zf7025
2532
2533 define Device/ruckus_gd11_common
2534 $(Device/ruckus_common)
2535 SOC := ar7161
2536 IMAGE_SIZE := 15616k
2537 BLOCKSIZE := 256k
2538 DEVICE_PACKAGES := kmod-usb2 kmod-usb-chipidea2
2539 endef
2540
2541 define Device/ruckus_zf7341
2542 $(Device/ruckus_gd11_common)
2543 DEVICE_MODEL := ZoneFlex 7341[-U]
2544 DEVICE_PACKAGES += -swconfig
2545 endef
2546 TARGET_DEVICES += ruckus_zf7341
2547
2548 define Device/ruckus_zf7351
2549 $(Device/ruckus_gd11_common)
2550 DEVICE_MODEL := ZoneFlex 7351[-U]
2551 DEVICE_PACKAGES += -swconfig
2552 endef
2553 TARGET_DEVICES += ruckus_zf7351
2554
2555 define Device/ruckus_zf7363
2556 $(Device/ruckus_gd11_common)
2557 DEVICE_MODEL := ZoneFlex 7363[-U]
2558 DEVICE_ALT0_VENDOR := Ruckus
2559 DEVICE_ALT0_MODEL := ZoneFlex 7343[-U]
2560 endef
2561 TARGET_DEVICES += ruckus_zf7363
2562
2563 define Device/ruckus_zf73xx_common
2564 $(Device/ruckus_common)
2565 DEVICE_PACKAGES := -swconfig kmod-usb2 kmod-usb-chipidea2
2566 IMAGE_SIZE := 31744k
2567 endef
2568
2569 define Device/ruckus_zf7321
2570 $(Device/ruckus_zf73xx_common)
2571 SOC := ar9342
2572 DEVICE_MODEL := ZoneFlex 7321[-U]
2573 endef
2574 TARGET_DEVICES += ruckus_zf7321
2575
2576 define Device/ruckus_zf7372
2577 $(Device/ruckus_zf73xx_common)
2578 SOC := ar9344
2579 DEVICE_MODEL := ZoneFlex 7352/7372[-E/-U]
2580 endef
2581 TARGET_DEVICES += ruckus_zf7372
2582
2583 define Device/samsung_wam250
2584 SOC := ar9344
2585 DEVICE_VENDOR := Samsung
2586 DEVICE_MODEL := WAM250
2587 IMAGE_SIZE := 15872k
2588 DEVICE_PACKAGES := kmod-usb2
2589 SUPPORTED_DEVICES += wam250
2590 endef
2591 TARGET_DEVICES += samsung_wam250
2592
2593 define Device/siemens_ws-ap3610
2594 SOC := ar7161
2595 DEVICE_VENDOR := Siemens
2596 DEVICE_MODEL := WS-AP3610
2597 IMAGE_SIZE := 14336k
2598 BLOCKSIZE := 256k
2599 LOADER_TYPE := bin
2600 LOADER_FLASH_OFFS := 0x82000
2601 COMPILE := loader-$(1).bin
2602 COMPILE/loader-$(1).bin := loader-okli-compile
2603 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49 | loader-okli $(1) 8128 | uImage none
2604 KERNEL_INITRAMFS := kernel-bin | append-dtb | uImage none
2605 endef
2606 TARGET_DEVICES += siemens_ws-ap3610
2607
2608 define Device/sitecom_wlr-7100
2609 SOC := ar1022
2610 DEVICE_VENDOR := Sitecom
2611 DEVICE_MODEL := WLR-7100
2612 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct-smallbuffers kmod-usb2
2613 IMAGES += factory.dlf
2614 IMAGE/factory.dlf := append-kernel | pad-to $$$$(BLOCKSIZE) | \
2615 append-rootfs | pad-rootfs | check-size | \
2616 senao-header -r 0x222 -p 0x53 -t 2
2617 IMAGE_SIZE := 7488k
2618 endef
2619 TARGET_DEVICES += sitecom_wlr-7100
2620
2621 define Device/sitecom_wlr-8100
2622 SOC := qca9558
2623 DEVICE_VENDOR := Sitecom
2624 DEVICE_MODEL := WLR-8100
2625 DEVICE_ALT0_VENDOR := Sitecom
2626 DEVICE_ALT0_MODEL := X8 AC1750
2627 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct kmod-usb2 kmod-usb3
2628 SUPPORTED_DEVICES += wlr8100
2629 IMAGES += factory.dlf
2630 IMAGE/factory.dlf := append-kernel | pad-to $$$$(BLOCKSIZE) | \
2631 append-rootfs | pad-rootfs | check-size | \
2632 senao-header -r 0x222 -p 0x56 -t 2
2633 IMAGE_SIZE := 15424k
2634 endef
2635 TARGET_DEVICES += sitecom_wlr-8100
2636
2637 define Device/sophos_ap15
2638 SOC := qca9558
2639 DEVICE_VENDOR := Sophos
2640 DEVICE_MODEL := AP15
2641 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
2642 IMAGE_SIZE := 15936k
2643 endef
2644 TARGET_DEVICES += sophos_ap15
2645
2646 define Device/sophos_ap55
2647 SOC := qca9558
2648 DEVICE_VENDOR := Sophos
2649 DEVICE_MODEL := AP55
2650 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct kmod-usb2
2651 IMAGE_SIZE := 15936k
2652 endef
2653 TARGET_DEVICES += sophos_ap55
2654
2655 define Device/sophos_ap55c
2656 SOC := qca9558
2657 DEVICE_VENDOR := Sophos
2658 DEVICE_MODEL := AP55C
2659 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
2660 IMAGE_SIZE := 15936k
2661 endef
2662 TARGET_DEVICES += sophos_ap55c
2663
2664 define Device/sophos_ap100
2665 SOC := qca9558
2666 DEVICE_VENDOR := Sophos
2667 DEVICE_MODEL := AP100
2668 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct kmod-usb2
2669 IMAGE_SIZE := 15936k
2670 endef
2671 TARGET_DEVICES += sophos_ap100
2672
2673 define Device/sophos_ap100c
2674 SOC := qca9558
2675 DEVICE_VENDOR := Sophos
2676 DEVICE_MODEL := AP100C
2677 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
2678 IMAGE_SIZE := 15936k
2679 endef
2680 TARGET_DEVICES += sophos_ap100c
2681
2682 define Device/telco_t1
2683 SOC := qca9531
2684 DEVICE_VENDOR := Telco
2685 DEVICE_MODEL := T1
2686 DEVICE_PACKAGES := kmod-usb2 kmod-usb-net-qmi-wwan \
2687 kmod-usb-serial-option uqmi -swconfig -uboot-envtools
2688 IMAGE_SIZE := 16192k
2689 SUPPORTED_DEVICES += telco_electronics,tel-t1
2690 endef
2691 TARGET_DEVICES += telco_t1
2692
2693 define Device/teltonika_rut230-v1
2694 SOC := ar9331
2695 DEVICE_VENDOR := Teltonika
2696 DEVICE_MODEL := RUT230
2697 DEVICE_VARIANT := v1
2698 DEVICE_PACKAGES := kmod-usb-chipidea2 kmod-usb-acm kmod-usb-net-qmi-wwan \
2699 uqmi -uboot-envtools
2700 IMAGE_SIZE := 15552k
2701 TPLINK_HWID := 0x32200002
2702 TPLINK_HWREV := 0x1
2703 TPLINK_HEADER_VERSION := 1
2704 KERNEL := kernel-bin | append-dtb | lzma | teltonika-v1-header
2705 KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma
2706 IMAGES += factory.bin
2707 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs |\
2708 pad-rootfs | pad-extra 64 | teltonika-fw-fake-checksum 54 | check-size
2709 IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(BLOCKSIZE) |\
2710 append-rootfs | pad-rootfs | append-metadata |\
2711 check-size
2712 endef
2713 TARGET_DEVICES += teltonika_rut230-v1
2714
2715 define Device/teltonika_rut300
2716 SOC := qca9531
2717 DEVICE_VENDOR := Teltonika
2718 DEVICE_MODEL := RUT300
2719 SUPPORTED_TELTONIKA_DEVICES := teltonika,rut30x
2720 DEVICE_PACKAGES := -kmod-ath9k -uboot-envtools -wpad-basic-mbedtls kmod-usb2
2721 IMAGE_SIZE := 15552k
2722 IMAGES += factory.bin
2723 IMAGE/factory.bin = append-kernel | pad-to $$$$(BLOCKSIZE) | \
2724 append-rootfs | pad-rootfs | append-metadata-teltonika | \
2725 check-size $$$$(IMAGE_SIZE)
2726 IMAGE/sysupgrade.bin = append-kernel | pad-to $$$$(BLOCKSIZE) | \
2727 append-rootfs | pad-rootfs | append-metadata | \
2728 check-size $$$$(IMAGE_SIZE)
2729 endef
2730 TARGET_DEVICES += teltonika_rut300
2731
2732 define Device/teltonika_rut955
2733 SOC := ar9344
2734 DEVICE_VENDOR := Teltonika
2735 DEVICE_MODEL := RUT955
2736 DEVICE_PACKAGES := kmod-usb2 kmod-usb-acm kmod-usb-net-qmi-wwan \
2737 kmod-usb-serial-option kmod-hwmon-mcp3021 uqmi -uboot-envtools
2738 IMAGE_SIZE := 15552k
2739 TPLINK_HWID := 0x35000001
2740 TPLINK_HWREV := 0x1
2741 TPLINK_HEADER_VERSION := 1
2742 KERNEL := kernel-bin | append-dtb | lzma | tplink-v1-header
2743 KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma
2744 IMAGES += factory.bin
2745 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs |\
2746 pad-rootfs | teltonika-fw-fake-checksum 20 | append-string master |\
2747 append-md5sum-bin | check-size
2748 IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(BLOCKSIZE) |\
2749 append-rootfs | pad-rootfs | check-size | append-metadata
2750 endef
2751 TARGET_DEVICES += teltonika_rut955
2752
2753 define Device/teltonika_rut955-h7v3c0
2754 $(Device/teltonika_rut955)
2755 DEVICE_VARIANT := H7V3C0
2756 endef
2757 TARGET_DEVICES += teltonika_rut955-h7v3c0
2758
2759 define Device/trendnet_tew-673gru
2760 SOC := ar7161
2761 DEVICE_VENDOR := Trendnet
2762 DEVICE_MODEL := TEW-673GRU
2763 DEVICE_VARIANT := v1.0R
2764 DEVICE_PACKAGES := -uboot-envtools kmod-usb-ohci kmod-usb2 \
2765 kmod-owl-loader kmod-switch-rtl8366s
2766 IMAGE_SIZE := 7808k
2767 FACTORY_SIZE := 6144k
2768 IMAGES += factory.bin
2769 IMAGE/factory.bin = append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
2770 pad-rootfs | check-size $$$$(FACTORY_SIZE) | pad-to $$$$(FACTORY_SIZE) | \
2771 append-string AP94-AR7161-RT-080619-01
2772 endef
2773 TARGET_DEVICES += trendnet_tew-673gru
2774
2775 define Device/trendnet_tew-823dru
2776 SOC := qca9558
2777 DEVICE_VENDOR := Trendnet
2778 DEVICE_MODEL := TEW-823DRU
2779 DEVICE_VARIANT := v1.0R
2780 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
2781 SUPPORTED_DEVICES += tew-823dru
2782 IMAGE_SIZE := 15296k
2783 IMAGES := factory.bin sysupgrade.bin
2784 IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
2785 pad-rootfs
2786 IMAGE/factory.bin := $$(IMAGE/default) | pad-offset $$$$(IMAGE_SIZE) 26 | \
2787 append-string 00AP135AR9558-RT-131129-00 | check-size
2788 IMAGE/sysupgrade.bin := $$(IMAGE/default) | check-size | append-metadata
2789 endef
2790 TARGET_DEVICES += trendnet_tew-823dru
2791
2792 define Device/wallys_dr531
2793 SOC := qca9531
2794 DEVICE_VENDOR := Wallys
2795 DEVICE_MODEL := DR531
2796 DEVICE_PACKAGES := kmod-usb2 rssileds
2797 IMAGE_SIZE := 7808k
2798 SUPPORTED_DEVICES += dr531
2799 endef
2800 TARGET_DEVICES += wallys_dr531
2801
2802 define Device/watchguard_ap100
2803 $(Device/senao_loader_okli)
2804 SOC := ar9344
2805 DEVICE_VENDOR := WatchGuard
2806 DEVICE_MODEL := AP100
2807 IMAGE_SIZE := 12096k
2808 LOADER_FLASH_OFFS := 0x220000
2809 SENAO_IMGNAME := senao-ap100
2810 WATCHGUARD_MAGIC := 82kdlzk2
2811 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | \
2812 check-size | senao-tar-gz $$$$(SENAO_IMGNAME) | watchguard-cksum $$$$(WATCHGUARD_MAGIC)
2813 endef
2814 TARGET_DEVICES += watchguard_ap100
2815
2816 define Device/watchguard_ap200
2817 $(Device/senao_loader_okli)
2818 SOC := ar9344
2819 DEVICE_VENDOR := WatchGuard
2820 DEVICE_MODEL := AP200
2821 IMAGE_SIZE := 12096k
2822 LOADER_FLASH_OFFS := 0x220000
2823 SENAO_IMGNAME := senao-ap200
2824 WATCHGUARD_MAGIC := 82kdlzk2
2825 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | \
2826 check-size | senao-tar-gz $$$$(SENAO_IMGNAME) | watchguard-cksum $$$$(WATCHGUARD_MAGIC)
2827 endef
2828 TARGET_DEVICES += watchguard_ap200
2829
2830 define Device/watchguard_ap300
2831 $(Device/senao_loader_okli)
2832 SOC := qca9558
2833 DEVICE_VENDOR := WatchGuard
2834 DEVICE_MODEL := AP300
2835 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
2836 IMAGE_SIZE := 11584k
2837 LOADER_FLASH_OFFS := 0x220000
2838 SENAO_IMGNAME := senao-ap300
2839 WATCHGUARD_MAGIC := 82kdlzk2
2840 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | \
2841 check-size | senao-tar-gz $$$$(SENAO_IMGNAME) | watchguard-cksum $$$$(WATCHGUARD_MAGIC)
2842 endef
2843 TARGET_DEVICES += watchguard_ap300
2844
2845 define Device/wd_mynet-n600
2846 $(Device/seama)
2847 SOC := ar9344
2848 DEVICE_VENDOR := Western Digital
2849 DEVICE_MODEL := My Net N600
2850 IMAGE_SIZE := 15872k
2851 DEVICE_PACKAGES := kmod-usb2
2852 SEAMA_SIGNATURE := wrgnd16_wd_db600
2853 SUPPORTED_DEVICES += mynet-n600
2854 endef
2855 TARGET_DEVICES += wd_mynet-n600
2856
2857 define Device/wd_mynet-n750
2858 $(Device/seama)
2859 SOC := ar9344
2860 DEVICE_VENDOR := Western Digital
2861 DEVICE_MODEL := My Net N750
2862 IMAGE_SIZE := 15872k
2863 DEVICE_PACKAGES := kmod-usb2
2864 SEAMA_SIGNATURE := wrgnd13_wd_av
2865 SUPPORTED_DEVICES += mynet-n750
2866 endef
2867 TARGET_DEVICES += wd_mynet-n750
2868
2869 define Device/wd_mynet-wifi-rangeextender
2870 SOC := ar9344
2871 DEVICE_VENDOR := Western Digital
2872 DEVICE_MODEL := My Net Wi-Fi Range Extender
2873 DEVICE_PACKAGES := rssileds nvram -swconfig
2874 IMAGE_SIZE := 7808k
2875 ADDPATTERN_ID := mynet-rext
2876 ADDPATTERN_VERSION := 1.00.01
2877 IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | cybertan-trx | \
2878 addpattern | append-metadata
2879 SUPPORTED_DEVICES += mynet-rext
2880 endef
2881 TARGET_DEVICES += wd_mynet-wifi-rangeextender
2882
2883 define Device/winchannel_wb2000
2884 SOC := ar9344
2885 DEVICE_VENDOR := Winchannel
2886 DEVICE_MODEL := WB2000
2887 IMAGE_SIZE := 15872k
2888 DEVICE_PACKAGES := kmod-i2c-gpio kmod-rtc-ds1307 kmod-usb2 \
2889 kmod-usb-ledtrig-usbport
2890 endef
2891 TARGET_DEVICES += winchannel_wb2000
2892
2893 define Device/xiaomi_aiot-ac2350
2894 SOC := qca9563
2895 DEVICE_VENDOR := Xiaomi
2896 DEVICE_MODEL := AIoT AC2350
2897 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9984-ct
2898 IMAGE_SIZE := 14336k
2899 endef
2900 TARGET_DEVICES += xiaomi_aiot-ac2350
2901
2902 define Device/xiaomi_mi-router-4q
2903 SOC := qca9561
2904 DEVICE_VENDOR := Xiaomi
2905 DEVICE_MODEL := Mi Router 4Q
2906 IMAGE_SIZE := 14336k
2907 endef
2908 TARGET_DEVICES += xiaomi_mi-router-4q
2909
2910 define Device/yuncore_a770
2911 SOC := qca9531
2912 DEVICE_VENDOR := YunCore
2913 DEVICE_MODEL := A770
2914 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct
2915 IMAGE_SIZE := 16000k
2916 IMAGES += tftp.bin
2917 IMAGE/tftp.bin := $$(IMAGE/sysupgrade.bin) | yuncore-tftp-header-16m
2918 endef
2919 TARGET_DEVICES += yuncore_a770
2920
2921 define Device/yuncore_a782
2922 SOC := qca9563
2923 DEVICE_VENDOR := YunCore
2924 DEVICE_MODEL := A782
2925 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
2926 IMAGE_SIZE := 16000k
2927 IMAGES += tftp.bin
2928 IMAGE/tftp.bin := $$(IMAGE/sysupgrade.bin) | yuncore-tftp-header-16m
2929 endef
2930 TARGET_DEVICES += yuncore_a782
2931
2932 define Device/yuncore_a930
2933 SOC := qca9533
2934 DEVICE_VENDOR := YunCore
2935 DEVICE_MODEL := A930
2936 IMAGE_SIZE := 16000k
2937 IMAGES += tftp.bin
2938 IMAGE/tftp.bin := $$(IMAGE/sysupgrade.bin) | yuncore-tftp-header-16m
2939 endef
2940 TARGET_DEVICES += yuncore_a930
2941
2942 define Device/yuncore_xd3200
2943 SOC := qca9563
2944 DEVICE_VENDOR := YunCore
2945 DEVICE_MODEL := XD3200
2946 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
2947 IMAGE_SIZE := 16000k
2948 IMAGES += tftp.bin
2949 IMAGE/tftp.bin := $$(IMAGE/sysupgrade.bin) | yuncore-tftp-header-16m
2950 endef
2951 TARGET_DEVICES += yuncore_xd3200
2952
2953 define Device/yuncore_xd4200
2954 SOC := qca9563
2955 DEVICE_VENDOR := YunCore
2956 DEVICE_MODEL := XD4200
2957 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
2958 IMAGE_SIZE := 16000k
2959 IMAGES += tftp.bin
2960 IMAGE/tftp.bin := $$(IMAGE/sysupgrade.bin) | yuncore-tftp-header-16m
2961 endef
2962 TARGET_DEVICES += yuncore_xd4200
2963
2964 define Device/ziking_cpe46b
2965 SOC := ar9330
2966 DEVICE_VENDOR := ZiKing
2967 DEVICE_MODEL := CPE46B
2968 IMAGE_SIZE := 8000k
2969 DEVICE_PACKAGES := kmod-i2c-gpio
2970 endef
2971 TARGET_DEVICES += ziking_cpe46b
2972
2973 define Device/zbtlink_zbt-wd323
2974 SOC := ar9344
2975 DEVICE_VENDOR := ZBT
2976 DEVICE_MODEL := WD323
2977 IMAGE_SIZE := 16000k
2978 DEVICE_PACKAGES := kmod-usb2 kmod-i2c-gpio kmod-rtc-pcf8563 \
2979 kmod-usb-serial-cp210x uqmi
2980 endef
2981 TARGET_DEVICES += zbtlink_zbt-wd323
2982
2983 define Device/zyxel_nwa11xx
2984 $(Device/loader-okli-uimage)
2985 SOC := ar9342
2986 DEVICE_VENDOR := ZyXEL
2987 LOADER_FLASH_OFFS := 0x050000
2988 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49
2989 IMAGE_SIZE := 8192k
2990 IMAGES += factory-$$$$(ZYXEL_MODEL_STRING).bin
2991 IMAGE/factory-$$$$(ZYXEL_MODEL_STRING).bin := \
2992 append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
2993 pad-rootfs | pad-to 8192k | check-size | zyxel-tar-bz2 \
2994 vmlinux_mi124_f1e mi124_f1e-jffs2 | append-md5sum-bin
2995 endef
2996
2997 define Device/zyxel_nwa1100-nh
2998 $(Device/zyxel_nwa11xx)
2999 DEVICE_MODEL := NWA1100
3000 DEVICE_VARIANT := NH
3001 ZYXEL_MODEL_STRING := AASI
3002 endef
3003 TARGET_DEVICES += zyxel_nwa1100-nh
3004
3005 define Device/zyxel_nwa1121-ni
3006 $(Device/zyxel_nwa11xx)
3007 DEVICE_MODEL := NWA1121
3008 DEVICE_VARIANT := NI
3009 ZYXEL_MODEL_STRING := AABJ
3010 endef
3011 TARGET_DEVICES += zyxel_nwa1121-ni
3012
3013 define Device/zyxel_nwa1123-ac
3014 $(Device/zyxel_nwa11xx)
3015 DEVICE_MODEL := NWA1123
3016 DEVICE_VARIANT := AC
3017 ZYXEL_MODEL_STRING := AAOX
3018 DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers \
3019 ath10k-firmware-qca988x-ct
3020 endef
3021 TARGET_DEVICES += zyxel_nwa1123-ac
3022
3023 define Device/zyxel_nwa1123-ni
3024 $(Device/zyxel_nwa11xx)
3025 DEVICE_MODEL := NWA1123
3026 DEVICE_VARIANT := NI
3027 ZYXEL_MODEL_STRING := AAEO
3028 endef
3029 TARGET_DEVICES += zyxel_nwa1123-ni
3030
3031 define Device/zyxel_nbg6616
3032 SOC := qca9557
3033 DEVICE_VENDOR := ZyXEL
3034 DEVICE_MODEL := NBG6616
3035 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-rtc-pcf8563 \
3036 kmod-ath10k-ct ath10k-firmware-qca988x-ct
3037 IMAGE_SIZE := 15232k
3038 RAS_BOARD := NBG6616
3039 RAS_ROOTFS_SIZE := 14464k
3040 RAS_VERSION := "OpenWrt Linux-$(LINUX_VERSION)"
3041 IMAGES += factory.bin
3042 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
3043 append-rootfs | pad-rootfs | pad-to 64k | check-size | zyxel-ras-image
3044 SUPPORTED_DEVICES += nbg6616
3045 endef
3046 TARGET_DEVICES += zyxel_nbg6616