generic.mk 62 KB

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