[PATCH 2/2] ath79: add support for Ubiquiti PowerBeam M2 (XW)

2021-08-12 Thread Russell Senior
This patch adds support for the Ubiquiti PowerBeam M (XW), e.g. PBE-M5-400,
a 802.11n wireless with a feed+dish form factor. This device was previously
supported by the ar71xx loco-m-xw firmware.

Specifications:
 - Atheros AR9342 SoC
 - 64 MB RAM
 - 8 MB SPI flash
 - 1x 10/100 Mbps Ethernet port, 24 Vdc PoE-in
 - Power and LAN green LEDs
 - 4x RSSI LEDs (red, orange, green, green)
 - UART (115200 8N1)

Flashing via stock GUI:
 - Downgrade to AirOS v5.5.x (latest available is 5.5.10-u2) first (see
   https://openwrt.org/toh/ubiquiti/powerbeam installation instructions)
 - Upload the factory image via AirOS web GUI.

Flashing via TFTP:
 - Use a pointy tool (e.g., unbent paperclip) to keep the
   reset button pressed.
 - Power on the device (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-x-ubnt_powerbeam-m2-xw-squashfs-factory.bin

WARNING: so far, no non-destructive method has been discovered for
opening the enclosure to reach the serial console. Internal photos
are available here: https://fcc.io/SWX-NBM5HP

Signed-off-by: Russell Senior 
---
 .../ath79/dts/ar9342_ubnt_powerbeam-m2-xw.dts | 34 +++
 .../generic/base-files/etc/board.d/01_leds|  1 +
 .../generic/base-files/etc/board.d/02_network |  1 +
 target/linux/ath79/image/generic-ubnt.mk  |  8 +
 4 files changed, 44 insertions(+)
 create mode 100644 target/linux/ath79/dts/ar9342_ubnt_powerbeam-m2-xw.dts

diff --git a/target/linux/ath79/dts/ar9342_ubnt_powerbeam-m2-xw.dts 
b/target/linux/ath79/dts/ar9342_ubnt_powerbeam-m2-xw.dts
new file mode 100644
index 00..046715b00a
--- /dev/null
+++ b/target/linux/ath79/dts/ar9342_ubnt_powerbeam-m2-xw.dts
@@ -0,0 +1,34 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "ar9342_ubnt_xw.dtsi"
+
+/ {
+   compatible = "ubnt,powerbeam-m2-xw", "ubnt,xw", "qca,ar9342";
+   model = "Ubiquiti PowerBeam M2 (XW)";
+};
+
+ {
+   status = "okay";
+
+   phy-mask = <4>;
+
+   phy1: ethernet-phy@1 {
+   reg = <1>;
+   };
+};
+
+ {
+   status = "okay";
+
+   /* default for ar934x, except for 1000M and 10M */
+   pll-data = <0x0200 0x0101 0x1313>;
+
+   phy-mode = "rgmii-id";
+   phy-handle = <>;
+
+   gmac-config {
+   device = <>;
+   rxd-delay = <3>;
+   rxdv-delay = <3>;
+   };
+};
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 5707bbac4e..8715a57213 100644
--- a/target/linux/ath79/generic/base-files/etc/board.d/01_leds
+++ b/target/linux/ath79/generic/base-files/etc/board.d/01_leds
@@ -406,6 +406,7 @@ ubnt,nanostation-loco-m-xw|\
 ubnt,nanostation-m|\
 ubnt,nanostation-m-xw|\
 ubnt,picostation-m|\
+ubnt,powerbeam-m2-xw|\
 ubnt,powerbeam-m5-xw|\
 ubnt,powerbridge-m|\
 ubnt,rocket-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 780068790c..fba6d56674 100644
--- a/target/linux/ath79/generic/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network
@@ -86,6 +86,7 @@ ath79_setup_interfaces()
ubnt,picostation-m|\
ubnt,powerbeam-5ac-500|\
ubnt,powerbeam-5ac-gen2|\
+   ubnt,powerbeam-m2-xw|\
ubnt,powerbeam-m5-xw|\
ubnt,powerbridge-m|\
ubnt,rocket-5ac-lite|\
diff --git a/target/linux/ath79/image/generic-ubnt.mk 
b/target/linux/ath79/image/generic-ubnt.mk
index 547af632f6..3888e1652b 100644
--- a/target/linux/ath79/image/generic-ubnt.mk
+++ b/target/linux/ath79/image/generic-ubnt.mk
@@ -328,6 +328,14 @@ define Device/ubnt_powerbeam-5ac-gen2
 endef
 TARGET_DEVICES += ubnt_powerbeam-5ac-gen2
 
+define Device/ubnt_powerbeam-m2-xw
+  $(Device/ubnt-xw)
+  DEVICE_MODEL := PowerBeam M2
+  DEVICE_PACKAGES += rssileds
+  SUPPORTED_DEVICES += loco-m-xw
+endef
+TARGET_DEVICES += ubnt_powerbeam-m2-xw
+
 define Device/ubnt_powerbeam-m5-xw
   $(Device/ubnt-xw)
   DEVICE_MODEL := PowerBeam M5
-- 
2.32.0


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[PATCH 1/2] ath79: rename Ubiquiti powerbeam-m to powerbeam-m5

2021-08-12 Thread Russell Senior
The commit 12eb5b2384a6 added support for Ubiquiti PowerBeam M (XW), tested
on the PBE-M5-400. But, it turns out the PBE-M2-400 has a different ethernet
configuration, so make the support specific to the m5 version in anticipation
of adding specific support for the m2 in a separate commit.

Signed-off-by: Russell Senior 
---
 ...t_powerbeam-m-xw.dts => ar9342_ubnt_powerbeam-m5-xw.dts} | 2 +-
 target/linux/ath79/generic/base-files/etc/board.d/01_leds   | 2 +-
 .../linux/ath79/generic/base-files/etc/board.d/02_network   | 2 +-
 target/linux/ath79/image/generic-ubnt.mk| 6 +++---
 4 files changed, 6 insertions(+), 6 deletions(-)
 rename target/linux/ath79/dts/{ar9342_ubnt_powerbeam-m-xw.dts => 
ar9342_ubnt_powerbeam-m5-xw.dts} (88%)

diff --git a/target/linux/ath79/dts/ar9342_ubnt_powerbeam-m-xw.dts 
b/target/linux/ath79/dts/ar9342_ubnt_powerbeam-m5-xw.dts
similarity index 88%
rename from target/linux/ath79/dts/ar9342_ubnt_powerbeam-m-xw.dts
rename to target/linux/ath79/dts/ar9342_ubnt_powerbeam-m5-xw.dts
index 6db058f887..09494ad538 100644
--- a/target/linux/ath79/dts/ar9342_ubnt_powerbeam-m-xw.dts
+++ b/target/linux/ath79/dts/ar9342_ubnt_powerbeam-m5-xw.dts
@@ -3,7 +3,7 @@
 #include "ar9342_ubnt_xw.dtsi"
 
 / {
-   compatible = "ubnt,powerbeam-m-xw", "ubnt,xw", "qca,ar9342";
+   compatible = "ubnt,powerbeam-m5-xw", "ubnt,xw", "qca,ar9342";
model = "Ubiquiti PowerBeam M (XW)";
 };
 
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 7a07b0ce6d..5707bbac4e 100644
--- a/target/linux/ath79/generic/base-files/etc/board.d/01_leds
+++ b/target/linux/ath79/generic/base-files/etc/board.d/01_leds
@@ -406,7 +406,7 @@ ubnt,nanostation-loco-m-xw|\
 ubnt,nanostation-m|\
 ubnt,nanostation-m-xw|\
 ubnt,picostation-m|\
-ubnt,powerbeam-m-xw|\
+ubnt,powerbeam-m5-xw|\
 ubnt,powerbridge-m|\
 ubnt,rocket-m)
ucidef_set_rssimon "wlan0" "20" "1"
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 4fe7fbc027..780068790c 100644
--- a/target/linux/ath79/generic/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network
@@ -86,7 +86,7 @@ ath79_setup_interfaces()
ubnt,picostation-m|\
ubnt,powerbeam-5ac-500|\
ubnt,powerbeam-5ac-gen2|\
-   ubnt,powerbeam-m-xw|\
+   ubnt,powerbeam-m5-xw|\
ubnt,powerbridge-m|\
ubnt,rocket-5ac-lite|\
ubnt,rocket-m|\
diff --git a/target/linux/ath79/image/generic-ubnt.mk 
b/target/linux/ath79/image/generic-ubnt.mk
index 01e8533fd6..547af632f6 100644
--- a/target/linux/ath79/image/generic-ubnt.mk
+++ b/target/linux/ath79/image/generic-ubnt.mk
@@ -328,13 +328,13 @@ define Device/ubnt_powerbeam-5ac-gen2
 endef
 TARGET_DEVICES += ubnt_powerbeam-5ac-gen2
 
-define Device/ubnt_powerbeam-m-xw
+define Device/ubnt_powerbeam-m5-xw
   $(Device/ubnt-xw)
-  DEVICE_MODEL := PowerBeam M
+  DEVICE_MODEL := PowerBeam M5
   DEVICE_PACKAGES += rssileds
   SUPPORTED_DEVICES += loco-m-xw
 endef
-TARGET_DEVICES += ubnt_powerbeam-m-xw
+TARGET_DEVICES += ubnt_powerbeam-m5-xw
 
 define Device/ubnt_powerbridge-m
   $(Device/ubnt-xm)
-- 
2.32.0


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[PATCH 0/2] ath79: split support for Ubiquiti PowerBeam M5 and M2

2021-08-12 Thread Russell Senior
A previous commit added support for Ubiquiti PowerBeam M, but it turns out
that the M5 (PBE-M5-400) tested worked fine, but the M2 (PBE-M2-400) requires
a different ethernet configuration. This series renames powerbeam-m to
powerbeam-m5, and adds support specifically for powerbeam-m2. Only tested on
PBE-M2-400.

The series is composed of the following commits:
 [PATCH 1/2] ath79: rename Ubiquiti powerbeam-m to powerbeam-m5
 [PATCH 2/2] ath79: add support for Ubiquiti PowerBeam M2 (XW)

Signed-off-by: Russell Senior 


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [PATCH] ath79: add support for onion omega

2021-08-12 Thread David Bauer
Hi Jan-Niklas,

On 8/11/21 6:54 PM, Jan-Niklas Burfeind wrote:
> The Onion Omega is a hardware development platform with built-in WiFi.
> 
> https://onioniot.github.io/wiki/
> 
> Specifications:
>  - QCA9331 @ 400 MHz (MIPS 24Kc Big-Endian Processor)
>  - 64MB of DDR2 RAM running at 400 MHz
>  - 16MB of on-board flash storage
>  - Support for USB 2.0
>  - Support for Ethernet at 100 Mbps
>  - 802.11b/g/n WiFi at 150 Mbps
>  - 18 digital GPIOs
>  - A single Serial UART
>  - Support for SPI
>  - Support for I2S
> 
> Flash instructions:
> The device is running OpenWrt upon release using the ar71xx target.
> Both a sysupgrade
> and uploading the factory image using u-boots web-UI do work fine.
> 
> Depending on the ssh client, it might be necessary to enable outdated
> KeyExchange methods e.g. in the clients ssh-config:
> 
> Host 192.168.1.1
> KexAlgorithms +diffie-hellman-group1-sha1
> 
> The stock credentials are: root onioneer
> 
> For u-boots web-UI manually configure `192.168.1.2/24` on your computer,
> connect to `192.168.1.1`.
> 
> MAC addresses as verified by OEM firmware:
> 2G   phy0  label
> LAN  eth0  label - 1
> 
> LAN is only available in combination with an optional expansion dock.
> 
> Based on vendor acked commit:
> commit 5cd49bb067ca ("ar71xx: add support for Onion Omega")
> 
> Partly reverts:
> commit fc553c7e4c8e ("ath79: drop unused/incomplete dts")
> 
> Signed-off-by: Jan-Niklas Burfeind 
> ---
>  target/linux/ath79/dts/ar9331_onion_omega.dts | 138 ++
>  .../generic/base-files/etc/board.d/02_network |   1 +
>  target/linux/ath79/image/generic.mk   |  14 ++
>  3 files changed, 153 insertions(+)
>  create mode 100644 target/linux/ath79/dts/ar9331_onion_omega.dts
> 
> diff --git a/target/linux/ath79/dts/ar9331_onion_omega.dts 
> b/target/linux/ath79/dts/ar9331_onion_omega.dts
> new file mode 100644
> index 00..3b72a293b4
> --- /dev/null
> +++ b/target/linux/ath79/dts/ar9331_onion_omega.dts
> @@ -0,0 +1,138 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> +/dts-v1/;
> +
> +#include 
> +#include 
> +
> +#include "ar9331.dtsi"
> +
> +/ {
> + model = "Onion Omega";
> + compatible = "onion,omega", "qca,ar9331";
> +
> + aliases {
> + serial0 = 
> + led-boot = _system;
> + led-failsafe = _system;
> + led-running = _system;
> + led-upgrade = _system;
> + };
> +
> + leds {
> + compatible = "gpio-leds";
> +
> + led_system: system {
> + label = "onion:amber:system";

Remove the model name from the LED name.

> + gpios = < 27 GPIO_ACTIVE_LOW>;
> + };
> + };
> +
> + keys {
> + compatible = "gpio-keys-polled";
> + poll-interval = <100>;
> +
> + button0 {
> + label = "reset";
> + linux,code = ;
> + gpios = < 11 GPIO_ACTIVE_HIGH>;
> + };
> + };
> +};
> +
> + {
> + clock-frequency = <2500>;
> +};
> +
> + {
> + status = "okay";
> +};
> +
> + {
> + status = "okay";
> +};
> +
> + {
> + status = "okay";
> +
> + dr_mode = "host";
> +};
> +
> +_phy {
> + status = "okay";
> +};
> +
> + {
> + status = "okay";
> +
> + compatible = "syscon", "simple-mfd";
> +};
> +
> + {
> + status = "okay";
> +
> + nvmem-cells = <_uboot_1fc00>;
> + nvmem-cell-names = "mac-address";
> + mac-address-increment = <(-1)>;
> +
> + gmac-config {
> + device = <>;
> + switch-phy-addr-swap = <4>;
> + switch-phy-swap = <4>;
> + };
> +};
> +
> +
> + {
> + status = "okay";
> +
> + num-chipselects = <1>;
> +
> + /* Winbond 25Q128FVSG SPI flash */
> + flash@0 {
> + compatible = "winbond,w25q128", "jedec,spi-nor";

Drop the winbond compatible - defining model-specific compatible is considered 
legacy
in case it is not required for Flash-ID duplicates.

> + spi-max-frequency = <2500>;
> + reg = <0>;
> +
> + partitions {
> + compatible = "fixed-partitions";
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + uboot: partition@0 {
> + label = "u-boot";
> + reg = <0x00 0x02>;
> + read-only;
> + };
> +
> + partition@2 {
> + compatible = "tplink,firmware";
> + label = "firmware";
> + reg = <0x02 0xfd>;
> + };
> +
> + art: partition@ff {
> + label = "art";
> + reg = <0xff 0x01>;
> + read-only;
> + 

[PATCH] treewide: add missing config symbols

2021-08-12 Thread Hannu Nyman
Add the next bunch of new config symbols found after
eaa9c94c7 exposed their existence.

Signed-off-by: Hannu Nyman 

---
Buildbot is currently broken on those targets due to the missing
symbols.

(I didn't yet touch CONFIG_USB_XHCI_TEGRA as I am not sure if
 it should be added enabled for Tegra.)

 target/linux/bcm4908/config-5.4  | 1 +
 target/linux/mediatek/mt7623/config-5.10 | 1 +
 target/linux/mediatek/mt7629/config-5.4  | 1 +
 target/linux/rockchip/armv8/config-5.4   | 1 +
 4 files changed, 4 insertions(+)

diff --git a/target/linux/bcm4908/config-5.4 b/target/linux/bcm4908/config-5.4
index 6f43a822c8..cc3b88cb76 100644
--- a/target/linux/bcm4908/config-5.4
+++ b/target/linux/bcm4908/config-5.4
@@ -39,6 +39,7 @@ CONFIG_B53=y
 # CONFIG_B53_MDIO_DRIVER is not set
 # CONFIG_B53_MMAP_DRIVER is not set
 # CONFIG_B53_SERDES is not set
+# CONFIG_B53_SPI_DRIVER is not set
 # CONFIG_B53_SRAB_DRIVER is not set
 CONFIG_BCM4908_ENET=y
 CONFIG_BCM7XXX_PHY=y
diff --git a/target/linux/mediatek/mt7623/config-5.10 
b/target/linux/mediatek/mt7623/config-5.10
index 9cbee56643..1bb0c2b692 100644
--- a/target/linux/mediatek/mt7623/config-5.10
+++ b/target/linux/mediatek/mt7623/config-5.10
@@ -166,6 +166,7 @@ CONFIG_DRM_MEDIATEK=y
 CONFIG_DRM_MEDIATEK_HDMI=y
 CONFIG_DRM_MIPI_DSI=y
 CONFIG_DRM_PANEL=y
+# CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 is not set
 CONFIG_DRM_PANEL_BRIDGE=y
 CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
 CONFIG_DRM_SCHED=y
diff --git a/target/linux/mediatek/mt7629/config-5.4 
b/target/linux/mediatek/mt7629/config-5.4
index ca27a4f62c..1e5c0fc609 100644
--- a/target/linux/mediatek/mt7629/config-5.4
+++ b/target/linux/mediatek/mt7629/config-5.4
@@ -321,6 +321,7 @@ CONFIG_REGMAP_MMIO=y
 CONFIG_RESET_CONTROLLER=y
 CONFIG_RFS_ACCEL=y
 CONFIG_RPS=y
+# CONFIG_RTL8367S_GSW is not set
 CONFIG_RWSEM_SPIN_ON_OWNER=y
 CONFIG_SCSI=y
 CONFIG_SERIAL_8250_FSL=y
diff --git a/target/linux/rockchip/armv8/config-5.4 
b/target/linux/rockchip/armv8/config-5.4
index ee6a0021b5..84ab2c2107 100644
--- a/target/linux/rockchip/armv8/config-5.4
+++ b/target/linux/rockchip/armv8/config-5.4
@@ -175,6 +175,7 @@ CONFIG_DMA_REMAP=y
 CONFIG_DMA_SHARED_BUFFER=y
 CONFIG_DNOTIFY=y
 CONFIG_DRM_RCAR_WRITEBACK=y
+# CONFIG_DRM_ROCKCHIP is not set
 CONFIG_DTC=y
 CONFIG_DT_IDLE_STATES=y
 CONFIG_DUMMY_CONSOLE=y
-- 
2.30.2


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[PATCH] ethtool: fix recursive dependency

2021-08-12 Thread Eneas U de Queiroz
Change the CONFLICTS definition from the alternative package
(ethtool-full) to the main one.

The CONFLICTS line creates a dependency to the conflicting package.

Right now, the dependency would be created in the PACKAGE_ethtool-full
symbol:

config PACKAGE_ethtool-full
depends on m || (PACKAGE_ethtool != y)

When the main package is selected by airmon-ng, it selects
PACKAGE_ethtool, *depending* on the value of PACKAGE_ethtool-full:

config PACKAGE_airmon-ng
select PACKAGE_ethtool if PACKAGE_ethtool-full
---
 package/network/utils/ethtool/Makefile | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/package/network/utils/ethtool/Makefile 
b/package/network/utils/ethtool/Makefile
index a82e5c92fa..9889677a16 100644
--- a/package/network/utils/ethtool/Makefile
+++ b/package/network/utils/ethtool/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ethtool
 PKG_VERSION:=5.13
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_MAINTAINER:=Felix Fietkau 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
@@ -31,6 +31,7 @@ define Package/ethtool
   TITLE:=Display or change ethernet card settings
   URL:=http://www.kernel.org/pub/software/network/ethtool/
   VARIANT:=tiny
+  CONFLICTS:=ethtool-full
 endef
 
 define Package/ethtool-full
@@ -38,8 +39,8 @@ define Package/ethtool-full
   TITLE += (full)
   VARIANT:=full
   PROVIDES:=ethtool
-  CONFLICTS:=ethtool
   DEPENDS:=+libmnl
+  CONFLICTS:=
 endef
 
 define Package/ethtool/description

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel