ath79: add support for Ubiquiti Nanostation Loco M (XM)
authorSven Roederer <freifunk@it-solutions.geroedel.de>
Mon, 17 Feb 2020 11:22:53 +0000 (12:22 +0100)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Fri, 21 Feb 2020 13:12:30 +0000 (14:12 +0100)
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 <freifunk@it-solutions.geroedel.de>
Co-developed-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
(cherry picked from commit b56bcfe3be40493daecf13a4080920de2994ff54)

target/linux/ath79/base-files/etc/board.d/01_leds
target/linux/ath79/base-files/etc/board.d/02_network
target/linux/ath79/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
target/linux/ath79/dts/ar7241_ubnt_nanostation-loco-m.dts [new file with mode: 0644]
target/linux/ath79/image/generic-ubnt.mk

index da092a5afbe99463f05dcc9d2132e111daece5dd..c8b7541b0870fddbcac7e8da7b1005686b34082b 100755 (executable)
@@ -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)
index 2e772865404d356f4357b27f9fb5a86d8a49be15..177666c30d62ce6d1cd2613cfcc6e7fc8827d1f4 100755 (executable)
@@ -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|\
index 8f9c74ce398ded687e632858a55d717ed47de7f5..21a59ee7d1cd167b595719f40776d7ad08431ec4 100644 (file)
@@ -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 (file)
index 0000000..386b7c7
--- /dev/null
@@ -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";
+};
+
+&eth1 {
+       compatible = "syscon", "simple-mfd";
+};
index 12988d62e698a388d954b43ed964109f5b4696c3..43be87e3d5cb11e3dacf0a25a3a086d9640aa20b 100644 (file)
@@ -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