d78e229903
The NanoBeam is a small AR9342 based directional 5 GHz AC CPE with hardware almost identical to the Ubiquiti NanoStation AC loco. Over the NanoStation AC loco it has 5 additional LEDs. Four of those LEDs are used as rssi indicators, the fifth LED is used as an ethernet link/activity indicator. CPU: Atheros AR9342 SoC RAM: 64 MB DDR2 Flash: 16 MB NOR SPI WLAN: QCA988X Ports: 1x GbE Flashing procedure is identical to the NanoStation AC loco and can be performed either via serial or the factory firmware upgrade. Serial flashing: 1. Connect to serial header on device (8N1 115200) 2. Power on device and enter uboot console 3. Set up tftp server serving an openwrt initramfs build 4. Load initramfs build using the command tftpboot in the uboot cli 5. Boot the loaded image using the command bootm 6. Copy squashfs openwrt sysupgrade build to the booted device 7. Use mtd to write sysupgrade to partition "firmware" 8. Reboot and enjoy Flashing through factory firmware: 1. Ensure firmware version v8.5.0.36727 is installed. Up/downgrade to this exact version. 2. Patch fwupdate.real binary using `hexdump -Cv /bin/ubntbox | sed 's/14 40 fe fe/00 00 00 00/g' | hexdump -R > /tmp/fwupdate.real` 3. Make the patched fwupdate.real binary executable using `chmod +x /tmp/fwupdate.real` 4. Copy the squashfs factory image to /tmp on the device 5. Flash OpenWRT using `/tmp/fwupdate.real -m <squashfs-factory image>` 6. Wait for the device to reboot Thanks to @cybermaus for testing! Tested-by: Maurits van Dueren den Hollander <cybermaus@gmail.com> Signed-off-by: Tobias Schramm <tobleminer@gmail.com>
232 lines
6.4 KiB
Makefile
232 lines
6.4 KiB
Makefile
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)
|
|
|
|
# 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
|
|
|
|
# all UBNT XM/WA devices expect the kernel image to have 1024k while flash, when
|
|
# 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 \
|
|
-B $(UBNT_BOARD) -v $(UBNT_TYPE).$(UBNT_CHIP).v$(UBNT_VERSION)-$(UBNT_REVISION) \
|
|
-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)
|
|
# UBNT_VERSION e.g. one of (6.0.0, 8.5.0)
|
|
define Device/ubnt
|
|
DEVICE_PACKAGES := kmod-usb-core kmod-usb2
|
|
IMAGE_SIZE := 7552k
|
|
UBNT_BOARD := XM
|
|
UBNT_VERSION := 6.0.0
|
|
IMAGES += factory.bin
|
|
IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | \
|
|
append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | mkubntimage-split
|
|
endef
|
|
|
|
define Device/ubnt-xm
|
|
$(Device/ubnt)
|
|
DEVICE_PACKAGES += kmod-usb-ohci rssileds
|
|
UBNT_TYPE := XM
|
|
UBNT_CHIP := ar7240
|
|
ATH_SOC := ar7241
|
|
KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma | uImage lzma
|
|
endef
|
|
|
|
define Device/ubnt-bz
|
|
$(Device/ubnt)
|
|
UBNT_TYPE := BZ
|
|
UBNT_CHIP := ar7240
|
|
ATH_SOC := ar7241
|
|
endef
|
|
|
|
define Device/ubnt-wa
|
|
$(Device/ubnt)
|
|
UBNT_TYPE := WA
|
|
UBNT_CHIP := ar934x
|
|
UBNT_BOARD := WA
|
|
UBNT_VERSION := 8.5.0
|
|
ATH_SOC := ar9342
|
|
endef
|
|
|
|
define Device/ubnt-xw
|
|
$(Device/ubnt)
|
|
UBNT_TYPE := XW
|
|
UBNT_CHIP := ar934x
|
|
UBNT_BOARD := XM
|
|
UBNT_VERSION := 6.0.4
|
|
UBNT_REVISION := 42.$(UBNT_REVISION)
|
|
ATH_SOC := ar9342
|
|
endef
|
|
|
|
define Device/ubnt_airrouter
|
|
$(Device/ubnt-xm)
|
|
DEVICE_TITLE := Ubiquiti AirRouter
|
|
SUPPORTED_DEVICES += airrouter
|
|
endef
|
|
TARGET_DEVICES += ubnt_airrouter
|
|
|
|
define Device/ubnt_bullet-m
|
|
$(Device/ubnt-xm)
|
|
DEVICE_TITLE := Ubiquiti Bullet-M
|
|
SUPPORTED_DEVICES += bullet-m
|
|
endef
|
|
TARGET_DEVICES += ubnt_bullet-m
|
|
|
|
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
|
|
|
|
define Device/ubnt_rocket-m
|
|
$(Device/ubnt-xm)
|
|
DEVICE_TITLE := Ubiquiti Rocket-M
|
|
SUPPORTED_DEVICES += rocket-m
|
|
endef
|
|
TARGET_DEVICES += ubnt_rocket-m
|
|
|
|
define Device/ubnt_nanostation-m
|
|
$(Device/ubnt-xm)
|
|
DEVICE_TITLE := Ubiquiti Nanostation M
|
|
SUPPORTED_DEVICES += nano-m
|
|
endef
|
|
TARGET_DEVICES += ubnt_nanostation-m
|
|
|
|
define Device/ubnt_nanostation-m-xw
|
|
$(Device/ubnt-xw)
|
|
DEVICE_TITLE := Ubiquiti Nanostation M (XW)
|
|
SUPPORTED_DEVICES += nano-m-xw
|
|
endef
|
|
TARGET_DEVICES += ubnt_nanostation-m-xw
|
|
|
|
define Device/ubnt_lap-120
|
|
$(Device/ubnt-wa)
|
|
DEVICE_TITLE := Ubiquiti LiteAP ac (LAP-120)
|
|
DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct
|
|
IMAGE_SIZE := 15744k
|
|
IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | mkubntimage-split
|
|
endef
|
|
TARGET_DEVICES += ubnt_lap-120
|
|
|
|
define Device/ubnt_nanobeam-ac
|
|
$(Device/ubnt-wa)
|
|
DEVICE_TITLE := Ubiquiti NanoBeam AC
|
|
DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct
|
|
IMAGE_SIZE := 15744k
|
|
IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | mkubntimage-split
|
|
endef
|
|
TARGET_DEVICES += ubnt_nanobeam-ac
|
|
|
|
define Device/ubnt_nanostation-ac
|
|
$(Device/ubnt-wa)
|
|
DEVICE_TITLE := Ubiquiti Nanostation AC
|
|
DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct
|
|
IMAGE_SIZE := 15744k
|
|
IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | mkubntimage-split
|
|
endef
|
|
TARGET_DEVICES += ubnt_nanostation-ac
|
|
|
|
define Device/ubnt_nanostation-ac-loco
|
|
$(Device/ubnt-wa)
|
|
DEVICE_TITLE := Ubiquiti Nanostation AC loco
|
|
DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct
|
|
IMAGE_SIZE := 15744k
|
|
IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | mkubntimage-split
|
|
endef
|
|
TARGET_DEVICES += ubnt_nanostation-ac-loco
|
|
|
|
define Device/ubnt_unifi
|
|
$(Device/ubnt-bz)
|
|
DEVICE_TITLE := Ubiquiti UniFi
|
|
SUPPORTED_DEVICES += unifi
|
|
endef
|
|
TARGET_DEVICES += ubnt_unifi
|
|
|
|
define Device/ubnt_unifiac
|
|
ATH_SOC := qca9563
|
|
IMAGE_SIZE := 7744k
|
|
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca988x-ct
|
|
endef
|
|
|
|
|
|
define Device/ubnt_unifiac-lite
|
|
$(Device/ubnt_unifiac)
|
|
DEVICE_TITLE := Ubiquiti UniFi AC-Lite
|
|
SUPPORTED_DEVICES += ubnt-unifiac-lite
|
|
endef
|
|
TARGET_DEVICES += ubnt_unifiac-lite
|
|
|
|
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
|
|
|
|
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
|
|
|
|
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
|
|
|
|
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 += 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)
|
|
# IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) | sysupgrade-tar rootfs=$$$$@ | 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
|