aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Schramm <tobleminer@gmail.com>2019-01-08 15:27:57 +0100
committerPetr Štetiar <ynezz@true.cz>2019-03-22 00:40:29 +0100
commitd78e229903a3cc42b5117abbe65fb3c5397bd94e (patch)
tree8a0e7101b64e8399ee974b501eef1f0822fa189d
parent5ac974f2145c770431a6eb7e006dd086b70224b1 (diff)
downloadupstream-d78e229903a3cc42b5117abbe65fb3c5397bd94e.tar.gz
upstream-d78e229903a3cc42b5117abbe65fb3c5397bd94e.tar.bz2
upstream-d78e229903a3cc42b5117abbe65fb3c5397bd94e.zip
ath79: Add support for Ubiquiti NanoBeam AC
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>
-rwxr-xr-xtarget/linux/ath79/base-files/etc/board.d/01_leds1
-rwxr-xr-xtarget/linux/ath79/base-files/etc/board.d/02_network1
-rw-r--r--target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata1
-rw-r--r--target/linux/ath79/dts/ar9342_ubnt_nanobeam-ac.dts64
-rw-r--r--target/linux/ath79/image/generic-ubnt.mk9
5 files changed, 76 insertions, 0 deletions
diff --git a/target/linux/ath79/base-files/etc/board.d/01_leds b/target/linux/ath79/base-files/etc/board.d/01_leds
index 21453b370a..f7a904967d 100755
--- a/target/linux/ath79/base-files/etc/board.d/01_leds
+++ b/target/linux/ath79/base-files/etc/board.d/01_leds
@@ -164,6 +164,7 @@ ubnt,rocket-m)
ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "ubnt:green:link3" "wlan0" "51" "100"
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "ubnt:green:link4" "wlan0" "76" "100"
;;
+ubnt,nanobeam-ac|\
ubnt,nanostation-ac)
ucidef_set_rssimon "wlan0" "200000" "1"
ucidef_set_led_rssi "rssilow" "RSSILOW" "ubnt:blue:rssi0" "wlan0" "1" "100"
diff --git a/target/linux/ath79/base-files/etc/board.d/02_network b/target/linux/ath79/base-files/etc/board.d/02_network
index 62318ee232..c5bb70ae99 100755
--- a/target/linux/ath79/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/base-files/etc/board.d/02_network
@@ -29,6 +29,7 @@ ath79_setup_interfaces()
ubnt,bullet-m|\
ubnt,bullet-m-xw|\
ubnt,lap-120|\
+ ubnt,nanobeam-ac|\
ubnt,nanostation-ac-loco|\
ubnt,rocket-m|\
ubnt,unifiac-lite|\
diff --git a/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
index 8651c97099..4f13ae6521 100644
--- a/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
+++ b/target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
@@ -150,6 +150,7 @@ case "$FIRMWARE" in
ubnt,unifiac-mesh|\
ubnt,unifiac-mesh-pro|\
ubnt,lap-120|\
+ ubnt,nanobeam-ac|\
ubnt,nanostation-ac|\
ubnt,nanostation-ac-loco|\
ubnt,unifiac-pro)
diff --git a/target/linux/ath79/dts/ar9342_ubnt_nanobeam-ac.dts b/target/linux/ath79/dts/ar9342_ubnt_nanobeam-ac.dts
new file mode 100644
index 0000000000..6e64c7faad
--- /dev/null
+++ b/target/linux/ath79/dts/ar9342_ubnt_nanobeam-ac.dts
@@ -0,0 +1,64 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+#include "ar9342_ubnt_wa.dtsi"
+
+/ {
+ compatible = "ubnt,nanobeam-ac", "ubnt,wa", "qca,ar9342";
+ model = "Ubiquiti NanoBeam AC (WA)";
+
+ leds {
+ compatible = "gpio-leds";
+
+ rssi0 {
+ label = "ubnt:blue:rssi0";
+ gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
+ };
+
+ rssi1 {
+ label = "ubnt:blue:rssi1";
+ gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
+ };
+
+ rssi2 {
+ label = "ubnt:blue:rssi2";
+ gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
+ };
+
+ rssi3 {
+ label = "ubnt:blue:rssi3";
+ gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&mdio0 {
+ status = "okay";
+
+ phy-mask = <4>;
+ phy4: ethernet-phy@4 {
+ phy-mode = "rgmii";
+ reg = <4>;
+ };
+};
+
+&eth0 {
+ status = "okay";
+
+ /* default for ar934x, except for 1000M and 10M */
+ pll-data = <0x06000000 0x00000101 0x00001313>;
+
+ mtd-mac-address = <&eeprom 0x0>;
+
+ phy-mode = "rgmii";
+ phy-handle = <&phy4>;
+
+ gmac-config {
+ device = <&gmac>;
+ rxd-delay = <3>;
+ rxdv-delay = <3>;
+ };
+};
diff --git a/target/linux/ath79/image/generic-ubnt.mk b/target/linux/ath79/image/generic-ubnt.mk
index b7e867d8bf..8fddc0f1d0 100644
--- a/target/linux/ath79/image/generic-ubnt.mk
+++ b/target/linux/ath79/image/generic-ubnt.mk
@@ -129,6 +129,15 @@ define Device/ubnt_lap-120
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