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>
Wed, 19 Feb 2020 22:20:00 +0000 (23:20 +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>
target/linux/ath79/dts/ar7241_ubnt_nanostation-loco-m.dts [new file with mode: 0644]
target/linux/ath79/generic/base-files/etc/board.d/01_leds
target/linux/ath79/generic/base-files/etc/board.d/02_network
target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
target/linux/ath79/image/generic-ubnt.mk

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 946d7306c3be2aa562c57c34e393dc7790026e7c..3567df662b992bd34812b03aabd6e22e972a33e9 100755 (executable)
@@ -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|\
index 69c19358e29bae6f7f3a9ff6a7aa2975d72f6361..993632562f8c45331152116dbd463628761a4da3 100755 (executable)
@@ -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)
index 312acc86847e0c8a789e6a165cfff4414b456b28..ea42478c610bd880b410137f5e67ce6c55dbee45 100644 (file)
@@ -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
index ffae83eda592e55e6a98dfece12607b668aacdb6..c0b612123801bba9ac02f40a741e3f1c8c303eec 100644 (file)
@@ -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