From b56bcfe3be40493daecf13a4080920de2994ff54 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 --- .../ath79/dts/ar7241_ubnt_nanostation-loco-m.dts | 13 +++++++++++++ .../ath79/generic/base-files/etc/board.d/01_leds | 1 + .../ath79/generic/base-files/etc/board.d/02_network | 2 ++ .../etc/hotplug.d/firmware/10-ath9k-eeprom | 1 + target/linux/ath79/image/generic-ubnt.mk | 8 ++++++++ 5 files changed, 25 insertions(+) create mode 100644 target/linux/ath79/dts/ar7241_ubnt_nanostation-loco-m.dts 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/generic/base-files/etc/board.d/01_leds b/target/linux/ath79/generic/base-files/etc/board.d/01_leds index 946d7306c3..3567df662b 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/01_leds +++ b/target/linux/ath79/generic/base-files/etc/board.d/01_leds @@ -244,6 +244,7 @@ trendnet,tew-823dru) ;; ubnt,bullet-m|\ ubnt,bullet-m-xw|\ +ubnt,nanostation-loco-m|\ ubnt,nanostation-loco-m-xw|\ ubnt,nanostation-m|\ ubnt,nanostation-m-xw|\ diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network index 69c19358e2..993632562f 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -47,6 +47,7 @@ ath79_setup_interfaces() ubnt,litebeam-ac-gen2|\ ubnt,nanobeam-ac|\ ubnt,nanostation-ac-loco|\ + ubnt,nanostation-loco-m|\ ubnt,nanostation-loco-m-xw|\ ubnt,rocket-m|\ ubnt,unifiac-lite|\ @@ -426,6 +427,7 @@ ath79_setup_macs() ;; ubnt,airrouter|\ ubnt,bullet-m|\ + ubnt,nanostation-loco-m|\ ubnt,nanostation-m|\ ubnt,rocket-m|\ ubnt,unifi) diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom index 312acc8684..ea42478c61 100644 --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom @@ -90,6 +90,7 @@ case "$FIRMWARE" in tplink,tl-wr842n-v1|\ ubnt,airrouter|\ ubnt,bullet-m|\ + ubnt,nanostation-loco-m|\ ubnt,nanostation-m|\ ubnt,rocket-m) caldata_extract "art" 0x1000 0x1000 diff --git a/target/linux/ath79/image/generic-ubnt.mk b/target/linux/ath79/image/generic-ubnt.mk index ffae83eda5..c0b6121238 100644 --- a/target/linux/ath79/image/generic-ubnt.mk +++ b/target/linux/ath79/image/generic-ubnt.mk @@ -179,6 +179,14 @@ define Device/ubnt_nanostation-ac-loco endef TARGET_DEVICES += ubnt_nanostation-ac-loco +define Device/ubnt_nanostation-loco-m + $(Device/ubnt-xm) + DEVICE_MODEL := Nanostation Loco M + DEVICE_PACKAGES += rssileds + SUPPORTED_DEVICES += bullet-m +endef +TARGET_DEVICES += ubnt_nanostation-loco-m + define Device/ubnt_nanostation-loco-m-xw $(Device/ubnt-xw) DEVICE_MODEL := Nanostation Loco M