generic.mk 53 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897
  1. include ./common-buffalo.mk
  2. include ./common-netgear.mk
  3. include ./common-tp-link.mk
  4. include ./common-yuncore.mk
  5. DEVICE_VARS += ADDPATTERN_ID ADDPATTERN_VERSION
  6. DEVICE_VARS += SEAMA_SIGNATURE SEAMA_MTDBLOCK
  7. DEVICE_VARS += KERNEL_INITRAMFS_PREFIX
  8. DEVICE_VARS += DAP_SIGNATURE ENGENIUS_IMGNAME
  9. define Build/add-elecom-factory-initramfs
  10. $(eval edimax_model=$(word 1,$(1)))
  11. $(eval product=$(word 2,$(1)))
  12. $(STAGING_DIR_HOST)/bin/mkedimaximg \
  13. -b -s CSYS -m $(edimax_model) \
  14. -f 0x70000 -S 0x01100000 \
  15. -i $@ -o [email protected]
  16. ( \
  17. echo -n -e "ELECOM\x00\x00$(product)" | dd bs=40 count=1 conv=sync; \
  18. echo -n "0.00" | dd bs=16 count=1 conv=sync; \
  19. dd [email protected]; \
  20. ) > [email protected]
  21. if [ "$$(stat -c%s [email protected])" -le $$(($(subst k,* 1024,$(subst m, * 1024k,$(IMAGE_SIZE))))) ]; then \
  22. mv [email protected] $(BIN_DIR)/$(KERNEL_INITRAMFS_PREFIX)-factory.bin; \
  23. else \
  24. echo "WARNING: initramfs kernel image too big, cannot generate factory image" >&2; \
  25. fi
  26. endef
  27. define Build/addpattern
  28. -$(STAGING_DIR_HOST)/bin/addpattern -B $(ADDPATTERN_ID) \
  29. -v v$(ADDPATTERN_VERSION) -i $@ -o [email protected]
  30. -mv "[email protected]" "$@"
  31. endef
  32. define Build/append-md5sum-bin
  33. $(STAGING_DIR_HOST)/bin/mkhash md5 $@ | sed 's/../\\\\x&/g' |\
  34. xargs echo -ne >> $@
  35. endef
  36. define Build/cybertan-trx
  37. @echo -n '' > [email protected]
  38. -$(STAGING_DIR_HOST)/bin/trx -o [email protected] \
  39. -f $(IMAGE_KERNEL) -F [email protected] \
  40. -x 32 -a 0x10000 -x -32 -f $@
  41. -mv "[email protected]" "$@"
  42. -rm [email protected]
  43. endef
  44. define Build/edimax-headers
  45. $(eval edimax_magic=$(word 1,$(1)))
  46. $(eval edimax_model=$(word 2,$(1)))
  47. $(STAGING_DIR_HOST)/bin/edimax_fw_header -M $(edimax_magic) -m $(edimax_model)\
  48. -v $(VERSION_DIST)$(firstword $(subst +, , $(firstword $(subst -, ,$(REVISION))))) \
  49. -n "uImage" \
  50. -i $(KDIR)/loader-$(DEVICE_NAME).uImage \
  51. -o [email protected]
  52. $(STAGING_DIR_HOST)/bin/edimax_fw_header -M $(edimax_magic) -m $(edimax_model)\
  53. -v $(VERSION_DIST)$(firstword $(subst +, , $(firstword $(subst -, ,$(REVISION))))) \
  54. -n "rootfs" \
  55. -i $@ \
  56. -o [email protected]
  57. cat [email protected] [email protected] > $@
  58. rm -rf [email protected] [email protected]
  59. endef
  60. # This needs to make /tmp/_sys/sysupgrade.tgz an empty file prior to
  61. # sysupgrade, as otherwise it will implant the old configuration from
  62. # OEM firmware when writing rootfs from factory.bin
  63. define Build/engenius-tar-gz
  64. -[ -f "$@" ] && \
  65. mkdir -p [email protected] && \
  66. echo '#!/bin/sh' > [email protected]/before-upgrade.sh && \
  67. echo ': > /tmp/_sys/sysupgrade.tgz' >> [email protected]/before-upgrade.sh && \
  68. $(CP) $(KDIR)/loader-$(DEVICE_NAME).uImage \
  69. [email protected]/openwrt-$(word 1,$(1))-uImage-lzma.bin && \
  70. $(CP) $@ [email protected]/openwrt-$(word 1,$(1))-root.squashfs && \
  71. $(TAR) -cp --numeric-owner --owner=0 --group=0 --mode=a-s --sort=name \
  72. $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \
  73. -C [email protected] . | gzip -9n > $@ && \
  74. rm -rf [email protected]
  75. endef
  76. define Build/mkdapimg2
  77. $(STAGING_DIR_HOST)/bin/mkdapimg2 \
  78. -i $@ -o [email protected] \
  79. -s $(DAP_SIGNATURE) \
  80. -v $(VERSION_DIST)-$(firstword $(subst +, , \
  81. $(firstword $(subst -, ,$(REVISION))))) \
  82. -r Default \
  83. $(if $(1),-k $(1))
  84. mv [email protected] $@
  85. endef
  86. define Build/mkmylofw_16m
  87. $(eval device_id=$(word 1,$(1)))
  88. $(eval revision=$(word 2,$(1)))
  89. # On WPJ344, WPJ531, and WPJ563, the default boot command tries 0x9f680000
  90. # first and fails if the remains of the stock image are sill there
  91. # - resulting in an infinite boot loop.
  92. # The size parameter is grown to have that block deleted if the firmware
  93. # isn't big enough by itself.
  94. let \
  95. size="$$(stat -c%s $@)" \
  96. pad="$(subst k,* 1024,$(BLOCKSIZE))" \
  97. pad="(pad - (size % pad)) % pad" \
  98. newsize='size + pad' ; \
  99. [ $$newsize -lt $$((0x660000)) ] && newsize=0x660000 ; \
  100. $(STAGING_DIR_HOST)/bin/mkmylofw \
  101. -B WPE72 -i 0x11f6:$(device_id):0x11f6:$(device_id) -r $(revision) \
  102. -s 0x1000000 -p0x30000:$$newsize:al:0x80060000:"OpenWRT":$@ \
  103. [email protected]
  104. @mv [email protected] $@
  105. endef
  106. define Build/mkwrggimg
  107. $(STAGING_DIR_HOST)/bin/mkwrggimg -b \
  108. -i $@ -o [email protected] -d /dev/mtdblock/1 \
  109. -m $(DEVICE_MODEL)-$(DEVICE_VARIANT) -s $(DAP_SIGNATURE) \
  110. -v $(VERSION_DIST) -B $(REVISION)
  111. mv [email protected] $@
  112. endef
  113. define Build/nec-enc
  114. $(STAGING_DIR_HOST)/bin/nec-enc \
  115. -i $@ -o [email protected] -k $(1)
  116. mv [email protected] $@
  117. endef
  118. define Build/nec-fw
  119. ( stat -c%s $@ | tr -d "\n" | dd bs=16 count=1 conv=sync; ) >> $@
  120. ( \
  121. echo -n -e "$(1)" | dd bs=16 count=1 conv=sync; \
  122. echo -n "0.0.00" | dd bs=16 count=1 conv=sync; \
  123. dd if=$@; \
  124. ) > [email protected]
  125. mv [email protected] $@
  126. endef
  127. define Build/pisen_wmb001n-factory
  128. -[ -f "$@" ] && \
  129. mkdir -p "[email protected]" && \
  130. cp "$(KDIR)/loader-$(word 1,$(1)).uImage" "[email protected]/uImage" && \
  131. mv "$@" "[email protected]/rootfs" && \
  132. cp "bin/pisen_wmb001n_factory-header.bin" "$@" && \
  133. $(TAR) -cp --numeric-owner --owner=0 --group=0 --mode=a-s --sort=name \
  134. $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \
  135. -C "[email protected]" . | gzip -9n >> "$@" && \
  136. rm -rf "[email protected]"
  137. endef
  138. define Build/teltonika-fw-fake-checksum
  139. # Teltonika U-Boot web based firmware upgrade/recovery routine compares
  140. # 16 bytes from md5sum1[16] field in TP-Link v1 header (offset: 76 bytes
  141. # from begin of the firmware file) with 16 bytes stored just before
  142. # 0xdeadc0de marker. Values are only compared, MD5 sum is not verified.
  143. let \
  144. offs="$$(stat -c%s $@) - 20"; \
  145. dd if=$@ bs=1 count=16 skip=76 |\
  146. dd of=$@ bs=1 count=16 seek=$$offs conv=notrunc
  147. endef
  148. define Build/wrgg-pad-rootfs
  149. $(STAGING_DIR_HOST)/bin/padjffs2 $(IMAGE_ROOTFS) -c 64 >>$@
  150. endef
  151. define Device/seama
  152. KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma
  153. KERNEL_INITRAMFS := $$(KERNEL) | seama
  154. IMAGES += factory.bin
  155. SEAMA_MTDBLOCK := 1
  156. # 64 bytes offset:
  157. # - 28 bytes seama_header
  158. # - 36 bytes of META data (4-bytes aligned)
  159. IMAGE/default := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs
  160. IMAGE/sysupgrade.bin := $$(IMAGE/default) | seama | pad-rootfs | \
  161. append-metadata | check-size
  162. IMAGE/factory.bin := $$(IMAGE/default) | pad-rootfs -x 64 | seama | \
  163. seama-seal | check-size
  164. SEAMA_SIGNATURE :=
  165. endef
  166. define Device/8dev_carambola2
  167. SOC := ar9331
  168. DEVICE_VENDOR := 8devices
  169. DEVICE_MODEL := Carambola2
  170. DEVICE_PACKAGES := kmod-usb-chipidea2
  171. IMAGE_SIZE := 16000k
  172. SUPPORTED_DEVICES += carambola2
  173. endef
  174. TARGET_DEVICES += 8dev_carambola2
  175. define Device/8dev_lima
  176. SOC := qca9531
  177. DEVICE_VENDOR := 8devices
  178. DEVICE_MODEL := Lima
  179. DEVICE_PACKAGES := kmod-usb2
  180. IMAGE_SIZE := 15616k
  181. SUPPORTED_DEVICES += lima
  182. endef
  183. TARGET_DEVICES += 8dev_lima
  184. define Device/adtran_bsap1880
  185. SOC := ar7161
  186. DEVICE_VENDOR := Adtran/Bluesocket
  187. DEVICE_PACKAGES += -swconfig -uboot-envtools fconfig
  188. KERNEL := kernel-bin | append-dtb | lzma | pad-to $$(BLOCKSIZE)
  189. KERNEL_INITRAMFS := kernel-bin | append-dtb
  190. IMAGE_SIZE := 11200k
  191. IMAGES += kernel.bin rootfs.bin
  192. IMAGE/kernel.bin := append-kernel
  193. IMAGE/rootfs.bin := append-rootfs | pad-rootfs
  194. IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | \
  195. check-size | sysupgrade-tar rootfs=$$$$@ | append-metadata
  196. endef
  197. define Device/adtran_bsap1800-v2
  198. $(Device/adtran_bsap1880)
  199. DEVICE_MODEL := BSAP-1800
  200. DEVICE_VARIANT := v2
  201. endef
  202. TARGET_DEVICES += adtran_bsap1800-v2
  203. define Device/adtran_bsap1840
  204. $(Device/adtran_bsap1880)
  205. DEVICE_MODEL := BSAP-1840
  206. endef
  207. TARGET_DEVICES += adtran_bsap1840
  208. define Device/alfa-network_ap121f
  209. SOC := ar9331
  210. DEVICE_VENDOR := ALFA Network
  211. DEVICE_MODEL := AP121F
  212. DEVICE_PACKAGES := kmod-usb-chipidea2 kmod-usb-storage -swconfig
  213. IMAGE_SIZE := 16064k
  214. SUPPORTED_DEVICES += ap121f
  215. endef
  216. TARGET_DEVICES += alfa-network_ap121f
  217. define Device/alfa-network_ap121fe
  218. SOC := ar9331
  219. DEVICE_VENDOR := ALFA Network
  220. DEVICE_MODEL := AP121FE
  221. DEVICE_PACKAGES := kmod-usb-chipidea2 kmod-usb-gadget-eth -swconfig
  222. IMAGE_SIZE := 16064k
  223. endef
  224. TARGET_DEVICES += alfa-network_ap121fe
  225. define Device/alfa-network_n2q
  226. SOC := qca9531
  227. DEVICE_VENDOR := ALFA Network
  228. DEVICE_MODEL := N2Q
  229. DEVICE_PACKAGES := kmod-i2c-gpio kmod-gpio-pcf857x kmod-usb2 \
  230. kmod-usb-ledtrig-usbport rssileds
  231. IMAGE_SIZE := 15872k
  232. endef
  233. TARGET_DEVICES += alfa-network_n2q
  234. define Device/alfa-network_n5q
  235. SOC := ar9344
  236. DEVICE_VENDOR := ALFA Network
  237. DEVICE_MODEL := N5Q
  238. DEVICE_PACKAGES := rssileds
  239. IMAGE_SIZE := 15872k
  240. SUPPORTED_DEVICES += n5q
  241. endef
  242. TARGET_DEVICES += alfa-network_n5q
  243. define Device/alfa-network_pi-wifi4
  244. SOC := qca9531
  245. DEVICE_VENDOR := ALFA Network
  246. DEVICE_MODEL := Pi-WiFi4
  247. DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport -swconfig
  248. IMAGE_SIZE := 15872k
  249. endef
  250. TARGET_DEVICES += alfa-network_pi-wifi4
  251. define Device/alfa-network_r36a
  252. SOC := qca9531
  253. DEVICE_VENDOR := ALFA Network
  254. DEVICE_MODEL := R36A
  255. DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
  256. IMAGE_SIZE := 15872k
  257. SUPPORTED_DEVICES += r36a
  258. endef
  259. TARGET_DEVICES += alfa-network_r36a
  260. define Device/allnet_all-wap02860ac
  261. SOC := qca9558
  262. DEVICE_VENDOR := ALLNET
  263. DEVICE_MODEL := ALL-WAP02860AC
  264. DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
  265. IMAGE_SIZE := 13120k
  266. endef
  267. TARGET_DEVICES += allnet_all-wap02860ac
  268. define Device/arduino_yun
  269. SOC := ar9331
  270. DEVICE_VENDOR := Arduino
  271. DEVICE_MODEL := Yun
  272. DEVICE_PACKAGES := kmod-usb-chipidea2 kmod-usb-ledtrig-usbport \
  273. kmod-usb-storage block-mount -swconfig
  274. IMAGE_SIZE := 15936k
  275. SUPPORTED_DEVICES += arduino-yun
  276. endef
  277. TARGET_DEVICES += arduino_yun
  278. define Device/aruba_ap-105
  279. SOC := ar7161
  280. DEVICE_VENDOR := Aruba
  281. DEVICE_MODEL := AP-105
  282. IMAGE_SIZE := 16000k
  283. DEVICE_PACKAGES := kmod-i2c-gpio kmod-tpm-i2c-atmel
  284. endef
  285. TARGET_DEVICES += aruba_ap-105
  286. define Device/avm
  287. DEVICE_VENDOR := AVM
  288. KERNEL := kernel-bin | append-dtb | lzma | eva-image
  289. KERNEL_INITRAMFS := $$(KERNEL)
  290. IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | \
  291. append-squashfs-fakeroot-be | pad-to 256 | append-rootfs | pad-rootfs | \
  292. append-metadata | check-size
  293. DEVICE_PACKAGES := fritz-tffs
  294. endef
  295. define Device/avm_fritz1750e
  296. $(Device/avm)
  297. SOC := qca9556
  298. IMAGE_SIZE := 15232k
  299. DEVICE_MODEL := FRITZ!WLAN Repeater 1750E
  300. DEVICE_PACKAGES += rssileds kmod-ath10k-ct-smallbuffers \
  301. ath10k-firmware-qca988x-ct -swconfig
  302. endef
  303. TARGET_DEVICES += avm_fritz1750e
  304. define Device/avm_fritz300e
  305. $(Device/avm)
  306. SOC := ar7242
  307. IMAGE_SIZE := 15232k
  308. DEVICE_MODEL := FRITZ!WLAN Repeater 300E
  309. DEVICE_PACKAGES += rssileds -swconfig
  310. SUPPORTED_DEVICES += fritz300e
  311. endef
  312. TARGET_DEVICES += avm_fritz300e
  313. define Device/avm_fritz4020
  314. $(Device/avm)
  315. SOC := qca9561
  316. IMAGE_SIZE := 15232k
  317. DEVICE_MODEL := FRITZ!Box 4020
  318. SUPPORTED_DEVICES += fritz4020
  319. endef
  320. TARGET_DEVICES += avm_fritz4020
  321. define Device/avm_fritz450e
  322. $(Device/avm)
  323. SOC := qca9556
  324. IMAGE_SIZE := 15232k
  325. DEVICE_MODEL := FRITZ!WLAN Repeater 450E
  326. SUPPORTED_DEVICES += fritz450e
  327. endef
  328. TARGET_DEVICES += avm_fritz450e
  329. define Device/avm_fritzdvbc
  330. $(Device/avm)
  331. SOC := qca9556
  332. IMAGE_SIZE := 15232k
  333. DEVICE_MODEL := FRITZ!WLAN Repeater DVB-C
  334. DEVICE_PACKAGES += rssileds kmod-ath10k-ct-smallbuffers \
  335. ath10k-firmware-qca988x-ct -swconfig
  336. endef
  337. TARGET_DEVICES += avm_fritzdvbc
  338. define Device/belkin_f9j1108-v2
  339. SOC := qca9558
  340. DEVICE_VENDOR := Belkin
  341. DEVICE_MODEL := F9J1108 v2 (AC1750 DB Wi-Fi)
  342. IMAGE_SIZE := 14464k
  343. DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct kmod-usb2 \
  344. kmod-usb3 kmod-usb-ledtrig-usbport
  345. LOADER_TYPE := bin
  346. LOADER_FLASH_OFFS := 0x50000
  347. COMPILE := loader-$(1).bin loader-$(1).uImage
  348. COMPILE/loader-$(1).bin := loader-okli-compile
  349. COMPILE/loader-$(1).uImage := append-loader-okli $(1) | pad-to 64k | \
  350. lzma | uImage lzma
  351. KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49
  352. IMAGES += factory.bin
  353. IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
  354. append-rootfs | pad-rootfs | check-size | \
  355. edimax-headers F9J1108v1 BR-6679BAC | pad-to $$$$(BLOCKSIZE)
  356. endef
  357. TARGET_DEVICES += belkin_f9j1108-v2
  358. define Device/buffalo_bhr-4grv
  359. $(Device/buffalo_common)
  360. SOC := ar7242
  361. DEVICE_MODEL := BHR-4GRV
  362. BUFFALO_PRODUCT := BHR-4GRV
  363. DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
  364. IMAGE_SIZE := 32256k
  365. SUPPORTED_DEVICES += wzr-hp-g450h
  366. endef
  367. TARGET_DEVICES += buffalo_bhr-4grv
  368. define Device/buffalo_bhr-4grv2
  369. SOC := qca9557
  370. DEVICE_VENDOR := Buffalo
  371. DEVICE_MODEL := BHR-4GRV2
  372. IMAGE_SIZE := 16000k
  373. endef
  374. TARGET_DEVICES += buffalo_bhr-4grv2
  375. define Device/buffalo_wzr_ar7161
  376. $(Device/buffalo_common)
  377. SOC := ar7161
  378. BUFFALO_PRODUCT := WZR-HP-AG300H
  379. DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport \
  380. kmod-leds-reset kmod-owl-loader
  381. IMAGE_SIZE := 32320k
  382. SUPPORTED_DEVICES += wzr-hp-ag300h
  383. endef
  384. define Device/buffalo_wzr-600dhp
  385. $(Device/buffalo_wzr_ar7161)
  386. DEVICE_MODEL := WZR-600DHP
  387. endef
  388. TARGET_DEVICES += buffalo_wzr-600dhp
  389. define Device/buffalo_wzr-hp-ag300h
  390. $(Device/buffalo_wzr_ar7161)
  391. DEVICE_MODEL := WZR-HP-AG300H
  392. endef
  393. TARGET_DEVICES += buffalo_wzr-hp-ag300h
  394. define Device/buffalo_wzr-hp-g302h-a1a0
  395. $(Device/buffalo_common)
  396. SOC := ar7242
  397. DEVICE_MODEL := WZR-HP-G302H
  398. DEVICE_VARIANT := A1A0
  399. BUFFALO_PRODUCT := WZR-HP-G302H
  400. BUFFALO_HWVER := 4
  401. DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
  402. IMAGE_SIZE := 32128k
  403. SUPPORTED_DEVICES += wzr-hp-g300nh2
  404. endef
  405. TARGET_DEVICES += buffalo_wzr-hp-g302h-a1a0
  406. define Device/buffalo_wzr-hp-g450h
  407. $(Device/buffalo_common)
  408. SOC := ar7242
  409. DEVICE_MODEL := WZR-HP-G450H/WZR-450HP
  410. BUFFALO_PRODUCT := WZR-HP-G450H
  411. DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
  412. IMAGE_SIZE := 32256k
  413. SUPPORTED_DEVICES += wzr-hp-g450h
  414. endef
  415. TARGET_DEVICES += buffalo_wzr-hp-g450h
  416. define Device/comfast_cf-e110n-v2
  417. SOC := qca9533
  418. DEVICE_VENDOR := COMFAST
  419. DEVICE_MODEL := CF-E110N
  420. DEVICE_VARIANT := v2
  421. DEVICE_PACKAGES := rssileds -swconfig -uboot-envtools
  422. IMAGE_SIZE := 16192k
  423. endef
  424. TARGET_DEVICES += comfast_cf-e110n-v2
  425. define Device/comfast_cf-e120a-v3
  426. SOC := ar9344
  427. DEVICE_VENDOR := COMFAST
  428. DEVICE_MODEL := CF-E120A
  429. DEVICE_VARIANT := v3
  430. DEVICE_PACKAGES := rssileds -uboot-envtools
  431. IMAGE_SIZE := 8000k
  432. endef
  433. TARGET_DEVICES += comfast_cf-e120a-v3
  434. define Device/comfast_cf-e130n-v2
  435. SOC := qca9531
  436. DEVICE_VENDOR := COMFAST
  437. DEVICE_MODEL := CF-E130N
  438. DEVICE_VARIANT := v2
  439. DEVICE_PACKAGES := rssileds -swconfig -uboot-envtools
  440. IMAGE_SIZE := 7936k
  441. endef
  442. TARGET_DEVICES += comfast_cf-e130n-v2
  443. define Device/comfast_cf-e313ac
  444. SOC := qca9531
  445. DEVICE_VENDOR := COMFAST
  446. DEVICE_MODEL := CF-E313AC
  447. DEVICE_PACKAGES := rssileds kmod-ath10k-ct-smallbuffers \
  448. ath10k-firmware-qca9888-ct -swconfig -uboot-envtools
  449. IMAGE_SIZE := 7936k
  450. endef
  451. TARGET_DEVICES += comfast_cf-e313ac
  452. define Device/comfast_cf-e314n-v2
  453. SOC := qca9531
  454. DEVICE_VENDOR := COMFAST
  455. DEVICE_MODEL := CF-E314N
  456. DEVICE_VARIANT := v2
  457. DEVICE_PACKAGES := rssileds
  458. IMAGE_SIZE := 7936k
  459. endef
  460. TARGET_DEVICES += comfast_cf-e314n-v2
  461. define Device/comfast_cf-e5
  462. SOC := qca9531
  463. DEVICE_VENDOR := COMFAST
  464. DEVICE_MODEL := CF-E5/E7
  465. DEVICE_PACKAGES := rssileds kmod-usb2 kmod-usb-net-qmi-wwan -swconfig \
  466. -uboot-envtools
  467. IMAGE_SIZE := 16192k
  468. endef
  469. TARGET_DEVICES += comfast_cf-e5
  470. define Device/comfast_cf-e560ac
  471. SOC := qca9531
  472. DEVICE_VENDOR := COMFAST
  473. DEVICE_MODEL := CF-E560AC
  474. DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9888-ct
  475. IMAGE_SIZE := 16128k
  476. endef
  477. TARGET_DEVICES += comfast_cf-e560ac
  478. define Device/comfast_cf-ew72
  479. SOC := qca9531
  480. DEVICE_VENDOR := COMFAST
  481. DEVICE_MODEL := CF-EW72
  482. DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9888-ct \
  483. -uboot-envtools -swconfig
  484. IMAGE_SIZE := 16192k
  485. endef
  486. TARGET_DEVICES += comfast_cf-ew72
  487. define Device/comfast_cf-wr650ac-v1
  488. SOC := qca9558
  489. DEVICE_VENDOR := COMFAST
  490. DEVICE_MODEL := CF-WR650AC
  491. DEVICE_VARIANT := v1
  492. DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
  493. IMAGE_SIZE := 16128k
  494. endef
  495. TARGET_DEVICES += comfast_cf-wr650ac-v1
  496. define Device/comfast_cf-wr650ac-v2
  497. SOC := qca9558
  498. DEVICE_VENDOR := COMFAST
  499. DEVICE_MODEL := CF-WR650AC
  500. DEVICE_VARIANT := v2
  501. DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
  502. IMAGE_SIZE := 16000k
  503. endef
  504. TARGET_DEVICES += comfast_cf-wr650ac-v2
  505. define Device/comfast_cf-wr752ac-v1
  506. SOC := qca9531
  507. DEVICE_VENDOR := COMFAST
  508. DEVICE_MODEL := CF-WR752AC
  509. DEVICE_VARIANT := v1
  510. DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9888-ct \
  511. -uboot-envtools
  512. IMAGE_SIZE := 16192k
  513. endef
  514. TARGET_DEVICES += comfast_cf-wr752ac-v1
  515. define Device/compex_wpj344-16m
  516. SOC := ar9344
  517. DEVICE_PACKAGES := kmod-usb2
  518. IMAGE_SIZE := 16128k
  519. DEVICE_VENDOR := Compex
  520. DEVICE_MODEL := WPJ344
  521. DEVICE_VARIANT := 16M
  522. SUPPORTED_DEVICES += wpj344
  523. IMAGES += cpximg-6a08.bin
  524. IMAGE/cpximg-6a08.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | mkmylofw_16m 0x690 3
  525. endef
  526. TARGET_DEVICES += compex_wpj344-16m
  527. define Device/compex_wpj531-16m
  528. SOC := qca9531
  529. DEVICE_PACKAGES := kmod-usb2
  530. IMAGE_SIZE := 16128k
  531. DEVICE_VENDOR := Compex
  532. DEVICE_MODEL := WPJ531
  533. DEVICE_VARIANT := 16M
  534. SUPPORTED_DEVICES += wpj531
  535. IMAGES += cpximg-7a03.bin cpximg-7a04.bin cpximg-7a06.bin cpximg-7a07.bin
  536. IMAGE/cpximg-7a03.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | mkmylofw_16m 0x68a 2
  537. IMAGE/cpximg-7a04.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | mkmylofw_16m 0x693 3
  538. IMAGE/cpximg-7a06.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | mkmylofw_16m 0x693 3
  539. IMAGE/cpximg-7a07.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | mkmylofw_16m 0x693 3
  540. endef
  541. TARGET_DEVICES += compex_wpj531-16m
  542. define Device/compex_wpj563
  543. SOC := qca9563
  544. DEVICE_PACKAGES := kmod-usb2 kmod-usb3
  545. IMAGE_SIZE := 16128k
  546. DEVICE_VENDOR := Compex
  547. DEVICE_MODEL := WPJ563
  548. SUPPORTED_DEVICES += wpj563
  549. IMAGES += cpximg-7a02.bin
  550. IMAGE/cpximg-7a02.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | mkmylofw_16m 0x694 2
  551. endef
  552. TARGET_DEVICES += compex_wpj563
  553. define Device/devolo_dvl1200e
  554. SOC := qca9558
  555. DEVICE_VENDOR := devolo
  556. DEVICE_MODEL := WiFi pro 1200e
  557. DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
  558. IMAGE_SIZE := 15936k
  559. endef
  560. TARGET_DEVICES += devolo_dvl1200e
  561. define Device/devolo_dvl1200i
  562. SOC := qca9558
  563. DEVICE_VENDOR := devolo
  564. DEVICE_MODEL := WiFi pro 1200i
  565. DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
  566. IMAGE_SIZE := 15936k
  567. endef
  568. TARGET_DEVICES += devolo_dvl1200i
  569. define Device/devolo_dvl1750c
  570. SOC := qca9558
  571. DEVICE_VENDOR := devolo
  572. DEVICE_MODEL := WiFi pro 1750c
  573. DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
  574. IMAGE_SIZE := 15936k
  575. endef
  576. TARGET_DEVICES += devolo_dvl1750c
  577. define Device/devolo_dvl1750e
  578. SOC := qca9558
  579. DEVICE_VENDOR := devolo
  580. DEVICE_MODEL := WiFi pro 1750e
  581. DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
  582. IMAGE_SIZE := 15936k
  583. endef
  584. TARGET_DEVICES += devolo_dvl1750e
  585. define Device/devolo_dvl1750i
  586. SOC := qca9558
  587. DEVICE_VENDOR := devolo
  588. DEVICE_MODEL := WiFi pro 1750i
  589. DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
  590. IMAGE_SIZE := 15936k
  591. endef
  592. TARGET_DEVICES += devolo_dvl1750i
  593. define Device/devolo_dvl1750x
  594. SOC := qca9558
  595. DEVICE_VENDOR := devolo
  596. DEVICE_MODEL := WiFi pro 1750x
  597. DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
  598. IMAGE_SIZE := 15936k
  599. endef
  600. TARGET_DEVICES += devolo_dvl1750x
  601. define Device/devolo_magic-2-wifi
  602. SOC := ar9344
  603. DEVICE_VENDOR := Devolo
  604. DEVICE_MODEL := Magic 2 WiFi
  605. DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
  606. IMAGE_SIZE := 15872k
  607. endef
  608. TARGET_DEVICES += devolo_magic-2-wifi
  609. define Device/dlink_dap-13xx
  610. SOC := qca9533
  611. DEVICE_VENDOR := D-Link
  612. DEVICE_PACKAGES += rssileds
  613. IMAGE_SIZE := 7936k
  614. IMAGES += factory.bin
  615. IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
  616. append-rootfs | pad-rootfs | check-size | mkdapimg2 0xE0000
  617. endef
  618. define Device/dlink_dap-1330-a1
  619. $(Device/dlink_dap-13xx)
  620. DEVICE_MODEL := DAP-1330
  621. DEVICE_VARIANT := A1
  622. DAP_SIGNATURE := HONEYBEE-FIRMWARE-DAP-1330
  623. SUPPORTED_DEVICES += dap-1330-a1
  624. endef
  625. TARGET_DEVICES += dlink_dap-1330-a1
  626. define Device/dlink_dap-1365-a1
  627. $(Device/dlink_dap-13xx)
  628. DEVICE_MODEL := DAP-1365
  629. DEVICE_VARIANT := A1
  630. DAP_SIGNATURE := HONEYBEE-FIRMWARE-DAP-1365
  631. endef
  632. TARGET_DEVICES += dlink_dap-1365-a1
  633. define Device/dlink_dap-2695-a1
  634. SOC := qca9558
  635. DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct
  636. DEVICE_VENDOR := D-Link
  637. DEVICE_MODEL := DAP-2965
  638. DEVICE_VARIANT := A1
  639. IMAGES := factory.img sysupgrade.bin
  640. IMAGE_SIZE := 15360k
  641. IMAGE/default := append-kernel | pad-offset 65536 160
  642. IMAGE/factory.img := $$(IMAGE/default) | append-rootfs | wrgg-pad-rootfs | \
  643. mkwrggimg | check-size
  644. IMAGE/sysupgrade.bin := $$(IMAGE/default) | mkwrggimg | append-rootfs | \
  645. wrgg-pad-rootfs | append-metadata | check-size
  646. KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma
  647. KERNEL_INITRAMFS := $$(KERNEL) | mkwrggimg
  648. DAP_SIGNATURE := wapac02_dkbs_dap2695
  649. SUPPORTED_DEVICES += dap-2695-a1
  650. endef
  651. TARGET_DEVICES += dlink_dap-2695-a1
  652. define Device/dlink_dch-g020-a1
  653. SOC := qca9531
  654. DEVICE_VENDOR := D-Link
  655. DEVICE_MODEL := DCH-G020
  656. DEVICE_VARIANT := A1
  657. DEVICE_PACKAGES := kmod-gpio-pca953x kmod-i2c-gpio kmod-usb2 kmod-usb-acm
  658. IMAGES += factory.bin
  659. IMAGE_SIZE := 14784k
  660. IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
  661. append-rootfs | pad-rootfs | check-size | mkdapimg2 0x20000
  662. DAP_SIGNATURE := HONEYBEE-FIRMWARE-DCH-G020
  663. endef
  664. TARGET_DEVICES += dlink_dch-g020-a1
  665. define Device/dlink_dir-505
  666. SOC := ar9330
  667. DEVICE_VENDOR := D-Link
  668. DEVICE_MODEL := DIR-505
  669. IMAGE_SIZE := 7680k
  670. DEVICE_PACKAGES := kmod-usb2
  671. SUPPORTED_DEVICES += dir-505-a1
  672. endef
  673. TARGET_DEVICES += dlink_dir-505
  674. define Device/dlink_dir-825-b1
  675. SOC := ar7161
  676. DEVICE_VENDOR := D-Link
  677. DEVICE_MODEL := DIR-825
  678. DEVICE_VARIANT := B1
  679. IMAGE_SIZE := 6208k
  680. IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \
  681. append-metadata | check-size
  682. DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport \
  683. kmod-leds-reset kmod-owl-loader
  684. SUPPORTED_DEVICES += dir-825-b1
  685. endef
  686. TARGET_DEVICES += dlink_dir-825-b1
  687. define Device/dlink_dir-825-c1
  688. SOC := ar9344
  689. DEVICE_VENDOR := D-Link
  690. DEVICE_MODEL := DIR-825
  691. DEVICE_VARIANT := C1
  692. DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-leds-reset \
  693. kmod-owl-loader
  694. SUPPORTED_DEVICES += dir-825-c1
  695. IMAGE_SIZE := 15936k
  696. IMAGES := factory.bin sysupgrade.bin
  697. IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
  698. pad-rootfs
  699. IMAGE/factory.bin := $$(IMAGE/default) | pad-offset $$$$(IMAGE_SIZE) 26 | \
  700. append-string 00DB120AR9344-RT-101214-00 | check-size
  701. IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | \
  702. check-size
  703. endef
  704. TARGET_DEVICES += dlink_dir-825-c1
  705. define Device/dlink_dir-835-a1
  706. SOC := ar9344
  707. DEVICE_VENDOR := D-Link
  708. DEVICE_MODEL := DIR-835
  709. DEVICE_VARIANT := A1
  710. DEVICE_PACKAGES := kmod-usb2 kmod-leds-reset kmod-owl-loader
  711. SUPPORTED_DEVICES += dir-835-a1
  712. IMAGE_SIZE := 15936k
  713. IMAGES := factory.bin sysupgrade.bin
  714. IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
  715. pad-rootfs
  716. IMAGE/factory.bin := $$(IMAGE/default) | pad-offset $$$$(IMAGE_SIZE) 26 | \
  717. append-string 00DB120AR9344-RT-101214-00 | check-size
  718. IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | \
  719. check-size
  720. endef
  721. TARGET_DEVICES += dlink_dir-835-a1
  722. define Device/dlink_dir-842-c
  723. SOC := qca9563
  724. DEVICE_VENDOR := D-Link
  725. DEVICE_MODEL := DIR-842
  726. KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma
  727. KERNEL_INITRAMFS := $$(KERNEL) | seama
  728. IMAGES += factory.bin
  729. SEAMA_MTDBLOCK := 5
  730. SEAMA_SIGNATURE := wrgac65_dlink.2015_dir842
  731. # 64 bytes offset:
  732. # - 28 bytes seama_header
  733. # - 36 bytes of META data (4-bytes aligned)
  734. IMAGE/default := append-kernel | uImage lzma | \
  735. pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs
  736. IMAGE/sysupgrade.bin := $$(IMAGE/default) | seama | pad-rootfs | \
  737. append-metadata | check-size
  738. IMAGE/factory.bin := $$(IMAGE/default) | pad-rootfs -x 64 | seama | \
  739. seama-seal | check-size
  740. IMAGE_SIZE := 15680k
  741. endef
  742. define Device/dlink_dir-842-c1
  743. $(Device/dlink_dir-842-c)
  744. DEVICE_VARIANT := C1
  745. DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
  746. endef
  747. TARGET_DEVICES += dlink_dir-842-c1
  748. define Device/dlink_dir-842-c2
  749. $(Device/dlink_dir-842-c)
  750. DEVICE_VARIANT := C2
  751. DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9888-ct
  752. endef
  753. TARGET_DEVICES += dlink_dir-842-c2
  754. define Device/dlink_dir-842-c3
  755. $(Device/dlink_dir-842-c)
  756. DEVICE_VARIANT := C3
  757. DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
  758. endef
  759. TARGET_DEVICES += dlink_dir-842-c3
  760. define Device/dlink_dir-859-a1
  761. $(Device/seama)
  762. SOC := qca9563
  763. DEVICE_VENDOR := D-Link
  764. DEVICE_MODEL := DIR-859
  765. DEVICE_VARIANT := A1
  766. IMAGE_SIZE := 15872k
  767. DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct-smallbuffers ath10k-firmware-qca988x-ct
  768. SEAMA_SIGNATURE := wrgac37_dlink.2013gui_dir859
  769. endef
  770. TARGET_DEVICES += dlink_dir-859-a1
  771. define Device/elecom_wrc-1750ghbk2-i
  772. SOC := qca9563
  773. DEVICE_VENDOR := ELECOM
  774. DEVICE_MODEL := WRC-1750GHBK2-I/C
  775. IMAGE_SIZE := 15808k
  776. KERNEL_INITRAMFS := $$(KERNEL) | pad-to 2 | \
  777. add-elecom-factory-initramfs RN68 WRC-1750GHBK2
  778. DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
  779. endef
  780. TARGET_DEVICES += elecom_wrc-1750ghbk2-i
  781. define Device/elecom_wrc-300ghbk2-i
  782. SOC := qca9563
  783. DEVICE_VENDOR := ELECOM
  784. DEVICE_MODEL := WRC-300GHBK2-I
  785. IMAGE_SIZE := 7616k
  786. KERNEL_INITRAMFS := $$(KERNEL) | pad-to 2 | \
  787. add-elecom-factory-initramfs RN51 WRC-300GHBK2-I
  788. endef
  789. TARGET_DEVICES += elecom_wrc-300ghbk2-i
  790. define Device/embeddedwireless_dorin
  791. SOC := ar9331
  792. DEVICE_VENDOR := Embedded Wireless
  793. DEVICE_MODEL := Dorin
  794. DEVICE_PACKAGES := kmod-usb-chipidea2
  795. IMAGE_SIZE := 16000k
  796. endef
  797. TARGET_DEVICES += embeddedwireless_dorin
  798. define Device/engenius_loader_okli
  799. DEVICE_VENDOR := EnGenius
  800. KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49
  801. LOADER_TYPE := bin
  802. COMPILE := loader-$(1).bin loader-$(1).uImage
  803. COMPILE/loader-$(1).bin := loader-okli-compile
  804. COMPILE/loader-$(1).uImage := append-loader-okli $(1) | pad-to 64k | lzma | \
  805. uImage lzma
  806. IMAGES += factory.bin
  807. IMAGE/factory.bin := append-squashfs-fakeroot-be | pad-to $$$$(BLOCKSIZE) | \
  808. append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | \
  809. check-size | engenius-tar-gz $$$$(ENGENIUS_IMGNAME)
  810. endef
  811. define Device/engenius_eap300-v2
  812. $(Device/engenius_loader_okli)
  813. SOC := ar9341
  814. DEVICE_MODEL := EAP300
  815. DEVICE_VARIANT := v2
  816. IMAGE_SIZE := 12032k
  817. LOADER_FLASH_OFFS := 0x230000
  818. ENGENIUS_IMGNAME := senao-eap300v2
  819. endef
  820. TARGET_DEVICES += engenius_eap300-v2
  821. define Device/engenius_ecb1750
  822. SOC := qca9558
  823. DEVICE_VENDOR := EnGenius
  824. DEVICE_MODEL := ECB1750
  825. DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
  826. IMAGE_SIZE := 15680k
  827. IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
  828. append-rootfs | pad-rootfs | check-size | \
  829. senao-header -r 0x101 -p 0x6d -t 2
  830. IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \
  831. append-metadata | check-size
  832. endef
  833. TARGET_DEVICES += engenius_ecb1750
  834. define Device/engenius_enh202-v1
  835. $(Device/engenius_loader_okli)
  836. SOC := ar7240
  837. DEVICE_MODEL := ENH202
  838. DEVICE_VARIANT := v1
  839. DEVICE_PACKAGES := rssileds
  840. IMAGE_SIZE := 4864k
  841. LOADER_FLASH_OFFS := 0x1b0000
  842. ENGENIUS_IMGNAME := senao-enh202
  843. endef
  844. TARGET_DEVICES += engenius_enh202-v1
  845. define Device/engenius_ens202ext-v1
  846. $(Device/engenius_loader_okli)
  847. SOC := ar9341
  848. DEVICE_MODEL := ENS202EXT
  849. DEVICE_VARIANT := v1
  850. DEVICE_PACKAGES := rssileds
  851. IMAGE_SIZE := 12032k
  852. LOADER_FLASH_OFFS := 0x230000
  853. ENGENIUS_IMGNAME := senao-ens202ext
  854. endef
  855. TARGET_DEVICES += engenius_ens202ext-v1
  856. define Device/engenius_epg5000
  857. SOC := qca9558
  858. DEVICE_VENDOR := EnGenius
  859. DEVICE_MODEL := EPG5000
  860. DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct kmod-usb2
  861. IMAGE_SIZE := 14656k
  862. IMAGES += factory.dlf
  863. IMAGE/factory.dlf := append-kernel | pad-to $$$$(BLOCKSIZE) | \
  864. append-rootfs | pad-rootfs | check-size | \
  865. senao-header -r 0x101 -p 0x71 -t 2
  866. SUPPORTED_DEVICES += epg5000
  867. endef
  868. TARGET_DEVICES += engenius_epg5000
  869. define Device/engenius_ews511ap
  870. SOC := qca9531
  871. DEVICE_VENDOR := EnGenius
  872. DEVICE_MODEL := EWS511AP
  873. DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct
  874. IMAGE_SIZE := 16000k
  875. endef
  876. TARGET_DEVICES += engenius_ews511ap
  877. define Device/enterasys_ws-ap3705i
  878. SOC := ar9344
  879. DEVICE_VENDOR := Enterasys
  880. DEVICE_MODEL := WS-AP3705i
  881. IMAGE_SIZE := 30528k
  882. endef
  883. TARGET_DEVICES += enterasys_ws-ap3705i
  884. define Device/etactica_eg200
  885. SOC := ar9331
  886. DEVICE_VENDOR := eTactica
  887. DEVICE_MODEL := EG200
  888. DEVICE_PACKAGES := kmod-usb-chipidea2 kmod-ledtrig-oneshot \
  889. kmod-usb-serial kmod-usb-serial-ftdi kmod-usb-storage kmod-fs-ext4
  890. IMAGE_SIZE := 16000k
  891. SUPPORTED_DEVICES += rme-eg200
  892. endef
  893. TARGET_DEVICES += etactica_eg200
  894. define Device/glinet_6408
  895. $(Device/tplink-8mlzma)
  896. SOC := ar9331
  897. DEVICE_VENDOR := GL.iNet
  898. DEVICE_MODEL := 6408
  899. DEVICE_PACKAGES := kmod-usb2
  900. IMAGE_SIZE := 8000k
  901. TPLINK_HWID := 0x08000001
  902. IMAGES := sysupgrade.bin
  903. SUPPORTED_DEVICES += gl-inet
  904. endef
  905. TARGET_DEVICES += glinet_6408
  906. define Device/glinet_6416
  907. $(Device/tplink-16mlzma)
  908. SOC := ar9331
  909. DEVICE_VENDOR := GL.iNet
  910. DEVICE_MODEL := 6416
  911. DEVICE_PACKAGES := kmod-usb2
  912. IMAGE_SIZE := 16192k
  913. TPLINK_HWID := 0x08000001
  914. IMAGES := sysupgrade.bin
  915. SUPPORTED_DEVICES += gl-inet
  916. endef
  917. TARGET_DEVICES += glinet_6416
  918. define Device/glinet_gl-ar150
  919. SOC := ar9330
  920. DEVICE_VENDOR := GL.iNet
  921. DEVICE_MODEL := GL-AR150
  922. DEVICE_PACKAGES := kmod-usb-chipidea2
  923. IMAGE_SIZE := 16000k
  924. SUPPORTED_DEVICES += gl-ar150
  925. endef
  926. TARGET_DEVICES += glinet_gl-ar150
  927. define Device/glinet_gl-ar300m-common-nor
  928. SOC := qca9531
  929. DEVICE_VENDOR := GL.iNet
  930. DEVICE_PACKAGES := kmod-usb2
  931. IMAGE_SIZE := 16000k
  932. SUPPORTED_DEVICES += gl-ar300m
  933. endef
  934. define Device/glinet_gl-ar300m-lite
  935. $(Device/glinet_gl-ar300m-common-nor)
  936. DEVICE_MODEL := GL-AR300M
  937. DEVICE_VARIANT := Lite
  938. endef
  939. TARGET_DEVICES += glinet_gl-ar300m-lite
  940. define Device/glinet_gl-ar300m16
  941. $(Device/glinet_gl-ar300m-common-nor)
  942. DEVICE_MODEL := GL-AR300M16
  943. endef
  944. TARGET_DEVICES += glinet_gl-ar300m16
  945. define Device/glinet_gl-ar750
  946. SOC := qca9531
  947. DEVICE_VENDOR := GL.iNet
  948. DEVICE_MODEL := GL-AR750
  949. DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9887-ct
  950. IMAGE_SIZE := 16000k
  951. SUPPORTED_DEVICES += gl-ar750
  952. endef
  953. TARGET_DEVICES += glinet_gl-ar750
  954. define Device/glinet_gl-mifi
  955. SOC := ar9331
  956. DEVICE_VENDOR := GL.iNET
  957. DEVICE_MODEL := GL-MiFi
  958. DEVICE_PACKAGES := kmod-usb-chipidea2
  959. IMAGE_SIZE := 16000k
  960. SUPPORTED_DEVICES += gl-mifi
  961. endef
  962. TARGET_DEVICES += glinet_gl-mifi
  963. define Device/glinet_gl-x750
  964. SOC := qca9531
  965. DEVICE_VENDOR := GL.iNet
  966. DEVICE_MODEL := GL-X750
  967. DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca9887-ct
  968. IMAGE_SIZE := 16000k
  969. endef
  970. TARGET_DEVICES += glinet_gl-x750
  971. define Device/hak5_lan-turtle
  972. $(Device/tplink-16mlzma)
  973. SOC := ar9331
  974. DEVICE_VENDOR := Hak5
  975. DEVICE_MODEL := LAN Turtle
  976. TPLINK_HWID := 0x5348334c
  977. IMAGES := sysupgrade.bin
  978. DEVICE_PACKAGES := kmod-usb-chipidea2 -iwinfo -kmod-ath9k -swconfig \
  979. -uboot-envtools -wpad-basic-wolfssl
  980. SUPPORTED_DEVICES += lan-turtle
  981. endef
  982. TARGET_DEVICES += hak5_lan-turtle
  983. define Device/hak5_packet-squirrel
  984. $(Device/tplink-16mlzma)
  985. SOC := ar9331
  986. DEVICE_VENDOR := Hak5
  987. DEVICE_MODEL := Packet Squirrel
  988. TPLINK_HWID := 0x5351524c
  989. IMAGES := sysupgrade.bin
  990. DEVICE_PACKAGES := kmod-usb-chipidea2 -iwinfo -kmod-ath9k -swconfig \
  991. -uboot-envtools -wpad-basic-wolfssl
  992. SUPPORTED_DEVICES += packet-squirrel
  993. endef
  994. TARGET_DEVICES += hak5_packet-squirrel
  995. define Device/hak5_wifi-pineapple-nano
  996. $(Device/tplink-16mlzma)
  997. SOC := ar9331
  998. DEVICE_VENDOR := Hak5
  999. DEVICE_MODEL := WiFi Pineapple NANO
  1000. TPLINK_HWID := 0x4e414e4f
  1001. IMAGES := sysupgrade.bin
  1002. DEVICE_PACKAGES := kmod-ath9k-htc kmod-usb-chipidea2 kmod-usb-storage \
  1003. -swconfig -uboot-envtools
  1004. SUPPORTED_DEVICES += wifi-pineapple-nano
  1005. endef
  1006. TARGET_DEVICES += hak5_wifi-pineapple-nano
  1007. define Device/iodata_etg3-r
  1008. SOC := ar9342
  1009. DEVICE_VENDOR := I-O DATA
  1010. DEVICE_MODEL := ETG3-R
  1011. IMAGE_SIZE := 7680k
  1012. DEVICE_PACKAGES := -iwinfo -kmod-ath9k -wpad-basic-wolfssl
  1013. endef
  1014. TARGET_DEVICES += iodata_etg3-r
  1015. define Device/iodata_wn-ac1167dgr
  1016. SOC := qca9557
  1017. DEVICE_VENDOR := I-O DATA
  1018. DEVICE_MODEL := WN-AC1167DGR
  1019. IMAGE_SIZE := 14656k
  1020. IMAGES += factory.bin
  1021. IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
  1022. append-rootfs | pad-rootfs | check-size | \
  1023. senao-header -r 0x30a -p 0x61 -t 2
  1024. DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
  1025. endef
  1026. TARGET_DEVICES += iodata_wn-ac1167dgr
  1027. define Device/iodata_wn-ac1600dgr
  1028. SOC := qca9557
  1029. DEVICE_VENDOR := I-O DATA
  1030. DEVICE_MODEL := WN-AC1600DGR
  1031. IMAGE_SIZE := 14656k
  1032. IMAGES += factory.bin
  1033. IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
  1034. append-rootfs | pad-rootfs | check-size | \
  1035. senao-header -r 0x30a -p 0x60 -t 2 -v 200
  1036. DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
  1037. endef
  1038. TARGET_DEVICES += iodata_wn-ac1600dgr
  1039. define Device/iodata_wn-ac1600dgr2
  1040. SOC := qca9557
  1041. DEVICE_VENDOR := I-O DATA
  1042. DEVICE_MODEL := WN-AC1600DGR2/DGR3
  1043. IMAGE_SIZE := 14656k
  1044. IMAGES += dgr2-dgr3-factory.bin
  1045. IMAGE/dgr2-dgr3-factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
  1046. append-rootfs | pad-rootfs | check-size | \
  1047. senao-header -r 0x30a -p 0x60 -t 2 -v 200
  1048. DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
  1049. endef
  1050. TARGET_DEVICES += iodata_wn-ac1600dgr2
  1051. define Device/iodata_wn-ag300dgr
  1052. SOC := ar1022
  1053. DEVICE_VENDOR := I-O DATA
  1054. DEVICE_MODEL := WN-AG300DGR
  1055. IMAGE_SIZE := 15424k
  1056. IMAGES += factory.bin
  1057. IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
  1058. append-rootfs | pad-rootfs | check-size | \
  1059. senao-header -r 0x30a -p 0x47 -t 2
  1060. DEVICE_PACKAGES := kmod-usb2
  1061. endef
  1062. TARGET_DEVICES += iodata_wn-ag300dgr
  1063. define Device/jjplus_ja76pf2
  1064. SOC := ar7161
  1065. DEVICE_VENDOR := jjPlus
  1066. DEVICE_MODEL := JA76PF2
  1067. DEVICE_PACKAGES += -kmod-ath9k -swconfig -wpad-basic-wolfssl -uboot-envtools fconfig
  1068. IMAGES += kernel.bin rootfs.bin
  1069. IMAGE/kernel.bin := append-kernel
  1070. IMAGE/rootfs.bin := append-rootfs | pad-rootfs
  1071. IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | combined-image | \
  1072. append-metadata | check-size
  1073. KERNEL := kernel-bin | append-dtb | lzma | pad-to $$(BLOCKSIZE)
  1074. KERNEL_INITRAMFS := kernel-bin | append-dtb
  1075. IMAGE_SIZE := 16000k
  1076. SUPPORTED_DEVICES += ja76pf2
  1077. endef
  1078. TARGET_DEVICES += jjplus_ja76pf2
  1079. define Device/librerouter_librerouter-v1
  1080. SOC := qca9558
  1081. DEVICE_VENDOR := Librerouter
  1082. DEVICE_MODEL := LibreRouter
  1083. DEVICE_VARIANT := v1
  1084. IMAGE_SIZE := 7936k
  1085. DEVICE_PACKAGES := kmod-usb2
  1086. endef
  1087. TARGET_DEVICES += librerouter_librerouter-v1
  1088. define Device/meraki_mr16
  1089. SOC := ar7161
  1090. DEVICE_VENDOR := Meraki
  1091. DEVICE_MODEL := MR16
  1092. IMAGE_SIZE := 15616k
  1093. DEVICE_PACKAGES := kmod-owl-loader
  1094. SUPPORTED_DEVICES += mr16
  1095. DEVICE_COMPAT_VERSION := 2.0
  1096. DEVICE_COMPAT_MESSAGE := Partitions differ from ar71xx version of MR16. Image format is incompatible. \
  1097. To use sysupgrade, you must change /lib/update/common.sh::get_image to prepend 128K zeroes to this image, \
  1098. and change the bootcmd in u-boot to "bootm 0xbf0a0000". After that, you can use "sysupgrade -F". \
  1099. For more details, see the OpenWrt Wiki: https://openwrt.org/toh/meraki/mr16, \
  1100. or the commit message of the MR16 ath79 port on git.openwrt.org.
  1101. endef
  1102. TARGET_DEVICES += meraki_mr16
  1103. define Device/mercury_mw4530r-v1
  1104. $(Device/tplink-8mlzma)
  1105. SOC := ar9344
  1106. DEVICE_VENDOR := Mercury
  1107. DEVICE_MODEL := MW4530R
  1108. DEVICE_VARIANT := v1
  1109. DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
  1110. TPLINK_HWID := 0x45300001
  1111. SUPPORTED_DEVICES += tl-wdr4300
  1112. endef
  1113. TARGET_DEVICES += mercury_mw4530r-v1
  1114. define Device/nec_wg1200cr
  1115. SOC := qca9563
  1116. DEVICE_VENDOR := NEC
  1117. DEVICE_MODEL := Aterm WG1200CR
  1118. IMAGE_SIZE := 7616k
  1119. SEAMA_MTDBLOCK := 6
  1120. SEAMA_SIGNATURE := wrgac72_necpf.2016gui_wg1200cr
  1121. IMAGES += factory.bin
  1122. IMAGE/default := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs
  1123. IMAGE/sysupgrade.bin := $$(IMAGE/default) | seama | pad-rootfs | \
  1124. append-metadata | check-size
  1125. IMAGE/factory.bin := $$(IMAGE/default) | pad-rootfs -x 64 | seama | \
  1126. seama-seal | nec-enc 9gsiy9nzep452pad | check-size
  1127. DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
  1128. endef
  1129. TARGET_DEVICES += nec_wg1200cr
  1130. define Device/nec_wg800hp
  1131. SOC := qca9563
  1132. DEVICE_VENDOR := NEC
  1133. DEVICE_MODEL := Aterm WG800HP
  1134. IMAGE_SIZE := 7104k
  1135. IMAGES += factory.bin
  1136. IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
  1137. append-rootfs | pad-rootfs | check-size | \
  1138. xor-image -p 6A57190601121E4C004C1E1201061957 -x | nec-fw LASER_ATERM
  1139. DEVICE_PACKAGES := kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9887-ct-full-htt
  1140. endef
  1141. TARGET_DEVICES += nec_wg800hp
  1142. define Device/netgear_ex6400_ex7300
  1143. $(Device/netgear_generic)
  1144. SOC := qca9558
  1145. UIMAGE_MAGIC := 0x27051956
  1146. NETGEAR_BOARD_ID := EX7300series
  1147. NETGEAR_HW_ID := 29765104+16+0+128
  1148. IMAGE_SIZE := 15552k
  1149. IMAGE/default := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | \
  1150. netgear-rootfs | pad-rootfs
  1151. IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | \
  1152. check-size
  1153. IMAGE/factory.img := $$(IMAGE/default) | netgear-dni | \
  1154. check-size
  1155. DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca99x0-ct
  1156. endef
  1157. define Device/netgear_ex6400
  1158. $(Device/netgear_ex6400_ex7300)
  1159. DEVICE_MODEL := EX6400
  1160. endef
  1161. TARGET_DEVICES += netgear_ex6400
  1162. define Device/netgear_ex7300
  1163. $(Device/netgear_ex6400_ex7300)
  1164. DEVICE_MODEL := EX7300
  1165. endef
  1166. TARGET_DEVICES += netgear_ex7300
  1167. define Device/netgear_wndr3x00
  1168. $(Device/netgear_generic)
  1169. SOC := ar7161
  1170. DEVICE_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport \
  1171. kmod-leds-reset kmod-owl-loader
  1172. endef
  1173. define Device/netgear_wndr3700
  1174. $(Device/netgear_wndr3x00)
  1175. DEVICE_MODEL := WNDR3700
  1176. DEVICE_VARIANT := v1
  1177. UIMAGE_MAGIC := 0x33373030
  1178. NETGEAR_BOARD_ID := WNDR3700
  1179. IMAGE_SIZE := 7680k
  1180. IMAGES += factory-NA.img
  1181. IMAGE/factory-NA.img := $$(IMAGE/default) | netgear-dni NA | \
  1182. check-size
  1183. SUPPORTED_DEVICES += wndr3700
  1184. endef
  1185. TARGET_DEVICES += netgear_wndr3700
  1186. define Device/netgear_wndr3700-v2
  1187. $(Device/netgear_wndr3x00)
  1188. DEVICE_MODEL := WNDR3700
  1189. DEVICE_VARIANT := v2
  1190. UIMAGE_MAGIC := 0x33373031
  1191. NETGEAR_BOARD_ID := WNDR3700v2
  1192. NETGEAR_HW_ID := 29763654+16+64
  1193. IMAGE_SIZE := 15872k
  1194. SUPPORTED_DEVICES += wndr3700 netgear,wndr3700v2
  1195. endef
  1196. TARGET_DEVICES += netgear_wndr3700-v2
  1197. define Device/netgear_wndr3800
  1198. $(Device/netgear_wndr3x00)
  1199. DEVICE_MODEL := WNDR3800
  1200. UIMAGE_MAGIC := 0x33373031
  1201. NETGEAR_BOARD_ID := WNDR3800
  1202. NETGEAR_HW_ID := 29763654+16+128
  1203. IMAGE_SIZE := 15872k
  1204. SUPPORTED_DEVICES += wndr3700
  1205. endef
  1206. TARGET_DEVICES += netgear_wndr3800
  1207. define Device/netgear_wndr3800ch
  1208. $(Device/netgear_wndr3x00)
  1209. DEVICE_MODEL := WNDR3800CH
  1210. UIMAGE_MAGIC := 0x33373031
  1211. NETGEAR_BOARD_ID := WNDR3800CH
  1212. NETGEAR_HW_ID := 29763654+16+128
  1213. IMAGE_SIZE := 15872k
  1214. SUPPORTED_DEVICES += wndr3700
  1215. endef
  1216. TARGET_DEVICES += netgear_wndr3800ch
  1217. define Device/netgear_wndrmac-v1
  1218. $(Device/netgear_wndr3x00)
  1219. DEVICE_MODEL := WNDRMAC
  1220. DEVICE_VARIANT := v1
  1221. UIMAGE_MAGIC := 0x33373031
  1222. NETGEAR_BOARD_ID := WNDRMAC
  1223. NETGEAR_HW_ID := 29763654+16+64
  1224. IMAGE_SIZE := 15872k
  1225. SUPPORTED_DEVICES += wndr3700
  1226. endef
  1227. TARGET_DEVICES += netgear_wndrmac-v1
  1228. define Device/netgear_wndrmac-v2
  1229. $(Device/netgear_wndr3x00)
  1230. DEVICE_MODEL := WNDRMAC
  1231. DEVICE_VARIANT := v2
  1232. UIMAGE_MAGIC := 0x33373031
  1233. NETGEAR_BOARD_ID := WNDRMACv2
  1234. NETGEAR_HW_ID := 29763654+16+128
  1235. IMAGE_SIZE := 15872k
  1236. SUPPORTED_DEVICES += wndr3700
  1237. endef
  1238. TARGET_DEVICES += netgear_wndrmac-v2
  1239. define Device/netgear_wnr2200_common
  1240. $(Device/netgear_generic)
  1241. SOC := ar7241
  1242. DEVICE_MODEL := WNR2200
  1243. DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
  1244. UIMAGE_MAGIC := 0x32323030
  1245. NETGEAR_BOARD_ID := wnr2200
  1246. endef
  1247. define Device/netgear_wnr2200-8m
  1248. $(Device/netgear_wnr2200_common)
  1249. DEVICE_VARIANT := 8M
  1250. NETGEAR_HW_ID := 29763600+08+64
  1251. IMAGE_SIZE := 7808k
  1252. IMAGES += factory-NA.img
  1253. IMAGE/factory-NA.img := $$(IMAGE/default) | netgear-dni NA | \
  1254. check-size
  1255. SUPPORTED_DEVICES += wnr2200
  1256. endef
  1257. TARGET_DEVICES += netgear_wnr2200-8m
  1258. define Device/netgear_wnr2200-16m
  1259. $(Device/netgear_wnr2200_common)
  1260. DEVICE_VARIANT := 16M
  1261. DEVICE_ALT0_VENDOR := NETGEAR
  1262. DEVICE_ALT0_MODEL := WNR2200
  1263. DEVICE_ALT0_VARIANT := CN/RU
  1264. NETGEAR_HW_ID :=
  1265. IMAGE_SIZE := 16000k
  1266. endef
  1267. TARGET_DEVICES += netgear_wnr2200-16m
  1268. define Device/ocedo_koala
  1269. SOC := qca9558
  1270. DEVICE_VENDOR := Ocedo
  1271. DEVICE_MODEL := Koala
  1272. DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
  1273. SUPPORTED_DEVICES += koala
  1274. IMAGE_SIZE := 7424k
  1275. endef
  1276. TARGET_DEVICES += ocedo_koala
  1277. define Device/ocedo_raccoon
  1278. SOC := ar9344
  1279. DEVICE_VENDOR := Ocedo
  1280. DEVICE_MODEL := Raccoon
  1281. IMAGE_SIZE := 7424k
  1282. endef
  1283. TARGET_DEVICES += ocedo_raccoon
  1284. define Device/ocedo_ursus
  1285. SOC := qca9558
  1286. DEVICE_VENDOR := Ocedo
  1287. DEVICE_MODEL := Ursus
  1288. DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
  1289. IMAGE_SIZE := 7424k
  1290. endef
  1291. TARGET_DEVICES += ocedo_ursus
  1292. define Device/openmesh_om5p-ac-v2
  1293. SOC := qca9558
  1294. DEVICE_VENDOR := OpenMesh
  1295. DEVICE_MODEL := OM5P-AC
  1296. DEVICE_VARIANT := v2
  1297. DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct om-watchdog
  1298. IMAGE_SIZE := 7808k
  1299. SUPPORTED_DEVICES += om5p-acv2
  1300. endef
  1301. TARGET_DEVICES += openmesh_om5p-ac-v2
  1302. define Device/pcs_cap324
  1303. SOC := ar9344
  1304. DEVICE_VENDOR := PowerCloud Systems
  1305. DEVICE_MODEL := CAP324
  1306. IMAGE_SIZE := 16000k
  1307. SUPPORTED_DEVICES += cap324
  1308. endef
  1309. TARGET_DEVICES += pcs_cap324
  1310. define Device/pcs_cr3000
  1311. SOC := ar9341
  1312. DEVICE_VENDOR := PowerCloud Systems
  1313. DEVICE_MODEL := CR3000
  1314. IMAGE_SIZE := 7808k
  1315. SUPPORTED_DEVICES += cr3000
  1316. endef
  1317. TARGET_DEVICES += pcs_cr3000
  1318. define Device/pcs_cr5000
  1319. SOC := ar9344
  1320. DEVICE_VENDOR := PowerCloud Systems
  1321. DEVICE_MODEL := CR5000
  1322. DEVICE_PACKAGES := kmod-usb2
  1323. IMAGE_SIZE := 7808k
  1324. SUPPORTED_DEVICES += cr5000
  1325. endef
  1326. TARGET_DEVICES += pcs_cr5000
  1327. define Device/phicomm_k2t
  1328. SOC := qca9563
  1329. DEVICE_VENDOR := Phicomm
  1330. DEVICE_MODEL := K2T
  1331. IMAGE_SIZE := 15744k
  1332. IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | \
  1333. append-metadata | check-size
  1334. DEVICE_PACKAGES := kmod-leds-reset kmod-ath10k-ct-smallbuffers ath10k-firmware-qca9888-ct
  1335. endef
  1336. TARGET_DEVICES += phicomm_k2t
  1337. define Device/pisen_ts-d084
  1338. $(Device/tplink-8mlzma)
  1339. SOC := ar9331
  1340. DEVICE_VENDOR := PISEN
  1341. DEVICE_MODEL := TS-D084
  1342. DEVICE_PACKAGES := kmod-usb-chipidea2
  1343. TPLINK_HWID := 0x07030101
  1344. endef
  1345. TARGET_DEVICES += pisen_ts-d084
  1346. define Device/pisen_wmb001n
  1347. SOC := ar9341
  1348. DEVICE_VENDOR := PISEN
  1349. DEVICE_MODEL := WMB001N
  1350. IMAGE_SIZE := 14080k
  1351. DEVICE_PACKAGES := kmod-i2c-gpio kmod-usb2
  1352. LOADER_TYPE := bin
  1353. LOADER_FLASH_OFFS := 0x20000
  1354. COMPILE := loader-$(1).bin loader-$(1).uImage
  1355. COMPILE/loader-$(1).bin := loader-okli-compile
  1356. COMPILE/loader-$(1).uImage := append-loader-okli $(1) | pad-to 64k | lzma | \
  1357. uImage lzma
  1358. KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49
  1359. IMAGES += factory.bin
  1360. IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | pisen_wmb001n-factory $(1)
  1361. endef
  1362. TARGET_DEVICES += pisen_wmb001n
  1363. define Device/pisen_wmm003n
  1364. $(Device/tplink-8mlzma)
  1365. SOC := ar9331
  1366. DEVICE_VENDOR := PISEN
  1367. DEVICE_MODEL := Cloud Easy Power (WMM003N)
  1368. DEVICE_PACKAGES := kmod-usb-chipidea2
  1369. TPLINK_HWID := 0x07030101
  1370. endef
  1371. TARGET_DEVICES += pisen_wmm003n
  1372. define Device/qihoo_c301
  1373. $(Device/seama)
  1374. SOC := ar9344
  1375. DEVICE_VENDOR := Qihoo
  1376. DEVICE_MODEL := C301
  1377. DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct \
  1378. uboot-envtools
  1379. IMAGE_SIZE := 15744k
  1380. SEAMA_SIGNATURE := wrgac26_qihoo360_360rg
  1381. SUPPORTED_DEVICES += qihoo-c301
  1382. endef
  1383. TARGET_DEVICES += qihoo_c301
  1384. define Device/qxwlan_e1700ac-v2
  1385. SOC := qca9563
  1386. DEVICE_VENDOR := Qxwlan
  1387. DEVICE_MODEL := E1700AC
  1388. DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
  1389. SUPPORTED_DEVICES += e1700ac-v2
  1390. endef
  1391. define Device/qxwlan_e1700ac-v2-16m
  1392. $(Device/qxwlan_e1700ac-v2)
  1393. DEVICE_VARIANT := v2 (16M)
  1394. IMAGE_SIZE := 15936k
  1395. endef
  1396. TARGET_DEVICES += qxwlan_e1700ac-v2-16m
  1397. define Device/qxwlan_e1700ac-v2-8m
  1398. $(Device/qxwlan_e1700ac-v2)
  1399. DEVICE_VARIANT := v2 (8M)
  1400. IMAGE_SIZE := 7744k
  1401. endef
  1402. TARGET_DEVICES += qxwlan_e1700ac-v2-8m
  1403. define Device/qxwlan_e558-v2
  1404. SOC := qca9558
  1405. DEVICE_VENDOR := Qxwlan
  1406. DEVICE_MODEL := E558
  1407. DEVICE_PACKAGES := kmod-usb2
  1408. SUPPORTED_DEVICES += e558-v2
  1409. endef
  1410. define Device/qxwlan_e558-v2-16m
  1411. $(Device/qxwlan_e558-v2)
  1412. DEVICE_VARIANT := v2 (16M)
  1413. IMAGE_SIZE := 15936k
  1414. endef
  1415. TARGET_DEVICES += qxwlan_e558-v2-16m
  1416. define Device/qxwlan_e558-v2-8m
  1417. $(Device/qxwlan_e558-v2)
  1418. DEVICE_VARIANT := v2 (8M)
  1419. IMAGE_SIZE := 7744k
  1420. endef
  1421. TARGET_DEVICES += qxwlan_e558-v2-8m
  1422. define Device/qxwlan_e600g-v2
  1423. SOC := qca9531
  1424. DEVICE_VENDOR := Qxwlan
  1425. DEVICE_MODEL := E600G
  1426. DEVICE_PACKAGES := kmod-usb2
  1427. SUPPORTED_DEVICES += e600g-v2
  1428. endef
  1429. define Device/qxwlan_e600g-v2-16m
  1430. $(Device/qxwlan_e600g-v2)
  1431. DEVICE_VARIANT := v2 (16M)
  1432. IMAGE_SIZE := 15936k
  1433. endef
  1434. TARGET_DEVICES += qxwlan_e600g-v2-16m
  1435. define Device/qxwlan_e600g-v2-8m
  1436. $(Device/qxwlan_e600g-v2)
  1437. DEVICE_VARIANT := v2 (8M)
  1438. IMAGE_SIZE := 7744k
  1439. endef
  1440. TARGET_DEVICES += qxwlan_e600g-v2-8m
  1441. define Device/qxwlan_e600gac-v2
  1442. SOC := qca9531
  1443. DEVICE_VENDOR := Qxwlan
  1444. DEVICE_MODEL := E600GAC
  1445. DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct
  1446. SUPPORTED_DEVICES += e600gac-v2
  1447. endef
  1448. define Device/qxwlan_e600gac-v2-16m
  1449. $(Device/qxwlan_e600gac-v2)
  1450. DEVICE_VARIANT := v2 (16M)
  1451. IMAGE_SIZE := 15936k
  1452. endef
  1453. TARGET_DEVICES += qxwlan_e600gac-v2-16m
  1454. define Device/qxwlan_e600gac-v2-8m
  1455. $(Device/qxwlan_e600gac-v2)
  1456. DEVICE_VARIANT := v2 (8M)
  1457. IMAGE_SIZE := 7744k
  1458. endef
  1459. TARGET_DEVICES += qxwlan_e600gac-v2-8m
  1460. define Device/qxwlan_e750a-v4
  1461. SOC := ar9344
  1462. DEVICE_VENDOR := Qxwlan
  1463. DEVICE_MODEL := E750A
  1464. DEVICE_PACKAGES := kmod-usb2
  1465. SUPPORTED_DEVICES += e750a-v4
  1466. endef
  1467. define Device/qxwlan_e750a-v4-16m
  1468. $(Device/qxwlan_e750a-v4)
  1469. DEVICE_VARIANT := v4 (16M)
  1470. IMAGE_SIZE := 15936k
  1471. endef
  1472. TARGET_DEVICES += qxwlan_e750a-v4-16m
  1473. define Device/qxwlan_e750a-v4-8m
  1474. $(Device/qxwlan_e750a-v4)
  1475. DEVICE_VARIANT := v4 (8M)
  1476. IMAGE_SIZE := 7744k
  1477. endef
  1478. TARGET_DEVICES += qxwlan_e750a-v4-8m
  1479. define Device/qxwlan_e750g-v8
  1480. SOC := ar9344
  1481. DEVICE_VENDOR := Qxwlan
  1482. DEVICE_MODEL := E750G
  1483. DEVICE_PACKAGES := kmod-usb2
  1484. SUPPORTED_DEVICES += e750g-v8
  1485. endef
  1486. define Device/qxwlan_e750g-v8-16m
  1487. $(Device/qxwlan_e750g-v8)
  1488. DEVICE_VARIANT := v8 (16M)
  1489. IMAGE_SIZE := 15936k
  1490. endef
  1491. TARGET_DEVICES += qxwlan_e750g-v8-16m
  1492. define Device/qxwlan_e750g-v8-8m
  1493. $(Device/qxwlan_e750g-v8)
  1494. DEVICE_VARIANT := v8 (8M)
  1495. IMAGE_SIZE := 7744k
  1496. endef
  1497. TARGET_DEVICES += qxwlan_e750g-v8-8m
  1498. define Device/rosinson_wr818
  1499. SOC := qca9563
  1500. DEVICE_VENDOR := Rosinson
  1501. DEVICE_MODEL := WR818
  1502. IMAGE_SIZE := 15872k
  1503. DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
  1504. endef
  1505. TARGET_DEVICES += rosinson_wr818
  1506. define Device/samsung_wam250
  1507. SOC := ar9344
  1508. DEVICE_VENDOR := Samsung
  1509. DEVICE_MODEL := WAM250
  1510. IMAGE_SIZE := 15872k
  1511. DEVICE_PACKAGES := kmod-usb2
  1512. SUPPORTED_DEVICES += wam250
  1513. endef
  1514. TARGET_DEVICES += samsung_wam250
  1515. define Device/siemens_ws-ap3610
  1516. SOC := ar7161
  1517. DEVICE_VENDOR := Siemens
  1518. DEVICE_MODEL := WS-AP3610
  1519. IMAGE_SIZE := 14336k
  1520. BLOCKSIZE := 256k
  1521. LOADER_TYPE := bin
  1522. LOADER_FLASH_OFFS := 0x82000
  1523. COMPILE := loader-$(1).bin
  1524. COMPILE/loader-$(1).bin := loader-okli-compile
  1525. KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49 | loader-okli $(1) 8128 | uImage none
  1526. KERNEL_INITRAMFS := kernel-bin | append-dtb | uImage none
  1527. endef
  1528. TARGET_DEVICES += siemens_ws-ap3610
  1529. define Device/sitecom_wlr-7100
  1530. SOC := ar1022
  1531. DEVICE_VENDOR := Sitecom
  1532. DEVICE_MODEL := WLR-7100
  1533. DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct-smallbuffers kmod-usb2
  1534. IMAGES += factory.dlf
  1535. IMAGE/factory.dlf := append-kernel | pad-to $$$$(BLOCKSIZE) | \
  1536. append-rootfs | pad-rootfs | check-size | \
  1537. senao-header -r 0x222 -p 0x53 -t 2
  1538. IMAGE_SIZE := 7488k
  1539. endef
  1540. TARGET_DEVICES += sitecom_wlr-7100
  1541. define Device/sitecom_wlr-8100
  1542. SOC := qca9558
  1543. DEVICE_VENDOR := Sitecom
  1544. DEVICE_MODEL := WLR-8100
  1545. DEVICE_ALT0_VENDOR := Sitecom
  1546. DEVICE_ALT0_MODEL := X8 AC1750
  1547. DEVICE_PACKAGES := ath10k-firmware-qca988x-ct kmod-ath10k-ct kmod-usb2 kmod-usb3
  1548. SUPPORTED_DEVICES += wlr8100
  1549. IMAGES += factory.dlf
  1550. IMAGE/factory.dlf := append-kernel | pad-to $$$$(BLOCKSIZE) | \
  1551. append-rootfs | pad-rootfs | check-size | \
  1552. senao-header -r 0x222 -p 0x56 -t 2
  1553. IMAGE_SIZE := 15424k
  1554. endef
  1555. TARGET_DEVICES += sitecom_wlr-8100
  1556. define Device/telco_t1
  1557. SOC := qca9531
  1558. DEVICE_VENDOR := Telco
  1559. DEVICE_MODEL := T1
  1560. DEVICE_PACKAGES := kmod-usb2 kmod-usb-net-qmi-wwan \
  1561. kmod-usb-serial-option uqmi -swconfig -uboot-envtools
  1562. IMAGE_SIZE := 16192k
  1563. SUPPORTED_DEVICES += telco_electronics,tel-t1
  1564. endef
  1565. TARGET_DEVICES += telco_t1
  1566. define Device/teltonika_rut955
  1567. SOC := ar9344
  1568. DEVICE_VENDOR := Teltonika
  1569. DEVICE_MODEL := RUT955
  1570. DEVICE_PACKAGES := kmod-usb2 kmod-usb-acm kmod-usb-net-qmi-wwan \
  1571. kmod-usb-serial-option kmod-hwmon-mcp3021 uqmi -uboot-envtools
  1572. IMAGE_SIZE := 15552k
  1573. TPLINK_HWID := 0x35000001
  1574. TPLINK_HWREV := 0x1
  1575. TPLINK_HEADER_VERSION := 1
  1576. KERNEL := kernel-bin | append-dtb | lzma | tplink-v1-header
  1577. KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma
  1578. IMAGES += factory.bin
  1579. IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs |\
  1580. pad-rootfs | teltonika-fw-fake-checksum | append-string master |\
  1581. append-md5sum-bin | check-size
  1582. IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(BLOCKSIZE) |\
  1583. append-rootfs | pad-rootfs | append-metadata |\
  1584. check-size
  1585. endef
  1586. TARGET_DEVICES += teltonika_rut955
  1587. define Device/teltonika_rut955-h7v3c0
  1588. $(Device/teltonika_rut955)
  1589. DEVICE_VARIANT := H7V3C0
  1590. endef
  1591. TARGET_DEVICES += teltonika_rut955-h7v3c0
  1592. define Device/trendnet_tew-823dru
  1593. SOC := qca9558
  1594. DEVICE_VENDOR := Trendnet
  1595. DEVICE_MODEL := TEW-823DRU
  1596. DEVICE_VARIANT := v1.0R
  1597. DEVICE_PACKAGES := kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
  1598. SUPPORTED_DEVICES += tew-823dru
  1599. IMAGE_SIZE := 15296k
  1600. IMAGES := factory.bin sysupgrade.bin
  1601. IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | \
  1602. pad-rootfs
  1603. IMAGE/factory.bin := $$(IMAGE/default) | pad-offset $$$$(IMAGE_SIZE) 26 | \
  1604. append-string 00AP135AR9558-RT-131129-00 | check-size
  1605. IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | \
  1606. check-size
  1607. endef
  1608. TARGET_DEVICES += trendnet_tew-823dru
  1609. define Device/wallys_dr531
  1610. SOC := qca9531
  1611. DEVICE_VENDOR := Wallys
  1612. DEVICE_MODEL := DR531
  1613. DEVICE_PACKAGES := kmod-usb2 rssileds
  1614. IMAGE_SIZE := 7808k
  1615. SUPPORTED_DEVICES += dr531
  1616. endef
  1617. TARGET_DEVICES += wallys_dr531
  1618. define Device/wd_mynet-n750
  1619. $(Device/seama)
  1620. SOC := ar9344
  1621. DEVICE_VENDOR := Western Digital
  1622. DEVICE_MODEL := My Net N750
  1623. IMAGE_SIZE := 15872k
  1624. DEVICE_PACKAGES := kmod-usb2
  1625. SEAMA_SIGNATURE := wrgnd13_wd_av
  1626. SUPPORTED_DEVICES += mynet-n750
  1627. endef
  1628. TARGET_DEVICES += wd_mynet-n750
  1629. define Device/wd_mynet-wifi-rangeextender
  1630. SOC := ar9344
  1631. DEVICE_VENDOR := Western Digital
  1632. DEVICE_MODEL := My Net Wi-Fi Range Extender
  1633. DEVICE_PACKAGES := rssileds nvram -swconfig
  1634. IMAGE_SIZE := 7808k
  1635. ADDPATTERN_ID := mynet-rext
  1636. ADDPATTERN_VERSION := 1.00.01
  1637. IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | cybertan-trx | \
  1638. addpattern | append-metadata
  1639. SUPPORTED_DEVICES += mynet-rext
  1640. endef
  1641. TARGET_DEVICES += wd_mynet-wifi-rangeextender
  1642. define Device/winchannel_wb2000
  1643. SOC := ar9344
  1644. DEVICE_VENDOR := Winchannel
  1645. DEVICE_MODEL := WB2000
  1646. IMAGE_SIZE := 15872k
  1647. DEVICE_PACKAGES := kmod-i2c-gpio kmod-rtc-ds1307 kmod-usb2 \
  1648. kmod-usb-ledtrig-usbport
  1649. endef
  1650. TARGET_DEVICES += winchannel_wb2000
  1651. define Device/xiaomi_mi-router-4q
  1652. SOC := qca9561
  1653. DEVICE_VENDOR := Xiaomi
  1654. DEVICE_MODEL := Mi Router 4Q
  1655. IMAGE_SIZE := 14336k
  1656. endef
  1657. TARGET_DEVICES += xiaomi_mi-router-4q
  1658. define Device/yuncore_a770
  1659. SOC := qca9531
  1660. DEVICE_VENDOR := YunCore
  1661. DEVICE_MODEL := A770
  1662. DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9887-ct
  1663. IMAGE_SIZE := 16000k
  1664. IMAGES += tftp.bin
  1665. IMAGE/tftp.bin := $$(IMAGE/sysupgrade.bin) | yuncore-tftp-header-16m
  1666. endef
  1667. TARGET_DEVICES += yuncore_a770
  1668. define Device/yuncore_a782
  1669. SOC := qca9563
  1670. DEVICE_VENDOR := YunCore
  1671. DEVICE_MODEL := A782
  1672. DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
  1673. IMAGE_SIZE := 16000k
  1674. IMAGES += tftp.bin
  1675. IMAGE/tftp.bin := $$(IMAGE/sysupgrade.bin) | yuncore-tftp-header-16m
  1676. endef
  1677. TARGET_DEVICES += yuncore_a782
  1678. define Device/yuncore_xd4200
  1679. SOC := qca9563
  1680. DEVICE_VENDOR := YunCore
  1681. DEVICE_MODEL := XD4200
  1682. DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
  1683. IMAGE_SIZE := 16000k
  1684. IMAGES += tftp.bin
  1685. IMAGE/tftp.bin := $$(IMAGE/sysupgrade.bin) | yuncore-tftp-header-16m
  1686. endef
  1687. TARGET_DEVICES += yuncore_xd4200
  1688. define Device/zbtlink_zbt-wd323
  1689. SOC := ar9344
  1690. DEVICE_VENDOR := ZBT
  1691. DEVICE_MODEL := WD323
  1692. IMAGE_SIZE := 16000k
  1693. DEVICE_PACKAGES := kmod-usb2 kmod-i2c-gpio kmod-rtc-pcf8563 \
  1694. kmod-usb-serial kmod-usb-serial-cp210x uqmi
  1695. endef
  1696. TARGET_DEVICES += zbtlink_zbt-wd323
  1697. define Device/zyxel_nbg6616
  1698. SOC := qca9557
  1699. DEVICE_VENDOR := ZyXEL
  1700. DEVICE_MODEL := NBG6616
  1701. DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-rtc-pcf8563 \
  1702. kmod-ath10k-ct ath10k-firmware-qca988x-ct
  1703. IMAGE_SIZE := 15232k
  1704. RAS_BOARD := NBG6616
  1705. RAS_ROOTFS_SIZE := 14464k
  1706. RAS_VERSION := "OpenWrt Linux-$(LINUX_VERSION)"
  1707. IMAGES += factory.bin
  1708. IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
  1709. append-rootfs | pad-rootfs | pad-to 64k | check-size | zyxel-ras-image
  1710. SUPPORTED_DEVICES += nbg6616
  1711. endef
  1712. TARGET_DEVICES += zyxel_nbg6616