2018-11-19 20:44:50 +00:00
|
|
|
DEVICE_VARS += UBNT_BOARD UBNT_CHIP UBNT_TYPE UBNT_VERSION UBNT_REVISION
|
|
|
|
|
|
|
|
# On M (XW) devices the U-Boot as of version 1.1.4-s1039 doesn't like
|
|
|
|
# VERSION_DIST being on the place of major(?) version number, so we need to
|
|
|
|
# use some number.
|
|
|
|
UBNT_REVISION := $(VERSION_DIST)-$(REVISION)
|
2018-05-06 08:20:11 +00:00
|
|
|
|
|
|
|
# mkubntimage is using the kernel image direct
|
|
|
|
# routerboard creates partitions out of the ubnt header
|
|
|
|
define Build/mkubntimage
|
|
|
|
-$(STAGING_DIR_HOST)/bin/mkfwimage \
|
|
|
|
-B $(UBNT_BOARD) -v $(UBNT_TYPE).$(UBNT_CHIP).v6.0.0-$(VERSION_DIST)-$(REVISION) \
|
|
|
|
-k $(IMAGE_KERNEL) \
|
|
|
|
-r $@ \
|
|
|
|
-o $@
|
|
|
|
endef
|
|
|
|
|
2018-01-23 10:36:41 +00:00
|
|
|
# all UBNT XM/WA devices expect the kernel image to have 1024k while flash, when
|
2018-05-06 08:20:11 +00:00
|
|
|
# booting the image, the size doesn't matter.
|
|
|
|
define Build/mkubntimage-split
|
|
|
|
-[ -f $@ ] && ( \
|
|
|
|
dd if=$@ of=$@.old1 bs=1024k count=1; \
|
|
|
|
dd if=$@ of=$@.old2 bs=1024k skip=1; \
|
|
|
|
$(STAGING_DIR_HOST)/bin/mkfwimage \
|
2018-11-19 20:44:50 +00:00
|
|
|
-B $(UBNT_BOARD) -v $(UBNT_TYPE).$(UBNT_CHIP).v$(UBNT_VERSION)-$(UBNT_REVISION) \
|
2018-05-06 08:20:11 +00:00
|
|
|
-k $@.old1 \
|
|
|
|
-r $@.old2 \
|
|
|
|
-o $@; \
|
|
|
|
rm $@.old1 $@.old2 )
|
|
|
|
endef
|
|
|
|
|
|
|
|
# UBNT_BOARD e.g. one of (XS2, XS5, RS, XM)
|
|
|
|
# UBNT_TYPE e.g. one of (BZ, XM, XW)
|
|
|
|
# UBNT_CHIP e.g. one of (ar7240, ar933x, ar934x)
|
2018-01-23 10:36:41 +00:00
|
|
|
# UBNT_VERSION e.g. one of (6.0.0, 8.5.0)
|
2018-05-06 08:20:11 +00:00
|
|
|
define Device/ubnt
|
|
|
|
DEVICE_PACKAGES := kmod-usb-core kmod-usb2
|
|
|
|
IMAGE_SIZE := 7552k
|
|
|
|
UBNT_BOARD := XM
|
2018-01-23 10:36:41 +00:00
|
|
|
UBNT_VERSION := 6.0.0
|
2018-05-07 20:41:04 +00:00
|
|
|
IMAGES += factory.bin
|
|
|
|
IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
|
|
|
|
append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | mkubntimage-split
|
2018-05-06 08:20:11 +00:00
|
|
|
endef
|
|
|
|
|
|
|
|
define Device/ubnt-xm
|
|
|
|
$(Device/ubnt)
|
2018-09-05 17:40:16 +00:00
|
|
|
DEVICE_PACKAGES += kmod-usb-ohci rssileds
|
2018-05-06 08:20:11 +00:00
|
|
|
UBNT_TYPE := XM
|
|
|
|
UBNT_CHIP := ar7240
|
|
|
|
ATH_SOC := ar7241
|
2018-04-26 18:04:48 +00:00
|
|
|
KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma | uImage lzma
|
2018-05-06 08:20:11 +00:00
|
|
|
endef
|
|
|
|
|
|
|
|
define Device/ubnt-bz
|
|
|
|
$(Device/ubnt)
|
|
|
|
UBNT_TYPE := BZ
|
|
|
|
UBNT_CHIP := ar7240
|
2018-05-07 19:09:44 +00:00
|
|
|
ATH_SOC := ar7241
|
2018-05-06 08:20:11 +00:00
|
|
|
endef
|
|
|
|
|
2018-01-23 10:36:41 +00:00
|
|
|
define Device/ubnt-wa
|
|
|
|
$(Device/ubnt)
|
|
|
|
UBNT_TYPE := WA
|
|
|
|
UBNT_CHIP := ar934x
|
|
|
|
UBNT_BOARD := WA
|
|
|
|
UBNT_VERSION := 8.5.0
|
|
|
|
ATH_SOC := ar9342
|
|
|
|
endef
|
|
|
|
|
2018-11-17 07:01:55 +00:00
|
|
|
define Device/ubnt-xw
|
|
|
|
$(Device/ubnt)
|
|
|
|
UBNT_TYPE := XW
|
|
|
|
UBNT_CHIP := ar934x
|
|
|
|
UBNT_BOARD := XM
|
|
|
|
UBNT_VERSION := 6.0.4
|
2018-11-19 20:44:50 +00:00
|
|
|
UBNT_REVISION := 42.$(UBNT_REVISION)
|
2018-11-17 07:01:55 +00:00
|
|
|
ATH_SOC := ar9342
|
|
|
|
endef
|
|
|
|
|
2018-05-08 05:22:38 +00:00
|
|
|
define Device/ubnt_bullet-m
|
2018-05-06 08:20:11 +00:00
|
|
|
$(Device/ubnt-xm)
|
|
|
|
DEVICE_TITLE := Ubiquiti Bullet-M
|
2018-05-07 20:41:04 +00:00
|
|
|
SUPPORTED_DEVICES += bullet-m
|
2018-05-06 08:20:11 +00:00
|
|
|
endef
|
2018-05-08 05:22:38 +00:00
|
|
|
TARGET_DEVICES += ubnt_bullet-m
|
2018-05-06 08:20:11 +00:00
|
|
|
|
2018-11-17 07:01:55 +00:00
|
|
|
define Device/ubnt_bullet-m-xw
|
|
|
|
$(Device/ubnt-xw)
|
|
|
|
DEVICE_TITLE := Ubiquiti Bullet-M (XW)
|
|
|
|
SUPPORTED_DEVICES += bullet-m-xw
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += ubnt_bullet-m-xw
|
|
|
|
|
2018-05-08 05:22:38 +00:00
|
|
|
define Device/ubnt_rocket-m
|
2018-05-06 08:20:11 +00:00
|
|
|
$(Device/ubnt-xm)
|
|
|
|
DEVICE_TITLE := Ubiquiti Rocket-M
|
2018-05-07 20:41:04 +00:00
|
|
|
SUPPORTED_DEVICES += rocket-m
|
2018-05-06 08:20:11 +00:00
|
|
|
endef
|
2018-05-08 05:22:38 +00:00
|
|
|
TARGET_DEVICES += ubnt_rocket-m
|
2018-05-06 08:20:11 +00:00
|
|
|
|
2018-05-08 05:22:38 +00:00
|
|
|
define Device/ubnt_nano-m
|
2018-05-06 08:20:11 +00:00
|
|
|
$(Device/ubnt-xm)
|
|
|
|
DEVICE_TITLE := Ubiquiti Nano-M
|
2018-05-07 20:41:04 +00:00
|
|
|
SUPPORTED_DEVICES += nano-m
|
2018-05-06 08:20:11 +00:00
|
|
|
endef
|
2018-05-08 05:22:38 +00:00
|
|
|
TARGET_DEVICES += ubnt_nano-m
|
2018-05-06 08:20:11 +00:00
|
|
|
|
2018-09-19 12:17:35 +00:00
|
|
|
define Device/ubnt_lap-120
|
|
|
|
$(Device/ubnt-wa)
|
|
|
|
DEVICE_TITLE := Ubiquiti LiteAP ac (LAP-120)
|
|
|
|
DEVICE_PACKAGES += kmod-ath10k ath10k-firmware-qca988x
|
|
|
|
IMAGE_SIZE := 15744k
|
|
|
|
IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | mkubntimage-split
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += ubnt_lap-120
|
|
|
|
|
2018-09-04 00:08:01 +00:00
|
|
|
define Device/ubnt_nanostation-ac
|
|
|
|
$(Device/ubnt-wa)
|
|
|
|
DEVICE_TITLE := Ubiquiti Nanostation AC
|
|
|
|
DEVICE_PACKAGES += kmod-ath10k ath10k-firmware-qca988x
|
|
|
|
IMAGE_SIZE := 15744k
|
|
|
|
IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | mkubntimage-split
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += ubnt_nanostation-ac
|
|
|
|
|
2018-01-23 10:36:41 +00:00
|
|
|
define Device/ubnt_nanostation-ac-loco
|
|
|
|
$(Device/ubnt-wa)
|
|
|
|
DEVICE_TITLE := Ubiquiti Nanostation AC loco
|
|
|
|
DEVICE_PACKAGES += kmod-ath10k ath10k-firmware-qca988x
|
|
|
|
IMAGE_SIZE := 15744k
|
|
|
|
IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | mkubntimage-split
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += ubnt_nanostation-ac-loco
|
|
|
|
|
2018-05-08 05:22:38 +00:00
|
|
|
define Device/ubnt_unifi
|
2018-05-06 08:20:11 +00:00
|
|
|
$(Device/ubnt-bz)
|
|
|
|
DEVICE_TITLE := Ubiquiti UniFi
|
2018-05-07 20:41:04 +00:00
|
|
|
SUPPORTED_DEVICES += unifi
|
2018-05-06 08:20:11 +00:00
|
|
|
endef
|
2018-05-08 05:22:38 +00:00
|
|
|
TARGET_DEVICES += ubnt_unifi
|
2018-06-05 12:38:02 +00:00
|
|
|
|
2018-06-27 10:10:33 +00:00
|
|
|
define Device/ubnt_unifiac
|
2018-06-26 07:30:46 +00:00
|
|
|
ATH_SOC := qca9563
|
2018-06-05 12:38:02 +00:00
|
|
|
IMAGE_SIZE := 7744k
|
|
|
|
IMAGES := sysupgrade.bin
|
2018-06-26 07:30:46 +00:00
|
|
|
IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
|
2018-09-05 12:51:44 +00:00
|
|
|
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
|
2018-06-05 12:38:02 +00:00
|
|
|
endef
|
|
|
|
|
|
|
|
|
2018-06-27 10:10:33 +00:00
|
|
|
define Device/ubnt_unifiac-lite
|
|
|
|
$(Device/ubnt_unifiac)
|
2018-06-05 12:38:02 +00:00
|
|
|
DEVICE_TITLE := Ubiquiti UniFi AC-Lite
|
2018-06-27 10:10:33 +00:00
|
|
|
SUPPORTED_DEVICES += ubnt-unifiac-lite
|
2018-06-05 12:38:02 +00:00
|
|
|
endef
|
2018-06-27 10:10:33 +00:00
|
|
|
TARGET_DEVICES += ubnt_unifiac-lite
|
2018-06-26 07:30:46 +00:00
|
|
|
|
2018-06-27 12:33:40 +00:00
|
|
|
define Device/ubnt_unifiac-mesh
|
|
|
|
$(Device/ubnt_unifiac)
|
|
|
|
DEVICE_TITLE := Ubiquiti UniFi AC-Mesh
|
|
|
|
SUPPORTED_DEVICES += ubnt-unifiac-mesh
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += ubnt_unifiac-mesh
|
|
|
|
|
2018-07-02 12:39:54 +00:00
|
|
|
define Device/ubnt_unifiac-mesh-pro
|
|
|
|
$(Device/ubnt_unifiac)
|
|
|
|
DEVICE_TITLE := Ubiquiti UniFi AC-Mesh Pro
|
|
|
|
SUPPORTED_DEVICES += ubnt-unifiac-mesh-pro
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += ubnt_unifiac-mesh-pro
|
|
|
|
|
2018-06-26 07:30:46 +00:00
|
|
|
define Device/ubnt_unifiac-pro
|
|
|
|
$(Device/ubnt_unifiac)
|
|
|
|
DEVICE_TITLE := Ubiquiti UniFi AC-Pro
|
|
|
|
DEVICE_PACKAGES += kmod-usb-core kmod-usb2
|
|
|
|
SUPPORTED_DEVICES += ubnt-unifiac-pro
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += ubnt_unifiac-pro
|
ath79: initial support for Ubiquiti RouterStation and RouterStation Pro
This adds a shared ar7161_ubnt_routerstation.dtsi as well as two other
.dts files that utilize it, ar7161_ubnt_routerstation.dts and
ar7161_ubnt_routerstation-pro.dts.
The modifications to generic-ubnt.mk, config-default, and base-files
necessary for image generation, parsing RedBoot FIS partitions, network
configuration, and sysupgrade are also included.
This reintroduces vital bits from platform_do_upgrade_combined() and its
supporting functions to /lib/upgrade/platform.sh, which were previously
removed from ath79 in 3e9d9f62258f80298710441e0db557e59e152dcf "ath79:
sysupgrade: drop unused platform checks". The new function is called
"routerstation_do_upgrade" and will *only* work for the RouterStation
series of boards. It does however retain the ability to downgrade (e.g.
from master -> 17.01.x using sysupgrade -F).
All hardware is functional including the AR8216 switch (for the Pro),
wireless via ath5k/ath9k using the miniPCI slots, flash, USB, button,
and LED.
Switch and LAN/WAN configuration is the same as it is with the
equivalent ar71xx targets. MAC addresses are assigned based upon the
content stored in the RedBoot config partition.
Flashing via both sysupgrade and TFTP has been confirmed to work. Also,
the initramfs images are now raw .bin files instead of being wrapped in
a uImage (as they currently are in ar71xx), which makes them bootable
with RedBoot.
One notable difference to ar71xx is the inclusion of the RedBoot
"fconfig" utility (analogous to U-Boot’s fw_printenv/fw_setenv) in
DEVICE_PACKAGES. The FIS partitions are probed using the RedBoot MTD
parser’s DT binding, whose proper usage is mutually exclusive to
defining a separate fixed-partitions node for "RedBoot config". This
config partition contains the board's base MAC address. The lack of a
hard-coded flash location means that the mtd-mac-address property cannot
be used in the .dts, so instead fconfig is used to read the MAC
addresses from flash in userspace during first boot.
Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
Signed-off-by: Matt Merhar <mattmerhar@protonmail.com>
2018-08-27 13:59:09 +00:00
|
|
|
|
|
|
|
define Device/ubnt_routerstation_common
|
|
|
|
DEVICE_PACKAGES := -kmod-ath9k -wpad-mini -uboot-envtools kmod-usb-ohci kmod-usb2 fconfig
|
|
|
|
ATH_SOC := ar7161
|
|
|
|
IMAGE_SIZE := 16128k
|
|
|
|
IMAGES := sysupgrade.bin factory.bin
|
|
|
|
IMAGE/factory.bin := append-rootfs | pad-rootfs | mkubntimage | check-size $$$$(IMAGE_SIZE)
|
|
|
|
IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | combined-image | check-size $$$$(IMAGE_SIZE) | append-metadata
|
|
|
|
KERNEL := kernel-bin | append-dtb | lzma | pad-to $$(BLOCKSIZE)
|
|
|
|
KERNEL_INITRAMFS := kernel-bin | append-dtb
|
|
|
|
endef
|
|
|
|
|
|
|
|
define Device/ubnt_routerstation
|
|
|
|
$(Device/ubnt_routerstation_common)
|
|
|
|
DEVICE_TITLE := Ubiquiti RouterStation
|
|
|
|
UBNT_BOARD := RS
|
|
|
|
UBNT_TYPE := RSx
|
|
|
|
UBNT_CHIP := ar7100
|
|
|
|
DEVICE_PACKAGES += -swconfig
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += ubnt_routerstation
|
|
|
|
|
|
|
|
define Device/ubnt_routerstation-pro
|
|
|
|
$(Device/ubnt_routerstation_common)
|
|
|
|
DEVICE_TITLE := Ubiquiti RouterStation Pro
|
|
|
|
UBNT_BOARD := RSPRO
|
|
|
|
UBNT_TYPE := RSPRO
|
|
|
|
UBNT_CHIP := ar7100pro
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += ubnt_routerstation-pro
|