Skip to content

Commit

Permalink
ath79: add support for UniFi UK-Ultra
Browse files Browse the repository at this point in the history
Hardware
--------
CPU:   Qualcomm Atheros QCA9563
RAM:   128M DDR2
FLASH: 16MB SPI-NOR
WiFi:  Qualcomm Atheros QCA9563 2x2:2 802.11n 2.4GHz
       Qualcomm Atheros QCA9880 2x2:2 802.11ac 5GHz

Antennas
--------
The device features internal antennas as well as external antenna
connectors. By default, the internal antennas are used.

Two GPIOs are exported by name, which can be used to control the
antenna-path mux. Writing a logical 0 enables the external antenna
connectors.

Installation
------------
1. Download the OpenWrt sysupgrade image to the device. You can use scp
   for this task. The default username and password are "ubnt" and the
   device is reachable at 192.168.1.20.

   $ scp -O openwrt-sysupgrade.bin ubnt@192.168.1.20:/tmp/firmware.bin

2. Connect to the device using SSH.

   $ ssh ubnt@192.168.1.20

3. Disable the write-protect

   $ echo "5edfacbf" > /proc/ubnthal/.uf

4. Verify kernel0 and kernel1 match mtd2 and mtd3

   $ cat /proc/mtd

5. Write the sysupgrade image to kernel0 and kernel1

   $ dd if=/tmp/firmware.bin of=/dev/mtdblock2
   $ dd if=/tmp/firmware.bin of=/dev/mtdblock3

6. Write the bootselect flag to boot from kernel0

   $ dd if=/dev/zero bs=1 count=1 of=/dev/mtd4

7. Reboot the device

   $ reboot

Signed-off-by: David Bauer <mail@david-bauer.net>
  • Loading branch information
blocktrron committed Jan 7, 2024
1 parent c9e58f8 commit bf94e0a
Show file tree
Hide file tree
Showing 7 changed files with 56 additions and 1 deletion.
35 changes: 35 additions & 0 deletions target/linux/ath79/dts/qca9563_ubnt_uk-ultra.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT

#include "qca9563_ubnt_unifiac-lite.dtsi"

/ {
compatible = "ubnt,uk-ultra", "qca,qca9563";
model = "Ubiquiti UniFi Swiss Army Knife Ultra";
};

&leds {
led-rssi0 {
label = "white:rssi0";
gpios = <&gpio 21 GPIO_ACTIVE_HIGH>;
};

led-rssi1 {
label = "white:rssi1";
gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
};

led-rssi2 {
label = "white:rssi2";
gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
};

led-rssi3 {
label = "white:rssi3";
gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
};
};

/**
* Antenna selection on GPIO5 and GPIO6
* High = Internal ; Low = External
*/
2 changes: 1 addition & 1 deletion target/linux/ath79/dts/qca9563_ubnt_unifiac.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
led-upgrade = &led_blue;
};

leds {
leds: leds {
compatible = "gpio-leds";

led_white: led_white {
Expand Down
7 changes: 7 additions & 0 deletions target/linux/ath79/generic/base-files/etc/board.d/01_leds
Original file line number Diff line number Diff line change
Expand Up @@ -516,6 +516,13 @@ ubnt,rocket-m)
ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "green:link3" "wlan0" "51" "100"
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "green:link4" "wlan0" "76" "100"
;;
ubnt,uk-ultra)
ucidef_set_rssimon "wlan0" "200000" "1"
ucidef_set_led_rssi "rssilow" "RSSILOW" "white:rssi0" "wlan0" "1" "100"
ucidef_set_led_rssi "rssimediumlow" "RSSIMEDIUMLOW" "white:rssi1" "wlan0" "26" "100"
ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "white:rssi2" "wlan0" "51" "100"
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "white:rssi3" "wlan0" "76" "100"
;;
wallys,dr531)
ucidef_set_led_netdev "lan" "LAN" "green:lan" "eth0"
ucidef_set_led_switch "wan" "WAN" "green:wan" "switch0" "0x2"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ ath79_setup_interfaces()
ubnt,powerbridge-m|\
ubnt,rocket-5ac-lite|\
ubnt,rocket-m|\
ubnt,uk-ultra|\
ubnt,unifiac-lite|\
ubnt,unifiac-lr|\
ubnt,unifiac-mesh|\
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,10 @@ ubnt,nanostation-m)
ubnt,nanostation-m-xw)
ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "2"
;;
ubnt,uk-ultra)
ucidef_add_gpio_switch "ant0_internal" "ANT0 Internal" "5" "1"
ucidef_add_gpio_switch "ant1_internal" "ANT1 Internal" "6" "1"
;;
zbtlink,zbt-wd323)
ucidef_add_gpio_switch "io0" "IO#0" "0"
ucidef_add_gpio_switch "io1" "IO#1" "1"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ case "$FIRMWARE" in
sophos,ap100|\
sophos,ap100c|\
ubnt,bullet-ac|\
ubnt,uk-ultra|\
ubnt,unifiac-lite|\
ubnt,unifiac-lr|\
ubnt,unifiac-mesh|\
Expand Down
7 changes: 7 additions & 0 deletions target/linux/ath79/image/generic-ubnt.mk
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,13 @@ define Device/ubnt_routerstation-pro
endef
TARGET_DEVICES += ubnt_routerstation-pro

define Device/ubnt_uk-ultra
$(Device/ubnt_unifiac)
DEVICE_MODEL := UniFi Swiss Army Knife Ultra
DEVICE_PACKAGES += rssileds -swconfig
endef
TARGET_DEVICES += ubnt_uk-ultra

define Device/ubnt_unifi-ap
$(Device/ubnt-bz)
DEVICE_MODEL := UniFi AP
Expand Down

0 comments on commit bf94e0a

Please sign in to comment.