From 6a950afde1bf366b0a98a04e2cd43adbfa11fa74 Mon Sep 17 00:00:00 2001 From: Sven Roederer Date: Mon, 17 Feb 2020 12:22:53 +0100 Subject: [PATCH] ath79: add support for Ubiquiti Nanostation Loco M (XM) This adds support for the Ubiquiti Nanostation Loco M (XM), which has the same board/LEDs as the Bullet M XM, but different case and antennas. Specifications: - AR7241 SoC @ 400 MHz - 32 MB RAM - 8 MB SPI flash - 1x 10/100 Mbps Ethernet, 24 Vdc PoE-in - NS Loco M2: built-in antenna: 8 dBi; AR9287 - NS Loco M5: built-in antenna: 13 dBi; 2T2R 5 GHz radio - POWER/LAN green LEDs - 4x RSSI LEDs (red, orange, green, green) - UART (115200 8N1) on PCB Flashing via WebUI: Upload the factory image via the stock firmware web UI. Note that only certain firmware versions accept unsigned images. Refer to the device's Wiki page for further information. Flashing via TFTP: Same procedure as other NanoStation M boards. - Use a pointy tool (e.g., pen cap, paper clip) and keep the reset button on the device or on the PoE supply pressed - Power on the device via PoE (keep reset button pressed) - Keep pressing until LEDs flash alternatively LED1+LED3 => LED2+LED4 => LED1+LED3, etc. - Release reset button - The device starts a TFTP server at 192.168.1.20 - Set a static IP on the computer (e.g., 192.168.1.21/24) - Upload via tftp the factory image: $ tftp 192.168.1.20 tftp> bin tftp> trace tftp> put openwrt-ath79-generic-xxxxx-ubnt_nanostation-loco-m-squashfs-factory.bin Tested on NanoStation Loco M2. Signed-off-by: Sven Roederer Co-developed-by: Adrian Schmutzler Signed-off-by: Adrian Schmutzler (cherry picked from commit b56bcfe3be40493daecf13a4080920de2994ff54) --- target/linux/ath79/base-files/etc/board.d/01_leds | 1 + .../linux/ath79/base-files/etc/board.d/02_network | 1 + .../etc/hotplug.d/firmware/10-ath9k-eeprom | 1 + .../ath79/dts/ar7241_ubnt_nanostation-loco-m.dts | 13 +++++++++++++ target/linux/ath79/image/generic-ubnt.mk | 8 ++++++++ 5 files changed, 24 insertions(+) create mode 100644 target/linux/ath79/dts/ar7241_ubnt_nanostation-loco-m.dts 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 da092a5afb..c8b7541b08 100755 --- a/target/linux/ath79/base-files/etc/board.d/01_leds +++ b/target/linux/ath79/base-files/etc/board.d/01_leds @@ -200,6 +200,7 @@ tplink,tl-wr842n-v2) ;; ubnt,bullet-m|\ ubnt,bullet-m-xw|\ +ubnt,nanostation-loco-m|\ ubnt,nanostation-m|\ ubnt,nanostation-m-xw|\ ubnt,rocket-m) 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 2e77286540..177666c30d 100755 --- a/target/linux/ath79/base-files/etc/board.d/02_network +++ b/target/linux/ath79/base-files/etc/board.d/02_network @@ -38,6 +38,7 @@ ath79_setup_interfaces() ubnt,lap-120|\ ubnt,nanobeam-ac|\ ubnt,nanostation-ac-loco|\ + ubnt,nanostation-loco-m|\ ubnt,rocket-m|\ ubnt,unifiac-lite|\ ubnt,unifiac-lr|\ diff --git a/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom index 8f9c74ce39..21a59ee7d1 100644 --- a/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom +++ b/target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom @@ -173,6 +173,7 @@ case "$FIRMWARE" in tplink,tl-wr842n-v1|\ ubnt,airrouter|\ ubnt,bullet-m|\ + ubnt,nanostation-loco-m|\ ubnt,nanostation-m|\ ubnt,rocket-m) ath9k_eeprom_extract "art" 4096 4096 diff --git a/target/linux/ath79/dts/ar7241_ubnt_nanostation-loco-m.dts b/target/linux/ath79/dts/ar7241_ubnt_nanostation-loco-m.dts new file mode 100644 index 0000000000..386b7c7073 --- /dev/null +++ b/target/linux/ath79/dts/ar7241_ubnt_nanostation-loco-m.dts @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "ar7241_ubnt_xm_outdoor.dtsi" + +/ { + compatible = "ubnt,nanostation-loco-m", "ubnt,xm", "qca,ar7241"; + model = "Ubiquiti Nanostation Loco M"; +}; + +ð1 { + compatible = "syscon", "simple-mfd"; +}; diff --git a/target/linux/ath79/image/generic-ubnt.mk b/target/linux/ath79/image/generic-ubnt.mk index 12988d62e6..43be87e3d5 100644 --- a/target/linux/ath79/image/generic-ubnt.mk +++ b/target/linux/ath79/image/generic-ubnt.mk @@ -109,6 +109,14 @@ define Device/ubnt_rocket-m endef TARGET_DEVICES += ubnt_rocket-m +define Device/ubnt_nanostation-loco-m + $(Device/ubnt-xm) + DEVICE_TITLE := Ubiquiti Nanostation Loco M + DEVICE_PACKAGES += rssileds + SUPPORTED_DEVICES += bullet-m +endef +TARGET_DEVICES += ubnt_nanostation-loco-m + define Device/ubnt_nanostation-m $(Device/ubnt-xm) DEVICE_TITLE := Ubiquiti Nanostation M