From d5812478ad4c882256e43a2ad52ddf0c0944db7b Mon Sep 17 00:00:00 2001 From: Russell Senior Date: Thu, 19 Mar 2020 04:27:28 -0700 Subject: [PATCH] ath79: add support for ubnt_bullet-m-ar7240 variant This adds support for the Ubiquiti Bullet M (AR7240). Specifications: - AR7240 SoC @ 400 MHz - 32 MB RAM - 8 MB SPI flash - 1x 10/100 Mbps Ethernet, 24 Vdc PoE-in - External antenna - 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. Attention: airOS firmware versions >= 5.6 have a new bootloader with an incompatible partition table! Please downgrade to <= 5.5 _before_ flashing OpenWrt! Refer to the device's Wiki page for further information. Flashing via TFTP: Same procedure as other Ubiquiti 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_bullet-m-ar7240-squashfs-factory.bin The "fixed-link" section of the device tree is needed to avoid errors like this: Generic PHY mdio.0:1f:04: Master/Slave resolution failed, maybe conflicting manual settings? With "fixed-link", the errors go away and eth0 comes up reliably. Signed-off-by: Russell Senior [fix SUPPORTED_DEVICES] Signed-off-by: Adrian Schmutzler --- .../ath79/dts/ar7240_ubnt_bullet-m-ar7240.dts | 22 +++++++++++++++++++ .../generic/base-files/etc/board.d/01_leds | 1 + .../generic/base-files/etc/board.d/02_network | 2 ++ .../etc/hotplug.d/firmware/10-ath9k-eeprom | 1 + target/linux/ath79/image/generic-ubnt.mk | 10 +++++++++ 5 files changed, 36 insertions(+) create mode 100644 target/linux/ath79/dts/ar7240_ubnt_bullet-m-ar7240.dts diff --git a/target/linux/ath79/dts/ar7240_ubnt_bullet-m-ar7240.dts b/target/linux/ath79/dts/ar7240_ubnt_bullet-m-ar7240.dts new file mode 100644 index 000000000000..58b35f5c8b8b --- /dev/null +++ b/target/linux/ath79/dts/ar7240_ubnt_bullet-m-ar7240.dts @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "ar7240.dtsi" +#include "ar724x_ubnt_xm.dtsi" +#include "ar724x_ubnt_xm_outdoor.dtsi" + +/ { + compatible = "ubnt,bullet-m-ar7240", "ubnt,xm", "qca,ar7240"; + model = "Ubiquiti Bullet M XM (AR7240)"; +}; + +ð0 { + fixed-link { + speed = <100>; + full-duplex; + }; +}; + +ð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 227ccf0dfec2..2df7dca89d8c 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 @@ -250,6 +250,7 @@ tplink,tl-wr842n-v2) trendnet,tew-823dru) ucidef_set_led_netdev "wan" "WAN" "trendnet:green:planet" "eth0" ;; +ubnt,bullet-m-ar7240|\ ubnt,bullet-m-ar7241|\ ubnt,bullet-m-xw|\ ubnt,nanostation-loco-m|\ 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 dbb722482b77..fc1fee484472 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 @@ -40,6 +40,7 @@ ath79_setup_interfaces() tplink,re450-v1|\ tplink,re450-v2|\ tplink,tl-wr902ac-v1|\ + ubnt,bullet-m-ar7240|\ ubnt,bullet-m-ar7241|\ ubnt,bullet-m-xw|\ ubnt,lap-120|\ @@ -446,6 +447,7 @@ ath79_setup_macs() label_mac=$wan_mac ;; ubnt,airrouter|\ + ubnt,bullet-m-ar7240|\ ubnt,bullet-m-ar7241|\ ubnt,nanostation-loco-m|\ ubnt,nanostation-m|\ 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 38f158896b01..0cf8b4351474 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 @@ -85,6 +85,7 @@ case "$FIRMWARE" in tplink,tl-wr2543-v1|\ tplink,tl-wr842n-v1|\ ubnt,airrouter|\ + ubnt,bullet-m-ar7240|\ ubnt,bullet-m-ar7241|\ ubnt,nanostation-loco-m|\ ubnt,nanostation-m|\ diff --git a/target/linux/ath79/image/generic-ubnt.mk b/target/linux/ath79/image/generic-ubnt.mk index 490202308942..95853b6c4612 100644 --- a/target/linux/ath79/image/generic-ubnt.mk +++ b/target/linux/ath79/image/generic-ubnt.mk @@ -113,6 +113,16 @@ define Device/ubnt_airrouter endef TARGET_DEVICES += ubnt_airrouter +define Device/ubnt_bullet-m-ar7240 + $(Device/ubnt-xm) + SOC := ar7240 + DEVICE_MODEL := Bullet-M + DEVICE_VARIANT := XM (AR7240) + DEVICE_PACKAGES += rssileds + SUPPORTED_DEVICES += bullet-m +endef +TARGET_DEVICES += ubnt_bullet-m-ar7240 + define Device/ubnt_bullet-m-ar7241 $(Device/ubnt-xm) SOC := ar7241 -- 2.30.2