ath79: Add support for Ubiquiti Nanostation AC

5 GHz AC wireless outdoor PoE CPE with internal 2.4 GHz management radio

CPU:    Atheros AR9342 SoC
RAM:    64 MB DDR2
Flash:  16 MB NOR SPI
Switch: QCA8334
Ports:  2 GbE ports (1x PoE in, 1x PoE passthrough)
WLAN:   5 GHz QCA899X (PCI) and 2.4 GHZ AR9342

Successor to the old NanoStation M5 with AC wireless.

The integrated QCA899X is a Ubiquiti branded part with modified vendor and
product id (0777:11ac9).

Serial

Serial settings: 115200, 8N1

* = plated through hole
0 = nylon screw

      [Top of device]
+--------------------------+
|    [label]               |
|  0                       |
|                    0     |
|         [ubnt]           |
|         [logo]  3V3  *   |
|                  TX  *   |
|                  RX  *   |
|                 GND  *   |
|                          |
|                      *   |
|                      *   |
|                      *   |
|                      *   |
|    0                     |
|                 0        |
|                          |
|                          |

Installation

1. Connect to serial header on device
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

Signed-off-by: Tobias Schramm <tobleminer@gmail.com>
This commit is contained in:
Tobias Schramm 2018-09-04 02:08:01 +02:00 committed by Mathias Kresin
parent 5736af8024
commit fa3c2676ab
6 changed files with 117 additions and 0 deletions

View file

@ -101,6 +101,13 @@ ubnt,rocket-m)
ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "ubnt:green:link3" "wlan0" "51" "100" ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "ubnt:green:link3" "wlan0" "51" "100"
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "ubnt:green:link4" "wlan0" "76" "100" ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "ubnt:green:link4" "wlan0" "76" "100"
;; ;;
ubnt,nanostation-ac)
ucidef_set_rssimon "wlan0" "200000" "1"
ucidef_set_led_rssi "rssilow" "RSSILOW" "ubnt:blue:rssi0" "wlan0" "1" "100"
ucidef_set_led_rssi "rssimediumlow" "RSSIMEDIUMLOW" "ubnt:blue:rssi1" "wlan0" "26" "100"
ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "ubnt:blue:rssi2" "wlan0" "51" "100"
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "ubnt:blue:rssi3" "wlan0" "76" "100"
;;
wd,mynet-wifi-rangeextender) wd,mynet-wifi-rangeextender)
ucidef_set_led_netdev "lan" "LAN" "$boardname:green:lan" "eth0" ucidef_set_led_netdev "lan" "LAN" "$boardname:green:lan" "eth0"
ucidef_set_rssimon "wlan0" "200000" "1" ucidef_set_rssimon "wlan0" "200000" "1"

View file

@ -161,6 +161,7 @@ ath79_setup_interfaces()
ucidef_add_switch "switch0" \ ucidef_add_switch "switch0" \
"0@eth1" "2:lan:3" "3:lan:2" "4:lan:1" "0@eth1" "2:lan:3" "3:lan:2" "4:lan:1"
;; ;;
ubnt,nanostation-ac|\
ubnt,unifiac-mesh-pro|\ ubnt,unifiac-mesh-pro|\
ubnt,unifiac-pro) ubnt,unifiac-pro)
ucidef_add_switch "switch0" \ ucidef_add_switch "switch0" \

View file

@ -0,0 +1,20 @@
#!/bin/sh
#
# Copyright (C) 2018 OpenWrt.org
#
. /lib/functions/uci-defaults.sh
board_config_update
board=$(board_name)
case "$board" in
ubnt,nanostation-ac)
ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "3"
;;
esac
board_config_flush
exit 0

View file

@ -111,6 +111,7 @@ case "$FIRMWARE" in
ubnt,unifiac-lite|\ ubnt,unifiac-lite|\
ubnt,unifiac-mesh|\ ubnt,unifiac-mesh|\
ubnt,unifiac-mesh-pro|\ ubnt,unifiac-mesh-pro|\
ubnt,nanostation-ac|\
ubnt,nanostation-ac-loco|\ ubnt,nanostation-ac-loco|\
ubnt,unifiac-pro) ubnt,unifiac-pro)
ath10kcal_extract "EEPROM" 20480 2116 ath10kcal_extract "EEPROM" 20480 2116

View file

@ -0,0 +1,78 @@
// 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,nanostation-ac", "ubnt,wa";
model = "Ubiquiti Nanostation AC (WA)";
gpio-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>;
phy0: ethernet-phy@0 {
phy-mode = "rgmii";
reg = <0>;
qca,ar8327-initvals = <
0x04 0x07600000 /* PORT0 PAD MODE CTRL */
0x58 0xffb7ffb7 /* LED_CTRL2 */
0x5c 0x03ffff00 /* LED_CTRL3 */
0x7c 0x0000007e /* PORT0_STATUS */
>;
};
};
&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 = <&phy0>;
gmac-config {
device = <&gmac>;
rxd-delay = <2>;
rxdv-delay = <2>;
};
};
&wmac {
status = "okay";
mtd-cal-data = <&eeprom 0x1000>;
mtd-mac-address = <&eeprom 0x1002>;
};

View file

@ -84,6 +84,16 @@ define Device/ubnt_nano-m
endef endef
TARGET_DEVICES += ubnt_nano-m TARGET_DEVICES += ubnt_nano-m
define Device/ubnt_nanostation-ac
$(Device/ubnt-wa)
DEVICE_TITLE := Ubiquiti Nanostation AC
DEVICE_PACKAGES += kmod-ath10k ath10k-firmware-qca988x
IMAGE_SIZE := 15744k
IMAGES += factory.bin
IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin) | mkubntimage-split
endef
TARGET_DEVICES += ubnt_nanostation-ac
define Device/ubnt_nanostation-ac-loco define Device/ubnt_nanostation-ac-loco
$(Device/ubnt-wa) $(Device/ubnt-wa)
DEVICE_TITLE := Ubiquiti Nanostation AC loco DEVICE_TITLE := Ubiquiti Nanostation AC loco