generic.mk 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330
  1. include ./common-buffalo.mk
  2. include ./common-netgear.mk
  3. DEVICE_VARS += ADDPATTERN_ID ADDPATTERN_VERSION
  4. define Build/cybertan-trx
  5. @echo -n '' > [email protected]
  6. -$(STAGING_DIR_HOST)/bin/trx -o [email protected] \
  7. -f $(IMAGE_KERNEL) -F [email protected] \
  8. -x 32 -a 0x10000 -x -32 -f $@
  9. -mv "[email protected]" "$@"
  10. -rm [email protected]
  11. endef
  12. define Build/addpattern
  13. -$(STAGING_DIR_HOST)/bin/addpattern -B $(ADDPATTERN_ID) \
  14. -v v$(ADDPATTERN_VERSION) -i $@ -o [email protected]
  15. -mv "[email protected]" "$@"
  16. endef
  17. define Build/elecom-header
  18. $(eval fw_size=$(word 1,$(1)))
  19. $(eval edimax_model=$(word 2,$(1)))
  20. $(eval product=$(word 3,$(1)))
  21. $(eval factory_bin=$(word 4,$(1)))
  22. if [ -e $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) -a "$$(stat -c%s $@)" -lt "$(fw_size)" ]; then \
  23. $(CP) $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) $(factory_bin); \
  24. $(STAGING_DIR_HOST)/bin/mkedimaximg \
  25. -b -s CSYS -m $(edimax_model) \
  26. -f 0x70000 -S 0x01100000 \
  27. -i $(factory_bin) -o $(factory_bin).new; \
  28. mv $(factory_bin).new $(factory_bin); \
  29. ( \
  30. echo -n -e "ELECOM\x00\x00$(product)" | dd bs=40 count=1 conv=sync; \
  31. echo -n "0.00" | dd bs=16 count=1 conv=sync; \
  32. dd if=$(factory_bin); \
  33. ) > $(factory_bin).new; \
  34. mv $(factory_bin).new $(factory_bin); \
  35. $(CP) $(factory_bin) $(BIN_DIR)/; \
  36. else \
  37. echo "WARNING: initramfs kernel image too big, cannot generate factory image" >&2; \
  38. fi
  39. endef
  40. define Device/avm_fritz300e
  41. ATH_SOC := ar7242
  42. DEVICE_TITLE := AVM FRITZ!WLAN Repeater 300E
  43. KERNEL := kernel-bin | append-dtb | lzma | eva-image
  44. KERNEL_INITRAMFS := $$(KERNEL)
  45. IMAGE_SIZE := 15232k
  46. IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | \
  47. append-squashfs-fakeroot-be | pad-to 256 | \
  48. append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
  49. DEVICE_PACKAGES := fritz-tffs rssileds -swconfig
  50. endef
  51. TARGET_DEVICES += avm_fritz300e
  52. define Device/avm_fritz4020
  53. ATH_SOC := qca9561
  54. DEVICE_TITLE := AVM FRITZ!Box 4020
  55. IMAGE_SIZE := 15232k
  56. KERNEL := kernel-bin | append-dtb | lzma | eva-image
  57. KERNEL_INITRAMFS := $$(KERNEL)
  58. IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | \
  59. append-squashfs-fakeroot-be | pad-to 256 | \
  60. append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
  61. DEVICE_PACKAGES := fritz-tffs
  62. endef
  63. TARGET_DEVICES += avm_fritz4020
  64. define Device/buffalo_bhr-4grv
  65. ATH_SOC := ar7242
  66. DEVICE_TITLE := Buffalo BHR-4GRV
  67. DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
  68. IMAGE_SIZE := 32256k
  69. IMAGES += factory.bin tftp.bin
  70. IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
  71. IMAGE/factory.bin := $$(IMAGE/default) | buffalo-enc BHR-4GRV 1.99 | buffalo-tag BHR-4GRV
  72. IMAGE/tftp.bin := $$(IMAGE/default) | buffalo-tftp-header
  73. SUPPORTED_DEVICES += wzr-hp-g450h
  74. endef
  75. TARGET_DEVICES += buffalo_bhr-4grv
  76. define Device/buffalo_wzr-hp-ag300h
  77. ATH_SOC := ar7161
  78. DEVICE_TITLE := Buffalo WZR-HP-AG300H
  79. IMAGE_SIZE := 32256k
  80. IMAGES += factory.bin tftp.bin
  81. IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
  82. IMAGE/factory.bin := $$(IMAGE/default) | buffalo-enc WZR-HP-AG300H 1.99 | buffalo-tag WZR-HP-AG300H
  83. IMAGE/tftp.bin := $$(IMAGE/default) | buffalo-tftp-header
  84. DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport kmod-leds-reset kmod-owl-loader
  85. SUPPORTED_DEVICES += wzr-hp-ag300h
  86. endef
  87. TARGET_DEVICES += buffalo_wzr-hp-ag300h
  88. define Device/buffalo_wzr-hp-g450h
  89. ATH_SOC := ar7242
  90. DEVICE_TITLE := Buffalo WZR-HP-G450H/WZR-450HP
  91. DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport
  92. IMAGE_SIZE := 32256k
  93. IMAGES += factory.bin tftp.bin
  94. IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
  95. IMAGE/factory.bin := $$(IMAGE/default) | buffalo-enc WZR-HP-G450H 1.99 | buffalo-tag WZR-HP-G450H
  96. IMAGE/tftp.bin := $$(IMAGE/default) | buffalo-tftp-header
  97. SUPPORTED_DEVICES += wzr-hp-g450h
  98. endef
  99. TARGET_DEVICES += buffalo_wzr-hp-g450h
  100. define Device/dlink_dir-825-b1
  101. ATH_SOC := ar7161
  102. DEVICE_TITLE := D-LINK DIR-825 B1
  103. IMAGE_SIZE := 6208k
  104. IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
  105. DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport kmod-leds-reset kmod-owl-loader
  106. SUPPORTED_DEVICES += dir-825-b1
  107. endef
  108. TARGET_DEVICES += dlink_dir-825-b1
  109. define Device/elecom_wrc-300ghbk2-i
  110. ATH_SOC := qca9563
  111. DEVICE_TITLE := ELECOM WRC-300GHBK2-I
  112. IMAGE_SIZE := 7616k
  113. KERNEL_INITRAMFS := $$(KERNEL) | pad-to 2 | \
  114. elecom-header 7798706 RN51 WRC-300GHBK2-I \
  115. $(KDIR)/tmp/$$(KERNEL_INITRAMFS_PREFIX)-factory.bin
  116. endef
  117. TARGET_DEVICES += elecom_wrc-300ghbk2-i
  118. define Device/embeddedwireless_dorin
  119. ATH_SOC := ar9331
  120. DEVICE_TITLE := Embedded Wireless Dorin
  121. DEVICE_PACKAGES := kmod-usb-chipidea2
  122. IMAGE_SIZE := 16000k
  123. endef
  124. TARGET_DEVICES += embeddedwireless_dorin
  125. define Device/etactica_eg200
  126. ATH_SOC := ar9331
  127. DEVICE_TITLE := eTactica EG200
  128. DEVICE_PACKAGES := kmod-usb-chipidea2 kmod-ledtrig-oneshot \
  129. kmod-usb-serial kmod-usb-serial-ftdi kmod-usb-storage kmod-fs-ext4
  130. SUPPORTED_DEVICES += rme-eg200
  131. endef
  132. TARGET_DEVICES += etactica_eg200
  133. define Device/glinet_ar150
  134. ATH_SOC := ar9330
  135. DEVICE_TITLE := GL.iNet GL-AR150
  136. DEVICE_PACKAGES := kmod-usb-chipidea2
  137. IMAGE_SIZE := 16000k
  138. SUPPORTED_DEVICES += gl-ar150
  139. endef
  140. TARGET_DEVICES += glinet_ar150
  141. define Device/glinet_ar300m_nor
  142. ATH_SOC := qca9533
  143. DEVICE_TITLE := GL.iNet GL-AR300M
  144. DEVICE_PACKAGES := kmod-usb-core kmod-usb2
  145. IMAGE_SIZE := 16000k
  146. SUPPORTED_DEVICES += gl-ar300m
  147. endef
  148. TARGET_DEVICES += glinet_ar300m_nor
  149. define Device/iodata_etg3-r
  150. ATH_SOC := ar9342
  151. DEVICE_TITLE := I-O DATA ETG3-R
  152. IMAGE_SIZE := 7680k
  153. endef
  154. TARGET_DEVICES += iodata_etg3-r
  155. define Device/iodata_wn-ac1167dgr
  156. ATH_SOC := qca9557
  157. DEVICE_TITLE := I-O DATA WN-AC1167DGR
  158. IMAGE_SIZE := 14656k
  159. IMAGES += factory.bin
  160. IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
  161. append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
  162. senao-header -r 0x30a -p 0x61 -t 2
  163. DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
  164. endef
  165. TARGET_DEVICES += iodata_wn-ac1167dgr
  166. define Device/iodata_wn-ac1600dgr2
  167. ATH_SOC := qca9557
  168. DEVICE_TITLE := I-O DATA WN-AC1600DGR2
  169. IMAGE_SIZE := 14656k
  170. IMAGES += factory.bin
  171. IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
  172. append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | \
  173. senao-header -r 0x30a -p 0x60 -t 2 -v 200
  174. DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ath10k-ct ath10k-firmware-qca988x-ct
  175. endef
  176. TARGET_DEVICES += iodata_wn-ac1600dgr2
  177. define Device/ocedo_koala
  178. ATH_SOC := qca9558
  179. DEVICE_TITLE := OCEDO Koala
  180. DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
  181. SUPPORTED_DEVICES += koala
  182. IMAGE_SIZE := 7424k
  183. IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
  184. endef
  185. TARGET_DEVICES += ocedo_koala
  186. define Device/ocedo_raccoon
  187. ATH_SOC := ar9344
  188. DEVICE_TITLE := OCEDO Raccoon
  189. IMAGE_SIZE := 7424k
  190. IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
  191. endef
  192. TARGET_DEVICES += ocedo_raccoon
  193. define Device/openmesh_om5p-ac-v2
  194. ATH_SOC := qca9558
  195. DEVICE_TITLE := OpenMesh OM5P-AC v2
  196. DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct om-watchdog
  197. IMAGE_SIZE := 7808k
  198. SUPPORTED_DEVICES += om5p-acv2
  199. endef
  200. TARGET_DEVICES += openmesh_om5p-ac-v2
  201. define Device/pcs_cap324
  202. ATH_SOC := ar9344
  203. DEVICE_TITLE := PowerCloud Systems CAP324
  204. IMAGE_SIZE := 16000k
  205. IMAGES := sysupgrade.bin
  206. SUPPORTED_DEVICES += cap324
  207. endef
  208. TARGET_DEVICES += pcs_cap324
  209. define Device/pcs_cr3000
  210. ATH_SOC := ar9341
  211. DEVICE_TITLE := PowerCloud Systems CR3000
  212. IMAGE_SIZE := 7808k
  213. IMAGES := sysupgrade.bin
  214. SUPPORTED_DEVICES += cr3000
  215. endef
  216. TARGET_DEVICES += pcs_cr3000
  217. define Device/pcs_cr5000
  218. ATH_SOC := ar9344
  219. DEVICE_TITLE := PowerCloud Systems CR5000
  220. DEVICE_PACKAGES := kmod-usb2 kmod-usb-core
  221. IMAGE_SIZE := 7808k
  222. IMAGES := sysupgrade.bin
  223. SUPPORTED_DEVICES += cr5000
  224. endef
  225. TARGET_DEVICES += pcs_cr5000
  226. define Device/netgear_wndr3x00
  227. ATH_SOC := ar7161
  228. KERNEL := kernel-bin | append-dtb | lzma -d20 | netgear-uImage lzma
  229. IMAGES := sysupgrade.bin factory.img
  230. IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | netgear-squashfs | append-rootfs | pad-rootfs
  231. IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | check-size $$$$(IMAGE_SIZE)
  232. IMAGE/factory.img := $$(IMAGE/default) | netgear-dni | check-size $$$$(IMAGE_SIZE)
  233. DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-usb-ledtrig-usbport kmod-leds-reset kmod-owl-loader
  234. endef
  235. define Device/netgear_wndr3700
  236. $(Device/netgear_wndr3x00)
  237. DEVICE_TITLE := NETGEAR WNDR3700
  238. NETGEAR_KERNEL_MAGIC := 0x33373030
  239. NETGEAR_BOARD_ID := WNDR3700
  240. IMAGE_SIZE := 7680k
  241. IMAGES += factory-NA.img
  242. IMAGE/factory-NA.img := $$(IMAGE/default) | netgear-dni NA | check-size $$$$(IMAGE_SIZE)
  243. SUPPORTED_DEVICES += wndr3700
  244. endef
  245. TARGET_DEVICES += netgear_wndr3700
  246. define Device/netgear_wndr3700v2
  247. $(Device/netgear_wndr3x00)
  248. DEVICE_TITLE := NETGEAR WNDR3700v2
  249. NETGEAR_KERNEL_MAGIC := 0x33373031
  250. NETGEAR_BOARD_ID := WNDR3700v2
  251. NETGEAR_HW_ID := 29763654+16+64
  252. IMAGE_SIZE := 15872k
  253. SUPPORTED_DEVICES += wndr3700v2
  254. endef
  255. TARGET_DEVICES += netgear_wndr3700v2
  256. define Device/pisen_wmm003n
  257. $(Device/tplink-8mlzma)
  258. ATH_SOC := ar9331
  259. DEVICE_TITLE := Pisen WMM003N (Cloud Easy Power)
  260. DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-chipidea2
  261. TPLINK_HWID := 0x07030101
  262. IMAGES := sysupgrade.bin
  263. endef
  264. TARGET_DEVICES += pisen_wmm003n
  265. define Device/netgear_wndr3800
  266. $(Device/netgear_wndr3x00)
  267. DEVICE_TITLE := NETGEAR WNDR3800
  268. NETGEAR_KERNEL_MAGIC := 0x33373031
  269. NETGEAR_BOARD_ID := WNDR3800
  270. NETGEAR_HW_ID := 29763654+16+128
  271. IMAGE_SIZE := 15872k
  272. SUPPORTED_DEVICES += wndr3800
  273. endef
  274. TARGET_DEVICES += netgear_wndr3800
  275. define Device/phicomm_k2t
  276. ATH_SOC := qca9563
  277. DEVICE_TITLE := Phicomm K2T
  278. KERNEL := kernel-bin | append-dtb | lzma | uImage lzma
  279. KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma
  280. IMAGE_SIZE := 15744k
  281. IMAGES := sysupgrade.bin
  282. IMAGE/default := append-kernel | append-rootfs | pad-rootfs
  283. IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | check-size $$$$(IMAGE_SIZE)
  284. DEVICE_PACKAGES := kmod-leds-reset kmod-ath10k-ct ath10k-firmware-qca9888-ct
  285. endef
  286. TARGET_DEVICES += phicomm_k2t
  287. define Device/wd_mynet-wifi-rangeextender
  288. ATH_SOC := ar9344
  289. DEVICE_TITLE := Western Digital My Net Wi-Fi Range Extender
  290. DEVICE_PACKAGES := rssileds nvram -swconfig
  291. IMAGE_SIZE := 7808k
  292. ADDPATTERN_ID := mynet-rext
  293. ADDPATTERN_VERSION := 1.00.01
  294. IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | cybertan-trx | \
  295. addpattern | append-metadata
  296. SUPPORTED_DEVICES += mynet-rext
  297. endef
  298. TARGET_DEVICES += wd_mynet-wifi-rangeextender