openwrt/staging/ansuel.git
3 years agorealtek: update GPIO bindings in the dts files in dts-5.10
INAGAKI Hiroshi [Sat, 8 May 2021 08:51:29 +0000 (17:51 +0900)]
realtek: update GPIO bindings in the dts files in dts-5.10

this patch includes the following changes:

- adjust mapping for the new driver
  - GPIO 24 -> GPIO 0
  - GPIO 47 -> GPIO 0 (+ disabling system LED)

- disable pins in the invalid range
  (out of the range 0-31 of the new driver)
  - are these pins on the external RTL8231 (&gpio1)?
    - GPIO 67 (-> GPIO 3 on &gpio1?)
    - GPIO 94 (-> GPIO 30 on &gpio1?)

- drop "indirect-access-bus-id" property from gpio0 node in device dts
  files

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
3 years agorealtek: fix kernel panic in DSA driver for 5.10
INAGAKI Hiroshi [Sat, 8 May 2021 08:28:58 +0000 (17:28 +0900)]
realtek: fix kernel panic in DSA driver for 5.10

dsa_to_port function in 5.10 returns dsa_port from the port list in
dsa_switch_tree, but the tree is built when the switch is registered
by dsa_register_switch and it's null in rtl83xx_mdio_probe.

So, we need to use dsa_to_port after the registration of the switch.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
3 years agorealtek: add pinmux node of LED_GLB_CTRL to rtl838x.dtsi in dts-5.10
INAGAKI Hiroshi [Fri, 7 May 2021 03:10:10 +0000 (12:10 +0900)]
realtek: add pinmux node of LED_GLB_CTRL to rtl838x.dtsi in dts-5.10

This patch adds a pinctrl-single pinmux node to allow disabling system
LED and enabling GPIO 0 (old driver: GPIO 24).

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
3 years agorealtek: fix compile errors in dsa driver for 5.10
INAGAKI Hiroshi [Thu, 6 May 2021 15:38:22 +0000 (00:38 +0900)]
realtek: fix compile errors in dsa driver for 5.10

this patch fixes the following errors when compiling:

- dsa_switch_alloc is removed[1]

- a parameter "enum dsa_tag_protocol mprot" is added to dsa_tag_protocol
  in dsa_switch_ops (include/net/dsa.h)

- several paramters are added to "phylink_mac_link_up" in dsa_switch_ops
  (include/net/dsa.h)

  added:
    - int speed
    - int duplex
    - bool tx_pause
    - bool rx_pause

- a parameter "struct switchdev_trans *trans" is added to
  port_vlan_filtering in dsa_switch_ops (include/net/dsa.h)

[1]: https://lore.kernel.org/lkml/20191020031941.3805884-17-vivien.didelot@gmail.com/

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
3 years agorealtek: fix compile errors in rtl838x_eth.c for 5.10
INAGAKI Hiroshi [Thu, 6 May 2021 14:22:19 +0000 (23:22 +0900)]
realtek: fix compile errors in rtl838x_eth.c for 5.10

this patch fixes the following errors when compiling:

- "unsigned int txqueue" is added as an additional parameter of
  ndo_tx_timeout in net_device_ops (include/linux/netdevice.h)

- "mac_link_state" in phylink_mac_ops (include/linux/phylink.h)
  is renamed to "mac_pcs_get_state" and changed the return value
  to void from int

- several parameters are added to "mac_link_up" in phylink_mac_ops
  (include/linux/phylink.h) and the order of the parameters is
  changed

  added:
    - int speed
    - int duplex
    - bool tx_pause
    - bool rx_pause

- a parameter "phy_interface_t *interface" is added to of_get_phy_mode
  (drivers/of/of_net.c) and returns the state instead of phy mode

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
3 years agorealtek: add "soc" node to soc dtsi in dts-5.10
INAGAKI Hiroshi [Thu, 6 May 2021 11:46:42 +0000 (20:46 +0900)]
realtek: add "soc" node to soc dtsi in dts-5.10

Add a "soc" node as a simple-bus to rtl838x.dtsi and rtl930x.dtsi.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
3 years agorealtek: update soc dtsi in 5.10 for backported drivers
INAGAKI Hiroshi [Thu, 6 May 2021 10:40:04 +0000 (19:40 +0900)]
realtek: update soc dtsi in 5.10 for backported drivers

this patch updates SoC dtsi (rtl838x.dtsi, rtl930x.dtsi) for the
following backported drivers:

- gpio-realtek-otto (5.13)
- spi-realtek-rtl (5.12)
- irq-realtek-rtl (5.12)

And, disable SoC GPIO node (gpio0) in rtl930x.dtsi in dts-5.10.
Currently, the upstreamed driver doesn't support the GPIO controller on
RTL930x SoC.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
3 years agorealtek: cleanup and update soc dtsi in 5.10
INAGAKI Hiroshi [Wed, 11 Aug 2021 11:27:38 +0000 (20:27 +0900)]
realtek: cleanup and update soc dtsi in 5.10

the following changes are included in this patch:

- node is enabled by default, drop 'status = "okay"'
- adjust order of "compatible" lines and "reg" lines
- add a new blank line before fixed-link node in rtl830x.dtsi

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
3 years agorealtek: copy dts directory for Kernel 5.10
INAGAKI Hiroshi [Wed, 11 Aug 2021 11:23:06 +0000 (20:23 +0900)]
realtek: copy dts directory for Kernel 5.10

This patch adds "dts-5.10" directory to use backported drivers.
There are several specification changes in the new drivers, so there
are some compatibility issues in using dts/dtsi files for 5.4.

The old DTS files are moved to "dts-5.4", so their corresponding
kernel version is obvious as well.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
[change "dts" to "dts-5.4", adjust Makefile]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agorealtek: refresh and update config-5.10
INAGAKI Hiroshi [Wed, 5 May 2021 13:47:19 +0000 (22:47 +0900)]
realtek: refresh and update config-5.10

This patch adjusts config-5.10 by running kernel_menuconfig.

Note:

- disable psb6970 phy driver (unused in realtek target?)

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
3 years agorealtek: refresh patches for Kernel 5.10
INAGAKI Hiroshi [Wed, 5 May 2021 05:02:49 +0000 (14:02 +0900)]
realtek: refresh patches for Kernel 5.10

This patch refresh all patches in patches-5.10/ to adjust for Kernel
5.10.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
3 years agorealtek: remove unnecessary line from rtl838x/Platform in 5.10
INAGAKI Hiroshi [Thu, 6 May 2021 09:17:54 +0000 (18:17 +0900)]
realtek: remove unnecessary line from rtl838x/Platform in 5.10

The following line is already defined in arch/mips/Kbuild.platforms by
300-mips-add-rtl838x-platform.patch.

platform-$(CONFIG_RTL838X) += rtl838x/

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
3 years agorealtek: drop fixup_bigphys_addr from ioremap.h in 5.10
INAGAKI Hiroshi [Wed, 5 May 2021 06:20:03 +0000 (15:20 +0900)]
realtek: drop fixup_bigphys_addr from ioremap.h in 5.10

A macro with the same name is provided in asm/pgtable.h in Kernel 5.10,
use it and drop from ioremap.h.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
3 years agorealtek: fix "help" line in Kconfig in files/patches for 5.10
INAGAKI Hiroshi [Wed, 5 May 2021 05:18:43 +0000 (14:18 +0900)]
realtek: fix "help" line in Kconfig in files/patches for 5.10

In Kernel 5.10, "help" must be used instead of "---help---".

this patch fixes the following errors:

drivers/net/dsa/rtl83xx/Kconfig:7: syntax errorgit
drivers/net/dsa/rtl83xx/Kconfig:6: unknown statement "---help---"
drivers/net/dsa/rtl83xx/Kconfig:7:warning: ignoring unsupported character '.'
drivers/net/dsa/rtl83xx/Kconfig:7: unknown statement "This"
drivers/net/ethernet/Kconfig:170: syntax error
drivers/net/ethernet/Kconfig:169: unknown statement "---help---"
drivers/net/ethernet/Kconfig:170:warning: ignoring unsupported character '.'
drivers/net/ethernet/Kconfig:170: unknown statement "Say"
drivers/net/phy/Kconfig:331: syntax error
drivers/net/phy/Kconfig:330: unknown statement "---help---"
drivers/net/phy/Kconfig:331: unknown statement "Supports"

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
3 years agorealtek: backport irq-realtek-rtl driver from 5.12 to 5.10
INAGAKI Hiroshi [Fri, 21 May 2021 14:16:37 +0000 (23:16 +0900)]
realtek: backport irq-realtek-rtl driver from 5.12 to 5.10

This patch backports "irq-realtek-rtl" driver to Kernel 5.10 from 5.12.
"MACH_REALTEK_RTL" is used as a platform name in upstream, but "RTL838X"
is used in OpenWrt, so update the dependency by the additional patch.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
3 years agorealtek: drop platform irq driver from 5.10
INAGAKI Hiroshi [Fri, 21 May 2021 14:20:43 +0000 (23:20 +0900)]
realtek: drop platform irq driver from 5.10

To use backported irq driver, drop old irq driver from realtek target
and call irqchip_init() in setup.c.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
3 years agorealtek: backport gpio-realtek-otto driver from 5.13 to 5.10
INAGAKI Hiroshi [Wed, 5 May 2021 13:05:39 +0000 (22:05 +0900)]
realtek: backport gpio-realtek-otto driver from 5.13 to 5.10

This patch backports "gpio-realtek-otto" driver to Kernel 5.10.
"MACH_REALTEK_RTL" is used as a platform name in upstream, but "RTL838X"
is used in OpenWrt, so update the dependency by the additional patch.

Note: GPIO mapping is changed in the upstreamed driver.

  old - new

   24 -  0
   25 -  1
   26 -  2
   27 -  3
   28 -  4
   29 -  5
   30 -  6
   31 -  7
   16 -  8
   17 -  9
   18 - 10
   19 - 11
   20 - 12
   21 - 13
   22 - 14
   23 - 15
    8 - 16
    9 - 17
   10 - 18
   11 - 19
   12 - 20
   13 - 21
   14 - 22
   15 - 23

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
3 years agorealtek: drop rtl838x gpio driver from 5.10
INAGAKI Hiroshi [Thu, 24 Jun 2021 11:32:31 +0000 (20:32 +0900)]
realtek: drop rtl838x gpio driver from 5.10

To backport the upstreamed driver (gpio-realtek-otto) from 5.13, drop the
old driver from realtek target.

And, modify 301-gpio-add-rtl838x-driver.patch to remove rtl838x GPIO
support and rename it only for rtl8231 GPIO support.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
3 years agorealtek: backport spi-realtek-rtl driver from 5.12 to 5.10
INAGAKI Hiroshi [Thu, 6 May 2021 10:30:58 +0000 (19:30 +0900)]
realtek: backport spi-realtek-rtl driver from 5.12 to 5.10

This patch backports "spi-realtek-rtl" driver to Kernel 5.10 from 5.12.
"MACH_REALTEK_RTL" is used as a platform name in upstream, but "RTL838X"
is used in OpenWrt, so update the dependency by the additional patch.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
3 years agorealtek: drop rtl838x spi-nor driver from 5.10
INAGAKI Hiroshi [Thu, 24 Jun 2021 11:22:51 +0000 (20:22 +0900)]
realtek: drop rtl838x spi-nor driver from 5.10

To backport the upstreamed driver (spi-realtek-rtl) from 5.12, drop the
old driver from realtek target.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
3 years agorealtek: copy config/files/patches to 5.10
INAGAKI Hiroshi [Wed, 5 May 2021 00:32:27 +0000 (09:32 +0900)]
realtek: copy config/files/patches to 5.10

this patch copies the following files from 5.4 to 5.10:

- config-5.4   -> config-5.10
- files-5.4/   -> files-5.10/
- patches-5.4/ -> patches-5.10/

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
[rebase on change in files-5.4]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoramips: enable I2C_CHARDEV
David Bauer [Fri, 20 Aug 2021 13:52:51 +0000 (15:52 +0200)]
ramips: enable I2C_CHARDEV

Expose I2C busses with a chardev device. This is required to control the
PSE controller on the Ubiquiti UniFi Flex Switch.

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agoramips: add support for Ubiquiti USW-Flex
David Bauer [Fri, 20 Aug 2021 11:23:42 +0000 (13:23 +0200)]
ramips: add support for Ubiquiti USW-Flex

Hardware
--------
MediaTek MT7621AT
16M SPI-NOR Macronix MX25L12835FMI
Microchip PD69104B1 4-Channel PoE-PSE controller
TI TPS2373 PoE-PD controller

PoE-Controller
--------------

By default, the PoE outputs do not work with OpenWrt. To make them output
power, install the "poemgr" package from the packages feed.
This package can control the PD69104B1 PSE controller.

Installation
------------

1. Connect to the booted device at 192.168.1.20 using username/password
   "ubnt" via SSH.

2. Add the uboot-envtools configuration file /etc/fw_env.config with the
   following content

   $ echo "/dev/mtd1 0x0 0x1000 0x10000 1" > /etc/fw_env.config

3. Update the bootloader environment.

   $ fw_setenv boot_openwrt "fdt addr \$(fdtcontroladdr);
     fdt rm /signature; bootubnt"
   $ fw_setenv bootcmd "run boot_openwrt"

4. Transfer the OpenWrt sysupgrade image to the device using SCP.

5. Check the mtd partition number for bs / kernel0 / kernel1

   $ cat /proc/mtd

6. Set the bootselect flag to boot from kernel0

   $ dd if=/dev/zero bs=1 count=1 of=/dev/mtdblock4

7. Write the OpenWrt sysupgrade image to both kernel0 as well as kernel1

   $ dd if=openwrt.bin of=/dev/mtdblock6
   $ dd if=openwrt.bin of=/dev/mtdblock7

8. Reboot the device. It should boot into OpenWrt.

Restore to UniFi
----------------

To restore the vendor firmware, follow the Ubiquiti UniFi TFTP
recovery guide for access points. The process is the same for
the Flex switch.

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agoath79: add support for TP-Link CPE710-v1
Andrew Cameron [Mon, 12 Apr 2021 18:24:33 +0000 (13:24 -0500)]
ath79: add support for TP-Link CPE710-v1

TP-Link CPE710-v1 is an outdoor wireless CPE for 5 GHz with
one Ethernet port based on the AP152 reference board

Specifications:
- SoC: QCA9563-AL3A MIPS 74kc @ 775MHz, AHB @ 258MHz
- RAM: 128MiB DDR2 @ 650MHz
- Flash: 16MiB SPI NOR Based on the GD25Q128
- Wi-Fi 5Ghz: ath10k chip (802.11ac for up to 867Mbps on 5GHz wireless
  data rate) Based on the QCA9896
- Ethernet: one 1GbE port
- 23dBi high-gain directional 2×2 MIMO antenna and a dedicated metal
  reflector
- Power, LAN, WLAN5G Blue LEDs
- 3x Blue LEDs

Flashing instructions:
Flash factory image through stock firmware WEB UI or through TFTP
To get to TFTP recovery just hold reset button while powering on for
around 30-40 seconds and release.
Rename factory image to recovery.bin
Stock TFTP server IP:192.168.0.100
Stock device TFTP address:192.168.0.254

Signed-off-by: Andrew Cameron <apcameron@softhome.net>
[convert to nvmem, fix MAC assignment in 11-ath10k-caldata]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agokernel: 5.10: backport fix for lp55xx LED driver
Robert Marko [Fri, 17 Sep 2021 10:27:44 +0000 (12:27 +0200)]
kernel: 5.10: backport fix for lp55xx LED driver

This backports the upstream commit:
leds: lp55xx: Initialize enable GPIO direction to output

Without it under kernel 5.10 on Asus MAP-AC2200
the LED driver will fail probing:
[    1.947521] lp5523x: probe of 0-0032 failed with error -22

After the backported fix:
[    1.873236] lp5523x 0-0032: lp5523 Programmable led chip found

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Tested-by: Szabolcs Hubai <szab.hu@gmail.com> [ipq4029/gl-b1300]
Tested-by: Nick Hainke <vincent@systemli.org> [ipq4019/fritzbox-7530
                                               ipq4019/fritzbox-4040
                                               ipq4019/sxtsq-5ac]
Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [ipq4019/map-ac2200]
3 years agoipq40xx: add testing support for kernel 5.10
Robert Marko [Sun, 12 Sep 2021 20:41:43 +0000 (22:41 +0200)]
ipq40xx: add testing support for kernel 5.10

Add kernel 5.10 as the testing kernel to ipq40xx to
get wider testing.

The following devices failed to build with buildbot settings and all
feeds installed (apparently due to kernel size):

 * cell-c rtl30vw
 * compex wpj428
 * devolo magic 2 next
 * engenius emr3500
 * glinet gl-b1300
 * glinet gl-s1300
 * qcom ap-dk01.1-c1
 * qcom ap-dk04.1-c1

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Tested-by: Nick Hainke <vincent@systemli.org> [ipq4019/fritzbox-7530
                                               ipq4019/fritzbox-4040
                                               ipq4019/sxtsq-5ac]
Tested-by: Szabolcs Hubai <szab.hu@gmail.com> [ipq4029/gl-b1300]
Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [ipq4019/map-ac2200]
[add tested-by and note about failed devices]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoipq40xx: 5.10: move AR40xx to MDIO drivers
Robert Marko [Sun, 12 Sep 2021 21:50:20 +0000 (23:50 +0200)]
ipq40xx: 5.10: move AR40xx to MDIO drivers

MDIO drivers were moved into their own sub directory of networking drivers.
This has caused the AR40xx driver to probe before MDIO drivers and that wont
work as it depends on the MDIO bus to be up so it can be fetched.

Lets solve it by moving the AR40xx into MDIO folder so they get probed like
before.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
3 years agoipq40xx: net: ethernet: edma: reject unsupported coalescing params
Robert Marko [Sun, 12 Sep 2021 21:26:59 +0000 (23:26 +0200)]
ipq40xx: net: ethernet: edma: reject unsupported coalescing params

Set ethtool_ops->supported_coalesce_params to let
the core reject unsupported coalescing parameters.

This driver did not previously reject unsupported parameters.

This is a required ethtool op since kernel 5.7.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
3 years agoipq40xx: net: ethernet: edma: update of_get_phy_mode() for 5.10
Robert Marko [Sun, 12 Sep 2021 21:00:51 +0000 (23:00 +0200)]
ipq40xx: net: ethernet: edma: update of_get_phy_mode() for 5.10

In kernel v5.5 of_get_phy_mode had its API changed, so its now returning 0
or errors instead of phymode.

Phymode is now returning by passing a pointer to phy_interface_t where it
will be stored.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
3 years agoipq40xx: 5.10: add kernel config
Robert Marko [Sun, 12 Sep 2021 20:40:39 +0000 (22:40 +0200)]
ipq40xx: 5.10: add kernel config

Copy config from 5.4 and run "make kernel_oldconfig".

Select default ("N") for all new symbols.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
[make commit message more explicit]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoipq40xx: 5.10: refresh patches to apply
Robert Marko [Sun, 12 Sep 2021 20:36:12 +0000 (22:36 +0200)]
ipq40xx: 5.10: refresh patches to apply

Refresh the kernel patches on top of 5.10 so they apply.
Manually fixup the 705-net-add-qualcomm-ar40xx-phy.patch
to apply.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
3 years agoipq40xx: 5.10: replace patches with upstreamed versions
Robert Marko [Sun, 12 Sep 2021 20:34:43 +0000 (22:34 +0200)]
ipq40xx: 5.10: replace patches with upstreamed versions

USB and SDHCI LDO DTS patches have been upstreamed into 5.12, so
replace the local versions with upstreamed ones.

Reorder, and clearly mark the kernel version.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
3 years agoipq40xx: 5.10: remove duplicate GPIO export patch
Robert Marko [Sun, 12 Sep 2021 20:33:36 +0000 (22:33 +0200)]
ipq40xx: 5.10: remove duplicate GPIO export patch

Its in the generic target already, so remove the duplicate
as it breaks compilation.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
3 years agoipq40xx: 5.10: drop upstreamed patches
Robert Marko [Sun, 12 Sep 2021 20:20:55 +0000 (22:20 +0200)]
ipq40xx: 5.10: drop upstreamed patches

Drop patches that have been upstreamed in before 5.10.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
3 years agoipq40xx: 5.10: copy patches
Robert Marko [Mon, 13 Sep 2021 12:08:35 +0000 (14:08 +0200)]
ipq40xx: 5.10: copy patches

Copy over the 5.4 kernel patches to 5.10 folder.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
3 years agoramips: add support for I-O DATA WN-DX2033GR
INAGAKI Hiroshi [Sat, 18 Sep 2021 12:39:04 +0000 (21:39 +0900)]
ramips: add support for I-O DATA WN-DX2033GR

I-O DATA WN-DX2033GR is a 2.4/5 GHz band 11ac (Wi-Fi 5) router, based on
MT7621A.

Specification:

- SoC : MediaTek MT7621A
- RAM : DDR3 128 MiB
- Flash : Raw NAND 128 MiB (Macronix MX30LF1G18AC-TI)
- WLAN : 2.4/5 GHz
  - 2.4 GHz : 2T2R, MediaTek MT7603E
  - 5 GHz : 4T4R, MediaTek MT7615
- Ethernet : 5x 10/100/1000 Mbps
  - Switch : MediaTek MT7530 (SoC)
- LEDs/Keys : 2x/3x (2x buttons, 1x slide-switch)
- UART : through-hole on PCB
  - J5: 3.3V, TX, RX, NC, GND from triangle mark
  - 57600n8
- Power : 12 VDC, 1 A

Flash instruction using initramfs image:

1. Boot WN-DX2033GR normally
2. Access to "http://192.168.0.1/" and open firmware update page
   ("ファームウェア")
3. Select the OpenWrt initramfs image and click update ("更新") button
   to perform firmware update
4. On the initramfs image, download the sysupgrade.bin image to the
   device and perform sysupgrade with it
5. Wait ~120 seconds to complete flashing

Notes:

- The hardware of WN-DX2033GR and WN-AX2033GR are almost the same, and
  it is certified under the same radio-wave related regulations in Japan

- The last 0x80000 (512 KiB) in NAND flash is not used on stock firmware

- stock firmware requires "customized uImage header" (called as "combo
  image") by MSTC (MitraStar Technology Corp.), but U-Boot doesn't

  - uImage magic ( 0x0 - 0x3 ) : 0x434F4D42 ("COMB")
  - header crc32 ( 0x4 - 0x7 ) : with "data length" and "data crc32"
  - image name   (0x20 - 0x37) : model ID and firmware versions
  - data length  (0x38 - 0x3b) : kernel + rootfs
  - data crc32   (0x3c - 0x3f) : kernel + rootfs

- There are 2x important flags in the flash:

  - bootnum   : select os partition for booting (persist, 0x4)

    - 0x01: firmware
    - 0x02: firmware_2

  - debugflag : allow interrupt kernel loader, it's named as "Z-LOADER"
    (Factory, 0xFE75)

    - 0x00: disable debug
    - 0x01: enable debug

MAC addresses:

LAN     : 50:41:B9:xx:xx:90 (Factory, 0xE000 (hex) / Ubootenv, ethaddr (text))
WAN     : 50:41:B9:xx:xx:92 (Factory, 0xE006 (hex))
2.4 GHz : 50:41:B9:xx:xx:90 (Factory, 0x4    (hex))
5 GHz   : 50:41:B9:xx:xx:91 (Factory, 0x8004 (hex))

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
3 years agorealtek: fix RTL8231 gpio expander for high GPIOs
Paul Fertser [Mon, 20 Sep 2021 17:13:35 +0000 (20:13 +0300)]
realtek: fix RTL8231 gpio expander for high GPIOs

GPIOs > 31 require special handling. This patch fixes both the
initialisation and direction get/set operations.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-by: Sander Vanheule <sander@svanheule.net>
3 years agokernel: add patch to fix an issue with kernel headers that broke perf
Felix Fietkau [Sat, 25 Sep 2021 11:52:07 +0000 (13:52 +0200)]
kernel: add patch to fix an issue with kernel headers that broke perf

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agotools/fakeroot: fix build error on macOS
Felix Fietkau [Fri, 24 Sep 2021 16:38:24 +0000 (18:38 +0200)]
tools/fakeroot: fix build error on macOS

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agomac80211: backport support for BSS color changes
Felix Fietkau [Fri, 24 Sep 2021 14:53:33 +0000 (16:53 +0200)]
mac80211: backport support for BSS color changes

This is needed for an upcoming mt76 update

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agoramips: add missing information to dlink headers
Alan Luck [Tue, 20 Apr 2021 09:44:01 +0000 (19:44 +1000)]
ramips: add missing information to dlink headers

Add additional header information required for newer
bootloaders found on DIR-2660-A1 & A2.

Also remove the MTD splitter compatible from the second firmware
partition, as OpenWrt only supports handling of the first one.

Signed-off-by: Alan Luck <luckyhome2008@gmail.com>
[rephrase commit message, remove removal of read-only flags]
Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agohostapd: fix segfault when deinit mesh ifaces
Jesus Fernandez Manzano [Tue, 21 Sep 2021 10:49:30 +0000 (12:49 +0200)]
hostapd: fix segfault when deinit mesh ifaces

In hostapd_ubus_add_bss(), ubus objects are not registered for mesh
interfaces. This provokes a segfault when accessing the ubus object in
mesh deinit.

This commit adds the same condition to hostapd_ubus_free_bss() for
discarding those mesh interfaces.

Signed-off-by: Jesus Fernandez Manzano <jesus.manzano@galgus.net>
3 years agorockchip: fix broken squashfs sysupgrade
David Bauer [Thu, 23 Sep 2021 19:01:37 +0000 (21:01 +0200)]
rockchip: fix broken squashfs sysupgrade

The rockchip platform supports squashfs SD card images. However, the
resulting image is not padded to completely fill the rootfs partition.

Because of that, the f2fs overlay might not be erased, resulting in
uci-defaults not bing executed or the configuration not being erased,
even though drop config was selected.

Modify the image generation process so the image is padded to cover the
entire root filesystem partition.

Signed-off-by: David Bauer <mail@david-bauer.net>
3 years agoscripts: package-metadata add pkgmanifestjson call
Paul Spooren [Fri, 17 Sep 2021 22:00:40 +0000 (12:00 -1000)]
scripts: package-metadata add pkgmanifestjson call

The new `pkgmanifestjson` call prints all package manifest of a feed in
JSON format. This function can be used to print an overview of packages
information used for downstream tooling.

The script is entirely based on Petrs work on dependency visualisation.

Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agobcm47xx: use device vendor/model variable
Moritz Warning [Wed, 5 May 2021 09:06:22 +0000 (11:06 +0200)]
bcm47xx: use device vendor/model variable

Remove use of DEVICE_TITLE in favor of the
DEVICE_VENDOR and DEVICE_MODEL as used by
all other targets.

Signed-off-by: Moritz Warning <moritzwarning@web.de>
3 years agox86: use device vendor/model variable
Moritz Warning [Tue, 4 May 2021 19:15:13 +0000 (21:15 +0200)]
x86: use device vendor/model variable

Remove use of DEVICE_TITLE in favor of the
DEVICE_VENDOR and DEVICE_MODEL as used by
all other targets.

Signed-off-by: Moritz Warning <moritzwarning@web.de>
3 years agobase-files: reduce number of `mkdir` calls
Paul Spooren [Sun, 12 Sep 2021 08:46:06 +0000 (22:46 -1000)]
base-files: reduce number of `mkdir` calls

The `mkdir` commands supports passing multiple arguments to batch create
multiple folders, instead of calling the tool every single time.

If the creation of one of the folders fails, all other folder are still
created and therefore doesn't change the error handling.

Also stop creating `/etc/` explicitly after subfolders of `/etc/` were
already created.

Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agobase-files: reduce `sed` calls
Paul Spooren [Sun, 12 Sep 2021 08:44:11 +0000 (22:44 -1000)]
base-files: reduce `sed` calls

The `sed`-script shouldn't be called multiple times, especially not with
the same files.

This commit merges all files together in a single `sed`-script call.

Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agoscripts: store maintainer in package metadata
Paul Spooren [Fri, 17 Sep 2021 09:51:50 +0000 (23:51 -1000)]
scripts: store maintainer in package metadata

The maintainer could be usable for downstream tooling, so start storing
it in the metadata.

Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agoimagebuilder: show architecture in `make info` output
Paul Spooren [Fri, 24 Sep 2021 04:46:15 +0000 (18:46 -1000)]
imagebuilder: show architecture in `make info` output

Using `make info` show the current target, revision, default packages
and available profiles. This commits adds the used architecture.

Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agorestool: add back PKG_VERSION
Rosen Penev [Thu, 23 Sep 2021 19:48:37 +0000 (12:48 -0700)]
restool: add back PKG_VERSION

For some reason, the build system chops off the last number from the version,
which is not correct. Add it back.

Update hash.

Fixes: 96c7164acd80 ("restool: update to LSDK-20.12")
Signed-off-by: Rosen Penev <rosenp@gmail.com>
[add Fixes]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
3 years agoipq-wifi: Work around Plasma Cloud PA1200 5GHz crash
Sven Eckelmann [Wed, 22 Sep 2021 15:56:30 +0000 (17:56 +0200)]
ipq-wifi: Work around Plasma Cloud PA1200 5GHz crash

It was noticed [1] that the ath10k firmware crashes on 5GHz since OpenWrt
21.02.0. The problem seems to be triggered by the the nonLinearTxFir field
in the 5GHz BDF. If baseEepHeader.nonLinearTxFir (offset 0xc2) is 1 then
the firmware just crashes when setting up the 5Ghz radio using `ifconfig
wlan1 up`:

  ath10k_ahb a800000.wifi: firmware crashed! (guid 9e36ee82-4d2c-4c63-b20b-609a1eaca30c)
  ath10k_ahb a800000.wifi: qca4019 hw1.0 target 0x01000000 chip_id 0x003b00ff sub 0000:0000
  ath10k_ahb a800000.wifi: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
  ath10k_ahb a800000.wifi: firmware ver 10.4-3.6-00140 api 5 features no-p2p,mfp,peer-flow-ctrl,btcoex-param,allows-mesh-bcast,no-ps crc32 ba79b746
  ath10k_ahb a800000.wifi: board_file api 2 bmi_id 0:17 crc32 5f400efc
  ath10k_ahb a800000.wifi: htt-ver 2.2 wmi-op 6 htt-op 4 cal pre-cal-file max-sta 512 raw 0 hwcrypto 1
  ath10k_ahb a800000.wifi: firmware register dump:
  ath10k_ahb a800000.wifi: [00]: 0x0000000B 0x000015B3 0x009C3C27 0x00975B31
  ath10k_ahb a800000.wifi: [04]: 0x009C3C27 0x00060530 0x00000018 0x004176B8
  ath10k_ahb a800000.wifi: [08]: 0x00405A50 0x00412A30 0x00000000 0x00000000
  ath10k_ahb a800000.wifi: [12]: 0x00000009 0x00000000 0x009B9742 0x009B974F
  ath10k_ahb a800000.wifi: [16]: 0x00971238 0x009B9742 0x00000000 0x00000000
  ath10k_ahb a800000.wifi: [20]: 0x409C3C27 0x004053DC 0x00000D2C 0x00405A60
  ath10k_ahb a800000.wifi: [24]: 0x809C3E13 0x0040543C 0x00000000 0xC09C3C27
  ath10k_ahb a800000.wifi: [28]: 0x809B9AC5 0x0040547C 0x00412A30 0x0040549C
  ath10k_ahb a800000.wifi: [32]: 0x809B8ECD 0x0040549C 0x00000001 0x00412A30
  ath10k_ahb a800000.wifi: [36]: 0x809B8FF3 0x004054CC 0x00412838 0x00000014
  ath10k_ahb a800000.wifi: [40]: 0x809BEF98 0x0040551C 0x0041627C 0x00000002
  ath10k_ahb a800000.wifi: [44]: 0x80986D47 0x0040553C 0x0041627C 0x00416A88
  ath10k_ahb a800000.wifi: [48]: 0x809CBB0A 0x0040559C 0x0041ACC0 0x00000000
  ath10k_ahb a800000.wifi: [52]: 0x809864EE 0x0040560C 0x0041ACC0 0x00000001
  ath10k_ahb a800000.wifi: [56]: 0x809CA8A4 0x0040564C 0x0041ACC0 0x00000001
  ath10k_ahb a800000.wifi: Copy Engine register dump:
  ath10k_ahb a800000.wifi: [00]: 0x0004a000  14  14   3   3
  ath10k_ahb a800000.wifi: [01]: 0x0004a400  16  16  22  23
  ath10k_ahb a800000.wifi: [02]: 0x0004a800   3   3   2   3
  ath10k_ahb a800000.wifi: [03]: 0x0004ac00  15  15  15  15
  ath10k_ahb a800000.wifi: [04]: 0x0004b000   4   4  44   4
  ath10k_ahb a800000.wifi: [05]: 0x0004b400   3   3   2   3
  ath10k_ahb a800000.wifi: [06]: 0x0004b800   1   1   1   1
  ath10k_ahb a800000.wifi: [07]: 0x0004bc00   1   1   1   1
  ath10k_ahb a800000.wifi: [08]: 0x0004c000   0   0 127   0
  ath10k_ahb a800000.wifi: [09]: 0x0004c400   0   0   0   0
  ath10k_ahb a800000.wifi: [10]: 0x0004c800   0   0   0   0
  ath10k_ahb a800000.wifi: [11]: 0x0004cc00   0   0   0   0
  ath10k_ahb a800000.wifi: failed to update channel list: -108
  ath10k_ahb a800000.wifi: failed to set pdev regdomain: -108
  ath10k_ahb a800000.wifi: failed to create WMI vdev 0: -108
  ieee80211 phy1: Hardware restart was requested

Since no actual solution is known (besides downgrading the ath10k firmware)
it seems to be better to disable the nonLinearTxFir for now.

[1] https://lore.kernel.org/ath10k/3423718.UToCqzeSYe@ripper/

Signed-off-by: Sven Eckelmann <sven@narfation.org>
3 years agoipq-wifi: Update Plasma Cloud PA1200 BDFs to firmware 3.5.12
Sven Eckelmann [Wed, 22 Sep 2021 15:56:30 +0000 (17:56 +0200)]
ipq-wifi: Update Plasma Cloud PA1200 BDFs to firmware 3.5.12

The official Plasma Cloud firmware adjusted the BDFs to contain new
conformance test limits and target power values. These should be imported
to avoid emissions outside the allowed limits.

Signed-off-by: Sven Eckelmann <sven@narfation.org>
3 years agobcm53xx: MR32: read mac-address from eeprom
Christian Lamparter [Sat, 18 Sep 2021 14:41:41 +0000 (16:41 +0200)]
bcm53xx: MR32: read mac-address from eeprom

Meraki wrote the ethernet MAC-address of the device
onto the eeprom (AT24C64) at the fixed location 0x66
to 0x6C. Let's fetch it from there.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
3 years agoscripts: mkits.sh: Allow legacy @ mode for dts creation
Damien Mascord [Mon, 19 Jul 2021 04:21:44 +0000 (14:21 +1000)]
scripts: mkits.sh: Allow legacy @ mode for dts creation

commit 5ec60cbe9d94 ("scripts: mkits.sh: replace @ with - in nodes")
broke support for Meraki MR32 and this patch makes the replacement
configurable allowing for specifying the @ or - or whatever character
that is desired to retain backwards compatibility with existing devices.

For example, this patch includes the fix for the Meraki MR32 in
target/linux/bcm53xx/image for meraki_mr32:

  DEVICE_DTS_DELIMITER := @
  DEVICE_DTS_CONFIG := config@1

Fixes: 5ec60cbe9d94 ("scripts: mkits.sh: replace @ with - in nodes")
Signed-off-by: Damien Mascord <tusker@tusker.org>
[Added tags, checkpatch.pl fixes, noted that this is for old stuff]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
3 years agolibtool: Revert "libtool: bump to 2.4.6"
Hauke Mehrtens [Thu, 23 Sep 2021 11:36:45 +0000 (13:36 +0200)]
libtool: Revert "libtool: bump to 2.4.6"

This breaks the package builds using the SDK.
The targets all build fine, but the package builder fails on many
packages. The package builder uses the OpenWrt SDK.

This reverts commit c377d874bededfad971530aeb7d7e1b43cd3e61a.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agoscripts: handle gcc and linux in dl_cleanup script
Ansuel Smith [Tue, 6 Jul 2021 01:53:58 +0000 (03:53 +0200)]
scripts: handle gcc and linux in dl_cleanup script

Handle gcc and linux with a special regex that set their progname with
their major version. This way every minor version can be cleared. The
build cleanup logic can be tweaked later to clean the entire toolchain
and target dir with a different gcc version.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
[reformat commit message]
Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agobcm53xx: backport early DT patches queued for 5.16
Rafał Miłecki [Wed, 22 Sep 2021 20:01:10 +0000 (22:01 +0200)]
bcm53xx: backport early DT patches queued for 5.16

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
3 years agoscripts: format dl_cleanup to black format python style
Ansuel Smith [Tue, 6 Jul 2021 01:20:40 +0000 (03:20 +0200)]
scripts: format dl_cleanup to black format python style

Forma dl_cleanup python script to black style.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
3 years agoscripts: add missing regex for dl_cleanup script
Ansuel Smith [Mon, 5 Jul 2021 22:56:21 +0000 (00:56 +0200)]
scripts: add missing regex for dl_cleanup script

Regex xxx-YYYY-MM-DD-GIT_SHASUM was missing. Add the new regex to improve
and better find outdated package. This also fix a bug where some bug were
incorrectly detected as packagename-yyyy-mm-dd instead of packagename due
to them be parsed by the wrong parser

Example:

    openwrt-keyring-2021-02-20-49283916.tar.xz

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
[added example in commit message]
Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agotoolchain/binutils: switch to version 2.37 by default
Paul Spooren [Wed, 22 Sep 2021 01:14:40 +0000 (15:14 -1000)]
toolchain/binutils: switch to version 2.37 by default

Compile tests:
* all

Runtime tests:
* ipq806x/generic
* lantiq/mt7621
* lantiq/xrx200
* x86/64

Signed-off-by: Paul Spooren <mail@aparcar.org>
Tested-by: Paul Spooren <mail@aparcar.org>
Tested-by: Rosen Penev <rosenp@gmail.com>
Tested-by: Andre Heider <a.heider@gmail.com>
Tested-by: Ansuel Smith <ansuelsmth@gmail.com>
Tested-by: Rui Salvaterra <rsalvaterra@gmail.com>
Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agofstools: ensure filesystems are mounted before log service starts
Timo Sigurdsson [Sat, 26 Jun 2021 11:04:49 +0000 (13:04 +0200)]
fstools: ensure filesystems are mounted before log service starts

Currently, the fstab service starts after the log service which breaks
the ability to write a persistent log file to a filesystem mounted by
the fstab service. Thus, change the start order of the fstab service so
it starts right before the log service.

Fixes: b131853 ("ubox: update to latest git revision")
Signed-off-by: Timo Sigurdsson <public_timo.s@silentcreek.de>
[set to 11 to be explicitly before log, not only alphabetically, SPDX]
Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years agomac80211: Update to backports-5.10.68
Hauke Mehrtens [Tue, 14 Sep 2021 21:58:44 +0000 (23:58 +0200)]
mac80211: Update to backports-5.10.68

Refresh all patches.
The removed patches were integrated upstream.

This contains fixes for CVE-2020-3702

1. These patches (ath, ath9k, mac80211)  were included in kernel
versions since 4.14.245 and 4.19.205. They fix security vulnerability
CVE-2020-3702 [1] similar to KrØØk, which was found by ESET [2].

Thank you Josef Schlehofer for reporting this problem.

[1] https://nvd.nist.gov/vuln/detail/CVE-2020-3702
[2] https://www.welivesecurity.com/2020/08/06/beyond-kr00k-even-more-wifi-chips-vulnerable-eavesdropping/

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agotoolchain/musl: Remove extra format attribute patch
Hauke Mehrtens [Thu, 9 Sep 2021 18:36:51 +0000 (20:36 +0200)]
toolchain/musl: Remove extra format attribute patch

This patch never went upstream so remove it. GCC should already add such
a check to the common functions.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agobpftools: fix compilation with musl 1.2.x
Rosen Penev [Wed, 25 Nov 2020 01:32:34 +0000 (17:32 -0800)]
bpftools: fix compilation with musl 1.2.x

A definition for __maybe_inline is needed.

Refreshed patches.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agotoolchain/musl: remove several GNU headers
Rosen Penev [Fri, 20 Mar 2020 01:31:17 +0000 (18:31 -0700)]
toolchain/musl: remove several GNU headers

Remove GLOB_ONLYDIR patch. Only fstools relies on it. fstools has been
fixed separately.

Remove woresize.h file. It seems to be for an old version of GCC.

Remove features.h and glibc-types files. Same as above.

Remove sys/cdefs.h. This is a deprecated header. Patches to fix packages
that use it have already been patched.

Tested with all packages in the base tree. They all compile.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agotoolchain/musl: update to 1.2.2
Rosen Penev [Fri, 20 Mar 2020 01:31:17 +0000 (18:31 -0700)]
toolchain/musl: update to 1.2.2

This release introduces 64-bit time_t, which is needed to avoid the
year 2038 problem.

Remove upstream patches. Refreshed others.

Rebased features.h file based on latest musl.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agotoolchain/gcc: switch to version 11 by default
Paul Spooren [Sun, 19 Sep 2021 09:16:59 +0000 (23:16 -1000)]
toolchain/gcc: switch to version 11 by default

gcc10 seem to increase build size and gcc11 seem to fix that.

Compile tests:
* all

Runtime tests:
* ath79
* mpx85xx/p2020
* mvebu
* x86/64

Special thanks to Rosen for fixing layerscape & bcm63xx

Signed-off-by: Paul Spooren <mail@aparcar.org>
Reviewed-by: Rui Salvaterra <rsalvaterra@gmail.com
Acked-by: Rosen Penev <rosenp@gmail.com>
Acked-by: Rui Salvaterra <rsalvaterra@gmail.com
Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
Acked-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
Tested-by: Pawel Dembicki <paweldembicki@gmail.com>
Tested-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
3 years agotfp-layerscape: update to LSDK-20.12
Rosen Penev [Mon, 20 Sep 2021 02:30:37 +0000 (19:30 -0700)]
tfp-layerscape: update to LSDK-20.12

Fixes compilation with GCC11.

Kept PKG_VERSION as there's some bug that chops off the 12 at the end.

Refreshed other patch.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agorestool: update to LSDK-20.12
Rosen Penev [Mon, 20 Sep 2021 02:43:41 +0000 (19:43 -0700)]
restool: update to LSDK-20.12

Fixes compilation with both GCC 10 and 11.

Switched to AUTORELEASE for simplicity.

Removed PKG_VERSION as it's derived from PKG_SOURCE_VERSION.

Removed all patches as they are upstream backports.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agobcm63xx: remove memcpy from mac assignment
Rosen Penev [Tue, 21 Sep 2021 02:23:58 +0000 (19:23 -0700)]
bcm63xx: remove memcpy from mac assignment

With GCC11, memcpy doesn't work here as it assumes a size of 0. Use
ioremap to avoid it.

Fixed parameter type to match board_get_mac_address.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agotoolchain/gcc: cleanup gcc9 config option
Paul Spooren [Wed, 22 Sep 2021 01:06:33 +0000 (15:06 -1000)]
toolchain/gcc: cleanup gcc9 config option

This line should have been removed in 244847da "build: remove GCC9
support" but stayed in tree after an incomplete rebase. Fix it.

Signed-off-by: Paul Spooren <mail@aparcar.org>
3 years ago6rd: delete tunnel on interface teardown
David Lam [Mon, 20 Sep 2021 05:42:14 +0000 (22:42 -0700)]
6rd: delete tunnel on interface teardown

Delete tunnel on 6rd interface teardown.
Should solve problem related to tunnel stuck on restart loop
with "Unknown Command" on tunnel restart due to wan connection drop.

This patch is similar to the one written by Ansuel on Aug 2, 2021
but the 6rd teardown produces the same symptoms when the network
service is restarted.

Signed-off-by: David Lam <david@thedavid.net>
3 years agorestool: fix compilation with GCC 10
Kuan-Yi Li [Fri, 17 Sep 2021 06:27:47 +0000 (14:27 +0800)]
restool: fix compilation with GCC 10

GCC 10 defaults to `-fno-common` and complains about multiple definition
of `mc_status` in restool.

Backport a patch from upstream to fix compilation with host GCC 10.

Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
3 years agohostapd: let netifd set bridge port attributes for snooping
Felix Fietkau [Wed, 1 Sep 2021 17:12:27 +0000 (19:12 +0200)]
hostapd: let netifd set bridge port attributes for snooping

Avoids race conditions on bridge member add/remove

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agoustp: update to the latest version
Felix Fietkau [Fri, 27 Aug 2021 10:38:12 +0000 (12:38 +0200)]
ustp: update to the latest version

c62d85cf7a0d bridge: check port bpdu filter status and apply it to the config
25555611be91 libnetlink: turn rtnetlink error answers into debug msgs
462b3a491347 build: use pthread cflags/ldflags

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agonetifd: update to the latest version
Felix Fietkau [Fri, 27 Aug 2021 10:33:37 +0000 (12:33 +0200)]
netifd: update to the latest version

d590fbd255ce wireless: always enable bpdu filter for AP interfaces and VLANs
f8ff6d820283 system-linux: remove copy&paste from /proc and /sys path names
300b1220fab3 wireless: improve reliability of proxyarp support
5ba9744aac6d device: add support for configuring bonding devices
6fa9b042ff4d wireless: only apply wireless device attributes to the base vif interface
06d11bbf1f2b wireless: only enable proxyarp/isolate for AP vifs
08e954e137ff bonding: claim the port device before creating the bonding device

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agokernel: add a bridge feature for filtering BPDU packets on ports
Felix Fietkau [Fri, 27 Aug 2021 10:32:00 +0000 (12:32 +0200)]
kernel: add a bridge feature for filtering BPDU packets on ports

This will be used to ensure that APs don't transmit unnecessary STP packets

Signed-off-by: Felix Fietkau <nbd@nbd.name>
3 years agoarm-trusted-firmware-mvebu: Add hash for aarch64 cm3-gcc
Hauke Mehrtens [Wed, 15 Sep 2021 12:42:43 +0000 (14:42 +0200)]
arm-trusted-firmware-mvebu: Add hash for aarch64 cm3-gcc

This adds the hash also for the aarch64 toolchain in addition to the
x86_64 toolchain. This gets the build on a Linux aarch64 host one step
further.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
3 years agolibtool: bump to 2.4.6
Eneas U de Queiroz [Mon, 13 Sep 2021 21:08:55 +0000 (18:08 -0300)]
libtool: bump to 2.4.6

This updates libtool to its current release, from 2015.  Current patches
were renumbered and given a description text.  The fix in
160-passthrough-ssp.patch is no longer needed.

A patch to speed up build was cherry-picked, and another openwrt
specific patch was needed to not use quotes in $(SHELL), to acommodate
our "SHELL=/usr/bin/env bash" usage.

The already present call to ./bootstrap ensures that generated files are
refreshed, so the patches are applied only to their sources.  Also, that
bootstrap call was adjusted to run at the appropriate time when QUILT=1.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
3 years agotools/e2fsprogs: update to 1.46.4
Rosen Penev [Sat, 18 Sep 2021 08:09:29 +0000 (01:09 -0700)]
tools/e2fsprogs: update to 1.46.4

Refresh patches.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agotools/autoconf-archive: update to 2021.02.19
Rosen Penev [Sat, 18 Sep 2021 08:02:51 +0000 (01:02 -0700)]
tools/autoconf-archive: update to 2021.02.19

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agotools/sstrip: update to 3.2
Rosen Penev [Sat, 18 Sep 2021 07:57:24 +0000 (00:57 -0700)]
tools/sstrip: update to 3.2

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agotools/sparse: update to 0.6.4
Rosen Penev [Sat, 18 Sep 2021 07:42:03 +0000 (00:42 -0700)]
tools/sparse: update to 0.6.4

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agotools/mtools: update to 4.0.35
Rosen Penev [Sat, 18 Sep 2021 07:40:41 +0000 (00:40 -0700)]
tools/mtools: update to 4.0.35

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agotools/m4: update to 1.4.19
Rosen Penev [Thu, 4 Mar 2021 02:00:26 +0000 (18:00 -0800)]
tools/m4: update to 1.4.19

Remove upstreamed patches.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agotools/fakeroot: update to 1.26
Rosen Penev [Sat, 18 Sep 2021 07:20:45 +0000 (00:20 -0700)]
tools/fakeroot: update to 1.26

Remove upstreamed patches. Refresh other.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agotools/bison: update to 3.8.1
Rosen Penev [Sat, 18 Sep 2021 07:10:56 +0000 (00:10 -0700)]
tools/bison: update to 3.8.1

Remove upstreamed patch.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agobuild: remove GCC7 support
Paul Spooren [Sun, 19 Sep 2021 09:30:30 +0000 (23:30 -1000)]
build: remove GCC7 support

The development branch is now on version 10, we shouldn't drag to many
old versions and therefore drop at least 7.x.

Signed-off-by: Paul Spooren <mail@aparcar.org>
Acked-by: Rosen Penev <rosenp@gmail.com>
Acked-by: Rui Salvaterra <rsalvaterra@gmail.com>
Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
Acked-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
3 years agobuild: remove GCC9 support
Paul Spooren [Sun, 19 Sep 2021 09:38:16 +0000 (23:38 -1000)]
build: remove GCC9 support

gcc9 was never used within a release and the development branch is
already on version 10, no need to keep this in tree.

Signed-off-by: Paul Spooren <mail@aparcar.org>
Acked-by: Rosen Penev <rosenp@gmail.com>
Acked-by: Rui Salvaterra <rsalvaterra@gmail.com>
Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
Acked-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
3 years agoiproute2: update to 5.14
Hans Dedecker [Sat, 11 Sep 2021 19:17:39 +0000 (21:17 +0200)]
iproute2: update to 5.14

Update iproute2 to latest stable 5.14; for the changes see https://lwn.net/Articles/867940/

Refresh patches

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
3 years agokernel: add missing CONFIG_NET_DSA_TAG_BRCM_LEGACY config symbol
Rafał Miłecki [Fri, 17 Sep 2021 20:05:47 +0000 (22:05 +0200)]
kernel: add missing CONFIG_NET_DSA_TAG_BRCM_LEGACY config symbol

This fixes:
Distributed Switch Architecture (NET_DSA) [Y/n/m/?] y
  Tag driver for Atheros AR9331 SoC with built-in switch (NET_DSA_TAG_AR9331) [N/m/y/?] n
  Tag driver for Broadcom switches using in-frame headers (NET_DSA_TAG_BRCM) [N/m/y/?] n
  Tag driver for Broadcom legacy switches using in-frame headers (NET_DSA_TAG_BRCM_LEGACY) [N/m/y/?] (NEW)
Error in reading or end of file.

Fixes: 8fa1b576bbb5 ("linux: update b53 upstream driver")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
3 years agolinux: update b53 upstream driver
Rafał Miłecki [Fri, 17 Sep 2021 08:07:22 +0000 (10:07 +0200)]
linux: update b53 upstream driver

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
3 years agotools/pkgconf: update to 1.8.0
Rosen Penev [Sat, 19 Jun 2021 02:53:17 +0000 (19:53 -0700)]
tools/pkgconf: update to 1.8.0

Switch to compiling with meson for faster and more reliable compilation.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agotools: add meson
Rosen Penev [Thu, 17 Jun 2021 21:21:44 +0000 (14:21 -0700)]
tools: add meson

meson is a next generation build system designed to have good defaults,
simpler build files, and fast compilation.

It is built upon python and uses ninja for compilation. The latter
provides fast by default (parallel) and problem free compilation.

There are over 40 packages already successfully using meson. The next
commit will convert pkgconf to use meson compilation.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agotools/mm-macros: remove
Rosen Penev [Thu, 16 Sep 2021 05:27:43 +0000 (22:27 -0700)]
tools/mm-macros: remove

ccaaab1c048159611e93a181dde740f49fa12483 says that this is in the
codebase because of libsigc++, which is not in the codebase anymore.
Neither in base nor in packages. It doesn't seem to be needed by
anything else either. GNOME packages have transitioned to using meson,
which does not use m4 files.

Tested local compile with CONFIG_ALL. No problems seen.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years agobcm53xx: drop DTS based workaround for serial support in procd
Rafał Miłecki [Thu, 16 Sep 2021 05:51:30 +0000 (07:51 +0200)]
bcm53xx: drop DTS based workaround for serial support in procd

Specifying serial in bootargs is not needed since the commit
ffeb37047e85 ("procd: update to git HEAD"). It's thanks to the procd
commit 2cfc26f8456a ("inittab: detect active console from kernel if no
console= specified").

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
3 years agoprocd: update to git HEAD
Daniel Golle [Wed, 15 Sep 2021 20:46:17 +0000 (21:46 +0100)]
procd: update to git HEAD

 8a60e7e trace: don't leak file descriptor in error path
 68df9ac procd: fix container deletion
 f16abe0 uxc: add JSON output option for 'list' command
 a23c888 jail: prepare for adding process to existing namespace
 50da8a4 instance: allow jailed service to join namespace(s)
 482d1ab Revert "jail: do not hack /etc/resolv.conf on container rootfs"
 1eb4371 jail: start ubus and netifd instances for container with netns

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agosunxi: add testing Linux 5.10
Daniel Golle [Tue, 14 Sep 2021 23:20:08 +0000 (00:20 +0100)]
sunxi: add testing Linux 5.10

Add testing Linux kernel 5.10 for sunxi targets.

Removed patches were replaced by upstream commits:

- 410-v5.6-arm64-dts-allwinner-a64-olinuxino-Add-bank-supply-re.patch
   f0c3b29f56f0a arm64: dts: allwinner: a64: olinuxino: Add bank supply regulators

- 420-v5.7-arm64-dts-allwinner-a64-olinuxino-add-user-red-LED.patch
   89866b2667e0d arm64: dts: allwinner: a64: olinuxino: add user red LED

- 440-add-h6-pwm.patch
   a7fe985633f92 pwm: sun4i: Add an optional probe for reset line
   b8d74644f34a8 pwm: sun4i: Prefer "mod" clock to unnamed
   5b090b430d750 pwm: sun4i: Add an optional probe for bus clock
   fa4d81784681a pwm: sun4i: Always calculate params when applying new parameters
   9f28e95b5286f pwm: sun4i: Add support to output source clock directly
   fdd2c12e3761f pwm: sun4i: Add support for H6 PWM

- 441-arm64-dts-add-PWM-node.patch
   88432f5f8469b arm64: dts: allwinner: h6: Add PWM node

- 443-board-h6-orangepioneplus-fix-missing-ethernet.patch
   7ee32a17e0d65 arm64: dts: allwinner: h6: orangepi-one-plus: Enable ethernet

Run tested on friendlyarm,nanopi-neo (allwinner,sun8i-h3), looks all good.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 years agosunxi: bring up DSA b53 switch on Lamobo R1
Daniel Golle [Fri, 10 Sep 2021 22:02:15 +0000 (23:02 +0100)]
sunxi: bring up DSA b53 switch on Lamobo R1

Build cortexa7 subtarget with DSA driver for MDIO-connected Broadcom
BCM53xxx switches. This is needed for the Lamobo R1 aka. BananaPi
BPi-R1 board which comes with such a switch IC.

Remove old swconfig driver from target kernel config as the only board
using it is now supported by the DSA driver.

No changes to device tree are needed as upstream DTS already got a
DSA switch definition and we are just using that upstream source.

Update default network config of the Lamobo R1 to create lan bridge
with all 4 lan ports.

Introduce DEVICE_COMPAT_VERSION for the board to inform users about
having the re-create their network configuration and add device alias
as Bananapi BPi-R1 while at it.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>