9c209b041f16ee29c966bcb273803276b5479d64
[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/letv_lba-047-ch
1587 $(Device/loader-okli-uimage)
1588 SOC := qca9531
1589 DEVICE_VENDOR := Letv
1590 DEVICE_MODEL := LBA-047-CH
1591 IMAGE_SIZE := 15936k
1592 LOADER_FLASH_OFFS := 0x50000
1593 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49
1594 IMAGES += factory.bin
1595 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
1596 append-rootfs | pad-rootfs | check-size | pad-to 14528k | \
1597 append-loader-okli-uimage $(1) | pad-to 64k
1598 endef
1599 TARGET_DEVICES += letv_lba-047-ch
1600
1601 define Device/librerouter_librerouter-v1
1602 SOC := qca9558
1603 DEVICE_VENDOR := Librerouter
1604 DEVICE_MODEL := LibreRouter
1605 DEVICE_VARIANT := v1
1606 IMAGE_SIZE := 7936k
1607 DEVICE_PACKAGES := kmod-usb2
1608 endef
1609 TARGET_DEVICES += librerouter_librerouter-v1
1610
1611 define Device/meraki_mr12
1612 SOC := ar7242
1613 DEVICE_VENDOR := Meraki
1614 DEVICE_MODEL := MR12
1615 IMAGE_SIZE := 15616k
1616 DEVICE_PACKAGES := kmod-owl-loader rssileds
1617 SUPPORTED_DEVICES += mr12
1618 DEVICE_COMPAT_VERSION := 2.0
1619 DEVICE_COMPAT_MESSAGE := Partitions differ from ar71xx version of MR12. Image format is incompatible. \
1620 To use sysupgrade, you must change /lib/update/common.sh::get_image to prepend 128K zeroes to this image, \
1621 and change the bootcmd in u-boot to "bootm 0xbf0a0000". After that, you can use "sysupgrade -F -n". \
1622 Make sure you do not keep your old config, as ethernet setup is not compatible either. \
1623 For more details, see the OpenWrt Wiki: https://openwrt.org/toh/meraki/MR12, \
1624 or the commit message of the MR12 ath79 port on git.openwrt.org.
1625 endef
1626 TARGET_DEVICES += meraki_mr12
1627
1628 define Device/meraki_mr16
1629 SOC := ar7161
1630 DEVICE_VENDOR := Meraki
1631 DEVICE_MODEL := MR16
1632 IMAGE_SIZE := 15616k
1633 DEVICE_PACKAGES := kmod-owl-loader
1634 SUPPORTED_DEVICES += mr16
1635 DEVICE_COMPAT_VERSION := 2.0
1636 DEVICE_COMPAT_MESSAGE := Partitions differ from ar71xx version of MR16. Image format is incompatible. \
1637 To use sysupgrade, you must change /lib/update/common.sh::get_image to prepend 128K zeroes to this image, \
1638 and change the bootcmd in u-boot to "bootm 0xbf0a0000". After that, you can use "sysupgrade -F". \
1639 For more details, see the OpenWrt Wiki: https://openwrt.org/toh/meraki/mr16, \
1640 or the commit message of the MR16 ath79 port on git.openwrt.org.
1641 endef
1642 TARGET_DEVICES += meraki_mr16
1643
1644 define Device/mercury_mw4530r-v1
1645 $(Device/tplink-8mlzma)
1646 SOC := ar9344
1647 DEVICE_VENDOR := Mercury
1648 DEVICE_MODEL := MW4530R
1649 DEVICE_VARIANT := v1
1650 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
1651 TPLINK_HWID := 0x45300001
1652 SUPPORTED_DEVICES += tl-wdr4300
1653 endef
1654 TARGET_DEVICES += mercury_mw4530r-v1
1655
1656 define Device/nec_wx1200cr
1657 DEVICE_VENDOR := NEC
1658 IMAGE/default := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs
1659 IMAGE/sysupgrade.bin := $$(IMAGE/default) | seama | pad-rootfs | \
1660 check-size | append-metadata
1661 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
1662 endef
1663
1664 define Device/nec_wf1200cr
1665 $(Device/nec_wx1200cr)
1666 SOC := qca9561
1667 DEVICE_MODEL := Aterm WF1200CR
1668 IMAGE_SIZE := 7680k
1669 SEAMA_MTDBLOCK := 5
1670 SEAMA_SIGNATURE := wrgac62_necpf.2016gui_wf1200cr
1671 IMAGES += factory.bin
1672 IMAGE/factory.bin := $$(IMAGE/default) | pad-rootfs -x 64 | seama | \
1673 seama-seal | nec-enc ryztfyutcrqqo69d | check-size
1674 endef
1675 TARGET_DEVICES += nec_wf1200cr
1676
1677 define Device/nec_wg1200cr
1678 $(Device/nec_wx1200cr)
1679 SOC := qca9563
1680 DEVICE_MODEL := Aterm WG1200CR
1681 IMAGE_SIZE := 7616k
1682 SEAMA_MTDBLOCK := 6
1683 SEAMA_SIGNATURE := wrgac72_necpf.2016gui_wg1200cr
1684 IMAGES += factory.bin
1685 IMAGE/factory.bin := $$(IMAGE/default) | pad-rootfs -x 64 | seama | \
1686 seama-seal | nec-enc 9gsiy9nzep452pad | check-size
1687 endef
1688 TARGET_DEVICES += nec_wg1200cr
1689
1690 define Device/nec_wg800hp
1691 SOC := qca9563
1692 DEVICE_VENDOR := NEC
1693 DEVICE_MODEL := Aterm WG800HP
1694 IMAGE_SIZE := 7104k
1695 IMAGES += factory.bin
1696 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
1697 append-rootfs | pad-rootfs | check-size | \
1698 xor-image -p 6A57190601121E4C004C1E1201061957 -x | nec-fw LASER_ATERM
1699 DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9887-ct-full-htt
1700 endef
1701 TARGET_DEVICES += nec_wg800hp
1702
1703 define Device/netgear_ex6400_ex7300
1704 $(Device/netgear_generic)
1705 SOC := qca9558
1706 UIMAGE_MAGIC := 0x27051956
1707 NETGEAR_BOARD_ID := EX7300series
1708 NETGEAR_HW_ID := 29765104+16+0+128
1709 IMAGE_SIZE := 15552k
1710 IMAGE/default := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | \
1711 netgear-rootfs | pad-rootfs
1712 IMAGE/sysupgrade.bin := $$(IMAGE/default) | check-size | append-metadata
1713 IMAGE/factory.img := $$(IMAGE/default) | netgear-dni | check-size
1714 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca99x0-ct
1715 endef
1716
1717 define Device/netgear_ex6400
1718 $(Device/netgear_ex6400_ex7300)
1719 DEVICE_MODEL := EX6400
1720 endef
1721 TARGET_DEVICES += netgear_ex6400
1722
1723 define Device/netgear_ex7300
1724 $(Device/netgear_ex6400_ex7300)
1725 DEVICE_MODEL := EX7300
1726 endef
1727 TARGET_DEVICES += netgear_ex7300
1728
1729 define Device/netgear_ex7300-v2
1730 $(Device/netgear_generic)
1731 SOC := qcn5502
1732 DEVICE_MODEL := EX7300
1733 DEVICE_VARIANT := v2
1734 UIMAGE_MAGIC := 0x27051956
1735 NETGEAR_BOARD_ID := EX7300v2series
1736 NETGEAR_HW_ID := 29765907+16+0+128
1737 IMAGE_SIZE := 14528k
1738 IMAGE/default := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | \
1739 netgear-rootfs | pad-rootfs
1740 IMAGE/sysupgrade.bin := $$(IMAGE/default) | check-size | append-metadata
1741 IMAGE/factory.img := $$(IMAGE/default) | check-size | netgear-dni
1742 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9984-ct
1743 endef
1744 TARGET_DEVICES += netgear_ex7300-v2
1745
1746 define Device/netgear_wndap360
1747 $(Device/netgear_generic)
1748 SOC := ar7161
1749 DEVICE_MODEL := WNDAP360
1750 DEVICE_PACKAGES := kmod-leds-reset kmod-owl-loader
1751 IMAGE_SIZE := 7744k
1752 BLOCKSIZE := 256k
1753 KERNEL := kernel-bin | append-dtb | gzip | uImage gzip
1754 KERNEL_INITRAMFS := kernel-bin | append-dtb | uImage none
1755 IMAGES := sysupgrade.bin
1756 IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | append-rootfs | pad-rootfs | \
1757 check-size | append-metadata
1758 endef
1759 TARGET_DEVICES += netgear_wndap360
1760
1761 define Device/netgear_wndr3x00
1762 $(Device/netgear_generic)
1763 SOC := ar7161
1764 DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport \
1765 kmod-leds-reset kmod-owl-loader kmod-switch-rtl8366s
1766 endef
1767
1768 define Device/netgear_wndr3700
1769 $(Device/netgear_wndr3x00)
1770 DEVICE_MODEL := WNDR3700
1771 DEVICE_VARIANT := v1
1772 UIMAGE_MAGIC := 0x33373030
1773 NETGEAR_BOARD_ID := WNDR3700
1774 IMAGE_SIZE := 7680k
1775 IMAGES += factory-NA.img
1776 IMAGE/factory-NA.img := $$(IMAGE/default) | netgear-dni NA | \
1777 check-size
1778 SUPPORTED_DEVICES += wndr3700
1779 endef
1780 TARGET_DEVICES += netgear_wndr3700
1781
1782 define Device/netgear_wndr3700-v2
1783 $(Device/netgear_wndr3x00)
1784 DEVICE_MODEL := WNDR3700
1785 DEVICE_VARIANT := v2
1786 UIMAGE_MAGIC := 0x33373031
1787 NETGEAR_BOARD_ID := WNDR3700v2
1788 NETGEAR_HW_ID := 29763654+16+64
1789 IMAGE_SIZE := 15872k
1790 SUPPORTED_DEVICES += wndr3700 netgear,wndr3700v2
1791 endef
1792 TARGET_DEVICES += netgear_wndr3700-v2
1793
1794 define Device/netgear_wndr3800
1795 $(Device/netgear_wndr3x00)
1796 DEVICE_MODEL := WNDR3800
1797 UIMAGE_MAGIC := 0x33373031
1798 NETGEAR_BOARD_ID := WNDR3800
1799 NETGEAR_HW_ID := 29763654+16+128
1800 IMAGE_SIZE := 15872k
1801 SUPPORTED_DEVICES += wndr3700
1802 endef
1803 TARGET_DEVICES += netgear_wndr3800
1804
1805 define Device/netgear_wndr3800ch
1806 $(Device/netgear_wndr3x00)
1807 DEVICE_MODEL := WNDR3800CH
1808 UIMAGE_MAGIC := 0x33373031
1809 NETGEAR_BOARD_ID := WNDR3800CH
1810 NETGEAR_HW_ID := 29763654+16+128
1811 IMAGE_SIZE := 15872k
1812 SUPPORTED_DEVICES += wndr3700
1813 endef
1814 TARGET_DEVICES += netgear_wndr3800ch
1815
1816 define Device/netgear_wndrmac-v1
1817 $(Device/netgear_wndr3x00)
1818 DEVICE_MODEL := WNDRMAC
1819 DEVICE_VARIANT := v1
1820 UIMAGE_MAGIC := 0x33373031
1821 NETGEAR_BOARD_ID := WNDRMAC
1822 NETGEAR_HW_ID := 29763654+16+64
1823 IMAGE_SIZE := 15872k
1824 SUPPORTED_DEVICES += wndr3700
1825 endef
1826 TARGET_DEVICES += netgear_wndrmac-v1
1827
1828 define Device/netgear_wndrmac-v2
1829 $(Device/netgear_wndr3x00)
1830 DEVICE_MODEL := WNDRMAC
1831 DEVICE_VARIANT := v2
1832 UIMAGE_MAGIC := 0x33373031
1833 NETGEAR_BOARD_ID := WNDRMACv2
1834 NETGEAR_HW_ID := 29763654+16+128
1835 IMAGE_SIZE := 15872k
1836 SUPPORTED_DEVICES += wndr3700
1837 endef
1838 TARGET_DEVICES += netgear_wndrmac-v2
1839
1840 define Device/netgear_wnr2200_common
1841 $(Device/netgear_generic)
1842 SOC := ar7241
1843 DEVICE_MODEL := WNR2200
1844 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
1845 UIMAGE_MAGIC := 0x32323030
1846 NETGEAR_BOARD_ID := wnr2200
1847 endef
1848
1849 define Device/netgear_wnr2200-8m
1850 $(Device/netgear_wnr2200_common)
1851 DEVICE_VARIANT := 8M
1852 NETGEAR_HW_ID := 29763600+08+64
1853 IMAGE_SIZE := 7808k
1854 IMAGES += factory-NA.img
1855 IMAGE/factory-NA.img := $$(IMAGE/default) | netgear-dni NA | \
1856 check-size
1857 SUPPORTED_DEVICES += wnr2200
1858 endef
1859 TARGET_DEVICES += netgear_wnr2200-8m
1860
1861 define Device/netgear_wnr2200-16m
1862 $(Device/netgear_wnr2200_common)
1863 DEVICE_VARIANT := 16M
1864 DEVICE_ALT0_VENDOR := NETGEAR
1865 DEVICE_ALT0_MODEL := WNR2200
1866 DEVICE_ALT0_VARIANT := CN/RU
1867 NETGEAR_HW_ID :=
1868 IMAGE_SIZE := 16000k
1869 endef
1870 TARGET_DEVICES += netgear_wnr2200-16m
1871
1872 define Device/ocedo_koala
1873 SOC := qca9558
1874 DEVICE_VENDOR := Ocedo
1875 DEVICE_MODEL := Koala
1876 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
1877 SUPPORTED_DEVICES += koala
1878 IMAGE_SIZE := 7424k
1879 endef
1880 TARGET_DEVICES += ocedo_koala
1881
1882 define Device/ocedo_raccoon
1883 SOC := ar9344
1884 DEVICE_VENDOR := Ocedo
1885 DEVICE_MODEL := Raccoon
1886 IMAGE_SIZE := 7424k
1887 endef
1888 TARGET_DEVICES += ocedo_raccoon
1889
1890 define Device/ocedo_ursus
1891 SOC := qca9558
1892 DEVICE_VENDOR := Ocedo
1893 DEVICE_MODEL := Ursus
1894 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
1895 IMAGE_SIZE := 7424k
1896 endef
1897 TARGET_DEVICES += ocedo_ursus
1898
1899 define Device/onion_omega
1900 $(Device/tplink-16mlzma)
1901 SOC := ar9331
1902 DEVICE_VENDOR := Onion
1903 DEVICE_MODEL := Omega
1904 DEVICE_PACKAGES := kmod-usb-chipidea2
1905 SUPPORTED_DEVICES += onion-omega
1906 KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma
1907 IMAGE_SIZE := 16192k
1908 TPLINK_HWID := 0x04700001
1909 endef
1910 TARGET_DEVICES += onion_omega
1911
1912 define Device/openmesh_common_64k
1913 DEVICE_VENDOR := OpenMesh
1914 DEVICE_PACKAGES := uboot-envtools
1915 IMAGE_SIZE := 7808k
1916 OPENMESH_CE_TYPE :=
1917 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma | \
1918 pad-to $$(BLOCKSIZE)
1919 IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | \
1920 openmesh-image ce_type=$$$$(OPENMESH_CE_TYPE) | append-metadata
1921 endef
1922
1923 define Device/openmesh_common_256k
1924 DEVICE_VENDOR := OpenMesh
1925 DEVICE_PACKAGES := uboot-envtools
1926 IMAGE_SIZE := 7168k
1927 BLOCKSIZE := 256k
1928 OPENMESH_CE_TYPE :=
1929 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma | \
1930 pad-to $$(BLOCKSIZE)
1931 IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | \
1932 openmesh-image ce_type=$$$$(OPENMESH_CE_TYPE) | append-metadata
1933 endef
1934
1935 define Device/openmesh_a40
1936 $(Device/openmesh_common_64k)
1937 SOC := qca9558
1938 DEVICE_MODEL := A40
1939 DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct kmod-usb2
1940 OPENMESH_CE_TYPE := A60
1941 SUPPORTED_DEVICES += a40
1942 endef
1943 TARGET_DEVICES += openmesh_a40
1944
1945 define Device/openmesh_a60
1946 $(Device/openmesh_common_64k)
1947 SOC := qca9558
1948 DEVICE_MODEL := A60
1949 DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct kmod-usb2
1950 OPENMESH_CE_TYPE := A60
1951 SUPPORTED_DEVICES += a60
1952 endef
1953 TARGET_DEVICES += openmesh_a60
1954
1955 define Device/openmesh_mr600-v1
1956 $(Device/openmesh_common_64k)
1957 SOC := ar9344
1958 DEVICE_MODEL := MR600
1959 DEVICE_VARIANT := v1
1960 OPENMESH_CE_TYPE := MR600
1961 SUPPORTED_DEVICES += mr600
1962 endef
1963 TARGET_DEVICES += openmesh_mr600-v1
1964
1965 define Device/openmesh_mr600-v2
1966 $(Device/openmesh_common_64k)
1967 SOC := ar9344
1968 DEVICE_MODEL := MR600
1969 DEVICE_VARIANT := v2
1970 OPENMESH_CE_TYPE := MR600
1971 SUPPORTED_DEVICES += mr600v2
1972 endef
1973 TARGET_DEVICES += openmesh_mr600-v2
1974
1975 define Device/openmesh_mr900-v1
1976 $(Device/openmesh_common_64k)
1977 SOC := qca9558
1978 DEVICE_MODEL := MR900
1979 DEVICE_VARIANT := v1
1980 OPENMESH_CE_TYPE := MR900
1981 SUPPORTED_DEVICES += mr900
1982 endef
1983 TARGET_DEVICES += openmesh_mr900-v1
1984
1985 define Device/openmesh_mr900-v2
1986 $(Device/openmesh_common_64k)
1987 SOC := qca9558
1988 DEVICE_MODEL := MR900
1989 DEVICE_VARIANT := v2
1990 OPENMESH_CE_TYPE := MR900
1991 SUPPORTED_DEVICES += mr900v2
1992 endef
1993 TARGET_DEVICES += openmesh_mr900-v2
1994
1995 define Device/openmesh_mr1750-v1
1996 $(Device/openmesh_common_64k)
1997 SOC := qca9558
1998 DEVICE_MODEL := MR1750
1999 DEVICE_VARIANT := v1
2000 DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct
2001 OPENMESH_CE_TYPE := MR1750
2002 SUPPORTED_DEVICES += mr1750
2003 endef
2004 TARGET_DEVICES += openmesh_mr1750-v1
2005
2006 define Device/openmesh_mr1750-v2
2007 $(Device/openmesh_common_64k)
2008 SOC := qca9558
2009 DEVICE_MODEL := MR1750
2010 DEVICE_VARIANT := v2
2011 DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct
2012 OPENMESH_CE_TYPE := MR1750
2013 SUPPORTED_DEVICES += mr1750v2
2014 endef
2015 TARGET_DEVICES += openmesh_mr1750-v2
2016
2017 define Device/openmesh_om2p-v1
2018 $(Device/openmesh_common_256k)
2019 SOC := ar7240
2020 DEVICE_MODEL := OM2P
2021 DEVICE_VARIANT := v1
2022 OPENMESH_CE_TYPE := OM2P
2023 SUPPORTED_DEVICES += om2p
2024 endef
2025 TARGET_DEVICES += openmesh_om2p-v1
2026
2027 define Device/openmesh_om2p-v2
2028 $(Device/openmesh_common_256k)
2029 SOC := ar9330
2030 DEVICE_MODEL := OM2P
2031 DEVICE_VARIANT := v2
2032 OPENMESH_CE_TYPE := OM2P
2033 SUPPORTED_DEVICES += om2pv2
2034 endef
2035 TARGET_DEVICES += openmesh_om2p-v2
2036
2037 define Device/openmesh_om2p-v4
2038 $(Device/openmesh_common_256k)
2039 SOC := qca9533
2040 DEVICE_MODEL := OM2P
2041 DEVICE_VARIANT := v4
2042 OPENMESH_CE_TYPE := OM2P
2043 SUPPORTED_DEVICES += om2pv4
2044 endef
2045 TARGET_DEVICES += openmesh_om2p-v4
2046
2047 define Device/openmesh_om2p-hs-v1
2048 $(Device/openmesh_common_256k)
2049 SOC := ar9341
2050 DEVICE_MODEL := OM2P-HS
2051 DEVICE_VARIANT := v1
2052 OPENMESH_CE_TYPE := OM2P
2053 SUPPORTED_DEVICES += om2p-hs
2054 endef
2055 TARGET_DEVICES += openmesh_om2p-hs-v1
2056
2057 define Device/openmesh_om2p-hs-v2
2058 $(Device/openmesh_common_256k)
2059 SOC := ar9341
2060 DEVICE_MODEL := OM2P-HS
2061 DEVICE_VARIANT := v2
2062 OPENMESH_CE_TYPE := OM2P
2063 SUPPORTED_DEVICES += om2p-hsv2
2064 endef
2065 TARGET_DEVICES += openmesh_om2p-hs-v2
2066
2067 define Device/openmesh_om2p-hs-v3
2068 $(Device/openmesh_common_256k)
2069 SOC := ar9341
2070 DEVICE_MODEL := OM2P-HS
2071 DEVICE_VARIANT := v3
2072 OPENMESH_CE_TYPE := OM2P
2073 SUPPORTED_DEVICES += om2p-hsv3
2074 endef
2075 TARGET_DEVICES += openmesh_om2p-hs-v3
2076
2077 define Device/openmesh_om2p-hs-v4
2078 $(Device/openmesh_common_256k)
2079 SOC := qca9533
2080 DEVICE_MODEL := OM2P-HS
2081 DEVICE_VARIANT := v4
2082 OPENMESH_CE_TYPE := OM2P
2083 SUPPORTED_DEVICES += om2p-hsv4
2084 endef
2085 TARGET_DEVICES += openmesh_om2p-hs-v4
2086
2087 define Device/openmesh_om2p-lc
2088 $(Device/openmesh_common_256k)
2089 SOC := ar9330
2090 DEVICE_MODEL := OM2P-LC
2091 OPENMESH_CE_TYPE := OM2P
2092 SUPPORTED_DEVICES += om2p-lc
2093 endef
2094 TARGET_DEVICES += openmesh_om2p-lc
2095
2096 define Device/openmesh_om5p
2097 $(Device/openmesh_common_64k)
2098 SOC := ar9344
2099 DEVICE_MODEL := OM5P
2100 OPENMESH_CE_TYPE := OM5P
2101 SUPPORTED_DEVICES += om5p
2102 endef
2103 TARGET_DEVICES += openmesh_om5p
2104
2105 define Device/openmesh_om5p-ac-v1
2106 $(Device/openmesh_common_64k)
2107 SOC := qca9558
2108 DEVICE_MODEL := OM5P-AC
2109 DEVICE_VARIANT := v1
2110 DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct
2111 OPENMESH_CE_TYPE := OM5PAC
2112 SUPPORTED_DEVICES += om5p-ac
2113 endef
2114 TARGET_DEVICES += openmesh_om5p-ac-v1
2115
2116 define Device/openmesh_om5p-ac-v2
2117 $(Device/openmesh_common_64k)
2118 SOC := qca9558
2119 DEVICE_MODEL := OM5P-AC
2120 DEVICE_VARIANT := v2
2121 DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct
2122 OPENMESH_CE_TYPE := OM5PAC
2123 SUPPORTED_DEVICES += om5p-acv2
2124 endef
2125 TARGET_DEVICES += openmesh_om5p-ac-v2
2126
2127 define Device/openmesh_om5p-an
2128 $(Device/openmesh_common_64k)
2129 SOC := ar9344
2130 DEVICE_MODEL := OM5P-AN
2131 OPENMESH_CE_TYPE := OM5P
2132 SUPPORTED_DEVICES += om5p-an
2133 endef
2134 TARGET_DEVICES += openmesh_om5p-an
2135
2136 define Device/pcs_cap324
2137 SOC := ar9344
2138 DEVICE_VENDOR := PowerCloud Systems
2139 DEVICE_MODEL := CAP324
2140 IMAGE_SIZE := 16000k
2141 SUPPORTED_DEVICES += cap324
2142 endef
2143 TARGET_DEVICES += pcs_cap324
2144
2145 define Device/pcs_cr3000
2146 SOC := ar9341
2147 DEVICE_VENDOR := PowerCloud Systems
2148 DEVICE_MODEL := CR3000
2149 IMAGE_SIZE := 7808k
2150 SUPPORTED_DEVICES += cr3000
2151 endef
2152 TARGET_DEVICES += pcs_cr3000
2153
2154 define Device/pcs_cr5000
2155 SOC := ar9344
2156 DEVICE_VENDOR := PowerCloud Systems
2157 DEVICE_MODEL := CR5000
2158 DEVICE_PACKAGES := kmod-usb2
2159 IMAGE_SIZE := 7808k
2160 SUPPORTED_DEVICES += cr5000
2161 endef
2162 TARGET_DEVICES += pcs_cr5000
2163
2164 define Device/phicomm_k2t
2165 SOC := qca9563
2166 DEVICE_VENDOR := Phicomm
2167 DEVICE_MODEL := K2T
2168 IMAGE_SIZE := 15744k
2169 IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \
2170 check-size | append-metadata
2171 DEVICE_PACKAGES := kmod-leds-reset kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9888-ct
2172 endef
2173 TARGET_DEVICES += phicomm_k2t
2174
2175 define Device/pisen_ts-d084
2176 $(Device/tplink-8mlzma)
2177 SOC := ar9331
2178 DEVICE_VENDOR := PISEN
2179 DEVICE_MODEL := TS-D084
2180 DEVICE_PACKAGES := kmod-usb-chipidea2
2181 TPLINK_HWID := 0x07030101
2182 endef
2183 TARGET_DEVICES += pisen_ts-d084
2184
2185 define Device/pisen_wmb001n
2186 $(Device/loader-okli-uimage)
2187 SOC := ar9341
2188 DEVICE_VENDOR := PISEN
2189 DEVICE_MODEL := WMB001N
2190 IMAGE_SIZE := 14080k
2191 DEVICE_PACKAGES := kmod-i2c-gpio kmod-usb2
2192 LOADER_FLASH_OFFS := 0x20000
2193 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49
2194 IMAGES += factory.bin
2195 IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | pisen_wmb001n-factory $(1)
2196 endef
2197 TARGET_DEVICES += pisen_wmb001n
2198
2199 define Device/pisen_wmm003n
2200 $(Device/tplink-8mlzma)
2201 SOC := ar9331
2202 DEVICE_VENDOR := PISEN
2203 DEVICE_MODEL := Cloud Easy Power (WMM003N)
2204 DEVICE_PACKAGES := kmod-usb-chipidea2
2205 TPLINK_HWID := 0x07030101
2206 endef
2207 TARGET_DEVICES += pisen_wmm003n
2208
2209 define Device/plasmacloud_pa300-common
2210 SOC := qca9533
2211 DEVICE_VENDOR := Plasma Cloud
2212 DEVICE_PACKAGES := uboot-envtools
2213 IMAGE_SIZE := 7168k
2214 IMAGES += factory.bin
2215 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma | pad-to $$(BLOCKSIZE)
2216 IMAGE/factory.bin := append-rootfs | pad-rootfs | openmesh-image ce_type=PA300
2217 IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | sysupgrade-tar rootfs=$$$$@ | append-metadata
2218 endef
2219
2220 define Device/plasmacloud_pa300
2221 $(Device/plasmacloud_pa300-common)
2222 DEVICE_MODEL := PA300
2223 endef
2224 TARGET_DEVICES += plasmacloud_pa300
2225
2226 define Device/plasmacloud_pa300e
2227 $(Device/plasmacloud_pa300-common)
2228 DEVICE_MODEL := PA300E
2229 endef
2230 TARGET_DEVICES += plasmacloud_pa300e
2231
2232 define Device/qca_ap143
2233 $(Device/loader-okli-uimage)
2234 SOC := qca9533
2235 DEVICE_VENDOR := Qualcomm Atheros
2236 DEVICE_MODEL := AP143
2237 DEVICE_PACKAGES := kmod-usb2
2238 SUPPORTED_DEVICES += ap143
2239 LOADER_FLASH_OFFS := 0x50000
2240 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49
2241 endef
2242
2243 define Device/qca_ap143-8m
2244 $(Device/qca_ap143)
2245 DEVICE_VARIANT := (8M)
2246 IMAGE_SIZE := 7744k
2247 IMAGES += factory.bin
2248 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
2249 append-rootfs | pad-rootfs | check-size | pad-to 6336k | \
2250 append-loader-okli-uimage $(1) | pad-to 64k
2251 endef
2252 TARGET_DEVICES += qca_ap143-8m
2253
2254 define Device/qca_ap143-16m
2255 $(Device/qca_ap143)
2256 DEVICE_VARIANT := (16M)
2257 IMAGE_SIZE := 15936k
2258 IMAGES += factory.bin
2259 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
2260 append-rootfs | pad-rootfs | check-size | pad-to 14528k | \
2261 append-loader-okli-uimage $(1) | pad-to 64k
2262 endef
2263 TARGET_DEVICES += qca_ap143-16m
2264
2265 define Device/qihoo_c301
2266 $(Device/seama)
2267 SOC := ar9344
2268 DEVICE_VENDOR := Qihoo
2269 DEVICE_MODEL := C301
2270 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct \
2271 uboot-envtools
2272 IMAGE_SIZE := 15744k
2273 SEAMA_SIGNATURE := wrgac26_qihoo360_360rg
2274 SUPPORTED_DEVICES += qihoo-c301
2275 endef
2276 TARGET_DEVICES += qihoo_c301
2277
2278 define Device/qxwlan_e1700ac-v2
2279 SOC := qca9563
2280 DEVICE_VENDOR := Qxwlan
2281 DEVICE_MODEL := E1700AC
2282 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
2283 SUPPORTED_DEVICES += e1700ac-v2
2284 endef
2285
2286 define Device/qxwlan_e1700ac-v2-16m
2287 $(Device/qxwlan_e1700ac-v2)
2288 DEVICE_VARIANT := v2 (16M)
2289 IMAGE_SIZE := 15936k
2290 endef
2291 TARGET_DEVICES += qxwlan_e1700ac-v2-16m
2292
2293 define Device/qxwlan_e1700ac-v2-8m
2294 $(Device/qxwlan_e1700ac-v2)
2295 DEVICE_VARIANT := v2 (8M)
2296 IMAGE_SIZE := 7744k
2297 endef
2298 TARGET_DEVICES += qxwlan_e1700ac-v2-8m
2299
2300 define Device/qxwlan_e558-v2
2301 SOC := qca9558
2302 DEVICE_VENDOR := Qxwlan
2303 DEVICE_MODEL := E558
2304 DEVICE_PACKAGES := kmod-usb2
2305 SUPPORTED_DEVICES += e558-v2
2306 endef
2307
2308 define Device/qxwlan_e558-v2-16m
2309 $(Device/qxwlan_e558-v2)
2310 DEVICE_VARIANT := v2 (16M)
2311 IMAGE_SIZE := 15936k
2312 endef
2313 TARGET_DEVICES += qxwlan_e558-v2-16m
2314
2315 define Device/qxwlan_e558-v2-8m
2316 $(Device/qxwlan_e558-v2)
2317 DEVICE_VARIANT := v2 (8M)
2318 IMAGE_SIZE := 7744k
2319 endef
2320 TARGET_DEVICES += qxwlan_e558-v2-8m
2321
2322 define Device/qxwlan_e600g-v2
2323 SOC := qca9531
2324 DEVICE_VENDOR := Qxwlan
2325 DEVICE_MODEL := E600G
2326 DEVICE_PACKAGES := kmod-usb2
2327 SUPPORTED_DEVICES += e600g-v2
2328 endef
2329
2330 define Device/qxwlan_e600g-v2-16m
2331 $(Device/qxwlan_e600g-v2)
2332 DEVICE_VARIANT := v2 (16M)
2333 IMAGE_SIZE := 15936k
2334 endef
2335 TARGET_DEVICES += qxwlan_e600g-v2-16m
2336
2337 define Device/qxwlan_e600g-v2-8m
2338 $(Device/qxwlan_e600g-v2)
2339 DEVICE_VARIANT := v2 (8M)
2340 IMAGE_SIZE := 7744k
2341 endef
2342 TARGET_DEVICES += qxwlan_e600g-v2-8m
2343
2344 define Device/qxwlan_e600gac-v2
2345 SOC := qca9531
2346 DEVICE_VENDOR := Qxwlan
2347 DEVICE_MODEL := E600GAC
2348 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct
2349 SUPPORTED_DEVICES += e600gac-v2
2350 endef
2351
2352 define Device/qxwlan_e600gac-v2-16m
2353 $(Device/qxwlan_e600gac-v2)
2354 DEVICE_VARIANT := v2 (16M)
2355 IMAGE_SIZE := 15936k
2356 endef
2357 TARGET_DEVICES += qxwlan_e600gac-v2-16m
2358
2359 define Device/qxwlan_e600gac-v2-8m
2360 $(Device/qxwlan_e600gac-v2)
2361 DEVICE_VARIANT := v2 (8M)
2362 IMAGE_SIZE := 7744k
2363 endef
2364 TARGET_DEVICES += qxwlan_e600gac-v2-8m
2365
2366 define Device/qxwlan_e750a-v4
2367 SOC := ar9344
2368 DEVICE_VENDOR := Qxwlan
2369 DEVICE_MODEL := E750A
2370 DEVICE_PACKAGES := kmod-usb2
2371 SUPPORTED_DEVICES += e750a-v4
2372 endef
2373
2374 define Device/qxwlan_e750a-v4-16m
2375 $(Device/qxwlan_e750a-v4)
2376 DEVICE_VARIANT := v4 (16M)
2377 IMAGE_SIZE := 15936k
2378 endef
2379 TARGET_DEVICES += qxwlan_e750a-v4-16m
2380
2381 define Device/qxwlan_e750a-v4-8m
2382 $(Device/qxwlan_e750a-v4)
2383 DEVICE_VARIANT := v4 (8M)
2384 IMAGE_SIZE := 7744k
2385 endef
2386 TARGET_DEVICES += qxwlan_e750a-v4-8m
2387
2388 define Device/qxwlan_e750g-v8
2389 SOC := ar9344
2390 DEVICE_VENDOR := Qxwlan
2391 DEVICE_MODEL := E750G
2392 DEVICE_PACKAGES := kmod-usb2
2393 SUPPORTED_DEVICES += e750g-v8
2394 endef
2395
2396 define Device/qxwlan_e750g-v8-16m
2397 $(Device/qxwlan_e750g-v8)
2398 DEVICE_VARIANT := v8 (16M)
2399 IMAGE_SIZE := 15936k
2400 endef
2401 TARGET_DEVICES += qxwlan_e750g-v8-16m
2402
2403 define Device/qxwlan_e750g-v8-8m
2404 $(Device/qxwlan_e750g-v8)
2405 DEVICE_VARIANT := v8 (8M)
2406 IMAGE_SIZE := 7744k
2407 endef
2408 TARGET_DEVICES += qxwlan_e750g-v8-8m
2409
2410 define Device/rosinson_wr818
2411 SOC := qca9563
2412 DEVICE_VENDOR := Rosinson
2413 DEVICE_MODEL := WR818
2414 IMAGE_SIZE := 15872k
2415 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
2416 endef
2417 TARGET_DEVICES += rosinson_wr818
2418
2419 define Device/ruckus_common
2420 DEVICE_VENDOR := Ruckus
2421 LOADER_TYPE := bin
2422 KERNEL := kernel-bin | append-dtb | lzma | loader-kernel | uImage none
2423 KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | loader-kernel | uImage none
2424 endef
2425
2426 define Device/ruckus_zf7025
2427 $(Device/ruckus_common)
2428 SOC := ar7240
2429 DEVICE_MODEL := ZoneFlex 7025
2430 IMAGE_SIZE := 15616k
2431 BLOCKSIZE := 256k
2432 endef
2433 TARGET_DEVICES += ruckus_zf7025
2434
2435 define Device/ruckus_zf73xx_common
2436 $(Device/ruckus_common)
2437 DEVICE_PACKAGES := -swconfig kmod-usb2 kmod-usb-chipidea2
2438 IMAGE_SIZE := 31744k
2439 endef
2440
2441 define Device/ruckus_zf7321
2442 $(Device/ruckus_zf73xx_common)
2443 SOC := ar9342
2444 DEVICE_MODEL := ZoneFlex 7321[-U]
2445 endef
2446 TARGET_DEVICES += ruckus_zf7321
2447
2448 define Device/ruckus_zf7372
2449 $(Device/ruckus_zf73xx_common)
2450 SOC := ar9344
2451 DEVICE_MODEL := ZoneFlex 7352/7372[-E/-U]
2452 endef
2453 TARGET_DEVICES += ruckus_zf7372
2454
2455 define Device/samsung_wam250
2456 SOC := ar9344
2457 DEVICE_VENDOR := Samsung
2458 DEVICE_MODEL := WAM250
2459 IMAGE_SIZE := 15872k
2460 DEVICE_PACKAGES := kmod-usb2
2461 SUPPORTED_DEVICES += wam250
2462 endef
2463 TARGET_DEVICES += samsung_wam250
2464
2465 define Device/siemens_ws-ap3610
2466 SOC := ar7161
2467 DEVICE_VENDOR := Siemens
2468 DEVICE_MODEL := WS-AP3610
2469 IMAGE_SIZE := 14336k
2470 BLOCKSIZE := 256k
2471 LOADER_TYPE := bin
2472 LOADER_FLASH_OFFS := 0x82000
2473 COMPILE := loader-$(1).bin
2474 COMPILE/loader-$(1).bin := loader-okli-compile
2475 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49 | loader-okli $(1) 8128 | uImage none
2476 KERNEL_INITRAMFS := kernel-bin | append-dtb | uImage none
2477 endef
2478 TARGET_DEVICES += siemens_ws-ap3610
2479
2480 define Device/sitecom_wlr-7100
2481 SOC := ar1022
2482 DEVICE_VENDOR := Sitecom
2483 DEVICE_MODEL := WLR-7100
2484 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct-smallbuffers kmod-usb2
2485 IMAGES += factory.dlf
2486 IMAGE/factory.dlf := append-kernel | pad-to $$$$(BLOCKSIZE) | \
2487 append-rootfs | pad-rootfs | check-size | \
2488 senao-header -r 0x222 -p 0x53 -t 2
2489 IMAGE_SIZE := 7488k
2490 endef
2491 TARGET_DEVICES += sitecom_wlr-7100
2492
2493 define Device/sitecom_wlr-8100
2494 SOC := qca9558
2495 DEVICE_VENDOR := Sitecom
2496 DEVICE_MODEL := WLR-8100
2497 DEVICE_ALT0_VENDOR := Sitecom
2498 DEVICE_ALT0_MODEL := X8 AC1750
2499 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct kmod-usb2 kmod-usb3
2500 SUPPORTED_DEVICES += wlr8100
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 0x56 -t 2
2505 IMAGE_SIZE := 15424k
2506 endef
2507 TARGET_DEVICES += sitecom_wlr-8100
2508
2509 define Device/sophos_ap15
2510 SOC := qca9558
2511 DEVICE_VENDOR := Sophos
2512 DEVICE_MODEL := AP15
2513 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
2514 IMAGE_SIZE := 15936k
2515 endef
2516 TARGET_DEVICES += sophos_ap15
2517
2518 define Device/sophos_ap55
2519 SOC := qca9558
2520 DEVICE_VENDOR := Sophos
2521 DEVICE_MODEL := AP55
2522 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct kmod-usb2
2523 IMAGE_SIZE := 15936k
2524 endef
2525 TARGET_DEVICES += sophos_ap55
2526
2527 define Device/sophos_ap55c
2528 SOC := qca9558
2529 DEVICE_VENDOR := Sophos
2530 DEVICE_MODEL := AP55C
2531 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
2532 IMAGE_SIZE := 15936k
2533 endef
2534 TARGET_DEVICES += sophos_ap55c
2535
2536 define Device/sophos_ap100
2537 SOC := qca9558
2538 DEVICE_VENDOR := Sophos
2539 DEVICE_MODEL := AP100
2540 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct kmod-usb2
2541 IMAGE_SIZE := 15936k
2542 endef
2543 TARGET_DEVICES += sophos_ap100
2544
2545 define Device/sophos_ap100c
2546 SOC := qca9558
2547 DEVICE_VENDOR := Sophos
2548 DEVICE_MODEL := AP100C
2549 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
2550 IMAGE_SIZE := 15936k
2551 endef
2552 TARGET_DEVICES += sophos_ap100c
2553
2554 define Device/telco_t1
2555 SOC := qca9531
2556 DEVICE_VENDOR := Telco
2557 DEVICE_MODEL := T1
2558 DEVICE_PACKAGES := kmod-usb2 kmod-usb-net-qmi-wwan \
2559 kmod-usb-serial-option uqmi -swconfig -uboot-envtools
2560 IMAGE_SIZE := 16192k
2561 SUPPORTED_DEVICES += telco_electronics,tel-t1
2562 endef
2563 TARGET_DEVICES += telco_t1
2564
2565 define Device/teltonika_rut230-v1
2566 SOC := ar9331
2567 DEVICE_VENDOR := Teltonika
2568 DEVICE_MODEL := RUT230
2569 DEVICE_VARIANT := v1
2570 DEVICE_PACKAGES := kmod-usb-chipidea2 kmod-usb-acm kmod-usb-net-qmi-wwan \
2571 uqmi -uboot-envtools
2572 IMAGE_SIZE := 15552k
2573 TPLINK_HWID := 0x32200002
2574 TPLINK_HWREV := 0x1
2575 TPLINK_HEADER_VERSION := 1
2576 KERNEL := kernel-bin | append-dtb | lzma | teltonika-v1-header
2577 KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma
2578 IMAGES += factory.bin
2579 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs |\
2580 pad-rootfs | pad-extra 64 | teltonika-fw-fake-checksum 54 | check-size
2581 IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(BLOCKSIZE) |\
2582 append-rootfs | pad-rootfs | append-metadata |\
2583 check-size
2584 endef
2585 TARGET_DEVICES += teltonika_rut230-v1
2586
2587 define Device/teltonika_rut300
2588 SOC := qca9531
2589 DEVICE_VENDOR := Teltonika
2590 DEVICE_MODEL := RUT300
2591 SUPPORTED_TELTONIKA_DEVICES := teltonika,rut30x
2592 DEVICE_PACKAGES := -kmod-ath9k -uboot-envtools -wpad-basic-wolfssl kmod-usb2
2593 IMAGE_SIZE := 15552k
2594 IMAGES += factory.bin
2595 IMAGE/factory.bin = append-kernel | pad-to $$$$(BLOCKSIZE) | \
2596 append-rootfs | pad-rootfs | append-metadata-teltonika | \
2597 check-size $$$$(IMAGE_SIZE)
2598 IMAGE/sysupgrade.bin = append-kernel | pad-to $$$$(BLOCKSIZE) | \
2599 append-rootfs | pad-rootfs | append-metadata | \
2600 check-size $$$$(IMAGE_SIZE)
2601 endef
2602 TARGET_DEVICES += teltonika_rut300
2603
2604 define Device/teltonika_rut955
2605 SOC := ar9344
2606 DEVICE_VENDOR := Teltonika
2607 DEVICE_MODEL := RUT955
2608 DEVICE_PACKAGES := kmod-usb2 kmod-usb-acm kmod-usb-net-qmi-wwan \
2609 kmod-usb-serial-option kmod-hwmon-mcp3021 uqmi -uboot-envtools
2610 IMAGE_SIZE := 15552k
2611 TPLINK_HWID := 0x35000001
2612 TPLINK_HWREV := 0x1
2613 TPLINK_HEADER_VERSION := 1
2614 KERNEL := kernel-bin | append-dtb | lzma | tplink-v1-header
2615 KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma
2616 IMAGES += factory.bin
2617 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs |\
2618 pad-rootfs | teltonika-fw-fake-checksum 20 | append-string master |\
2619 append-md5sum-bin | check-size
2620 IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(BLOCKSIZE) |\
2621 append-rootfs | pad-rootfs | check-size | append-metadata
2622 endef
2623 TARGET_DEVICES += teltonika_rut955
2624
2625 define Device/teltonika_rut955-h7v3c0
2626 $(Device/teltonika_rut955)
2627 DEVICE_VARIANT := H7V3C0
2628 endef
2629 TARGET_DEVICES += teltonika_rut955-h7v3c0
2630
2631 define Device/trendnet_tew-673gru
2632 SOC := ar7161
2633 DEVICE_VENDOR := Trendnet
2634 DEVICE_MODEL := TEW-673GRU
2635 DEVICE_VARIANT := v1.0R
2636 DEVICE_PACKAGES := -uboot-envtools kmod-usb-ohci kmod-usb2 \
2637 kmod-owl-loader kmod-switch-rtl8366s
2638 IMAGE_SIZE := 7808k
2639 FACTORY_SIZE := 6144k
2640 IMAGES += factory.bin
2641 IMAGE/factory.bin = append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
2642 pad-rootfs | check-size $$$$(FACTORY_SIZE) | pad-to $$$$(FACTORY_SIZE) | \
2643 append-string AP94-AR7161-RT-080619-01
2644 endef
2645 TARGET_DEVICES += trendnet_tew-673gru
2646
2647 define Device/trendnet_tew-823dru
2648 SOC := qca9558
2649 DEVICE_VENDOR := Trendnet
2650 DEVICE_MODEL := TEW-823DRU
2651 DEVICE_VARIANT := v1.0R
2652 DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
2653 SUPPORTED_DEVICES += tew-823dru
2654 IMAGE_SIZE := 15296k
2655 IMAGES := factory.bin sysupgrade.bin
2656 IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
2657 pad-rootfs
2658 IMAGE/factory.bin := $$(IMAGE/default) | pad-offset $$$$(IMAGE_SIZE) 26 | \
2659 append-string 00AP135AR9558-RT-131129-00 | check-size
2660 IMAGE/sysupgrade.bin := $$(IMAGE/default) | check-size | append-metadata
2661 endef
2662 TARGET_DEVICES += trendnet_tew-823dru
2663
2664 define Device/wallys_dr531
2665 SOC := qca9531
2666 DEVICE_VENDOR := Wallys
2667 DEVICE_MODEL := DR531
2668 DEVICE_PACKAGES := kmod-usb2 rssileds
2669 IMAGE_SIZE := 7808k
2670 SUPPORTED_DEVICES += dr531
2671 endef
2672 TARGET_DEVICES += wallys_dr531
2673
2674 define Device/watchguard_ap100
2675 $(Device/senao_loader_okli)
2676 SOC := ar9344
2677 DEVICE_VENDOR := WatchGuard
2678 DEVICE_MODEL := AP100
2679 IMAGE_SIZE := 12096k
2680 LOADER_FLASH_OFFS := 0x220000
2681 SENAO_IMGNAME := senao-ap100
2682 WATCHGUARD_MAGIC := 82kdlzk2
2683 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | \
2684 check-size | senao-tar-gz $$$$(SENAO_IMGNAME) | watchguard-cksum $$$$(WATCHGUARD_MAGIC)
2685 endef
2686 TARGET_DEVICES += watchguard_ap100
2687
2688 define Device/watchguard_ap200
2689 $(Device/senao_loader_okli)
2690 SOC := ar9344
2691 DEVICE_VENDOR := WatchGuard
2692 DEVICE_MODEL := AP200
2693 IMAGE_SIZE := 12096k
2694 LOADER_FLASH_OFFS := 0x220000
2695 SENAO_IMGNAME := senao-ap200
2696 WATCHGUARD_MAGIC := 82kdlzk2
2697 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | \
2698 check-size | senao-tar-gz $$$$(SENAO_IMGNAME) | watchguard-cksum $$$$(WATCHGUARD_MAGIC)
2699 endef
2700 TARGET_DEVICES += watchguard_ap200
2701
2702 define Device/watchguard_ap300
2703 $(Device/senao_loader_okli)
2704 SOC := qca9558
2705 DEVICE_VENDOR := WatchGuard
2706 DEVICE_MODEL := AP300
2707 DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
2708 IMAGE_SIZE := 11584k
2709 LOADER_FLASH_OFFS := 0x220000
2710 SENAO_IMGNAME := senao-ap300
2711 WATCHGUARD_MAGIC := 82kdlzk2
2712 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | \
2713 check-size | senao-tar-gz $$$$(SENAO_IMGNAME) | watchguard-cksum $$$$(WATCHGUARD_MAGIC)
2714 endef
2715 TARGET_DEVICES += watchguard_ap300
2716
2717 define Device/wd_mynet-n600
2718 $(Device/seama)
2719 SOC := ar9344
2720 DEVICE_VENDOR := Western Digital
2721 DEVICE_MODEL := My Net N600
2722 IMAGE_SIZE := 15872k
2723 DEVICE_PACKAGES := kmod-usb2
2724 SEAMA_SIGNATURE := wrgnd16_wd_db600
2725 SUPPORTED_DEVICES += mynet-n600
2726 endef
2727 TARGET_DEVICES += wd_mynet-n600
2728
2729 define Device/wd_mynet-n750
2730 $(Device/seama)
2731 SOC := ar9344
2732 DEVICE_VENDOR := Western Digital
2733 DEVICE_MODEL := My Net N750
2734 IMAGE_SIZE := 15872k
2735 DEVICE_PACKAGES := kmod-usb2
2736 SEAMA_SIGNATURE := wrgnd13_wd_av
2737 SUPPORTED_DEVICES += mynet-n750
2738 endef
2739 TARGET_DEVICES += wd_mynet-n750
2740
2741 define Device/wd_mynet-wifi-rangeextender
2742 SOC := ar9344
2743 DEVICE_VENDOR := Western Digital
2744 DEVICE_MODEL := My Net Wi-Fi Range Extender
2745 DEVICE_PACKAGES := rssileds nvram -swconfig
2746 IMAGE_SIZE := 7808k
2747 ADDPATTERN_ID := mynet-rext
2748 ADDPATTERN_VERSION := 1.00.01
2749 IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | cybertan-trx | \
2750 addpattern | append-metadata
2751 SUPPORTED_DEVICES += mynet-rext
2752 endef
2753 TARGET_DEVICES += wd_mynet-wifi-rangeextender
2754
2755 define Device/winchannel_wb2000
2756 SOC := ar9344
2757 DEVICE_VENDOR := Winchannel
2758 DEVICE_MODEL := WB2000
2759 IMAGE_SIZE := 15872k
2760 DEVICE_PACKAGES := kmod-i2c-gpio kmod-rtc-ds1307 kmod-usb2 \
2761 kmod-usb-ledtrig-usbport
2762 endef
2763 TARGET_DEVICES += winchannel_wb2000
2764
2765 define Device/xiaomi_aiot-ac2350
2766 SOC := qca9563
2767 DEVICE_VENDOR := Xiaomi
2768 DEVICE_MODEL := AIoT AC2350
2769 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9984-ct
2770 IMAGE_SIZE := 14336k
2771 endef
2772 TARGET_DEVICES += xiaomi_aiot-ac2350
2773
2774 define Device/xiaomi_mi-router-4q
2775 SOC := qca9561
2776 DEVICE_VENDOR := Xiaomi
2777 DEVICE_MODEL := Mi Router 4Q
2778 IMAGE_SIZE := 14336k
2779 endef
2780 TARGET_DEVICES += xiaomi_mi-router-4q
2781
2782 define Device/yuncore_a770
2783 SOC := qca9531
2784 DEVICE_VENDOR := YunCore
2785 DEVICE_MODEL := A770
2786 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct
2787 IMAGE_SIZE := 16000k
2788 IMAGES += tftp.bin
2789 IMAGE/tftp.bin := $$(IMAGE/sysupgrade.bin) | yuncore-tftp-header-16m
2790 endef
2791 TARGET_DEVICES += yuncore_a770
2792
2793 define Device/yuncore_a782
2794 SOC := qca9563
2795 DEVICE_VENDOR := YunCore
2796 DEVICE_MODEL := A782
2797 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
2798 IMAGE_SIZE := 16000k
2799 IMAGES += tftp.bin
2800 IMAGE/tftp.bin := $$(IMAGE/sysupgrade.bin) | yuncore-tftp-header-16m
2801 endef
2802 TARGET_DEVICES += yuncore_a782
2803
2804 define Device/yuncore_a930
2805 SOC := qca9533
2806 DEVICE_VENDOR := YunCore
2807 DEVICE_MODEL := A930
2808 IMAGE_SIZE := 16000k
2809 IMAGES += tftp.bin
2810 IMAGE/tftp.bin := $$(IMAGE/sysupgrade.bin) | yuncore-tftp-header-16m
2811 endef
2812 TARGET_DEVICES += yuncore_a930
2813
2814 define Device/yuncore_xd3200
2815 SOC := qca9563
2816 DEVICE_VENDOR := YunCore
2817 DEVICE_MODEL := XD3200
2818 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
2819 IMAGE_SIZE := 16000k
2820 IMAGES += tftp.bin
2821 IMAGE/tftp.bin := $$(IMAGE/sysupgrade.bin) | yuncore-tftp-header-16m
2822 endef
2823 TARGET_DEVICES += yuncore_xd3200
2824
2825 define Device/yuncore_xd4200
2826 SOC := qca9563
2827 DEVICE_VENDOR := YunCore
2828 DEVICE_MODEL := XD4200
2829 DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
2830 IMAGE_SIZE := 16000k
2831 IMAGES += tftp.bin
2832 IMAGE/tftp.bin := $$(IMAGE/sysupgrade.bin) | yuncore-tftp-header-16m
2833 endef
2834 TARGET_DEVICES += yuncore_xd4200
2835
2836 define Device/ziking_cpe46b
2837 SOC := ar9330
2838 DEVICE_VENDOR := ZiKing
2839 DEVICE_MODEL := CPE46B
2840 IMAGE_SIZE := 8000k
2841 DEVICE_PACKAGES := kmod-i2c-gpio
2842 endef
2843 TARGET_DEVICES += ziking_cpe46b
2844
2845 define Device/zbtlink_zbt-wd323
2846 SOC := ar9344
2847 DEVICE_VENDOR := ZBT
2848 DEVICE_MODEL := WD323
2849 IMAGE_SIZE := 16000k
2850 DEVICE_PACKAGES := kmod-usb2 kmod-i2c-gpio kmod-rtc-pcf8563 \
2851 kmod-usb-serial-cp210x uqmi
2852 endef
2853 TARGET_DEVICES += zbtlink_zbt-wd323
2854
2855 define Device/zyxel_nwa11xx
2856 $(Device/loader-okli-uimage)
2857 SOC := ar9342
2858 DEVICE_VENDOR := ZyXEL
2859 LOADER_FLASH_OFFS := 0x050000
2860 KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49
2861 IMAGE_SIZE := 8192k
2862 IMAGES += factory-$$$$(ZYXEL_MODEL_STRING).bin
2863 IMAGE/factory-$$$$(ZYXEL_MODEL_STRING).bin := \
2864 append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
2865 pad-rootfs | pad-to 8192k | check-size | zyxel-tar-bz2 \
2866 vmlinux_mi124_f1e mi124_f1e-jffs2 | append-md5sum-bin
2867 endef
2868
2869 define Device/zyxel_nwa1100-nh
2870 $(Device/zyxel_nwa11xx)
2871 DEVICE_MODEL := NWA1100
2872 DEVICE_VARIANT := NH
2873 ZYXEL_MODEL_STRING := AASI
2874 endef
2875 TARGET_DEVICES += zyxel_nwa1100-nh
2876
2877 define Device/zyxel_nwa1121-ni
2878 $(Device/zyxel_nwa11xx)
2879 DEVICE_MODEL := NWA1121
2880 DEVICE_VARIANT := NI
2881 ZYXEL_MODEL_STRING := AABJ
2882 endef
2883 TARGET_DEVICES += zyxel_nwa1121-ni
2884
2885 define Device/zyxel_nwa1123-ac
2886 $(Device/zyxel_nwa11xx)
2887 DEVICE_MODEL := NWA1123
2888 DEVICE_VARIANT := AC
2889 ZYXEL_MODEL_STRING := AAOX
2890 DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers \
2891 ath10k-firmware-qca988x-ct
2892 endef
2893 TARGET_DEVICES += zyxel_nwa1123-ac
2894
2895 define Device/zyxel_nwa1123-ni
2896 $(Device/zyxel_nwa11xx)
2897 DEVICE_MODEL := NWA1123
2898 DEVICE_VARIANT := NI
2899 ZYXEL_MODEL_STRING := AAEO
2900 endef
2901 TARGET_DEVICES += zyxel_nwa1123-ni
2902
2903 define Device/zyxel_nbg6616
2904 SOC := qca9557
2905 DEVICE_VENDOR := ZyXEL
2906 DEVICE_MODEL := NBG6616
2907 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-rtc-pcf8563 \
2908 kmod-ath10k-ct ath10k-firmware-qca988x-ct
2909 IMAGE_SIZE := 15232k
2910 RAS_BOARD := NBG6616
2911 RAS_ROOTFS_SIZE := 14464k
2912 RAS_VERSION := "OpenWrt Linux-$(LINUX_VERSION)"
2913 IMAGES += factory.bin
2914 IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
2915 append-rootfs | pad-rootfs | pad-to 64k | check-size | zyxel-ras-image
2916 SUPPORTED_DEVICES += nbg6616
2917 endef
2918 TARGET_DEVICES += zyxel_nbg6616