a19412498a31f66fe25eb8ef736a26597c695bde
[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_dvl1200e
818 SOC := qca9558
819 DEVICE_VENDOR := devolo
820 DEVICE_MODEL := WiFi pro 1200e
821 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
822 IMAGE_SIZE := 15936k
823 endef
824 TARGET_DEVICES += devolo_dvl1200e
825
826 define Device/devolo_dvl1200i
827 SOC := qca9558
828 DEVICE_VENDOR := devolo
829 DEVICE_MODEL := WiFi pro 1200i
830 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
831 IMAGE_SIZE := 15936k
832 endef
833 TARGET_DEVICES += devolo_dvl1200i
834
835 define Device/devolo_dvl1750c
836 SOC := qca9558
837 DEVICE_VENDOR := devolo
838 DEVICE_MODEL := WiFi pro 1750c
839 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
840 IMAGE_SIZE := 15936k
841 endef
842 TARGET_DEVICES += devolo_dvl1750c
843
844 define Device/devolo_dvl1750e
845 SOC := qca9558
846 DEVICE_VENDOR := devolo
847 DEVICE_MODEL := WiFi pro 1750e
848 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
849 IMAGE_SIZE := 15936k
850 endef
851 TARGET_DEVICES += devolo_dvl1750e
852
853 define Device/devolo_dvl1750i
854 SOC := qca9558
855 DEVICE_VENDOR := devolo
856 DEVICE_MODEL := WiFi pro 1750i
857 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
858 IMAGE_SIZE := 15936k
859 endef
860 TARGET_DEVICES += devolo_dvl1750i
861
862 define Device/devolo_dvl1750x
863 SOC := qca9558
864 DEVICE_VENDOR := devolo
865 DEVICE_MODEL := WiFi pro 1750x
866 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
867 IMAGE_SIZE := 15936k
868 endef
869 TARGET_DEVICES += devolo_dvl1750x
870
871 define Device/devolo_magic-2-wifi
872 SOC := ar9344
873 DEVICE_VENDOR := devolo
874 DEVICE_MODEL := Magic 2 WiFi
875 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
876 IMAGE_SIZE := 15872k
877 endef
878 TARGET_DEVICES += devolo_magic-2-wifi
879
880 define Device/dlink_dap-13xx
881 SOC := qca9533
882 DEVICE_VENDOR := D-Link
883 DEVICE_PACKAGES += rssileds
884 IMAGE_SIZE := 7936k
885 IMAGES += factory.bin
886 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
887 append-rootfs | pad-rootfs | check-size | mkdapimg2 0xE0000
888 endef
889
890 define Device/dlink_dap-1330-a1
891 $(Device/dlink_dap-13xx)
892 DEVICE_MODEL := DAP-1330
893 DEVICE_VARIANT := A1
894 DAP_SIGNATURE := HONEYBEE-FIRMWARE-DAP-1330
895 SUPPORTED_DEVICES += dap-1330-a1
896 endef
897 TARGET_DEVICES += dlink_dap-1330-a1
898
899 define Device/dlink_dap-1365-a1
900 $(Device/dlink_dap-13xx)
901 DEVICE_MODEL := DAP-1365
902 DEVICE_VARIANT := A1
903 DAP_SIGNATURE := HONEYBEE-FIRMWARE-DAP-1365
904 endef
905 TARGET_DEVICES += dlink_dap-1365-a1
906
907 define Device/dlink_dap-2xxx
908 IMAGES += factory.img
909 IMAGE/factory.img := append-kernel | pad-offset 6144k 160 | \
910 append-rootfs | wrgg-pad-rootfs | mkwrggimg | check-size
911 IMAGE/sysupgrade.bin := append-kernel | mkwrggimg | \
912 pad-to $$$$(BLOCKSIZE) | append-rootfs | wrgg-pad-rootfs | \
913 check-size | append-metadata
914 KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma
915 KERNEL_INITRAMFS := $$(KERNEL) | mkwrggimg
916 endef
917
918 define Device/dlink_dap-2230-a1
919 $(Device/dlink_dap-2xxx)
920 SOC := qca9533
921 DEVICE_VENDOR := D-Link
922 DEVICE_MODEL := DAP-2230
923 DEVICE_VARIANT := A1
924 IMAGE_SIZE := 15232k
925 DAP_SIGNATURE := wapn31_dkbs_dap2230
926 endef
927 TARGET_DEVICES += dlink_dap-2230-a1
928
929 define Device/dlink_dap-2660-a1
930 $(Device/dlink_dap-2xxx)
931 SOC := qca9557
932 DEVICE_VENDOR := D-Link
933 DEVICE_MODEL := DAP-2660
934 DEVICE_VARIANT := A1
935 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
936 IMAGE_SIZE := 15232k
937 DAP_SIGNATURE := wapac09_dkbs_dap2660
938 endef
939 TARGET_DEVICES += dlink_dap-2660-a1
940
941 define Device/dlink_dap-2680-a1
942 $(Device/dlink_dap-2xxx)
943 SOC := qca9558
944 DEVICE_VENDOR := D-Link
945 DEVICE_MODEL := DAP-2680
946 DEVICE_VARIANT := A1
947 DEVICE_PACKAGES := ath10k-firmware-qca9984-ct kmod-ath10k-ct
948 IMAGE_SIZE := 15232k
949 DAP_SIGNATURE := wapac36_dkbs_dap2680
950 endef
951 TARGET_DEVICES += dlink_dap-2680-a1
952
953 define Device/dlink_dap-2695-a1
954 $(Device/dlink_dap-2xxx)
955 SOC := qca9558
956 DEVICE_VENDOR := D-Link
957 DEVICE_MODEL := DAP-2695
958 DEVICE_VARIANT := A1
959 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
960 IMAGE_SIZE := 15360k
961 DAP_SIGNATURE := wapac02_dkbs_dap2695
962 SUPPORTED_DEVICES += dap-2695-a1
963 endef
964 TARGET_DEVICES += dlink_dap-2695-a1
965
966 define Device/dlink_dap-3320-a1
967 $(Device/dlink_dap-2xxx)
968 SOC := qca9533
969 DEVICE_VENDOR := D-Link
970 DEVICE_MODEL := DAP-3320
971 DEVICE_VARIANT := A1
972 IMAGE_SIZE := 15296k
973 DAP_SIGNATURE := wapn29_dkbs_dap3320
974 endef
975 TARGET_DEVICES += dlink_dap-3320-a1
976
977 define Device/dlink_dap-3662-a1
978 $(Device/dlink_dap-2xxx)
979 SOC := qca9558
980 DEVICE_VENDOR := D-Link
981 DEVICE_MODEL := DAP-3662
982 DEVICE_VARIANT := A1
983 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
984 IMAGE_SIZE := 15296k
985 DAP_SIGNATURE := wapac11_dkbs_dap3662
986 endef
987 TARGET_DEVICES += dlink_dap-3662-a1
988
989 define Device/dlink_dch-g020-a1
990 SOC := qca9531
991 DEVICE_VENDOR := D-Link
992 DEVICE_MODEL := DCH-G020
993 DEVICE_VARIANT := A1
994 DEVICE_PACKAGES := kmod-gpio-pca953x kmod-i2c-gpio kmod-usb2 kmod-usb-acm
995 IMAGES += factory.bin
996 IMAGE_SIZE := 14784k
997 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
998 append-rootfs | pad-rootfs | check-size | mkdapimg2 0x20000
999 DAP_SIGNATURE := HONEYBEE-FIRMWARE-DCH-G020
1000 endef
1001 TARGET_DEVICES += dlink_dch-g020-a1
1002
1003 define Device/dlink_dir-505
1004 SOC := ar9330
1005 DEVICE_VENDOR := D-Link
1006 DEVICE_MODEL := DIR-505
1007 IMAGE_SIZE := 7680k
1008 DEVICE_PACKAGES := kmod-usb-chipidea2
1009 SUPPORTED_DEVICES += dir-505-a1
1010 endef
1011 TARGET_DEVICES += dlink_dir-505
1012
1013 define Device/dlink_dir-825-b1
1014 SOC := ar7161
1015 DEVICE_VENDOR := D-Link
1016 DEVICE_MODEL := DIR-825
1017 DEVICE_VARIANT := B1
1018 DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport \
1019 kmod-leds-reset kmod-owl-loader kmod-switch-rtl8366s
1020 IMAGE_SIZE := 7808k
1021 FACTORY_SIZE := 6144k
1022 IMAGES += factory.bin
1023 IMAGE/factory.bin = append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
1024 pad-rootfs | check-size $$$$(FACTORY_SIZE) | pad-to $$$$(FACTORY_SIZE) | \
1025 append-string 01AP94-AR7161-RT-080619-00
1026 endef
1027 TARGET_DEVICES += dlink_dir-825-b1
1028
1029 define Device/dlink_dir-825-c1
1030 SOC := ar9344
1031 DEVICE_VENDOR := D-Link
1032 DEVICE_MODEL := DIR-825
1033 DEVICE_VARIANT := C1
1034 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-leds-reset \
1035 kmod-owl-loader
1036 SUPPORTED_DEVICES += dir-825-c1
1037 IMAGE_SIZE := 15936k
1038 IMAGES := factory.bin sysupgrade.bin
1039 IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
1040 pad-rootfs
1041 IMAGE/factory.bin := $$(IMAGE/default) | pad-offset $$$$(IMAGE_SIZE) 26 | \
1042 append-string 00DB120AR9344-RT-101214-00 | check-size
1043 IMAGE/sysupgrade.bin := $$(IMAGE/default) | check-size | append-metadata
1044 endef
1045 TARGET_DEVICES += dlink_dir-825-c1
1046
1047 define Device/dlink_dir-835-a1
1048 SOC := ar9344
1049 DEVICE_VENDOR := D-Link
1050 DEVICE_MODEL := DIR-835
1051 DEVICE_VARIANT := A1
1052 DEVICE_PACKAGES := kmod-usb2 kmod-leds-reset kmod-owl-loader
1053 SUPPORTED_DEVICES += dir-835-a1
1054 IMAGE_SIZE := 15936k
1055 IMAGES := factory.bin sysupgrade.bin
1056 IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
1057 pad-rootfs
1058 IMAGE/factory.bin := $$(IMAGE/default) | pad-offset $$$$(IMAGE_SIZE) 26 | \
1059 append-string 00DB120AR9344-RT-101214-00 | check-size
1060 IMAGE/sysupgrade.bin := $$(IMAGE/default) | check-size | append-metadata
1061 endef
1062 TARGET_DEVICES += dlink_dir-835-a1
1063
1064 define Device/dlink_dir-842-c
1065 SOC := qca9563
1066 DEVICE_VENDOR := D-Link
1067 DEVICE_MODEL := DIR-842
1068 KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma
1069 KERNEL_INITRAMFS := $$(KERNEL) | seama
1070 IMAGES += factory.bin
1071 SEAMA_MTDBLOCK := 5
1072 SEAMA_SIGNATURE := wrgac65_dlink.2015_dir842
1073 # 64 bytes offset:
1074 # - 28 bytes seama_header
1075 # - 36 bytes of META data (4-bytes aligned)
1076 IMAGE/default := append-kernel | uImage lzma | \
1077 pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs
1078 IMAGE/sysupgrade.bin := $$(IMAGE/default) | seama | pad-rootfs | \
1079 check-size | append-metadata
1080 IMAGE/factory.bin := $$(IMAGE/default) | pad-rootfs -x 64 | seama | \
1081 seama-seal | check-size
1082 IMAGE_SIZE := 15680k
1083 endef
1084
1085 define Device/dlink_dir-842-c1
1086 $(Device/dlink_dir-842-c)
1087 DEVICE_VARIANT := C1
1088 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
1089 endef
1090 TARGET_DEVICES += dlink_dir-842-c1
1091
1092 define Device/dlink_dir-842-c2
1093 $(Device/dlink_dir-842-c)
1094 DEVICE_VARIANT := C2
1095 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9888-ct
1096 endef
1097 TARGET_DEVICES += dlink_dir-842-c2
1098
1099 define Device/dlink_dir-842-c3
1100 $(Device/dlink_dir-842-c)
1101 DEVICE_VARIANT := C3
1102 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
1103 endef
1104 TARGET_DEVICES += dlink_dir-842-c3
1105
1106 define Device/dlink_dir-859-a1
1107 $(Device/seama)
1108 SOC := qca9563
1109 DEVICE_VENDOR := D-Link
1110 DEVICE_MODEL := DIR-859
1111 DEVICE_VARIANT := A1
1112 IMAGE_SIZE := 15872k
1113 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct
1114 SEAMA_SIGNATURE := wrgac37_dlink.2013gui_dir859
1115 endef
1116 TARGET_DEVICES += dlink_dir-859-a1
1117
1118 define Device/elecom_wrc-1750ghbk2-i
1119 SOC := qca9563
1120 DEVICE_VENDOR := ELECOM
1121 DEVICE_MODEL := WRC-1750GHBK2-I/C
1122 IMAGE_SIZE := 15808k
1123 ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
1124 ARTIFACTS := initramfs-factory.bin
1125 ARTIFACT/initramfs-factory.bin := append-image initramfs-kernel.bin | \
1126 pad-to 2 | edimax-header -b -s CSYS -m RN68 -f 0x70000 -S 0x01100000 | \
1127 elecom-product-header WRC-1750GHBK2 | check-size
1128 endif
1129 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
1130 endef
1131 TARGET_DEVICES += elecom_wrc-1750ghbk2-i
1132
1133 define Device/elecom_wrc-300ghbk2-i
1134 SOC := qca9563
1135 DEVICE_VENDOR := ELECOM
1136 DEVICE_MODEL := WRC-300GHBK2-I
1137 IMAGE_SIZE := 7616k
1138 ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
1139 ARTIFACTS := initramfs-factory.bin
1140 ARTIFACT/initramfs-factory.bin := append-image initramfs-kernel.bin | \
1141 pad-to 2 | edimax-header -b -s CSYS -m RN51 -f 0x70000 -S 0x01100000 | \
1142 elecom-product-header WRC-300GHBK2-I | check-size
1143 endif
1144 endef
1145 TARGET_DEVICES += elecom_wrc-300ghbk2-i
1146
1147 define Device/embeddedwireless_balin
1148 SOC := ar9344
1149 DEVICE_VENDOR := Embedded Wireless
1150 DEVICE_MODEL := Balin
1151 DEVICE_PACKAGES := kmod-usb-chipidea2
1152 IMAGE_SIZE := 16000k
1153 endef
1154 TARGET_DEVICES += embeddedwireless_balin
1155
1156 define Device/embeddedwireless_dorin
1157 SOC := ar9331
1158 DEVICE_VENDOR := Embedded Wireless
1159 DEVICE_MODEL := Dorin
1160 DEVICE_PACKAGES := kmod-usb-chipidea2
1161 IMAGE_SIZE := 16000k
1162 endef
1163 TARGET_DEVICES += embeddedwireless_dorin
1164
1165 define Device/engenius_eap1200h
1166 $(Device/senao_loader_okli)
1167 SOC := qca9557
1168 DEVICE_VENDOR := EnGenius
1169 DEVICE_MODEL := EAP1200H
1170 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
1171 IMAGE_SIZE := 11584k
1172 LOADER_FLASH_OFFS := 0x220000
1173 SENAO_IMGNAME := ar71xx-generic-eap1200h
1174 endef
1175 TARGET_DEVICES += engenius_eap1200h
1176
1177 define Device/engenius_eap1750h
1178 $(Device/senao_loader_okli)
1179 SOC := qca9558
1180 DEVICE_VENDOR := EnGenius
1181 DEVICE_MODEL := EAP1750H
1182 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
1183 IMAGE_SIZE := 11584k
1184 LOADER_FLASH_OFFS := 0x220000
1185 SENAO_IMGNAME := ar71xx-generic-eap1750h
1186 endef
1187 TARGET_DEVICES += engenius_eap1750h
1188
1189 define Device/engenius_eap300-v2
1190 $(Device/senao_loader_okli)
1191 SOC := ar9341
1192 DEVICE_VENDOR := EnGenius
1193 DEVICE_MODEL := EAP300
1194 DEVICE_VARIANT := v2
1195 IMAGE_SIZE := 12096k
1196 LOADER_FLASH_OFFS := 0x220000
1197 SENAO_IMGNAME := senao-eap300v2
1198 endef
1199 TARGET_DEVICES += engenius_eap300-v2
1200
1201 define Device/engenius_eap600
1202 $(Device/senao_loader_okli)
1203 SOC := ar9344
1204 DEVICE_VENDOR := EnGenius
1205 DEVICE_MODEL := EAP600
1206 IMAGE_SIZE := 12096k
1207 LOADER_FLASH_OFFS := 0x220000
1208 SENAO_IMGNAME := senao-eap600
1209 endef
1210 TARGET_DEVICES += engenius_eap600
1211
1212 define Device/engenius_ecb1200
1213 SOC := qca9557
1214 DEVICE_VENDOR := EnGenius
1215 DEVICE_MODEL := ECB1200
1216 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
1217 IMAGE_SIZE := 15680k
1218 IMAGES += factory.bin
1219 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
1220 append-rootfs | pad-rootfs | check-size | \
1221 senao-header -r 0x101 -p 0x6e -t 2
1222 endef
1223 TARGET_DEVICES += engenius_ecb1200
1224
1225 define Device/engenius_ecb1750
1226 SOC := qca9558
1227 DEVICE_VENDOR := EnGenius
1228 DEVICE_MODEL := ECB1750
1229 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
1230 IMAGE_SIZE := 15680k
1231 IMAGES += factory.bin
1232 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
1233 append-rootfs | pad-rootfs | check-size | \
1234 senao-header -r 0x101 -p 0x6d -t 2
1235 endef
1236 TARGET_DEVICES += engenius_ecb1750
1237
1238 define Device/engenius_ecb600
1239 $(Device/senao_loader_okli)
1240 SOC := ar9344
1241 DEVICE_VENDOR := EnGenius
1242 DEVICE_MODEL := ECB600
1243 IMAGE_SIZE := 12096k
1244 LOADER_FLASH_OFFS := 0x220000
1245 SENAO_IMGNAME := senao-ecb600
1246 endef
1247 TARGET_DEVICES += engenius_ecb600
1248
1249 define Device/engenius_ens202ext-v1
1250 $(Device/senao_loader_okli)
1251 SOC := ar9341
1252 DEVICE_VENDOR := EnGenius
1253 DEVICE_MODEL := ENS202EXT
1254 DEVICE_VARIANT := v1
1255 DEVICE_PACKAGES := rssileds
1256 IMAGE_SIZE := 12096k
1257 LOADER_FLASH_OFFS := 0x220000
1258 SENAO_IMGNAME := senao-ens202ext
1259 endef
1260 TARGET_DEVICES += engenius_ens202ext-v1
1261
1262 define Device/engenius_enstationac-v1
1263 $(Device/senao_loader_okli)
1264 SOC := qca9557
1265 DEVICE_VENDOR := EnGenius
1266 DEVICE_MODEL := EnStationAC
1267 DEVICE_VARIANT := v1
1268 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct rssileds
1269 IMAGE_SIZE := 11584k
1270 LOADER_FLASH_OFFS := 0x220000
1271 SENAO_IMGNAME := ar71xx-generic-enstationac
1272 endef
1273 TARGET_DEVICES += engenius_enstationac-v1
1274
1275 define Device/engenius_epg5000
1276 SOC := qca9558
1277 DEVICE_VENDOR := EnGenius
1278 DEVICE_MODEL := EPG5000
1279 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct kmod-usb2
1280 IMAGE_SIZE := 14656k
1281 IMAGES += factory.dlf
1282 IMAGE/factory.dlf := append-kernel | pad-to $$$$(BLOCKSIZE) | \
1283 append-rootfs | pad-rootfs | check-size | \
1284 senao-header -r 0x101 -p 0x71 -t 2
1285 SUPPORTED_DEVICES += epg5000
1286 endef
1287 TARGET_DEVICES += engenius_epg5000
1288
1289 define Device/engenius_ews511ap
1290 SOC := qca9531
1291 DEVICE_VENDOR := EnGenius
1292 DEVICE_MODEL := EWS511AP
1293 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct
1294 IMAGE_SIZE := 16000k
1295 endef
1296 TARGET_DEVICES += engenius_ews511ap
1297
1298 define Device/enterasys_ws-ap3705i
1299 SOC := ar9344
1300 DEVICE_VENDOR := Enterasys
1301 DEVICE_MODEL := WS-AP3705i
1302 IMAGE_SIZE := 30528k
1303 endef
1304 TARGET_DEVICES += enterasys_ws-ap3705i
1305
1306 define Device/etactica_eg200
1307 SOC := ar9331
1308 DEVICE_VENDOR := eTactica
1309 DEVICE_MODEL := EG200
1310 DEVICE_PACKAGES := kmod-usb-chipidea2 kmod-ledtrig-oneshot \
1311 kmod-usb-serial-ftdi kmod-usb-storage kmod-fs-ext4
1312 IMAGE_SIZE := 16000k
1313 SUPPORTED_DEVICES += rme-eg200
1314 endef
1315 TARGET_DEVICES += etactica_eg200
1316
1317 define Device/extreme-networks_ws-ap3805i
1318 SOC := qca9557
1319 BLOCKSIZE := 256k
1320 DEVICE_VENDOR := Extreme Networks
1321 DEVICE_MODEL := WS-AP3805i
1322 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
1323 IMAGE_SIZE := 29440k
1324 endef
1325 TARGET_DEVICES += extreme-networks_ws-ap3805i
1326
1327 define Device/glinet_6408
1328 $(Device/tplink-8mlzma)
1329 SOC := ar9331
1330 DEVICE_VENDOR := GL.iNet
1331 DEVICE_MODEL := 6408
1332 DEVICE_PACKAGES := kmod-usb-chipidea2
1333 IMAGE_SIZE := 8000k
1334 TPLINK_HWID := 0x08000001
1335 IMAGES := sysupgrade.bin
1336 SUPPORTED_DEVICES += gl-inet
1337 endef
1338 TARGET_DEVICES += glinet_6408
1339
1340 define Device/glinet_6416
1341 $(Device/tplink-16mlzma)
1342 SOC := ar9331
1343 DEVICE_VENDOR := GL.iNet
1344 DEVICE_MODEL := 6416
1345 DEVICE_PACKAGES := kmod-usb-chipidea2
1346 IMAGE_SIZE := 16192k
1347 TPLINK_HWID := 0x08000001
1348 IMAGES := sysupgrade.bin
1349 SUPPORTED_DEVICES += gl-inet
1350 endef
1351 TARGET_DEVICES += glinet_6416
1352
1353 define Device/glinet_gl-ar150
1354 SOC := ar9330
1355 DEVICE_VENDOR := GL.iNet
1356 DEVICE_MODEL := GL-AR150
1357 DEVICE_PACKAGES := kmod-usb-chipidea2
1358 IMAGE_SIZE := 16000k
1359 SUPPORTED_DEVICES += gl-ar150
1360 endef
1361 TARGET_DEVICES += glinet_gl-ar150
1362
1363 define Device/glinet_gl-ar300m-common-nor
1364 SOC := qca9531
1365 DEVICE_VENDOR := GL.iNet
1366 DEVICE_PACKAGES := kmod-usb2
1367 IMAGE_SIZE := 16000k
1368 SUPPORTED_DEVICES += gl-ar300m
1369 endef
1370
1371 define Device/glinet_gl-ar300m-lite
1372 $(Device/glinet_gl-ar300m-common-nor)
1373 DEVICE_MODEL := GL-AR300M
1374 DEVICE_VARIANT := Lite
1375 endef
1376 TARGET_DEVICES += glinet_gl-ar300m-lite
1377
1378 define Device/glinet_gl-ar300m16
1379 $(Device/glinet_gl-ar300m-common-nor)
1380 DEVICE_MODEL := GL-AR300M16
1381 endef
1382 TARGET_DEVICES += glinet_gl-ar300m16
1383
1384 define Device/glinet_gl-ar750
1385 SOC := qca9531
1386 DEVICE_VENDOR := GL.iNet
1387 DEVICE_MODEL := GL-AR750
1388 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9887-ct
1389 IMAGE_SIZE := 16000k
1390 SUPPORTED_DEVICES += gl-ar750
1391 endef
1392 TARGET_DEVICES += glinet_gl-ar750
1393
1394 define Device/glinet_gl-mifi
1395 SOC := ar9331
1396 DEVICE_VENDOR := GL.iNET
1397 DEVICE_MODEL := GL-MiFi
1398 DEVICE_PACKAGES := kmod-usb-chipidea2
1399 IMAGE_SIZE := 16000k
1400 SUPPORTED_DEVICES += gl-mifi
1401 endef
1402 TARGET_DEVICES += glinet_gl-mifi
1403
1404 define Device/glinet_gl-usb150
1405 SOC := ar9331
1406 DEVICE_VENDOR := GL.iNET
1407 DEVICE_MODEL := GL-USB150
1408 IMAGE_SIZE := 16000k
1409 SUPPORTED_DEVICES += gl-usb150
1410 endef
1411 TARGET_DEVICES += glinet_gl-usb150
1412
1413 define Device/glinet_gl-x300b
1414 SOC := qca9531
1415 DEVICE_VENDOR := GL.iNet
1416 DEVICE_MODEL := GL-X300B
1417 DEVICE_PACKAGES := kmod-usb2
1418 IMAGE_SIZE := 16000k
1419 endef
1420 TARGET_DEVICES += glinet_gl-x300b
1421
1422 define Device/glinet_gl-x750
1423 SOC := qca9531
1424 DEVICE_VENDOR := GL.iNet
1425 DEVICE_MODEL := GL-X750
1426 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9887-ct
1427 IMAGE_SIZE := 16000k
1428 endef
1429 TARGET_DEVICES += glinet_gl-x750
1430
1431 define Device/hak5_lan-turtle
1432 $(Device/tplink-16mlzma)
1433 SOC := ar9331
1434 DEVICE_VENDOR := Hak5
1435 DEVICE_MODEL := LAN Turtle
1436 TPLINK_HWID := 0x5348334c
1437 IMAGES := sysupgrade.bin
1438 DEVICE_PACKAGES := kmod-usb-chipidea2 -iwinfo -kmod-ath9k -swconfig \
1439 -uboot-envtools -wpad-basic-wolfssl
1440 SUPPORTED_DEVICES += lan-turtle
1441 endef
1442 TARGET_DEVICES += hak5_lan-turtle
1443
1444 define Device/hak5_packet-squirrel
1445 $(Device/tplink-16mlzma)
1446 SOC := ar9331
1447 DEVICE_VENDOR := Hak5
1448 DEVICE_MODEL := Packet Squirrel
1449 TPLINK_HWID := 0x5351524c
1450 IMAGES := sysupgrade.bin
1451 DEVICE_PACKAGES := kmod-usb-chipidea2 -iwinfo -kmod-ath9k -swconfig \
1452 -uboot-envtools -wpad-basic-wolfssl
1453 SUPPORTED_DEVICES += packet-squirrel
1454 endef
1455 TARGET_DEVICES += hak5_packet-squirrel
1456
1457 define Device/hak5_wifi-pineapple-nano
1458 $(Device/tplink-16mlzma)
1459 SOC := ar9331
1460 DEVICE_VENDOR := Hak5
1461 DEVICE_MODEL := WiFi Pineapple NANO
1462 TPLINK_HWID := 0x4e414e4f
1463 IMAGES := sysupgrade.bin
1464 DEVICE_PACKAGES := kmod-ath9k-htc kmod-usb-chipidea2 kmod-usb-storage \
1465 -swconfig -uboot-envtools
1466 SUPPORTED_DEVICES += wifi-pineapple-nano
1467 endef
1468 TARGET_DEVICES += hak5_wifi-pineapple-nano
1469
1470 define Device/hiwifi_hc6361
1471 SOC := ar9331
1472 DEVICE_VENDOR := HiWiFi
1473 DEVICE_MODEL := HC6361
1474 DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-chipidea2 kmod-usb-storage \
1475 kmod-fs-ext4 kmod-nls-iso8859-1 e2fsprogs
1476 BOARDNAME := HiWiFi-HC6361
1477 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma | pad-to $$(BLOCKSIZE)
1478 IMAGE_SIZE := 16128k
1479 endef
1480 TARGET_DEVICES += hiwifi_hc6361
1481
1482 define Device/iodata_etg3-r
1483 SOC := ar9342
1484 DEVICE_VENDOR := I-O DATA
1485 DEVICE_MODEL := ETG3-R
1486 IMAGE_SIZE := 7680k
1487 DEVICE_PACKAGES := -iwinfo -kmod-ath9k -wpad-basic-wolfssl
1488 endef
1489 TARGET_DEVICES += iodata_etg3-r
1490
1491 define Device/iodata_wn-ac1167dgr
1492 SOC := qca9557
1493 DEVICE_VENDOR := I-O DATA
1494 DEVICE_MODEL := WN-AC1167DGR
1495 IMAGE_SIZE := 14656k
1496 IMAGES += factory.bin
1497 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
1498 append-rootfs | pad-rootfs | check-size | \
1499 senao-header -r 0x30a -p 0x61 -t 2
1500 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
1501 endef
1502 TARGET_DEVICES += iodata_wn-ac1167dgr
1503
1504 define Device/iodata_wn-ac1600dgr
1505 SOC := qca9557
1506 DEVICE_VENDOR := I-O DATA
1507 DEVICE_MODEL := WN-AC1600DGR
1508 IMAGE_SIZE := 14656k
1509 IMAGES += factory.bin
1510 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
1511 append-rootfs | pad-rootfs | check-size | \
1512 senao-header -r 0x30a -p 0x60 -t 2 -v 200
1513 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
1514 endef
1515 TARGET_DEVICES += iodata_wn-ac1600dgr
1516
1517 define Device/iodata_wn-ac1600dgr2
1518 SOC := qca9557
1519 DEVICE_VENDOR := I-O DATA
1520 DEVICE_MODEL := WN-AC1600DGR2/DGR3
1521 IMAGE_SIZE := 14656k
1522 IMAGES += dgr2-dgr3-factory.bin
1523 IMAGE/dgr2-dgr3-factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
1524 append-rootfs | pad-rootfs | check-size | \
1525 senao-header -r 0x30a -p 0x60 -t 2 -v 200
1526 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
1527 endef
1528 TARGET_DEVICES += iodata_wn-ac1600dgr2
1529
1530 define Device/iodata_wn-ag300dgr
1531 SOC := ar1022
1532 DEVICE_VENDOR := I-O DATA
1533 DEVICE_MODEL := WN-AG300DGR
1534 IMAGE_SIZE := 15424k
1535 IMAGES += factory.bin
1536 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
1537 append-rootfs | pad-rootfs | check-size | \
1538 senao-header -r 0x30a -p 0x47 -t 2
1539 DEVICE_PACKAGES := kmod-usb2
1540 endef
1541 TARGET_DEVICES += iodata_wn-ag300dgr
1542
1543 define Device/jjplus_ja76pf2
1544 SOC := ar7161
1545 DEVICE_VENDOR := jjPlus
1546 DEVICE_MODEL := JA76PF2
1547 DEVICE_PACKAGES += -kmod-ath9k -swconfig -wpad-basic-wolfssl -uboot-envtools fconfig kmod-hwmon-lm75
1548 LOADER_TYPE := bin
1549 LOADER_FLASH_OFFS := 0x60000
1550 COMPILE := loader-$(1).bin
1551 COMPILE/loader-$(1).bin := loader-okli-compile | lzma | pad-to 128k
1552 ARTIFACTS := loader.bin
1553 ARTIFACT/loader.bin := append-loader-okli $(1)
1554 IMAGES += firmware.bin
1555 IMAGE/firmware.bin := append-kernel | uImage lzma -M 0x4f4b4c49 | pad-to $$$$(BLOCKSIZE) | \
1556 append-rootfs | pad-rootfs | pad-to $$$$(BLOCKSIZE) | check-size
1557 IMAGE/sysupgrade.bin := $$(IMAGE/firmware.bin) | \
1558 sysupgrade-tar kernel=$$$$(KDIR)/loader-$(1).bin rootfs=$$$$@ | append-metadata
1559 KERNEL := kernel-bin | append-dtb | lzma
1560 KERNEL_INITRAMFS := kernel-bin | append-dtb
1561 IMAGE_SIZE := 15872k
1562 DEVICE_COMPAT_VERSION := 2.0
1563 DEVICE_COMPAT_MESSAGE := Partition design has changed compared to older versions (19.07 and 21.02) \
1564 due to kernel drivers restrictions. Upgrade via sysupgrade mechanism is one way operation. \
1565 Downgrading OpenWrt version will involve usage of bootloader command line interface.
1566 endef
1567 TARGET_DEVICES += jjplus_ja76pf2
1568
1569 define Device/jjplus_jwap230
1570 SOC := qca9558
1571 DEVICE_VENDOR := jjPlus
1572 DEVICE_MODEL := JWAP230
1573 IMAGE_SIZE := 16000k
1574 endef
1575 TARGET_DEVICES += jjplus_jwap230
1576
1577 define Device/joyit_jt-or750i
1578 SOC := qca9531
1579 DEVICE_VENDOR := Joy-IT
1580 DEVICE_MODEL := JT-OR750i
1581 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct
1582 IMAGE_SIZE := 16000k
1583 endef
1584 TARGET_DEVICES += joyit_jt-or750i
1585
1586 define Device/kuwfi_c910
1587 $(Device/loader-okli-uimage)
1588 SOC := qca9533
1589 DEVICE_VENDOR := KuWFi
1590 DEVICE_MODEL := C910
1591 DEVICE_PACKAGES := kmod-usb2 kmod-usb-net-cdc-ether comgt-ncm
1592 LOADER_FLASH_OFFS := 0x50000
1593 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49
1594 IMAGE_SIZE := 15936k
1595 IMAGES += factory.bin
1596 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
1597 append-rootfs | pad-rootfs | check-size | pad-to 14528k | \
1598 append-loader-okli-uimage $(1) | pad-to 64k
1599 endef
1600 TARGET_DEVICES += kuwfi_c910
1601
1602 define Device/letv_lba-047-ch
1603 $(Device/loader-okli-uimage)
1604 SOC := qca9531
1605 DEVICE_VENDOR := Letv
1606 DEVICE_MODEL := LBA-047-CH
1607 IMAGE_SIZE := 15936k
1608 LOADER_FLASH_OFFS := 0x50000
1609 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49
1610 IMAGES += factory.bin
1611 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
1612 append-rootfs | pad-rootfs | check-size | pad-to 14528k | \
1613 append-loader-okli-uimage $(1) | pad-to 64k
1614 endef
1615 TARGET_DEVICES += letv_lba-047-ch
1616
1617 define Device/librerouter_librerouter-v1
1618 SOC := qca9558
1619 DEVICE_VENDOR := Librerouter
1620 DEVICE_MODEL := LibreRouter
1621 DEVICE_VARIANT := v1
1622 IMAGE_SIZE := 7936k
1623 DEVICE_PACKAGES := kmod-usb2
1624 endef
1625 TARGET_DEVICES += librerouter_librerouter-v1
1626
1627 define Device/meraki_mr12
1628 SOC := ar7242
1629 DEVICE_VENDOR := Meraki
1630 DEVICE_MODEL := MR12
1631 IMAGE_SIZE := 15616k
1632 DEVICE_PACKAGES := kmod-owl-loader rssileds
1633 SUPPORTED_DEVICES += mr12
1634 DEVICE_COMPAT_VERSION := 2.0
1635 DEVICE_COMPAT_MESSAGE := Partitions differ from ar71xx version of MR12. Image format is incompatible. \
1636 To use sysupgrade, you must change /lib/update/common.sh::get_image to prepend 128K zeroes to this image, \
1637 and change the bootcmd in u-boot to "bootm 0xbf0a0000". After that, you can use "sysupgrade -F -n". \
1638 Make sure you do not keep your old config, as ethernet setup is not compatible either. \
1639 For more details, see the OpenWrt Wiki: https://openwrt.org/toh/meraki/MR12, \
1640 or the commit message of the MR12 ath79 port on git.openwrt.org.
1641 endef
1642 TARGET_DEVICES += meraki_mr12
1643
1644 define Device/meraki_mr16
1645 SOC := ar7161
1646 DEVICE_VENDOR := Meraki
1647 DEVICE_MODEL := MR16
1648 IMAGE_SIZE := 15616k
1649 DEVICE_PACKAGES := kmod-owl-loader
1650 SUPPORTED_DEVICES += mr16
1651 DEVICE_COMPAT_VERSION := 2.0
1652 DEVICE_COMPAT_MESSAGE := Partitions differ from ar71xx version of MR16. Image format is incompatible. \
1653 To use sysupgrade, you must change /lib/update/common.sh::get_image to prepend 128K zeroes to this image, \
1654 and change the bootcmd in u-boot to "bootm 0xbf0a0000". After that, you can use "sysupgrade -F". \
1655 For more details, see the OpenWrt Wiki: https://openwrt.org/toh/meraki/mr16, \
1656 or the commit message of the MR16 ath79 port on git.openwrt.org.
1657 endef
1658 TARGET_DEVICES += meraki_mr16
1659
1660 define Device/mercury_mw4530r-v1
1661 $(Device/tplink-8mlzma)
1662 SOC := ar9344
1663 DEVICE_VENDOR := Mercury
1664 DEVICE_MODEL := MW4530R
1665 DEVICE_VARIANT := v1
1666 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
1667 TPLINK_HWID := 0x45300001
1668 SUPPORTED_DEVICES += tl-wdr4300
1669 endef
1670 TARGET_DEVICES += mercury_mw4530r-v1
1671
1672 define Device/nec_wx1200cr
1673 DEVICE_VENDOR := NEC
1674 IMAGE/default := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs
1675 IMAGE/sysupgrade.bin := $$(IMAGE/default) | seama | pad-rootfs | \
1676 check-size | append-metadata
1677 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
1678 endef
1679
1680 define Device/nec_wf1200cr
1681 $(Device/nec_wx1200cr)
1682 SOC := qca9561
1683 DEVICE_MODEL := Aterm WF1200CR
1684 IMAGE_SIZE := 7680k
1685 SEAMA_MTDBLOCK := 5
1686 SEAMA_SIGNATURE := wrgac62_necpf.2016gui_wf1200cr
1687 IMAGES += factory.bin
1688 IMAGE/factory.bin := $$(IMAGE/default) | pad-rootfs -x 64 | seama | \
1689 seama-seal | nec-enc ryztfyutcrqqo69d | check-size
1690 endef
1691 TARGET_DEVICES += nec_wf1200cr
1692
1693 define Device/nec_wg1200cr
1694 $(Device/nec_wx1200cr)
1695 SOC := qca9563
1696 DEVICE_MODEL := Aterm WG1200CR
1697 IMAGE_SIZE := 7616k
1698 SEAMA_MTDBLOCK := 6
1699 SEAMA_SIGNATURE := wrgac72_necpf.2016gui_wg1200cr
1700 IMAGES += factory.bin
1701 IMAGE/factory.bin := $$(IMAGE/default) | pad-rootfs -x 64 | seama | \
1702 seama-seal | nec-enc 9gsiy9nzep452pad | check-size
1703 endef
1704 TARGET_DEVICES += nec_wg1200cr
1705
1706 define Device/nec_wg800hp
1707 SOC := qca9563
1708 DEVICE_VENDOR := NEC
1709 DEVICE_MODEL := Aterm WG800HP
1710 IMAGE_SIZE := 7104k
1711 IMAGES += factory.bin
1712 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
1713 append-rootfs | pad-rootfs | check-size | \
1714 xor-image -p 6A57190601121E4C004C1E1201061957 -x | nec-fw LASER_ATERM
1715 DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9887-ct-full-htt
1716 endef
1717 TARGET_DEVICES += nec_wg800hp
1718
1719 define Device/netgear_ex6400_ex7300
1720 $(Device/netgear_generic)
1721 SOC := qca9558
1722 UIMAGE_MAGIC := 0x27051956
1723 NETGEAR_BOARD_ID := EX7300series
1724 NETGEAR_HW_ID := 29765104+16+0+128
1725 IMAGE_SIZE := 15552k
1726 IMAGE/default := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | \
1727 netgear-rootfs | pad-rootfs
1728 IMAGE/sysupgrade.bin := $$(IMAGE/default) | check-size | append-metadata
1729 IMAGE/factory.img := $$(IMAGE/default) | netgear-dni | check-size
1730 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca99x0-ct
1731 endef
1732
1733 define Device/netgear_ex6400
1734 $(Device/netgear_ex6400_ex7300)
1735 DEVICE_MODEL := EX6400
1736 endef
1737 TARGET_DEVICES += netgear_ex6400
1738
1739 define Device/netgear_ex7300
1740 $(Device/netgear_ex6400_ex7300)
1741 DEVICE_MODEL := EX7300
1742 endef
1743 TARGET_DEVICES += netgear_ex7300
1744
1745 define Device/netgear_ex7300-v2
1746 $(Device/netgear_generic)
1747 SOC := qcn5502
1748 DEVICE_MODEL := EX7300
1749 DEVICE_VARIANT := v2
1750 UIMAGE_MAGIC := 0x27051956
1751 NETGEAR_BOARD_ID := EX7300v2series
1752 NETGEAR_HW_ID := 29765907+16+0+128
1753 IMAGE_SIZE := 14528k
1754 IMAGE/default := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | \
1755 netgear-rootfs | pad-rootfs
1756 IMAGE/sysupgrade.bin := $$(IMAGE/default) | check-size | append-metadata
1757 IMAGE/factory.img := $$(IMAGE/default) | check-size | netgear-dni
1758 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9984-ct
1759 endef
1760 TARGET_DEVICES += netgear_ex7300-v2
1761
1762 define Device/netgear_wndap360
1763 $(Device/netgear_generic)
1764 SOC := ar7161
1765 DEVICE_MODEL := WNDAP360
1766 DEVICE_PACKAGES := kmod-leds-reset
1767 IMAGE_SIZE := 7744k
1768 BLOCKSIZE := 256k
1769 KERNEL := kernel-bin | append-dtb | gzip | uImage gzip
1770 KERNEL_INITRAMFS := kernel-bin | append-dtb | uImage none
1771 IMAGES := sysupgrade.bin
1772 IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | append-rootfs | pad-rootfs | \
1773 check-size | append-metadata
1774 endef
1775 TARGET_DEVICES += netgear_wndap360
1776
1777 define Device/netgear_wndr3x00
1778 $(Device/netgear_generic)
1779 SOC := ar7161
1780 DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport \
1781 kmod-leds-reset kmod-owl-loader kmod-switch-rtl8366s
1782 endef
1783
1784 define Device/netgear_wndr3700
1785 $(Device/netgear_wndr3x00)
1786 DEVICE_MODEL := WNDR3700
1787 DEVICE_VARIANT := v1
1788 UIMAGE_MAGIC := 0x33373030
1789 NETGEAR_BOARD_ID := WNDR3700
1790 IMAGE_SIZE := 7680k
1791 IMAGES += factory-NA.img
1792 IMAGE/factory-NA.img := $$(IMAGE/default) | netgear-dni NA | \
1793 check-size
1794 SUPPORTED_DEVICES += wndr3700
1795 endef
1796 TARGET_DEVICES += netgear_wndr3700
1797
1798 define Device/netgear_wndr3700-v2
1799 $(Device/netgear_wndr3x00)
1800 DEVICE_MODEL := WNDR3700
1801 DEVICE_VARIANT := v2
1802 UIMAGE_MAGIC := 0x33373031
1803 NETGEAR_BOARD_ID := WNDR3700v2
1804 NETGEAR_HW_ID := 29763654+16+64
1805 IMAGE_SIZE := 15872k
1806 SUPPORTED_DEVICES += wndr3700 netgear,wndr3700v2
1807 endef
1808 TARGET_DEVICES += netgear_wndr3700-v2
1809
1810 define Device/netgear_wndr3800
1811 $(Device/netgear_wndr3x00)
1812 DEVICE_MODEL := WNDR3800
1813 UIMAGE_MAGIC := 0x33373031
1814 NETGEAR_BOARD_ID := WNDR3800
1815 NETGEAR_HW_ID := 29763654+16+128
1816 IMAGE_SIZE := 15872k
1817 SUPPORTED_DEVICES += wndr3700
1818 endef
1819 TARGET_DEVICES += netgear_wndr3800
1820
1821 define Device/netgear_wndr3800ch
1822 $(Device/netgear_wndr3x00)
1823 DEVICE_MODEL := WNDR3800CH
1824 UIMAGE_MAGIC := 0x33373031
1825 NETGEAR_BOARD_ID := WNDR3800CH
1826 NETGEAR_HW_ID := 29763654+16+128
1827 IMAGE_SIZE := 15872k
1828 SUPPORTED_DEVICES += wndr3700
1829 endef
1830 TARGET_DEVICES += netgear_wndr3800ch
1831
1832 define Device/netgear_wndrmac-v1
1833 $(Device/netgear_wndr3x00)
1834 DEVICE_MODEL := WNDRMAC
1835 DEVICE_VARIANT := v1
1836 UIMAGE_MAGIC := 0x33373031
1837 NETGEAR_BOARD_ID := WNDRMAC
1838 NETGEAR_HW_ID := 29763654+16+64
1839 IMAGE_SIZE := 15872k
1840 SUPPORTED_DEVICES += wndr3700
1841 endef
1842 TARGET_DEVICES += netgear_wndrmac-v1
1843
1844 define Device/netgear_wndrmac-v2
1845 $(Device/netgear_wndr3x00)
1846 DEVICE_MODEL := WNDRMAC
1847 DEVICE_VARIANT := v2
1848 UIMAGE_MAGIC := 0x33373031
1849 NETGEAR_BOARD_ID := WNDRMACv2
1850 NETGEAR_HW_ID := 29763654+16+128
1851 IMAGE_SIZE := 15872k
1852 SUPPORTED_DEVICES += wndr3700
1853 endef
1854 TARGET_DEVICES += netgear_wndrmac-v2
1855
1856 define Device/netgear_wnr2200_common
1857 $(Device/netgear_generic)
1858 SOC := ar7241
1859 DEVICE_MODEL := WNR2200
1860 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
1861 UIMAGE_MAGIC := 0x32323030
1862 NETGEAR_BOARD_ID := wnr2200
1863 endef
1864
1865 define Device/netgear_wnr2200-8m
1866 $(Device/netgear_wnr2200_common)
1867 DEVICE_VARIANT := 8M
1868 NETGEAR_HW_ID := 29763600+08+64
1869 IMAGE_SIZE := 7808k
1870 IMAGES += factory-NA.img
1871 IMAGE/factory-NA.img := $$(IMAGE/default) | netgear-dni NA | \
1872 check-size
1873 SUPPORTED_DEVICES += wnr2200
1874 endef
1875 TARGET_DEVICES += netgear_wnr2200-8m
1876
1877 define Device/netgear_wnr2200-16m
1878 $(Device/netgear_wnr2200_common)
1879 DEVICE_VARIANT := 16M
1880 DEVICE_ALT0_VENDOR := NETGEAR
1881 DEVICE_ALT0_MODEL := WNR2200
1882 DEVICE_ALT0_VARIANT := CN/RU
1883 NETGEAR_HW_ID :=
1884 IMAGE_SIZE := 16000k
1885 endef
1886 TARGET_DEVICES += netgear_wnr2200-16m
1887
1888 define Device/ocedo_koala
1889 SOC := qca9558
1890 DEVICE_VENDOR := Ocedo
1891 DEVICE_MODEL := Koala
1892 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
1893 SUPPORTED_DEVICES += koala
1894 IMAGE_SIZE := 7424k
1895 endef
1896 TARGET_DEVICES += ocedo_koala
1897
1898 define Device/ocedo_raccoon
1899 SOC := ar9344
1900 DEVICE_VENDOR := Ocedo
1901 DEVICE_MODEL := Raccoon
1902 IMAGE_SIZE := 7424k
1903 endef
1904 TARGET_DEVICES += ocedo_raccoon
1905
1906 define Device/ocedo_ursus
1907 SOC := qca9558
1908 DEVICE_VENDOR := Ocedo
1909 DEVICE_MODEL := Ursus
1910 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
1911 IMAGE_SIZE := 7424k
1912 endef
1913 TARGET_DEVICES += ocedo_ursus
1914
1915 define Device/onion_omega
1916 $(Device/tplink-16mlzma)
1917 SOC := ar9331
1918 DEVICE_VENDOR := Onion
1919 DEVICE_MODEL := Omega
1920 DEVICE_PACKAGES := kmod-usb-chipidea2
1921 SUPPORTED_DEVICES += onion-omega
1922 KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma
1923 IMAGE_SIZE := 16192k
1924 TPLINK_HWID := 0x04700001
1925 endef
1926 TARGET_DEVICES += onion_omega
1927
1928 define Device/openmesh_common_64k
1929 DEVICE_VENDOR := OpenMesh
1930 DEVICE_PACKAGES := uboot-envtools
1931 IMAGE_SIZE := 7808k
1932 OPENMESH_CE_TYPE :=
1933 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma | \
1934 pad-to $$(BLOCKSIZE)
1935 IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | \
1936 openmesh-image ce_type=$$$$(OPENMESH_CE_TYPE) | append-metadata
1937 endef
1938
1939 define Device/openmesh_common_256k
1940 DEVICE_VENDOR := OpenMesh
1941 DEVICE_PACKAGES := uboot-envtools
1942 IMAGE_SIZE := 7168k
1943 BLOCKSIZE := 256k
1944 OPENMESH_CE_TYPE :=
1945 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma | \
1946 pad-to $$(BLOCKSIZE)
1947 IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | \
1948 openmesh-image ce_type=$$$$(OPENMESH_CE_TYPE) | append-metadata
1949 endef
1950
1951 define Device/openmesh_a40
1952 $(Device/openmesh_common_64k)
1953 SOC := qca9558
1954 DEVICE_MODEL := A40
1955 DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct kmod-usb2
1956 OPENMESH_CE_TYPE := A60
1957 SUPPORTED_DEVICES += a40
1958 endef
1959 TARGET_DEVICES += openmesh_a40
1960
1961 define Device/openmesh_a60
1962 $(Device/openmesh_common_64k)
1963 SOC := qca9558
1964 DEVICE_MODEL := A60
1965 DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct kmod-usb2
1966 OPENMESH_CE_TYPE := A60
1967 SUPPORTED_DEVICES += a60
1968 endef
1969 TARGET_DEVICES += openmesh_a60
1970
1971 define Device/openmesh_mr600-v1
1972 $(Device/openmesh_common_64k)
1973 SOC := ar9344
1974 DEVICE_MODEL := MR600
1975 DEVICE_VARIANT := v1
1976 OPENMESH_CE_TYPE := MR600
1977 SUPPORTED_DEVICES += mr600
1978 endef
1979 TARGET_DEVICES += openmesh_mr600-v1
1980
1981 define Device/openmesh_mr600-v2
1982 $(Device/openmesh_common_64k)
1983 SOC := ar9344
1984 DEVICE_MODEL := MR600
1985 DEVICE_VARIANT := v2
1986 OPENMESH_CE_TYPE := MR600
1987 SUPPORTED_DEVICES += mr600v2
1988 endef
1989 TARGET_DEVICES += openmesh_mr600-v2
1990
1991 define Device/openmesh_mr900-v1
1992 $(Device/openmesh_common_64k)
1993 SOC := qca9558
1994 DEVICE_MODEL := MR900
1995 DEVICE_VARIANT := v1
1996 OPENMESH_CE_TYPE := MR900
1997 SUPPORTED_DEVICES += mr900
1998 endef
1999 TARGET_DEVICES += openmesh_mr900-v1
2000
2001 define Device/openmesh_mr900-v2
2002 $(Device/openmesh_common_64k)
2003 SOC := qca9558
2004 DEVICE_MODEL := MR900
2005 DEVICE_VARIANT := v2
2006 OPENMESH_CE_TYPE := MR900
2007 SUPPORTED_DEVICES += mr900v2
2008 endef
2009 TARGET_DEVICES += openmesh_mr900-v2
2010
2011 define Device/openmesh_mr1750-v1
2012 $(Device/openmesh_common_64k)
2013 SOC := qca9558
2014 DEVICE_MODEL := MR1750
2015 DEVICE_VARIANT := v1
2016 DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct
2017 OPENMESH_CE_TYPE := MR1750
2018 SUPPORTED_DEVICES += mr1750
2019 endef
2020 TARGET_DEVICES += openmesh_mr1750-v1
2021
2022 define Device/openmesh_mr1750-v2
2023 $(Device/openmesh_common_64k)
2024 SOC := qca9558
2025 DEVICE_MODEL := MR1750
2026 DEVICE_VARIANT := v2
2027 DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct
2028 OPENMESH_CE_TYPE := MR1750
2029 SUPPORTED_DEVICES += mr1750v2
2030 endef
2031 TARGET_DEVICES += openmesh_mr1750-v2
2032
2033 define Device/openmesh_om2p-v1
2034 $(Device/openmesh_common_256k)
2035 SOC := ar7240
2036 DEVICE_MODEL := OM2P
2037 DEVICE_VARIANT := v1
2038 OPENMESH_CE_TYPE := OM2P
2039 SUPPORTED_DEVICES += om2p
2040 endef
2041 TARGET_DEVICES += openmesh_om2p-v1
2042
2043 define Device/openmesh_om2p-v2
2044 $(Device/openmesh_common_256k)
2045 SOC := ar9330
2046 DEVICE_MODEL := OM2P
2047 DEVICE_VARIANT := v2
2048 OPENMESH_CE_TYPE := OM2P
2049 SUPPORTED_DEVICES += om2pv2
2050 endef
2051 TARGET_DEVICES += openmesh_om2p-v2
2052
2053 define Device/openmesh_om2p-v4
2054 $(Device/openmesh_common_256k)
2055 SOC := qca9533
2056 DEVICE_MODEL := OM2P
2057 DEVICE_VARIANT := v4
2058 OPENMESH_CE_TYPE := OM2P
2059 SUPPORTED_DEVICES += om2pv4
2060 endef
2061 TARGET_DEVICES += openmesh_om2p-v4
2062
2063 define Device/openmesh_om2p-hs-v1
2064 $(Device/openmesh_common_256k)
2065 SOC := ar9341
2066 DEVICE_MODEL := OM2P-HS
2067 DEVICE_VARIANT := v1
2068 OPENMESH_CE_TYPE := OM2P
2069 SUPPORTED_DEVICES += om2p-hs
2070 endef
2071 TARGET_DEVICES += openmesh_om2p-hs-v1
2072
2073 define Device/openmesh_om2p-hs-v2
2074 $(Device/openmesh_common_256k)
2075 SOC := ar9341
2076 DEVICE_MODEL := OM2P-HS
2077 DEVICE_VARIANT := v2
2078 OPENMESH_CE_TYPE := OM2P
2079 SUPPORTED_DEVICES += om2p-hsv2
2080 endef
2081 TARGET_DEVICES += openmesh_om2p-hs-v2
2082
2083 define Device/openmesh_om2p-hs-v3
2084 $(Device/openmesh_common_256k)
2085 SOC := ar9341
2086 DEVICE_MODEL := OM2P-HS
2087 DEVICE_VARIANT := v3
2088 OPENMESH_CE_TYPE := OM2P
2089 SUPPORTED_DEVICES += om2p-hsv3
2090 endef
2091 TARGET_DEVICES += openmesh_om2p-hs-v3
2092
2093 define Device/openmesh_om2p-hs-v4
2094 $(Device/openmesh_common_256k)
2095 SOC := qca9533
2096 DEVICE_MODEL := OM2P-HS
2097 DEVICE_VARIANT := v4
2098 OPENMESH_CE_TYPE := OM2P
2099 SUPPORTED_DEVICES += om2p-hsv4
2100 endef
2101 TARGET_DEVICES += openmesh_om2p-hs-v4
2102
2103 define Device/openmesh_om2p-lc
2104 $(Device/openmesh_common_256k)
2105 SOC := ar9330
2106 DEVICE_MODEL := OM2P-LC
2107 OPENMESH_CE_TYPE := OM2P
2108 SUPPORTED_DEVICES += om2p-lc
2109 endef
2110 TARGET_DEVICES += openmesh_om2p-lc
2111
2112 define Device/openmesh_om5p
2113 $(Device/openmesh_common_64k)
2114 SOC := ar9344
2115 DEVICE_MODEL := OM5P
2116 OPENMESH_CE_TYPE := OM5P
2117 SUPPORTED_DEVICES += om5p
2118 endef
2119 TARGET_DEVICES += openmesh_om5p
2120
2121 define Device/openmesh_om5p-ac-v1
2122 $(Device/openmesh_common_64k)
2123 SOC := qca9558
2124 DEVICE_MODEL := OM5P-AC
2125 DEVICE_VARIANT := v1
2126 DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct
2127 OPENMESH_CE_TYPE := OM5PAC
2128 SUPPORTED_DEVICES += om5p-ac
2129 endef
2130 TARGET_DEVICES += openmesh_om5p-ac-v1
2131
2132 define Device/openmesh_om5p-ac-v2
2133 $(Device/openmesh_common_64k)
2134 SOC := qca9558
2135 DEVICE_MODEL := OM5P-AC
2136 DEVICE_VARIANT := v2
2137 DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct
2138 OPENMESH_CE_TYPE := OM5PAC
2139 SUPPORTED_DEVICES += om5p-acv2
2140 endef
2141 TARGET_DEVICES += openmesh_om5p-ac-v2
2142
2143 define Device/openmesh_om5p-an
2144 $(Device/openmesh_common_64k)
2145 SOC := ar9344
2146 DEVICE_MODEL := OM5P-AN
2147 OPENMESH_CE_TYPE := OM5P
2148 SUPPORTED_DEVICES += om5p-an
2149 endef
2150 TARGET_DEVICES += openmesh_om5p-an
2151
2152 define Device/pcs_cap324
2153 SOC := ar9344
2154 DEVICE_VENDOR := PowerCloud Systems
2155 DEVICE_MODEL := CAP324
2156 IMAGE_SIZE := 16000k
2157 SUPPORTED_DEVICES += cap324
2158 endef
2159 TARGET_DEVICES += pcs_cap324
2160
2161 define Device/pcs_cr3000
2162 SOC := ar9341
2163 DEVICE_VENDOR := PowerCloud Systems
2164 DEVICE_MODEL := CR3000
2165 IMAGE_SIZE := 7808k
2166 SUPPORTED_DEVICES += cr3000
2167 endef
2168 TARGET_DEVICES += pcs_cr3000
2169
2170 define Device/pcs_cr5000
2171 SOC := ar9344
2172 DEVICE_VENDOR := PowerCloud Systems
2173 DEVICE_MODEL := CR5000
2174 DEVICE_PACKAGES := kmod-usb2
2175 IMAGE_SIZE := 7808k
2176 SUPPORTED_DEVICES += cr5000
2177 endef
2178 TARGET_DEVICES += pcs_cr5000
2179
2180 define Device/phicomm_k2t
2181 SOC := qca9563
2182 DEVICE_VENDOR := Phicomm
2183 DEVICE_MODEL := K2T
2184 IMAGE_SIZE := 15744k
2185 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \
2186 check-size | append-metadata
2187 DEVICE_PACKAGES := kmod-leds-reset kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9888-ct
2188 endef
2189 TARGET_DEVICES += phicomm_k2t
2190
2191 define Device/pisen_ts-d084
2192 $(Device/tplink-8mlzma)
2193 SOC := ar9331
2194 DEVICE_VENDOR := PISEN
2195 DEVICE_MODEL := TS-D084
2196 DEVICE_PACKAGES := kmod-usb-chipidea2
2197 TPLINK_HWID := 0x07030101
2198 endef
2199 TARGET_DEVICES += pisen_ts-d084
2200
2201 define Device/pisen_wmb001n
2202 $(Device/loader-okli-uimage)
2203 SOC := ar9341
2204 DEVICE_VENDOR := PISEN
2205 DEVICE_MODEL := WMB001N
2206 IMAGE_SIZE := 14080k
2207 DEVICE_PACKAGES := kmod-i2c-gpio kmod-usb2
2208 LOADER_FLASH_OFFS := 0x20000
2209 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49
2210 IMAGES += factory.bin
2211 IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | pisen_wmb001n-factory $(1)
2212 endef
2213 TARGET_DEVICES += pisen_wmb001n
2214
2215 define Device/pisen_wmm003n
2216 $(Device/tplink-8mlzma)
2217 SOC := ar9331
2218 DEVICE_VENDOR := PISEN
2219 DEVICE_MODEL := Cloud Easy Power (WMM003N)
2220 DEVICE_PACKAGES := kmod-usb-chipidea2
2221 TPLINK_HWID := 0x07030101
2222 endef
2223 TARGET_DEVICES += pisen_wmm003n
2224
2225 define Device/plasmacloud_pa300-common
2226 SOC := qca9533
2227 DEVICE_VENDOR := Plasma Cloud
2228 DEVICE_PACKAGES := uboot-envtools
2229 IMAGE_SIZE := 7168k
2230 IMAGES += factory.bin
2231 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma | pad-to $$(BLOCKSIZE)
2232 IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=PA300
2233 IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
2234 endef
2235
2236 define Device/plasmacloud_pa300
2237 $(Device/plasmacloud_pa300-common)
2238 DEVICE_MODEL := PA300
2239 endef
2240 TARGET_DEVICES += plasmacloud_pa300
2241
2242 define Device/plasmacloud_pa300e
2243 $(Device/plasmacloud_pa300-common)
2244 DEVICE_MODEL := PA300E
2245 endef
2246 TARGET_DEVICES += plasmacloud_pa300e
2247
2248 define Device/qca_ap143
2249 $(Device/loader-okli-uimage)
2250 SOC := qca9533
2251 DEVICE_VENDOR := Qualcomm Atheros
2252 DEVICE_MODEL := AP143
2253 DEVICE_PACKAGES := kmod-usb2
2254 SUPPORTED_DEVICES += ap143
2255 LOADER_FLASH_OFFS := 0x50000
2256 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49
2257 endef
2258
2259 define Device/qca_ap143-8m
2260 $(Device/qca_ap143)
2261 DEVICE_VARIANT := (8M)
2262 IMAGE_SIZE := 7744k
2263 IMAGES += factory.bin
2264 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
2265 append-rootfs | pad-rootfs | check-size | pad-to 6336k | \
2266 append-loader-okli-uimage $(1) | pad-to 64k
2267 endef
2268 TARGET_DEVICES += qca_ap143-8m
2269
2270 define Device/qca_ap143-16m
2271 $(Device/qca_ap143)
2272 DEVICE_VARIANT := (16M)
2273 IMAGE_SIZE := 15936k
2274 IMAGES += factory.bin
2275 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
2276 append-rootfs | pad-rootfs | check-size | pad-to 14528k | \
2277 append-loader-okli-uimage $(1) | pad-to 64k
2278 endef
2279 TARGET_DEVICES += qca_ap143-16m
2280
2281 define Device/qihoo_c301
2282 $(Device/seama)
2283 SOC := ar9344
2284 DEVICE_VENDOR := Qihoo
2285 DEVICE_MODEL := C301
2286 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct \
2287 uboot-envtools
2288 IMAGE_SIZE := 15744k
2289 SEAMA_SIGNATURE := wrgac26_qihoo360_360rg
2290 SUPPORTED_DEVICES += qihoo-c301
2291 endef
2292 TARGET_DEVICES += qihoo_c301
2293
2294 define Device/qxwlan_e1700ac-v2
2295 SOC := qca9563
2296 DEVICE_VENDOR := Qxwlan
2297 DEVICE_MODEL := E1700AC
2298 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
2299 SUPPORTED_DEVICES += e1700ac-v2
2300 endef
2301
2302 define Device/qxwlan_e1700ac-v2-16m
2303 $(Device/qxwlan_e1700ac-v2)
2304 DEVICE_VARIANT := v2 (16M)
2305 IMAGE_SIZE := 15936k
2306 endef
2307 TARGET_DEVICES += qxwlan_e1700ac-v2-16m
2308
2309 define Device/qxwlan_e1700ac-v2-8m
2310 $(Device/qxwlan_e1700ac-v2)
2311 DEVICE_VARIANT := v2 (8M)
2312 IMAGE_SIZE := 7744k
2313 endef
2314 TARGET_DEVICES += qxwlan_e1700ac-v2-8m
2315
2316 define Device/qxwlan_e558-v2
2317 SOC := qca9558
2318 DEVICE_VENDOR := Qxwlan
2319 DEVICE_MODEL := E558
2320 DEVICE_PACKAGES := kmod-usb2
2321 SUPPORTED_DEVICES += e558-v2
2322 endef
2323
2324 define Device/qxwlan_e558-v2-16m
2325 $(Device/qxwlan_e558-v2)
2326 DEVICE_VARIANT := v2 (16M)
2327 IMAGE_SIZE := 15936k
2328 endef
2329 TARGET_DEVICES += qxwlan_e558-v2-16m
2330
2331 define Device/qxwlan_e558-v2-8m
2332 $(Device/qxwlan_e558-v2)
2333 DEVICE_VARIANT := v2 (8M)
2334 IMAGE_SIZE := 7744k
2335 endef
2336 TARGET_DEVICES += qxwlan_e558-v2-8m
2337
2338 define Device/qxwlan_e600g-v2
2339 SOC := qca9531
2340 DEVICE_VENDOR := Qxwlan
2341 DEVICE_MODEL := E600G
2342 DEVICE_PACKAGES := kmod-usb2
2343 SUPPORTED_DEVICES += e600g-v2
2344 endef
2345
2346 define Device/qxwlan_e600g-v2-16m
2347 $(Device/qxwlan_e600g-v2)
2348 DEVICE_VARIANT := v2 (16M)
2349 IMAGE_SIZE := 15936k
2350 endef
2351 TARGET_DEVICES += qxwlan_e600g-v2-16m
2352
2353 define Device/qxwlan_e600g-v2-8m
2354 $(Device/qxwlan_e600g-v2)
2355 DEVICE_VARIANT := v2 (8M)
2356 IMAGE_SIZE := 7744k
2357 endef
2358 TARGET_DEVICES += qxwlan_e600g-v2-8m
2359
2360 define Device/qxwlan_e600gac-v2
2361 SOC := qca9531
2362 DEVICE_VENDOR := Qxwlan
2363 DEVICE_MODEL := E600GAC
2364 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct
2365 SUPPORTED_DEVICES += e600gac-v2
2366 endef
2367
2368 define Device/qxwlan_e600gac-v2-16m
2369 $(Device/qxwlan_e600gac-v2)
2370 DEVICE_VARIANT := v2 (16M)
2371 IMAGE_SIZE := 15936k
2372 endef
2373 TARGET_DEVICES += qxwlan_e600gac-v2-16m
2374
2375 define Device/qxwlan_e600gac-v2-8m
2376 $(Device/qxwlan_e600gac-v2)
2377 DEVICE_VARIANT := v2 (8M)
2378 IMAGE_SIZE := 7744k
2379 endef
2380 TARGET_DEVICES += qxwlan_e600gac-v2-8m
2381
2382 define Device/qxwlan_e750a-v4
2383 SOC := ar9344
2384 DEVICE_VENDOR := Qxwlan
2385 DEVICE_MODEL := E750A
2386 DEVICE_PACKAGES := kmod-usb2
2387 SUPPORTED_DEVICES += e750a-v4
2388 endef
2389
2390 define Device/qxwlan_e750a-v4-16m
2391 $(Device/qxwlan_e750a-v4)
2392 DEVICE_VARIANT := v4 (16M)
2393 IMAGE_SIZE := 15936k
2394 endef
2395 TARGET_DEVICES += qxwlan_e750a-v4-16m
2396
2397 define Device/qxwlan_e750a-v4-8m
2398 $(Device/qxwlan_e750a-v4)
2399 DEVICE_VARIANT := v4 (8M)
2400 IMAGE_SIZE := 7744k
2401 endef
2402 TARGET_DEVICES += qxwlan_e750a-v4-8m
2403
2404 define Device/qxwlan_e750g-v8
2405 SOC := ar9344
2406 DEVICE_VENDOR := Qxwlan
2407 DEVICE_MODEL := E750G
2408 DEVICE_PACKAGES := kmod-usb2
2409 SUPPORTED_DEVICES += e750g-v8
2410 endef
2411
2412 define Device/qxwlan_e750g-v8-16m
2413 $(Device/qxwlan_e750g-v8)
2414 DEVICE_VARIANT := v8 (16M)
2415 IMAGE_SIZE := 15936k
2416 endef
2417 TARGET_DEVICES += qxwlan_e750g-v8-16m
2418
2419 define Device/qxwlan_e750g-v8-8m
2420 $(Device/qxwlan_e750g-v8)
2421 DEVICE_VARIANT := v8 (8M)
2422 IMAGE_SIZE := 7744k
2423 endef
2424 TARGET_DEVICES += qxwlan_e750g-v8-8m
2425
2426 define Device/rosinson_wr818
2427 SOC := qca9563
2428 DEVICE_VENDOR := Rosinson
2429 DEVICE_MODEL := WR818
2430 IMAGE_SIZE := 15872k
2431 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
2432 endef
2433 TARGET_DEVICES += rosinson_wr818
2434
2435 define Device/ruckus_common
2436 DEVICE_VENDOR := Ruckus
2437 LOADER_TYPE := bin
2438 KERNEL := kernel-bin | append-dtb | lzma | loader-kernel | uImage none
2439 KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | loader-kernel | uImage none
2440 endef
2441
2442 define Device/ruckus_zf7025
2443 $(Device/ruckus_common)
2444 SOC := ar7240
2445 DEVICE_MODEL := ZoneFlex 7025
2446 IMAGE_SIZE := 15616k
2447 BLOCKSIZE := 256k
2448 endef
2449 TARGET_DEVICES += ruckus_zf7025
2450
2451 define Device/ruckus_zf73xx_common
2452 $(Device/ruckus_common)
2453 DEVICE_PACKAGES := -swconfig kmod-usb2 kmod-usb-chipidea2
2454 IMAGE_SIZE := 31744k
2455 endef
2456
2457 define Device/ruckus_zf7321
2458 $(Device/ruckus_zf73xx_common)
2459 SOC := ar9342
2460 DEVICE_MODEL := ZoneFlex 7321[-U]
2461 endef
2462 TARGET_DEVICES += ruckus_zf7321
2463
2464 define Device/ruckus_zf7372
2465 $(Device/ruckus_zf73xx_common)
2466 SOC := ar9344
2467 DEVICE_MODEL := ZoneFlex 7352/7372[-E/-U]
2468 endef
2469 TARGET_DEVICES += ruckus_zf7372
2470
2471 define Device/samsung_wam250
2472 SOC := ar9344
2473 DEVICE_VENDOR := Samsung
2474 DEVICE_MODEL := WAM250
2475 IMAGE_SIZE := 15872k
2476 DEVICE_PACKAGES := kmod-usb2
2477 SUPPORTED_DEVICES += wam250
2478 endef
2479 TARGET_DEVICES += samsung_wam250
2480
2481 define Device/siemens_ws-ap3610
2482 SOC := ar7161
2483 DEVICE_VENDOR := Siemens
2484 DEVICE_MODEL := WS-AP3610
2485 IMAGE_SIZE := 14336k
2486 BLOCKSIZE := 256k
2487 LOADER_TYPE := bin
2488 LOADER_FLASH_OFFS := 0x82000
2489 COMPILE := loader-$(1).bin
2490 COMPILE/loader-$(1).bin := loader-okli-compile
2491 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49 | loader-okli $(1) 8128 | uImage none
2492 KERNEL_INITRAMFS := kernel-bin | append-dtb | uImage none
2493 endef
2494 TARGET_DEVICES += siemens_ws-ap3610
2495
2496 define Device/sitecom_wlr-7100
2497 SOC := ar1022
2498 DEVICE_VENDOR := Sitecom
2499 DEVICE_MODEL := WLR-7100
2500 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct-smallbuffers kmod-usb2
2501 IMAGES += factory.dlf
2502 IMAGE/factory.dlf := append-kernel | pad-to $$$$(BLOCKSIZE) | \
2503 append-rootfs | pad-rootfs | check-size | \
2504 senao-header -r 0x222 -p 0x53 -t 2
2505 IMAGE_SIZE := 7488k
2506 endef
2507 TARGET_DEVICES += sitecom_wlr-7100
2508
2509 define Device/sitecom_wlr-8100
2510 SOC := qca9558
2511 DEVICE_VENDOR := Sitecom
2512 DEVICE_MODEL := WLR-8100
2513 DEVICE_ALT0_VENDOR := Sitecom
2514 DEVICE_ALT0_MODEL := X8 AC1750
2515 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct kmod-usb2 kmod-usb3
2516 SUPPORTED_DEVICES += wlr8100
2517 IMAGES += factory.dlf
2518 IMAGE/factory.dlf := append-kernel | pad-to $$$$(BLOCKSIZE) | \
2519 append-rootfs | pad-rootfs | check-size | \
2520 senao-header -r 0x222 -p 0x56 -t 2
2521 IMAGE_SIZE := 15424k
2522 endef
2523 TARGET_DEVICES += sitecom_wlr-8100
2524
2525 define Device/sophos_ap15
2526 SOC := qca9558
2527 DEVICE_VENDOR := Sophos
2528 DEVICE_MODEL := AP15
2529 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
2530 IMAGE_SIZE := 15936k
2531 endef
2532 TARGET_DEVICES += sophos_ap15
2533
2534 define Device/sophos_ap55
2535 SOC := qca9558
2536 DEVICE_VENDOR := Sophos
2537 DEVICE_MODEL := AP55
2538 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct kmod-usb2
2539 IMAGE_SIZE := 15936k
2540 endef
2541 TARGET_DEVICES += sophos_ap55
2542
2543 define Device/sophos_ap55c
2544 SOC := qca9558
2545 DEVICE_VENDOR := Sophos
2546 DEVICE_MODEL := AP55C
2547 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
2548 IMAGE_SIZE := 15936k
2549 endef
2550 TARGET_DEVICES += sophos_ap55c
2551
2552 define Device/sophos_ap100
2553 SOC := qca9558
2554 DEVICE_VENDOR := Sophos
2555 DEVICE_MODEL := AP100
2556 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct kmod-usb2
2557 IMAGE_SIZE := 15936k
2558 endef
2559 TARGET_DEVICES += sophos_ap100
2560
2561 define Device/sophos_ap100c
2562 SOC := qca9558
2563 DEVICE_VENDOR := Sophos
2564 DEVICE_MODEL := AP100C
2565 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
2566 IMAGE_SIZE := 15936k
2567 endef
2568 TARGET_DEVICES += sophos_ap100c
2569
2570 define Device/telco_t1
2571 SOC := qca9531
2572 DEVICE_VENDOR := Telco
2573 DEVICE_MODEL := T1
2574 DEVICE_PACKAGES := kmod-usb2 kmod-usb-net-qmi-wwan \
2575 kmod-usb-serial-option uqmi -swconfig -uboot-envtools
2576 IMAGE_SIZE := 16192k
2577 SUPPORTED_DEVICES += telco_electronics,tel-t1
2578 endef
2579 TARGET_DEVICES += telco_t1
2580
2581 define Device/teltonika_rut230-v1
2582 SOC := ar9331
2583 DEVICE_VENDOR := Teltonika
2584 DEVICE_MODEL := RUT230
2585 DEVICE_VARIANT := v1
2586 DEVICE_PACKAGES := kmod-usb-chipidea2 kmod-usb-acm kmod-usb-net-qmi-wwan \
2587 uqmi -uboot-envtools
2588 IMAGE_SIZE := 15552k
2589 TPLINK_HWID := 0x32200002
2590 TPLINK_HWREV := 0x1
2591 TPLINK_HEADER_VERSION := 1
2592 KERNEL := kernel-bin | append-dtb | lzma | teltonika-v1-header
2593 KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma
2594 IMAGES += factory.bin
2595 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs |\
2596 pad-rootfs | pad-extra 64 | teltonika-fw-fake-checksum 54 | check-size
2597 IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(BLOCKSIZE) |\
2598 append-rootfs | pad-rootfs | append-metadata |\
2599 check-size
2600 endef
2601 TARGET_DEVICES += teltonika_rut230-v1
2602
2603 define Device/teltonika_rut300
2604 SOC := qca9531
2605 DEVICE_VENDOR := Teltonika
2606 DEVICE_MODEL := RUT300
2607 SUPPORTED_TELTONIKA_DEVICES := teltonika,rut30x
2608 DEVICE_PACKAGES := -kmod-ath9k -uboot-envtools -wpad-basic-wolfssl kmod-usb2
2609 IMAGE_SIZE := 15552k
2610 IMAGES += factory.bin
2611 IMAGE/factory.bin = append-kernel | pad-to $$$$(BLOCKSIZE) | \
2612 append-rootfs | pad-rootfs | append-metadata-teltonika | \
2613 check-size $$$$(IMAGE_SIZE)
2614 IMAGE/sysupgrade.bin = append-kernel | pad-to $$$$(BLOCKSIZE) | \
2615 append-rootfs | pad-rootfs | append-metadata | \
2616 check-size $$$$(IMAGE_SIZE)
2617 endef
2618 TARGET_DEVICES += teltonika_rut300
2619
2620 define Device/teltonika_rut955
2621 SOC := ar9344
2622 DEVICE_VENDOR := Teltonika
2623 DEVICE_MODEL := RUT955
2624 DEVICE_PACKAGES := kmod-usb2 kmod-usb-acm kmod-usb-net-qmi-wwan \
2625 kmod-usb-serial-option kmod-hwmon-mcp3021 uqmi -uboot-envtools
2626 IMAGE_SIZE := 15552k
2627 TPLINK_HWID := 0x35000001
2628 TPLINK_HWREV := 0x1
2629 TPLINK_HEADER_VERSION := 1
2630 KERNEL := kernel-bin | append-dtb | lzma | tplink-v1-header
2631 KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma
2632 IMAGES += factory.bin
2633 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs |\
2634 pad-rootfs | teltonika-fw-fake-checksum 20 | append-string master |\
2635 append-md5sum-bin | check-size
2636 IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(BLOCKSIZE) |\
2637 append-rootfs | pad-rootfs | check-size | append-metadata
2638 endef
2639 TARGET_DEVICES += teltonika_rut955
2640
2641 define Device/teltonika_rut955-h7v3c0
2642 $(Device/teltonika_rut955)
2643 DEVICE_VARIANT := H7V3C0
2644 endef
2645 TARGET_DEVICES += teltonika_rut955-h7v3c0
2646
2647 define Device/trendnet_tew-673gru
2648 SOC := ar7161
2649 DEVICE_VENDOR := Trendnet
2650 DEVICE_MODEL := TEW-673GRU
2651 DEVICE_VARIANT := v1.0R
2652 DEVICE_PACKAGES := -uboot-envtools kmod-usb-ohci kmod-usb2 \
2653 kmod-owl-loader kmod-switch-rtl8366s
2654 IMAGE_SIZE := 7808k
2655 FACTORY_SIZE := 6144k
2656 IMAGES += factory.bin
2657 IMAGE/factory.bin = append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
2658 pad-rootfs | check-size $$$$(FACTORY_SIZE) | pad-to $$$$(FACTORY_SIZE) | \
2659 append-string AP94-AR7161-RT-080619-01
2660 endef
2661 TARGET_DEVICES += trendnet_tew-673gru
2662
2663 define Device/trendnet_tew-823dru
2664 SOC := qca9558
2665 DEVICE_VENDOR := Trendnet
2666 DEVICE_MODEL := TEW-823DRU
2667 DEVICE_VARIANT := v1.0R
2668 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
2669 SUPPORTED_DEVICES += tew-823dru
2670 IMAGE_SIZE := 15296k
2671 IMAGES := factory.bin sysupgrade.bin
2672 IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
2673 pad-rootfs
2674 IMAGE/factory.bin := $$(IMAGE/default) | pad-offset $$$$(IMAGE_SIZE) 26 | \
2675 append-string 00AP135AR9558-RT-131129-00 | check-size
2676 IMAGE/sysupgrade.bin := $$(IMAGE/default) | check-size | append-metadata
2677 endef
2678 TARGET_DEVICES += trendnet_tew-823dru
2679
2680 define Device/wallys_dr531
2681 SOC := qca9531
2682 DEVICE_VENDOR := Wallys
2683 DEVICE_MODEL := DR531
2684 DEVICE_PACKAGES := kmod-usb2 rssileds
2685 IMAGE_SIZE := 7808k
2686 SUPPORTED_DEVICES += dr531
2687 endef
2688 TARGET_DEVICES += wallys_dr531
2689
2690 define Device/watchguard_ap100
2691 $(Device/senao_loader_okli)
2692 SOC := ar9344
2693 DEVICE_VENDOR := WatchGuard
2694 DEVICE_MODEL := AP100
2695 IMAGE_SIZE := 12096k
2696 LOADER_FLASH_OFFS := 0x220000
2697 SENAO_IMGNAME := senao-ap100
2698 WATCHGUARD_MAGIC := 82kdlzk2
2699 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | \
2700 check-size | senao-tar-gz $$$$(SENAO_IMGNAME) | watchguard-cksum $$$$(WATCHGUARD_MAGIC)
2701 endef
2702 TARGET_DEVICES += watchguard_ap100
2703
2704 define Device/watchguard_ap200
2705 $(Device/senao_loader_okli)
2706 SOC := ar9344
2707 DEVICE_VENDOR := WatchGuard
2708 DEVICE_MODEL := AP200
2709 IMAGE_SIZE := 12096k
2710 LOADER_FLASH_OFFS := 0x220000
2711 SENAO_IMGNAME := senao-ap200
2712 WATCHGUARD_MAGIC := 82kdlzk2
2713 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | \
2714 check-size | senao-tar-gz $$$$(SENAO_IMGNAME) | watchguard-cksum $$$$(WATCHGUARD_MAGIC)
2715 endef
2716 TARGET_DEVICES += watchguard_ap200
2717
2718 define Device/watchguard_ap300
2719 $(Device/senao_loader_okli)
2720 SOC := qca9558
2721 DEVICE_VENDOR := WatchGuard
2722 DEVICE_MODEL := AP300
2723 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
2724 IMAGE_SIZE := 11584k
2725 LOADER_FLASH_OFFS := 0x220000
2726 SENAO_IMGNAME := senao-ap300
2727 WATCHGUARD_MAGIC := 82kdlzk2
2728 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | \
2729 check-size | senao-tar-gz $$$$(SENAO_IMGNAME) | watchguard-cksum $$$$(WATCHGUARD_MAGIC)
2730 endef
2731 TARGET_DEVICES += watchguard_ap300
2732
2733 define Device/wd_mynet-n600
2734 $(Device/seama)
2735 SOC := ar9344
2736 DEVICE_VENDOR := Western Digital
2737 DEVICE_MODEL := My Net N600
2738 IMAGE_SIZE := 15872k
2739 DEVICE_PACKAGES := kmod-usb2
2740 SEAMA_SIGNATURE := wrgnd16_wd_db600
2741 SUPPORTED_DEVICES += mynet-n600
2742 endef
2743 TARGET_DEVICES += wd_mynet-n600
2744
2745 define Device/wd_mynet-n750
2746 $(Device/seama)
2747 SOC := ar9344
2748 DEVICE_VENDOR := Western Digital
2749 DEVICE_MODEL := My Net N750
2750 IMAGE_SIZE := 15872k
2751 DEVICE_PACKAGES := kmod-usb2
2752 SEAMA_SIGNATURE := wrgnd13_wd_av
2753 SUPPORTED_DEVICES += mynet-n750
2754 endef
2755 TARGET_DEVICES += wd_mynet-n750
2756
2757 define Device/wd_mynet-wifi-rangeextender
2758 SOC := ar9344
2759 DEVICE_VENDOR := Western Digital
2760 DEVICE_MODEL := My Net Wi-Fi Range Extender
2761 DEVICE_PACKAGES := rssileds nvram -swconfig
2762 IMAGE_SIZE := 7808k
2763 ADDPATTERN_ID := mynet-rext
2764 ADDPATTERN_VERSION := 1.00.01
2765 IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | cybertan-trx | \
2766 addpattern | append-metadata
2767 SUPPORTED_DEVICES += mynet-rext
2768 endef
2769 TARGET_DEVICES += wd_mynet-wifi-rangeextender
2770
2771 define Device/winchannel_wb2000
2772 SOC := ar9344
2773 DEVICE_VENDOR := Winchannel
2774 DEVICE_MODEL := WB2000
2775 IMAGE_SIZE := 15872k
2776 DEVICE_PACKAGES := kmod-i2c-gpio kmod-rtc-ds1307 kmod-usb2 \
2777 kmod-usb-ledtrig-usbport
2778 endef
2779 TARGET_DEVICES += winchannel_wb2000
2780
2781 define Device/xiaomi_aiot-ac2350
2782 SOC := qca9563
2783 DEVICE_VENDOR := Xiaomi
2784 DEVICE_MODEL := AIoT AC2350
2785 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9984-ct
2786 IMAGE_SIZE := 14336k
2787 endef
2788 TARGET_DEVICES += xiaomi_aiot-ac2350
2789
2790 define Device/xiaomi_mi-router-4q
2791 SOC := qca9561
2792 DEVICE_VENDOR := Xiaomi
2793 DEVICE_MODEL := Mi Router 4Q
2794 IMAGE_SIZE := 14336k
2795 endef
2796 TARGET_DEVICES += xiaomi_mi-router-4q
2797
2798 define Device/yuncore_a770
2799 SOC := qca9531
2800 DEVICE_VENDOR := YunCore
2801 DEVICE_MODEL := A770
2802 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct
2803 IMAGE_SIZE := 16000k
2804 IMAGES += tftp.bin
2805 IMAGE/tftp.bin := $$(IMAGE/sysupgrade.bin) | yuncore-tftp-header-16m
2806 endef
2807 TARGET_DEVICES += yuncore_a770
2808
2809 define Device/yuncore_a782
2810 SOC := qca9563
2811 DEVICE_VENDOR := YunCore
2812 DEVICE_MODEL := A782
2813 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
2814 IMAGE_SIZE := 16000k
2815 IMAGES += tftp.bin
2816 IMAGE/tftp.bin := $$(IMAGE/sysupgrade.bin) | yuncore-tftp-header-16m
2817 endef
2818 TARGET_DEVICES += yuncore_a782
2819
2820 define Device/yuncore_a930
2821 SOC := qca9533
2822 DEVICE_VENDOR := YunCore
2823 DEVICE_MODEL := A930
2824 IMAGE_SIZE := 16000k
2825 IMAGES += tftp.bin
2826 IMAGE/tftp.bin := $$(IMAGE/sysupgrade.bin) | yuncore-tftp-header-16m
2827 endef
2828 TARGET_DEVICES += yuncore_a930
2829
2830 define Device/yuncore_xd3200
2831 SOC := qca9563
2832 DEVICE_VENDOR := YunCore
2833 DEVICE_MODEL := XD3200
2834 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
2835 IMAGE_SIZE := 16000k
2836 IMAGES += tftp.bin
2837 IMAGE/tftp.bin := $$(IMAGE/sysupgrade.bin) | yuncore-tftp-header-16m
2838 endef
2839 TARGET_DEVICES += yuncore_xd3200
2840
2841 define Device/yuncore_xd4200
2842 SOC := qca9563
2843 DEVICE_VENDOR := YunCore
2844 DEVICE_MODEL := XD4200
2845 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
2846 IMAGE_SIZE := 16000k
2847 IMAGES += tftp.bin
2848 IMAGE/tftp.bin := $$(IMAGE/sysupgrade.bin) | yuncore-tftp-header-16m
2849 endef
2850 TARGET_DEVICES += yuncore_xd4200
2851
2852 define Device/ziking_cpe46b
2853 SOC := ar9330
2854 DEVICE_VENDOR := ZiKing
2855 DEVICE_MODEL := CPE46B
2856 IMAGE_SIZE := 8000k
2857 DEVICE_PACKAGES := kmod-i2c-gpio
2858 endef
2859 TARGET_DEVICES += ziking_cpe46b
2860
2861 define Device/zbtlink_zbt-wd323
2862 SOC := ar9344
2863 DEVICE_VENDOR := ZBT
2864 DEVICE_MODEL := WD323
2865 IMAGE_SIZE := 16000k
2866 DEVICE_PACKAGES := kmod-usb2 kmod-i2c-gpio kmod-rtc-pcf8563 \
2867 kmod-usb-serial-cp210x uqmi
2868 endef
2869 TARGET_DEVICES += zbtlink_zbt-wd323
2870
2871 define Device/zyxel_nwa11xx
2872 $(Device/loader-okli-uimage)
2873 SOC := ar9342
2874 DEVICE_VENDOR := ZyXEL
2875 LOADER_FLASH_OFFS := 0x050000
2876 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49
2877 IMAGE_SIZE := 8192k
2878 IMAGES += factory-$$$$(ZYXEL_MODEL_STRING).bin
2879 IMAGE/factory-$$$$(ZYXEL_MODEL_STRING).bin := \
2880 append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
2881 pad-rootfs | pad-to 8192k | check-size | zyxel-tar-bz2 \
2882 vmlinux_mi124_f1e mi124_f1e-jffs2 | append-md5sum-bin
2883 endef
2884
2885 define Device/zyxel_nwa1100-nh
2886 $(Device/zyxel_nwa11xx)
2887 DEVICE_MODEL := NWA1100
2888 DEVICE_VARIANT := NH
2889 ZYXEL_MODEL_STRING := AASI
2890 endef
2891 TARGET_DEVICES += zyxel_nwa1100-nh
2892
2893 define Device/zyxel_nwa1121-ni
2894 $(Device/zyxel_nwa11xx)
2895 DEVICE_MODEL := NWA1121
2896 DEVICE_VARIANT := NI
2897 ZYXEL_MODEL_STRING := AABJ
2898 endef
2899 TARGET_DEVICES += zyxel_nwa1121-ni
2900
2901 define Device/zyxel_nwa1123-ac
2902 $(Device/zyxel_nwa11xx)
2903 DEVICE_MODEL := NWA1123
2904 DEVICE_VARIANT := AC
2905 ZYXEL_MODEL_STRING := AAOX
2906 DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers \
2907 ath10k-firmware-qca988x-ct
2908 endef
2909 TARGET_DEVICES += zyxel_nwa1123-ac
2910
2911 define Device/zyxel_nwa1123-ni
2912 $(Device/zyxel_nwa11xx)
2913 DEVICE_MODEL := NWA1123
2914 DEVICE_VARIANT := NI
2915 ZYXEL_MODEL_STRING := AAEO
2916 endef
2917 TARGET_DEVICES += zyxel_nwa1123-ni
2918
2919 define Device/zyxel_nbg6616
2920 SOC := qca9557
2921 DEVICE_VENDOR := ZyXEL
2922 DEVICE_MODEL := NBG6616
2923 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-rtc-pcf8563 \
2924 kmod-ath10k-ct ath10k-firmware-qca988x-ct
2925 IMAGE_SIZE := 15232k
2926 RAS_BOARD := NBG6616
2927 RAS_ROOTFS_SIZE := 14464k
2928 RAS_VERSION := "OpenWrt Linux-$(LINUX_VERSION)"
2929 IMAGES += factory.bin
2930 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
2931 append-rootfs | pad-rootfs | pad-to 64k | check-size | zyxel-ras-image
2932 SUPPORTED_DEVICES += nbg6616
2933 endef
2934 TARGET_DEVICES += zyxel_nbg6616