openwrt/staging/linusw.git
11 months agoipq806x: Fix nighthawk R7800/XR450/XR500 wan MAC
Hannu Nyman [Wed, 6 Dec 2023 12:49:42 +0000 (14:49 +0200)]
ipq806x: Fix nighthawk R7800/XR450/XR500 wan MAC

Correct the NVMEM mac-base field usage to read the wan MAC
correctly from flash.

Reference to discussion at https://github.com/openwrt/openwrt/pull/13952#issuecomment-1842749122

Fixes: d264d3a60 ("ipq806x: remove mac-address-increment")
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
11 months agomediatek: add SPDX header for Confiabits MT7981 DTS
Luis Mita [Wed, 6 Dec 2023 13:30:10 +0000 (09:30 -0400)]
mediatek: add SPDX header for Confiabits MT7981 DTS

Fixing ambiguous licensing.

Signed-off-by: Luis Mita <luis@luismita.com>
11 months agoudebug: update to Git HEAD (2023-12-06)
Felix Fietkau [Wed, 6 Dec 2023 15:17:21 +0000 (16:17 +0100)]
udebug: update to Git HEAD (2023-12-06)

6d3f51f9fda7 ucode: check for errors in ftruncate()

Signed-off-by: Felix Fietkau <nbd@nbd.name>
11 months agoramips: add support for Rostelecom RT-FE-1A
Mikhail Zhilkin [Sat, 25 Nov 2023 12:14:57 +0000 (12:14 +0000)]
ramips: add support for Rostelecom RT-FE-1A

Rostelecom RT-FE-1A is a wireless WiFi 5 router manufactured by Sercomm
company.

Device specification
--------------------
SoC Type: MediaTek MT7621AT
RAM: 256 MiB
Flash: 128 MiB
Wireless 2.4 GHz (MT7603EN): b/g/n, 2x2
Wireless 5 GHz (MT7615E): a/n/ac, 4x4
Ethernet: 5x GbE (WAN, LAN1, LAN2, LAN3, LAN4)
USB ports: No
Button: 2 buttons (Reset & WPS)
LEDs:
   - 1x Power (green, unmanaged)
   - 1x Status (green, gpio)
   - 1x 2.4G (green, hardware, mt76-phy0)
   - 1x 2.4G (blue, gpio)
   - 1x 5G (green, hardware, mt76-phy1)
   - 1x 5G (blue, gpio)
   - 5x Ethernet (green, hardware, 4x LAN & WAN)
Power: 12 VDC, 1.5 A
Connector type: barrel
Bootloader: U-Boot

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

1.  Login to the router web interface (default http://192.168.0.1/)
    under "admin" account

2.  Navigate to Settings -> Configuration -> Save to Computer

3.  Decode the configuration. For example, using cfgtool.py tool (see
    related section):
    cfgtool.py -u configurationBackup.cfg

4.  Open configurationBackup.xml and find the following block:

<OBJECT name="User." type="object" writable="1" encryption="0" >
<OBJECT name="1." type="object" writable="1" encryption="0" >
<PARAMETER name="Password" type="string" value="<some value>" writable="1" encryption="1" password="1" />
</OBJECT>

5.  Replace <some value> by a new superadmin password and add a line
    which enabling superadmin login after. For example, the block after
    the changes:

<OBJECT name="User." type="object" writable="1" encryption="0" >
<OBJECT name="1." type="object" writable="1" encryption="0" >
<PARAMETER name="Password" type="string" value="s0meP@ss" writable="1" encryption="1" password="1" />
<PARAMETER name="Enable" type="boolean" value="1" writable="1" encryption="0"/>
</OBJECT>

6.  Encode the configuration. For example, using cfgtool.py tool:
       cfgtool.py -p configurationBackup.xml

7.  Upload the changed configuration (configurationBackup_changed.cfg) to
    the router

8.  Login to the router web interface (superadmin:xxxxxxxxxx, where
    xxxxxxxxxx is a new password from the p.5)

9.  Enable SSH access to the router (Settings -> Access control -> SSH)

10. Connect to the router using SSH shell using superadmin account

11. Run in SSH shell:
    sh

12. Make a mtd backup (optional, see related section)

13. Change bootflag to Sercomm1 and reboot:
    printf 1 | dd bs=1 seek=7 count=1 of=/dev/mtdblock3
    reboot

14. Login to the router web interface under admin account

15. Remove dots from the OpenWrt factory image filename

16. Update firmware via web using OpenWrt factory image

Revert to stock
---------------
Change bootflag to Sercomm1 in OpenWrt CLI and then reboot:
   printf 1 | dd bs=1 seek=7 count=1 of=/dev/mtdblock3

mtd backup
----------
1. Set up a tftp server (e.g. tftpd64 for windows)
2. Connect to a router using SSH shell and run the following commands:
   cd /tmp
   for i in 0 1 2 3 4 5 6 7 8 9; do nanddump -f mtd$i /dev/mtd$i; \
   tftp -l mtd$i -p 192.168.0.2; md5sum mtd$i >> mtd.md5; rm mtd$i; done
   tftp -l mtd.md5 -p 192.168.0.2

MAC Addresses
-------------
+-----+------------+---------+
| use | address    | example |
+-----+------------+---------+
| LAN | label      | f4:*:66 |
| WAN | label + 11 | f4:*:71 |
| 2g  | label + 2  | f4:*:68 |
| 5g  | label + 3  | f4:*:69 |
+-----+------------+---------+
The label MAC address was found in Factory, 0x21000

cfgtool.py
----------
A tool for decoding and encoding Sercomm configs.
Link: https://github.com/r3d5ky/sercomm_cfg_unpacker
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
11 months agoqca-nss-dp: fix typo in 0002-edma_tx_rx-support-newe
Kristian Skramstad [Tue, 28 Nov 2023 08:08:58 +0000 (09:08 +0100)]
qca-nss-dp: fix typo in 0002-edma_tx_rx-support-newe

Might be a typo in drv->txtstamp function:
+ phy_rxtstamp(ndev->phydev, skb, 0);
to
+ phy_txtstamp(ndev->phydev, skb, 0);

Reviewed-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Kristian Skramstad <kristian+github@83.no>
11 months agotools: add tmon package
Florian Eckert [Mon, 7 Aug 2023 09:15:28 +0000 (11:15 +0200)]
tools: add tmon package

Add the 'tmon' packages. This is as a tool to help visualize,
tune, and test the complex thermal subsystem.

We get a compile warning for the tool that the printf format does not
fit. This commit contains a patch that fixes this warning. This patch
has also been sent upstream to the Linux kernel [1].

Links:
[1] https://lore.kernel.org/all/20231204141335.2798194-1-fe@dev.tdt.de/

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
11 months agonetifd: update to Git HEAD (2023-12-05)
Felix Fietkau [Tue, 5 Dec 2023 12:06:17 +0000 (13:06 +0100)]
netifd: update to Git HEAD (2023-12-05)

02bc2e14d1d3 udebug: use helper code for ubus config handling
1b967334189b netifd: add netlink udebug ring
061e308f9f7d debug: remove newline from debug messages
f1763852dfba bridge: fix reload on bridge vlan changes
cc9e928f0a12 bridge: rework config change pvid handling

Signed-off-by: Felix Fietkau <nbd@nbd.name>
11 months agolibnl-tiny: update to Git HEAD (2023-12-05)
Felix Fietkau [Tue, 5 Dec 2023 11:59:49 +0000 (12:59 +0100)]
libnl-tiny: update to Git HEAD (2023-12-05)

af57bb123f93 socket: add debug callbacks for rx/tx
785e11aee7dd socket: call rx debug callback once per packet instead of per batch
965c4bf49658 socket: change debug callbacks to pass struct nl_msg

Signed-off-by: Felix Fietkau <nbd@nbd.name>
11 months agoudebug: update to Git HEAD (2023-12-05)
Felix Fietkau [Tue, 5 Dec 2023 09:34:55 +0000 (10:34 +0100)]
udebug: update to Git HEAD (2023-12-05)

dc24a1010d7b lib: fix handling global enable flag
c7ef98d3d3f7 lib-ucode: retry partial writes
e259bbd49cf7 lib-ucode: truncate pcap files
a296f1bac430 lib: add netlink handler function

Signed-off-by: Felix Fietkau <nbd@nbd.name>
11 months agomediatek: filogic: add Acelink EW-7886CAX support
Rafał Miłecki [Mon, 20 Nov 2023 10:46:26 +0000 (11:46 +0100)]
mediatek: filogic: add Acelink EW-7886CAX support

Acelink EW-7886CAX is an MT7986A (AKA Filogic 830) based access point.
It has 512 MiB of RAM, one 2.5 Gbps PoE (802.3at) Ethernet port and
on-SoC Wi-Fi. There is no printed MAC label (on my unit).

My unit came with Mediatek's firmware (based on OpenWrt 21.02)
installed. It was possible to simply upgrade using OpenWrt's sysupgrade
tool.

Another verified upgrade method is using U-Boot (requires UART). During
every boot there is "U-Boot Boot Menu". Selecting option "2. Upgrade
firmware" allows using U-Boot's tftp client to load and flash factory
image.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
11 months agolibxml2: update to 2.11.6
Nick Hainke [Thu, 12 Oct 2023 04:23:02 +0000 (06:23 +0200)]
libxml2: update to 2.11.6

Release Notes:
- https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.11.5
- https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.11.6

Signed-off-by: Nick Hainke <vincent@systemli.org>
11 months agolibubox: update to Git HEAD (2023-12-04.1)
Felix Fietkau [Mon, 4 Dec 2023 13:39:13 +0000 (14:39 +0100)]
libubox: update to Git HEAD (2023-12-04.1)

ca3f6d0cdb1e udebug: fix file descriptor initialization for __udebug_buf_map

Signed-off-by: Felix Fietkau <nbd@nbd.name>
11 months agompc85xx: allow mapping of cpu1 spin-table page
David Bauer [Mon, 4 Dec 2023 12:54:56 +0000 (13:54 +0100)]
mpc85xx: allow mapping of cpu1 spin-table page

The no-map property was incorrectly added, which kept the system-memory
available on the WS-AP3825 limited to 190MB. We are allowed to map the
page containing the CPU1 spin-table, we are just not allowed to write to
it.

Fixes: 57d7382cb159 ("mpc85xx: increase available RAM on Extreme Networks WS-AP3825i")
Signed-off-by: David Bauer <mail@david-bauer.net>
11 months agolibubox: update to Git HEAD (2023-12-04)
Felix Fietkau [Mon, 4 Dec 2023 12:33:38 +0000 (13:33 +0100)]
libubox: update to Git HEAD (2023-12-04)

d27acfe416d6 udebug: add more checks for uninitialized buffers
df5b7147f47a udebug: add mips specific quirk

Signed-off-by: Felix Fietkau <nbd@nbd.name>
11 months agovalgrind: update to 3.22.0
Nick Hainke [Sat, 11 Nov 2023 09:42:12 +0000 (10:42 +0100)]
valgrind: update to 3.22.0

Release Notes:
https://sourceware.org/git/?p=valgrind.git;a=blob;f=NEWS;h=f11da4be88687b8768268953253ddba13184bedf;hb=bd4db67b1d386c352040b1d8fab82f5f3340fc59

Refresh patch:
- 30-mips_fix_soft_float.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
11 months agotools/mold: update to 2.3.2
Nick Hainke [Sat, 11 Nov 2023 03:29:07 +0000 (04:29 +0100)]
tools/mold: update to 2.3.2

Release Notes:
https://github.com/rui314/mold/releases/tag/v2.3.2

Signed-off-by: Nick Hainke <vincent@systemli.org>
11 months agotools/xz: update to 5.4.5
Nick Hainke [Sat, 11 Nov 2023 07:54:17 +0000 (08:54 +0100)]
tools/xz: update to 5.4.5

* liblzma:
    - Use __attribute__((__no_sanitize_address__)) to avoid address
      sanitization with CRC64 CLMUL. It uses 16-byte-aligned reads
      which can extend past the bounds of the input buffer and
      inherently trigger address sanitization errors. This isn't
      a bug.
    - Fixed an assertion failure that could be triggered by a large
      unpadded_size argument. It was verified that there was no
      other bug than the assertion failure.
    - Fixed a bug that prevented building with Windows Vista
      threading when __attribute__((__constructor__)) is not
      supported.
* xz now properly handles special files such as "con" or "nul" on
  Windows. Before this fix, the following wrote "foo" to the
  console and deleted the input file "con_xz":
      echo foo | xz > con_xz
      xz --suffix=_xz --decompress con_xz
* Build systems:
    - Allow builds with Windows win95 threading and small mode when
      __attribute__((__constructor__)) is supported.
    - Added a new line to liblzma.pc for MSYS2 (Windows):
          Cflags.private: -DLZMA_API_STATIC
      When compiling code that will link against static liblzma,
      the LZMA_API_STATIC macro needs to be defined on Windows.
    - CMake specific changes:
        * Fixed a bug that allowed CLOCK_MONOTONIC to be used even
          if the check for it failed.
        * Fixed a bug where configuring CMake multiple times
          resulted in HAVE_CLOCK_GETTIME and HAVE_CLOCK_MONOTONIC
          not being set.
        * Fixed the build with MinGW-w64-based Clang/LLVM 17.
          llvm-windres now has more accurate GNU windres emulation
          so the GNU windres workaround from 5.4.1 is needed with
          llvm-windres version 17 too.
        * The import library on Windows is now properly named
          "liblzma.dll.a" instead of "libliblzma.dll.a"
        * Fixed a bug causing the Ninja Generator to fail on
          UNIX-like systems. This bug was introduced in 5.4.0.
        * Added a new option to disable CLMUL CRC64.
        * A module-definition (.def) file is now created when
          building liblzma.dll with MinGW-w64.
        * The pkg-config liblzma.pc file is now installed on all
          builds except when using MSVC on Windows.
        * Added large file support by default for platforms that
          need it to handle files larger than 2 GiB. This includes
          MinGW-w64, even 64-bit builds.
* Small fixes and improvements to the tests.
* Updated translations: Chinese (simplified) and Esperanto.

Signed-off-by: Nick Hainke <vincent@systemli.org>
11 months agokernel: bump 6.1 to 6.1.65
John Audia [Sun, 3 Dec 2023 13:56:31 +0000 (08:56 -0500)]
kernel: bump 6.1 to 6.1.65

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.65

All patches automatically rebased.

Build system: x86/64
Build-tested: x86/64/AMD Cezanne, filogic/xiaomi_redmi-router-ax6000-ubootmod
Run-tested: x86/64/AMD Cezanne, filogic/xiaomi_redmi-router-ax6000-ubootmod

Signed-off-by: John Audia <therealgraysky@proton.me>
11 months agokernel: bump 5.15 to 5.15.141
John Audia [Sun, 3 Dec 2023 13:57:01 +0000 (08:57 -0500)]
kernel: bump 5.15 to 5.15.141

Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.141

All patches automatically rebased.

Build system: x86_64
Build-tested: ramips/tplink_archer-a6-v3
Run-tested: ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
11 months agompc85xx: increase available RAM on Extreme Networks WS-AP3825i
David Bauer [Sun, 3 Dec 2023 07:03:57 +0000 (08:03 +0100)]
mpc85xx: increase available RAM on Extreme Networks WS-AP3825i

The system-mamory size was page-aligned prior to this commit, only
enabling to use 192MB of system memory of the 256 available.

This was due to the system-memory being manually shrinked to reserve the
upper 1MB for the second-core bootpage in the loader as well as the OS.

Fix this properly in the loader and in Linux using reserved-memory
definitions. This enables the device to use 250MB of system memory.

Signed-off-by: David Bauer <mail@david-bauer.net>
11 months agouboot-envtools: fix GL-MT2500 offset
David Bauer [Sun, 3 Dec 2023 05:49:40 +0000 (06:49 +0100)]
uboot-envtools: fix GL-MT2500 offset

The previous offsets did also work, as they've wrapped back to 0x0.
However, in reality the environment starts at offset 0x0 of the
u-boot-env MMC partition.

Signed-off-by: David Bauer <mail@david-bauer.net>
11 months agomediatek: remove wireless packages for GL-MT2500
David Bauer [Sun, 3 Dec 2023 05:55:10 +0000 (06:55 +0100)]
mediatek: remove wireless packages for GL-MT2500

This device does not have wireless hardware, thus we don't need to ship
neither hostapd nor wireless drivers.

Signed-off-by: David Bauer <mail@david-bauer.net>
11 months agomediatek: make GL-MT2500 image work with U-Boot recovery
David Bauer [Tue, 28 Nov 2023 00:03:48 +0000 (01:03 +0100)]
mediatek: make GL-MT2500 image work with U-Boot recovery

Append metadata in the special GL.iNet format.
This also enables use of the web-based U-Boot recovery.

U-Boot-Recovery
===============

The GL-MT2500 provides web-based U-Boot recovery. For this, hold the
reset button pressed for 5 seconds when attaching power to the device.

The LED will blink 5 times. Release the reset button.

The OpenWrt sysupgrade image can be installed by navigating to
http://192.168.1.1 in a web-browser.

The device does not work as a DHCP server, so manual IP configuration is
required.

Signed-off-by: David Bauer <mail@david-bauer.net>
11 months agomediatek: remove kernel build-directives for GL-MT2500
David Bauer [Mon, 27 Nov 2023 23:55:18 +0000 (00:55 +0100)]
mediatek: remove kernel build-directives for GL-MT2500

The build-directives for the GL-MT2500 are not required, as the default
ones produce working images.

Signed-off-by: David Bauer <mail@david-bauer.net>
11 months agomediatek: add missing eMMC packages for GL-MT2500
David Bauer [Mon, 27 Nov 2023 23:55:00 +0000 (00:55 +0100)]
mediatek: add missing eMMC packages for GL-MT2500

Signed-off-by: David Bauer <mail@david-bauer.net>
11 months agompc85xx: fix some dtc warnings
Rosen Penev [Thu, 30 Nov 2023 22:15:11 +0000 (14:15 -0800)]
mpc85xx: fix some dtc warnings

Mostly missing/wrong addresses.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
11 months agokernel: backport fixes for realtek r8152
Marty Jones [Tue, 28 Nov 2023 18:27:18 +0000 (13:27 -0500)]
kernel: backport fixes for realtek r8152

Fixes issues with RTL8156 2.5G USB adapters

- # ethtool eth1
Settings for eth1:
        Supported ports: [ ]
        Supported link modes:   Not reported
        Supported pause frame use: No
        Supports auto-negotiation: No
        Supported FEC modes: Not reported
        Advertised link modes:  Not reported
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: 2500Mb/s
        Duplex: Half
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: off
        MDI-X: Unknown
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes
- #

- r8152: break the loop when the budget is exhausted
- r8152: Block future register access if register access fails
- r8152: Rename RTL8152_UNPLUG to RTL8152_INACCESSIBLE
- r8152: add vendor/device ID pair for D-Link DUB-E250
- r8152: try to use a normal budget
- r8152: set bp in bulk
- r8152: adjust generic_ocp_write function
- r8152: fix the autosuspend doesn't work
- r8152: Add __GFP_NOWARN to big allocations
- r8152: reduce the control transfer of rtl8152_get_version()
- r8152: remove rtl_vendor_mode function
- r8152: avoid to change cfg for all devices
- r8152: add USB device driver for config selection
- r8152: use napi_gro_frags
- cdc_ether: no need to blacklist any r8152 devices
- cdc_ether: add u-blox 0x1313 composition

Build system: x86_64
Build-tested: bcm2711, rockchip, x86/64
Run-tested: bcm2711/RPi4B, rockchip/nanopi r2s, x86/64

Signed-off-by: Marty Jones <mj8263788@gmail.com>
11 months agomediatek: filogic: Update bootcount init script permissions
Chen Minqiang [Mon, 27 Nov 2023 03:30:53 +0000 (11:30 +0800)]
mediatek: filogic: Update bootcount init script permissions

Change permissions of the bootcount init script from old mode 100644
to new mode 100755 to ensure its executability.

Fixes: 6cc14bf66aa9 ("filogic: support Telenor branded ZyXEL EX5700")
Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
11 months agoipq40xx: update ASUS RT-AC58U leds DTS nodes
Christian Lamparter [Fri, 1 Dec 2023 20:38:40 +0000 (21:38 +0100)]
ipq40xx: update ASUS RT-AC58U leds DTS nodes

 - use color, function, function-enumerator properties.
 - removes the label properties from LED nodes.
 - add panic-indicator to the blue power/status LED.

Note: yes this brings the combined LAN/"switch" LED sort of back,
though I fully admit, it's a bit jank. Do you know a better option?
then please tell/make a PR!

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
11 months agoipq40xx: enable CONFIG_LED_TRIGGER_PHY for AC42U
Christian Lamparter [Fri, 1 Dec 2023 20:20:47 +0000 (21:20 +0100)]
ipq40xx: enable CONFIG_LED_TRIGGER_PHY for AC42U

The AC42U already had PHY Triggers in the DTS.
We are probably going to use them at some point.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
11 months agobase-files: support parse DT LED color and function
Shiji Yang [Tue, 31 Oct 2023 10:47:49 +0000 (18:47 +0800)]
base-files: support parse DT LED color and function

The 'label' property in led node has been deprecated and we'd better
to avoid using it. This patch allows us to extract DT OF LED name
from the newly introduced LED properties "color", "function" and
"function-enumerator".

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
11 months agogeneric: add more DT LED color and function definitions
Shiji Yang [Tue, 31 Oct 2023 10:21:37 +0000 (18:21 +0800)]
generic: add more DT LED color and function definitions

Openwrt supports hundreds of devices. These newly added LED colors
and functions can help developers better describe LED indicators.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
11 months agoqoriq: pad rootfs with zeros
Russell Senior [Fri, 1 Dec 2023 21:48:56 +0000 (13:48 -0800)]
qoriq: pad rootfs with zeros

Presently, sysupgrade -n does *not* reset the overlayfs, retaining
unwanted filesystem contents. Adding PADDING=1 in front of
gen_image_generic.sh in image/Makefile ensures that the overlayfs is
recreated on firstboot.

Fixes: 080a769b4da8 ("qoriq: new target")
Signed-off-by: Russell Senior <russell@personaltelco.net>
[add Fixes tag, rewrite commit subject and message to respect line
length]
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
11 months agoqoriq: set compat_version in board.d
Russell Senior [Fri, 1 Dec 2023 21:48:55 +0000 (13:48 -0800)]
qoriq: set compat_version in board.d

Currently, sysupgrade without the -n option complains:

  # sysupgrade -v tmp/openwrt-qoriq-generic-watchguard_firebox-m300-squashfs-sysupgrade.img.gz
  upgrade: The device is supported, but the config is incompatible to the new image (1.0->1.1). Please upgrade without keeping config (sysupgrade -n).
  upgrade: Kernel switched to FIT uImage. Update U-Boot environment.
  upgrade: Reading partition table from bootdisk...
  upgrade: Extract boot sector from the image
  upgrade: Reading partition table from image...
  Image check failed.

So, add the missing 05_compat-version to /etc/board.d/ to allow
sysupgrade to save config without using -f.

Fixes: c4b499bc03ab ("qoriq: use FIT uImage for Firebox M300 kernel")
Signed-off-by: Russell Senior <russell@personaltelco.net>
[drop invalid copyright header, add SPDX license header, shorten commit
subject, add fixes tag]
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
11 months agox86: Add kmod-dwmac-intel
Hauke Mehrtens [Sun, 26 Nov 2023 22:59:54 +0000 (23:59 +0100)]
x86: Add kmod-dwmac-intel

This adds the Intel Ethernet driver for the Intel Quark/EHL/TGL chips.

Fixes: #13994
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
11 months agoarmsr: Move kmod-stmmac-core to common place
Hauke Mehrtens [Sun, 26 Nov 2023 22:53:35 +0000 (23:53 +0100)]
armsr: Move kmod-stmmac-core to common place

Move the kmod-stmmac-core package to the common place to share it with
x86 later.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
11 months agomwlwifi: update to version 10.4.10-20231129
Stefan Kalscheuer [Thu, 30 Nov 2023 08:30:56 +0000 (09:30 +0100)]
mwlwifi: update to version 10.4.10-20231129

Remove upstreamed patches:
* replace usage of the deprecated "pci-dma-compat.h" API (6c03b27)
* remove uaccess and get_fs calls from PCIe for Kenel >= 5.18 (1d0d08c)

Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
11 months agobpftool: Update to v7.3.0
Tony Ambardar [Fri, 24 Nov 2023 01:51:38 +0000 (17:51 -0800)]
bpftool: Update to v7.3.0

Update to the latest upstream release to include recent improvements and
bugfixes. Also refresh local patches.

Link: https://github.com/libbpf/bpftool/releases/tag/v7.3.0
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
11 months agolibbpf: Update to v1.3.0
Tony Ambardar [Fri, 24 Nov 2023 01:50:10 +0000 (17:50 -0800)]
libbpf: Update to v1.3.0

Update to the latest upstream release to include recent improvements and
bugfixes. Also refresh local patches.

Link: https://github.com/libbpf/libbpf/releases/tag/v1.3.0
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
11 months agohostapd: use new udebug ubus api to make debug rings configurable
Felix Fietkau [Thu, 30 Nov 2023 19:08:21 +0000 (20:08 +0100)]
hostapd: use new udebug ubus api to make debug rings configurable

Signed-off-by: Felix Fietkau <nbd@nbd.name>
11 months agoucode: update to Git HEAD (2023-11-30)
Felix Fietkau [Thu, 30 Nov 2023 18:13:35 +0000 (19:13 +0100)]
ucode: update to Git HEAD (2023-11-30)

96f74b5be829 ubus: make ubus_context first in uc_ubus_connection_t

Signed-off-by: Felix Fietkau <nbd@nbd.name>
11 months agoudebug: add more entries for the default config
Felix Fietkau [Tue, 28 Nov 2023 14:10:57 +0000 (15:10 +0100)]
udebug: add more entries for the default config

Signed-off-by: Felix Fietkau <nbd@nbd.name>
11 months agoprocd: update to Git HEAD (2023-11-28)
Felix Fietkau [Thu, 30 Nov 2023 18:19:01 +0000 (19:19 +0100)]
procd: update to Git HEAD (2023-11-28)

d852f877920b service: Fix retriggering of init.d-scripts.
7e6c6efd6fbc udebug: add support for logging via udebug

Signed-off-by: Felix Fietkau <nbd@nbd.name>
11 months agoubox: update to Git HEAD (2023-11-30)
Felix Fietkau [Thu, 30 Nov 2023 12:42:50 +0000 (13:42 +0100)]
ubox: update to Git HEAD (2023-11-30)

cc34fb7b922f logd: add support for subscribing to the log object
c08709cceb55 logd: add udebug support

Signed-off-by: Felix Fietkau <nbd@nbd.name>
11 months agolibubox: update to Git HEAD (2023-11-30)
Felix Fietkau [Thu, 30 Nov 2023 11:53:29 +0000 (12:53 +0100)]
libubox: update to Git HEAD (2023-11-30)

325fea5c57cf udebug: add functions for manipulating entry length
e84c000c4756 udebug: add inline helper function to test if a buffer is allocated
40acbe34632b udebug: wait for response after buffer add/remove

Signed-off-by: Felix Fietkau <nbd@nbd.name>
11 months agoudebug: update to Git HEAD (2023-11-30)
Felix Fietkau [Thu, 30 Nov 2023 11:52:08 +0000 (12:52 +0100)]
udebug: update to Git HEAD (2023-11-30)

d49aadabb7a1 lib: fix dealing with udebugd restarts
9ec5fbb6aaad ubus: report ring size and data size via ubus api
86b4396baa44 ring: add debug messages for ring alloc errors
e02306af7c50 lib: add helper function for applying ring config
b613879cb049 client: send confirmation messages for ring add/remove

Signed-off-by: Felix Fietkau <nbd@nbd.name>
11 months agomediatek: add support for Confiabits MT7981
Luis Mita [Wed, 22 Nov 2023 19:13:04 +0000 (15:13 -0400)]
mediatek: add support for Confiabits MT7981

Confiabits MT7981 is a Wi-Fi 6 router based on MediaTek MT7981.

Specification:
 - SoC: MediaTek MT7981B
 - CPU: 2x 1.3 GHz Cortex-A53
 - Flash: 128 MiB SPI NAND
 - RAM: 256 MiB
 - WLAN: 2.4 GHz, 5 GHz (MediaTek MT7976CN, 802.11ax)
 - Ethernet: 4x 10/100/1000 Mbps MT7531AE (3xLAN, 1xWAN)
 - USB 2.0 port
 - Buttons: 1 Reset button, 1 Mesh button.
 - LEDs: 7x light-blue, 2x warm-white
 - Serial console: internal 4-pin header, 115200 8n1
 - Power: 12 VDC, 1.5 A

MAC addresses in stock firmware and in this commit:
+---------+-------------------+-----------+
|         | MAC               | Algorithm |
+---------+-------------------+-----------+
| WAN     | 00:0c:43:xx:xx:e1 | label+1   |
| LAN     | 00:0c:43:xx:xx:e0 | label     |
| WLAN 2g | 00:0c:43:xx:xx:e0 | label     |
| WLAN 5g | 02:0c:43:xx:xx:e0 |           |
+---------+-------------------+-----------+
The label MAC was found in 'Factory', 0x4

Installation:
The stock firmware is OpenWrt-based. If you can reach LuCI or SSH, just use the sysupgrade image
with the 'Keep settings' option turned off.

Signed-off-by: Luis Mita <luis@luismita.com>
11 months agotarget: Make TARGET_SERIAL independent of GRUB configuration
Hauke Mehrtens [Sun, 26 Nov 2023 22:04:04 +0000 (23:04 +0100)]
target: Make TARGET_SERIAL independent of GRUB configuration

GRUB_SERIAL is also used for the default serial on the target and not
only in grub. When no grub was build it was not available and the build
fails.

Rename GRUB_SERIAL to TARGET_SERIAL and make it always available on x86
and armsr targets.

Fixes: #14063
Fixes: b10768476f9d ("x86,armsr: interpolate GRUB_SERIAL into /etc/inittab")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
11 months agokernel: bump 5.15 to 5.15.140
John Audia [Tue, 28 Nov 2023 22:08:16 +0000 (17:08 -0500)]
kernel: bump 5.15 to 5.15.140

Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.140

Removed upstreamed:
mvebu/patches-5.15/106-Revert-i2c-pxa-move-to-generic-GPIO-recovery.patch[1]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.140&id=06d320ca170b4e59bb261e2ce3ffe84e9154d42b

Build system: x86_64
Build-tested: ramips/tplink_archer-a6-v3
Run-tested: ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
11 months agokernel: bump 6.1 to 6.1.64
John Audia [Tue, 28 Nov 2023 19:34:53 +0000 (14:34 -0500)]
kernel: bump 6.1 to 6.1.64

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.64

Removed upstreamed:
ixp4xx/patches-6.1/0001-mtd-cfi_cmdset_0001-Byte-swap-OTP-info.patch[1]
mvebu/patches-6.1/106-Revert-i2c-pxa-move-to-generic-GPIO-recovery.patch[2]
qualcommax/patches-6.1/0026-v6.7-clk-qcom-ipq8074-drop-the-CLK_SET_RATE_PARENT-flag-f.patch[3]

Manually rebased:
bcm27xx/patches-6.1/950-0111-MMC-added-alternative-MMC-driver.patch

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.64&id=3b93096d29c5b9ca2af94be4ee9949c1767acf17
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.64&id=b3fd9db79e30d5eb5f76ef1f5b7e4f444af574ea
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.64&id=877080a3490102da26b8d969588159b2385f739e

Build system: x86/64
Build-tested: x86/64/AMD Cezanne
Run-tested: x86/64/AMD Cezanne

Signed-off-by: John Audia <therealgraysky@proton.me>
11 months agomediatek: add kmod-usb3 to default package set of the ZBT-Z8102AX
Daniel Golle [Wed, 29 Nov 2023 21:10:37 +0000 (21:10 +0000)]
mediatek: add kmod-usb3 to default package set of the ZBT-Z8102AX

Include XHCI USB drivers on the ZBT-Z8102AX router, the drivers are
required to be able to use the USB-connected M.2 slots for 4G/5G modems.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
11 months agolibubox: update to Git HEAD (2023-11-28)
Felix Fietkau [Tue, 28 Nov 2023 21:12:15 +0000 (22:12 +0100)]
libubox: update to Git HEAD (2023-11-28)

b77f2a4ce903 uloop: fix build using C++ compilers
260ad5bd1566 udebug: add ulog support
e80dc00ee90c link librt if needed for shm_open

Signed-off-by: Felix Fietkau <nbd@nbd.name>
11 months agoubus: update to Git HEAD (2023-11-28)
Felix Fietkau [Tue, 28 Nov 2023 12:54:19 +0000 (13:54 +0100)]
ubus: update to Git HEAD (2023-11-28)

2b39a27d8bcc libubus: fix reconnect with auto subscribe
f84eb5998c6e libubus: fix initial subscribe with autosubscribe

Signed-off-by: Felix Fietkau <nbd@nbd.name>
11 months agoubox: add acl file for logd
Felix Fietkau [Tue, 28 Nov 2023 11:51:37 +0000 (12:51 +0100)]
ubox: add acl file for logd

Fixes ubus reconnect, since the process user id changes to 'logd'

Signed-off-by: Felix Fietkau <nbd@nbd.name>
11 months agoudebug: move ubus dependency to libudebug
Felix Fietkau [Mon, 27 Nov 2023 18:36:33 +0000 (19:36 +0100)]
udebug: move ubus dependency to libudebug

Signed-off-by: Felix Fietkau <nbd@nbd.name>
11 months agoudebug: update to Git HEAD (2023-11-27)
Felix Fietkau [Mon, 27 Nov 2023 17:37:55 +0000 (18:37 +0100)]
udebug: update to Git HEAD (2023-11-27)

a2301fa3b0c6 README: add wireshark info
cfd83ccc1e4e server: properly handle unclaimed file descriptors
cb71f64de0ec lib: remove leftover debug code
a92101631c0d lib: fix avl tree lookup
d4b99820afd0 lib: move library code to libubox, add ubus config handling code

Signed-off-by: Felix Fietkau <nbd@nbd.name>
11 months agolibubox: update to Git HEAD (2023-11-27)
Felix Fietkau [Mon, 27 Nov 2023 17:37:33 +0000 (18:37 +0100)]
libubox: update to Git HEAD (2023-11-27)

82fa6480de7a uloop: add support for interval timers
13d9b04fb09d uloop: add support for user defined signal handlers
f7d156911311 uloop: properly initialize signal handler mask
8a5a4319a85c uloop: fix typo in signal handling rework
b3fa3d92e3eb uloop: reset flags after __uloop_fd_delete call
d4c3066e7c5e udebug: add udebug library code

Signed-off-by: Felix Fietkau <nbd@nbd.name>
11 months agomediatek: copy config for Acer Predator W6
David Bauer [Mon, 20 Nov 2023 15:36:43 +0000 (16:36 +0100)]
mediatek: copy config for Acer Predator W6

Config was previously not copied on sysupgrade.

Signed-off-by: David Bauer <mail@david-bauer.net>
11 months agomediatek: add support for GL.iNet GL-MT2500
David Bauer [Thu, 20 Apr 2023 17:49:55 +0000 (19:49 +0200)]
mediatek: add support for GL.iNet GL-MT2500

Hardware
--------
SoC:  MediaTek MT7981BA
RAM:  1GB DDR4 (NANYA NT5AD512M16C4-JR)
MMC:  8GB eMMC (Samsung 8GTF4R)
ETH:  1000Base-T LAN (ePHY)
      2500Base-T WAN (MaxLinear GPY211C)
BTN:  1x Reset Button
LED:  System (blue/white)
      VPN (white)
USB:  1x USB-A (USB 3.0)
UART: 115200 8N1 - Pinout on board next to LAN port
      Don't connect 3.3V!

Known Issues
------------
U-Boot vendor recovery does not seem to accept any images, neither
GL.iNet images nor OpenWrt images. Recovery requires serial access!

Installation
------------
Upload the OpenWrt sysupgrade image to the Gl.iNet Web-UI. Make sure to
not retain existing settings.

Signed-off-by: David Bauer <mail@david-bauer.net>
11 months agorockchip: require image metadata
David Bauer [Tue, 21 Nov 2023 13:10:09 +0000 (14:10 +0100)]
rockchip: require image metadata

All devices in the rockchip target have appended image-metadata. Enforce
the presence of this metadata to avoid flashing incomplete images.

This is the de-facto standard for almost all OpenWrt targets.

Signed-off-by: David Bauer <mail@david-bauer.net>
11 months agoath79: fortinet-fap-221-b: convert to nvmem-layout
Lech Perczak [Thu, 16 Nov 2023 16:30:11 +0000 (17:30 +0100)]
ath79: fortinet-fap-221-b: convert to nvmem-layout

Now that MAC address parser supports the hex format (without
delimiters), use the canonical MAC address stored in U-boot partition.
Get rid of the userspace adjustments which are no longer necessary.
While at that, move the mac-base to the common part, as it is again
exactly the same in both models.

And convert ART partition too - keep that one separate, as calibration
data length differs between the models.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
11 months agoath79: fortinet-fap-220-b: convert to nvmem-layout
Lech Perczak [Thu, 16 Nov 2023 16:17:32 +0000 (17:17 +0100)]
ath79: fortinet-fap-220-b: convert to nvmem-layout

Now that MAC address parser supports the hex format (without
delimiters), use the canonical MAC address stored in U-boot partition.
Get rid of the "mac-address-increment" binding.
While at that, convert ART partition too.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
11 months agoath79: fortinet-fap-220-b: fix WLAN MAC addresses
Lech Perczak [Sat, 25 Nov 2023 02:09:30 +0000 (03:09 +0100)]
ath79: fortinet-fap-220-b: fix WLAN MAC addresses

Addresses were swapped compared to the factory firmware. In addition to
that, one of them was shifted by -1. Fix that by setting wlan0 MAC
offset to 9, and wlan1 MAC offset to 2.

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
11 months agoustream-ssl: update to Git HEAD (2023-11-26)
Hauke Mehrtens [Sun, 26 Nov 2023 19:37:01 +0000 (20:37 +0100)]
ustream-ssl: update to Git HEAD (2023-11-26)

91666a3 ustream-mbedtls: Add compatibility with Mbed TLS 3.0.0
263b9a9 cmake: Fail if undefined symbols are used

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
11 months agox86 64: Add new device Cordoba Edge Platform
Xiaojun Liu [Mon, 13 Nov 2023 03:59:45 +0000 (03:59 +0000)]
x86 64: Add new device Cordoba Edge Platform

Add new device Cordoba Edge Platform
hardware specifications: CPU - Intel Atom C3000
                           Ethernet - 2 10Gbps ixgbe SPF+
                                      2 1Gbps  ixgbe RJ45/SPF
                                      4 2.5Gbps  igc RJ45
                           WiFi - mt7915e
                           LED  - 3 multicolor(red|blue|green) LEDs

Signed-off-by: Xiaojun Liu <xiaojun.liu@silicom.co.il>
11 months agodnsmasq: mark global ubus context as closed after fork
Sven Eckelmann [Sat, 18 Nov 2023 15:29:09 +0000 (16:29 +0100)]
dnsmasq: mark global ubus context as closed after fork

If the dnsmasq process forks to handle TCP connections, it closes the ubus
context. But instead of changing the daemon wide pointer to NULL, only the
local variable was adjusted - and this portion of the code was even dropped
(dead store) by some optimizing compilers.

It makes more sense to change the daemon->ubus pointer because various
functions are already checking it for NULL. It is also the behavior which
ubus_destroy() implements.

Fixes: d8b33dad0bb7 ("dnsmasq: add support for monitoring and modifying dns lookup results via ubus")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
11 months agorockchip: add NanoPi R5C support
Tianling Shen [Sun, 25 Jun 2023 16:37:31 +0000 (00:37 +0800)]
rockchip: add NanoPi R5C support

Hardware
--------
RockChip RK3568 ARM64 (4 cores)
1GB or 4GB LPDDR4X RAM
2x 2500 Base-T
4 LEDs (LAN / WAN / WIFI / POWER)
1 Button (Reset)
8GB or 32GB eMMC on-board
Micro-SD Slot
M.2 Slot
2x USB 3.0 Port

Installation
------------
Uncompress the OpenWrt sysupgrade and write it to a micro SD card or
internal eMMC using dd.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
11 months agouboot-rockchip: add NanoPi R5C support
Tianling Shen [Sun, 25 Jun 2023 16:37:30 +0000 (00:37 +0800)]
uboot-rockchip: add NanoPi R5C support

Add support for the FriendlyARM NanoPi R5C.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
11 months agorockchip: add NanoPi R5S support
Tianling Shen [Sun, 25 Jun 2023 16:37:30 +0000 (00:37 +0800)]
rockchip: add NanoPi R5S support

Hardware
--------
RockChip RK3568 ARM64 (4 cores)
2GB or 4GB LPDDR4X RAM
1x 1000 Base-T
2x 2500 Base-T
4 LEDs (LAN1 / LAN2 / WAN / POWER)
8GB eMMC on-board
Micro-SD Slot
M.2 Slot
2x USB 3.0 Port

Installation
------------
Uncompress the OpenWrt sysupgrade and write it to a micro SD card or
internal eMMC using dd.

Tested-by: Packet Please <pktpls@systemli.org>
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
11 months agouboot-rockchip: add NanoPi R5S support
Tianling Shen [Sun, 25 Jun 2023 16:37:30 +0000 (00:37 +0800)]
uboot-rockchip: add NanoPi R5S support

Add support for the FriendlyARM NanoPi R5S support.

Tested-by: Packet Please <pktpls@systemli.org>
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
11 months agorockchip: armv8: broaden boardname
Tianling Shen [Sun, 25 Jun 2023 16:37:29 +0000 (00:37 +0800)]
rockchip: armv8: broaden boardname

Now we have rk356x support :-)

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
11 months agorockchip: enable drivers for rk356x
Tianling Shen [Sun, 25 Jun 2023 16:37:29 +0000 (00:37 +0800)]
rockchip: enable drivers for rk356x

Enable all necessary drivers for the rk356x SoCs, including PHY,
SCMI, SPI etc. Also backport 2 upstream patches for sdhci fixes.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
11 months agorockchip: remove kernel 5.15 patches and config
Tianling Shen [Sun, 25 Jun 2023 16:37:29 +0000 (00:37 +0800)]
rockchip: remove kernel 5.15 patches and config

As we switched to kernel 6.1, these files can go.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
11 months agorockchip: switch to kernel 6.1
Tianling Shen [Sun, 25 Jun 2023 16:37:28 +0000 (00:37 +0800)]
rockchip: switch to kernel 6.1

Required by the following rk3568 support.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
11 months agorockchip: move image generation command to default
Tianling Shen [Sun, 25 Jun 2023 16:37:28 +0000 (00:37 +0800)]
rockchip: move image generation command to default

It's applicable for all devices so move it to default to reduce
redudant code. Addtionally introduce a new variable `BOOT_SCRIPT`
to allow custom boot script (if necessary).

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
11 months agorkbin: add new TF-A package for rk35xx
Tianling Shen [Sun, 25 Jun 2023 16:37:28 +0000 (00:37 +0800)]
rkbin: add new TF-A package for rk35xx

Currently there's no usable mainline (open source) TF-A implementation
for rk35xx SoCs, so pack the prebuilt firmware from the vendor.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
11 months agouboot-rockchip: Update to 2023.07.02
Tianling Shen [Sun, 25 Jun 2023 16:37:27 +0000 (00:37 +0800)]
uboot-rockchip: Update to 2023.07.02

* Removed swig hacks and prebuilt of-platdata
* Removed upstreamed patches
  - 101-rock64pro-disable-CONFIG_USE_PREBOOT.patch
  - 102-rockchip-rk3328-Add-support-for-FriendlyARM-NanoPi-R2C.patch
* Reordered patches

* Introduced new dependencies check
* Overrided default PATH to avoid race condition
    (host python3 vs hostpkg python3)
* Switched to use UBOOT_CUSTOMIZE_CONFIG for config update

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
11 months agouboot-sunxi: use intree dtc explicitly
Tianling Shen [Sat, 25 Nov 2023 15:17:15 +0000 (23:17 +0800)]
uboot-sunxi: use intree dtc explicitly

This replaces pylibfdt hack.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
11 months agouboot-sifiveu: use intree dtc explicitly
Tianling Shen [Sat, 25 Nov 2023 15:22:59 +0000 (23:22 +0800)]
uboot-sifiveu: use intree dtc explicitly

This replaces pylibfdt hack.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
11 months agouboot-mediatek: use intree dtc explicitly
Tianling Shen [Sat, 25 Nov 2023 15:21:22 +0000 (23:21 +0800)]
uboot-mediatek: use intree dtc explicitly

This replaces pylibfdt hack.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
11 months agou-boot: introduce dependencies check for swig and pyelftools
Tianling Shen [Sun, 25 Jun 2023 16:37:27 +0000 (00:37 +0800)]
u-boot: introduce dependencies check for swig and pyelftools

They are required by modern u-boot builds,
e.g. uboot-rockchip and uboot-sunxi.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
11 months agoipq40xx: enable UBI size checks for some Linksys NAND devices
Tony Ambardar [Sat, 11 Nov 2023 12:53:26 +0000 (04:53 -0800)]
ipq40xx: enable UBI size checks for some Linksys NAND devices

Add correct NAND_SIZE in device definitions for EA6350v3, EA8300, MR8300,
WHW01 and WHW03v2, to enable improved image size checks wrt UBI reserved
blocks on NAND devices.

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
11 months agoimage: improve UBI image sizing on NAND devices
Tony Ambardar [Sat, 11 Nov 2023 12:46:14 +0000 (04:46 -0800)]
image: improve UBI image sizing on NAND devices

Many NAND devices use a build recipe with "append-ubi | check-size" to
ensure factory images don't exceed the target flash partition size.
However, UBI reserves space for bad block handling and other operational
overhead, and thus 'check-size' can overestimate the space available by
several MB. In practice, this means a failed check is definitely a failure,
while a passing check is only probably a pass.

Improve the situation by teaching 'Build/append-ubi' to check image sizes
while accounting for UBI reserved blocks. Add new device variable NAND_SIZE
and use with existing IMAGE_SIZE to derate the available space. Each UBI
device reserves 20 PEBs per 1024 PEBs of the entire NAND device for bad
blocks, plus an additional 4 PEBs overhead.

Many devices can transparently enable this check by setting NAND_SIZE based
on their flash storage, and may then remove any unneeded 'check-size'.

Link: http://www.linux-mtd.infradead.org/doc/ubi.html#L_overhead
Suggested-by: Shiji Yang <yangshiji66@qq.com>
Suggested-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
11 months agoimage: fix Linksys image alignment and simplify footer creation
Tony Ambardar [Tue, 14 Nov 2023 01:14:07 +0000 (17:14 -0800)]
image: fix Linksys image alignment and simplify footer creation

Current factory image sizes for Linksys devices are 256-byte aligned. This
is not an issue writing factory images from the OpenWrt or Linksys GUIs,
but can lead to failures using a TFTP client from the Linksys bootloader:

     NAND write: device 1 offset 0x2800000, size 0xc00100
     Attempt to write to non page aligned data
     NAND write to offset 2800000 failed -22
      0 bytes written: ERROR

Simplify Linksys footer creation by migrating to a makefile build recipe,
and pre-pad the footer (with 0xFF) to ensure the final image is $(PAGESIZE)
aligned.  Finally, remove the old linksys-image.sh script no longer needed.

Linksys footer details are given below for future reference. The 256-byte
footer is appended to factory images and tested by both the Linksys
Upgrader (observed in EA6350v3) and OpenWrt sysupgrade.

  Footer format:
    .LINKSYS.     Checked by Linksys upgrader before continuing.  (9 bytes)
    <VERSION>     Upgrade version number, unchecked so arbitrary. (8 bytes)
    <TYPE>        Model of device, space padded (0x20).          (15 bytes)
    <CRC>         CRC checksum of factory image to flash.         (8 bytes)
    <padding>     Padding ('0' + 0x20 * 7)                        (8 bytes)
    <signature>   Signature of signer, unchecked so arbitrary.   (16 bytes)
    <padding>     Padding with nulls (0x00)                     (192 bytes)

Link: https://github.com/openwrt/openwrt/pull/11405#issuecomment-1358510123
Link: https://github.com/openwrt/openwrt/pull/11405#issuecomment-1587517739
Reported-by: Stijn Segers <foss@volatilesystems.org>
Reported-by: Wyatt Martin <wawowl@gmail.com>
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
11 months agoimage: use helper function for size units
Tony Ambardar [Sat, 11 Nov 2023 12:29:26 +0000 (04:29 -0800)]
image: use helper function for size units

Add the make function 'exp_units' for helping evaluate k/m/g size units in
expressions, and use this to consistently replace many ad hoc substitutions
like '$(subst k,* 1024,$(subst m, * 1024k,$(IMAGE_SIZE)))' in makefiles.

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
11 months agoipq40xx: fix typo in Linksys WHW01 image definition
Tony Ambardar [Mon, 2 Oct 2023 04:51:32 +0000 (21:51 -0700)]
ipq40xx: fix typo in Linksys WHW01 image definition

Use lower-case "k" in IMAGE_SIZE for Linksys WHW01, permitting proper unit
conversions in build recipes (e.g. 75776k -> 75776*1024).

Fixes: 2a9f3b7717 ("ipq40xx: fix up Linksys WHW01 board name, device definition")
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
11 months agoath79: add support for D-link DAP-1720 A1
Rani Hod [Sun, 12 Nov 2023 23:15:31 +0000 (01:15 +0200)]
ath79: add support for D-link DAP-1720 A1

D-Link DAP-1720 rev A1 is a mains-powered AC1750 Wi-Fi range extender,
manufactured by Alpha Networks [8WAPAC28.1A1G].
(in square brackets: PCB silkscreen markings)

Specifications:
* CPU (Qualcomm Atheros QCA9563-AL3A [U5]):
  775 MHz single core MIPS 74Kc;
* RAM (Winbond W9751G6KB-25J [U3]):
  64 MiB DDR2;
* ROM (Winbond W25Q128FV [U16]):
  16 MiB SPI NOR flash;
* Ethernet (AR8033-AL1A PHY [U1], no switch):
  1 GbE RJ45 port (no PHY LEDs);
* Wi-Fi
  * 2.4 GHz (Qualcomm Atheros QCA9563-AL3A [U5]):
    3x3 802.11n;
  * 5 GHz (Qualcomm Atheros QCA9880-BR4A [U9]):
    3x3 802.11ac Wave 1;
  * 3 foldable dual-band antennas (U.fl) [P1],[P2],[P3];
* GPIO LEDs:
  * RSSI low (red/green) [D2];
  * RSSI medium (green) [D3];
  * RSSI high (green) [D4];
  * status (red/green) [D5];
* GPIO buttons:
  * WPS [SW1], co-located with status LED;
  * reset [SW4], accessible via hole in the side;
* Serial/UART:
  Tx-Gnd-3v3-Rx [JP1], Tx is the square pin, 1.25mm pitch;
  125000-8-n-1 in U-boot, 115200-8-n-1 in kernel;
* Misc:
  * 12V VCC [JP2], fed from internal 12V/1A AC to DC converter;
  * on/off slide switch [SW2] (disconnects VCC mechanically);
  * unpopulated footprints for a Wi-Fi LED [D1];
  * unpopulated footprints for a 4-pin 3-position slide switch (SW3);

MAC addresses:
* Label = LAN;
* 2.4 GHz WiFi = LAN;
* 5 GHz WiFi = LAN+2;

Installation:
* `factory.bin` can be used to install OpenWrt from OEM firmware via the
  standard upgrade webpage at http://192.168.0.50/UpdateFirmware.html
* `recovery.bin` can be used to install OpenWrt (or revert to OEM
  firmware) from D-Link Web Recovery. To enter web recovery, keep reset
  button pressed and then power on the device. Reset button can be
  released when the red status LED is bright; it will then blink slowly.
  Set static IP to 192.168.0.10, navigate to http://192.168.0.50 and
  upload 'recovery.bin'. Note that in web recovery mode the device
  ignores ping and DHCP requests.

Note: 802.11s is not supported by the default `ath10k` driver and
firmware, but is supported by the non-CT driver and firmware variants.
The `-smallbuffers` driver variant is recommended due to RAM size.

Co-developed-by: Anthony Sepa <protectivedad@gmail.com>
Signed-off-by: Rani Hod <rani.hod@gmail.com>
12 months agoath79: ar: convert to mac-base
Rosen Penev [Sun, 26 Nov 2023 04:36:49 +0000 (20:36 -0800)]
ath79: ar: convert to mac-base

Replacement for deprecated mac-address-increment

Signed-off-by: Rosen Penev <rosenp@gmail.com>
12 months agoath79: ar: convert to nvmem-layout
Rosen Penev [Sun, 26 Nov 2023 03:31:17 +0000 (19:31 -0800)]
ath79: ar: convert to nvmem-layout

Will allow removing deprecated mac-address-increment.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
12 months agoath79: tp9343: convert to nvmem-layout
Rosen Penev [Sun, 26 Nov 2023 01:36:49 +0000 (17:36 -0800)]
ath79: tp9343: convert to nvmem-layout

Allows getting rid of deprecated mac-address-increment.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
12 months agoath79: qcn: convert to nvmem-layout
Rosen Penev [Sun, 26 Nov 2023 01:25:18 +0000 (17:25 -0800)]
ath79: qcn: convert to nvmem-layout

Allows getting rid of deprecated mac-address-increment.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
12 months agoath79: qca: remove mac-address-increment
Rosen Penev [Fri, 10 Nov 2023 22:55:43 +0000 (14:55 -0800)]
ath79: qca: remove mac-address-increment

nvmem-layout allows removal

Signed-off-by: Rosen Penev <rosenp@gmail.com>
12 months agoath79: qca: convert to nvmem-layout
Rosen Penev [Thu, 9 Nov 2023 23:18:44 +0000 (15:18 -0800)]
ath79: qca: convert to nvmem-layout

Allows replacing mac-address-increment with mac-base.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
12 months agoath79: mikrotik: fix dts warnings
Rosen Penev [Sat, 11 Nov 2023 00:21:29 +0000 (16:21 -0800)]
ath79: mikrotik: fix dts warnings

property has invalid length

Signed-off-by: Rosen Penev <rosenp@gmail.com>
12 months agoramips: mt7621: nix mac-address-increment
Rosen Penev [Wed, 8 Nov 2023 03:39:00 +0000 (19:39 -0800)]
ramips: mt7621: nix mac-address-increment

nvmem-layout allows removal

Signed-off-by: Rosen Penev <rosenp@gmail.com>
12 months agoramips: mt7621: convert to nvmem-layout
Rosen Penev [Tue, 7 Nov 2023 23:55:58 +0000 (15:55 -0800)]
ramips: mt7621: convert to nvmem-layout

Allows replacing mac-address-increment with mac-base.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
12 months agoramips: mt7621: add interrupt-controller
Rosen Penev [Wed, 8 Nov 2023 03:25:58 +0000 (19:25 -0800)]
ramips: mt7621: add interrupt-controller

Fixes dtc warning:

'#interrupt-cells' found, but node is not an interrupt provider

Signed-off-by: Rosen Penev <rosenp@gmail.com>
12 months agoramips: mt7620a: use mac-base
Rosen Penev [Sat, 25 Nov 2023 21:35:04 +0000 (13:35 -0800)]
ramips: mt7620a: use mac-base

mac-address-increment is deprecated.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
12 months agoramips: mt7620a: convert to nvmem-layout
Rosen Penev [Sat, 25 Nov 2023 21:20:44 +0000 (13:20 -0800)]
ramips: mt7620a: convert to nvmem-layout

Allows using mac-base to replace mac-address-increment.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
12 months agoramips: mt7620n: convert to nvmem-layout
Rosen Penev [Sat, 25 Nov 2023 20:32:55 +0000 (12:32 -0800)]
ramips: mt7620n: convert to nvmem-layout

nvmem-cells is deprecated. nvmem-layout allows using mac-base.

Signed-off-by: Rosen Penev <rosenp@gmail.com>