openwrt/staging/blocktrron.git
6 months agoscripts: Add GNU ftp mirror redirector for GNU and Savannah
Sahil Dhiman [Sat, 25 May 2024 09:57:12 +0000 (15:27 +0530)]
scripts: Add GNU ftp mirror redirector for GNU and Savannah

Add GNU's redirector which automatically redirect user to nearby online
mirror.

Signed-off-by: Sahil Dhiman <sahil@hopbox.in>
Link: https://github.com/openwrt/openwrt/pull/15557
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 months agotools/mkimage: update to v2024.04
Nick Hainke [Fri, 5 Apr 2024 10:18:41 +0000 (12:18 +0200)]
tools/mkimage: update to v2024.04

Update to latest version.

Refresh patches:
- 030-allow-to-use-different-magic.patch
- 095-tools-disable-TOOLS_FIT_FULL_CHECK.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
6 months agoramips: modules: remove symbol CONFIG_DW_DMAC_PCI
Shiji Yang [Mon, 27 May 2024 12:48:46 +0000 (12:48 +0000)]
ramips: modules: remove symbol CONFIG_DW_DMAC_PCI

The DW_DMAC_PCI symbol won't be automatically selected at all.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
6 months agoramips: gdma: remove slave_id field
Shiji Yang [Mon, 27 May 2024 12:41:48 +0000 (12:41 +0000)]
ramips: gdma: remove slave_id field

Fix compile error:
drivers/dma/ralink-gdma.c: In function 'gdma_dma_config':
drivers/dma/ralink-gdma.c:197:40: error: 'struct dma_slave_config' has no member named 'slave_id'
  197 |                 chan->slave_id = config->slave_id;
      |                                        ^~
drivers/dma/ralink-gdma.c:206:40: error: 'struct dma_slave_config' has no member named 'slave_id'
  206 |                 chan->slave_id = config->slave_id;
      |                                        ^~
make[8]: *** [scripts/Makefile.build:243: drivers/dma/ralink-gdma.o] Error 1

ref: https://lore.kernel.org/all/20211122222203.4103644-1-arnd@kernel.org/

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
6 months agoramips: add back the gdma driver
Shiji Yang [Mon, 27 May 2024 08:55:42 +0000 (08:55 +0000)]
ramips: add back the gdma driver

The gdma driver has been removed from the upstream. Let's move it
to the local files. This patch also removed unsupported compatible
string and sub-target.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
6 months agomediatek: add missing ';;' in shell switch case block
Daniel Golle [Tue, 28 May 2024 22:50:15 +0000 (23:50 +0100)]
mediatek: add missing ';;' in shell switch case block

Add missing ';;' to the end of shell switch case statement.

Fixes: c71b68acdd ("mediatek: filogic: add Adtran SmartRG Mount Stuart series")
Reported-by: @gl-dude
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
6 months agotoolchain: gcc: update to 13.3
Olcay Korkmaz [Tue, 28 May 2024 19:42:41 +0000 (22:42 +0300)]
toolchain: gcc: update to 13.3

Release Notes:
https://gcc.gnu.org/pipermail/gcc/2024-May/243980.html

Remove upstreamed patches:
- patches-13.x/020-Include-safe-ctype.h-after-C-standard-headers-to-avo.patch
- patches-13.x/021-libcc1-fix-vector-include.patch
- patches-13.x/400-LoongArch-Fix-MUSL_DYNAMIC_LINKER.patch
- patches-13.x/401-LoongArch-Modify-MUSL_DYNAMIC_LINKER.patch

Refresh patches:
- patches-13.x/300-mips_Os_cpu_rtx_cost_model.patch
- patches-13.x/970-macos_arm64-building-fix.patch

Signed-off-by: Olcay Korkmaz <nuke_mania@hotmail.com>
6 months agomalta: Remove kernel 6.1 configuration
Hauke Mehrtens [Sun, 26 May 2024 18:04:33 +0000 (20:04 +0200)]
malta: Remove kernel 6.1 configuration

Malta is using kernel 6.6 by default now, remove configuration for
kernel 6.1.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 months agomalta: Use kernel 6.6 by default
Hauke Mehrtens [Sun, 26 May 2024 18:03:09 +0000 (20:03 +0200)]
malta: Use kernel 6.6 by default

All 4 subtargets are compiling fine and booting up in qemu.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 months agokernel: kmod-ipt-clusterip: Depend on kernel 5.15 and 6.1
Hauke Mehrtens [Sun, 26 May 2024 20:27:53 +0000 (22:27 +0200)]
kernel: kmod-ipt-clusterip: Depend on kernel 5.15 and 6.1

The kernel module was removed in kernel 6.3.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9db5d918e2c07fa09fab18bc7addf3408da0c76f

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 months agokernel: kmod-can-usb-esd: Fix build on kernel 6.6
Hauke Mehrtens [Sun, 26 May 2024 20:24:59 +0000 (22:24 +0200)]
kernel: kmod-can-usb-esd: Fix build on kernel 6.6

The kernel module and configuration option was renamed from esd_usb2.ko
to esd_usb.ko in kernel 6.0. Adapt the kernel package.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5e910bdedc84c1f196863cebdf27c1806449c27c

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 months agolinux-firmware: Update to version 20240513
Hauke Mehrtens [Sun, 26 May 2024 22:40:49 +0000 (00:40 +0200)]
linux-firmware: Update to version 20240513

This updates the following firmware files:
airoha-en8811h-firmware/lib/firmware/airoha/EthMD32.DSP.bin
airoha-en8811h-firmware/lib/firmware/airoha/EthMD32.dm.bin
amdgpu-firmware/ (Many files)
ibt-firmware/lib/firmware/intel/ibt-0040-0041.sfi
ibt-firmware/lib/firmware/intel/ibt-0040-1020.sfi
ibt-firmware/lib/firmware/intel/ibt-0040-1050.sfi
ibt-firmware/lib/firmware/intel/ibt-0040-2120.sfi
ibt-firmware/lib/firmware/intel/ibt-0040-4150.sfi
ibt-firmware/lib/firmware/intel/ibt-0041-0041.sfi
ibt-firmware/lib/firmware/intel/ibt-0180-0041.sfi
ibt-firmware/lib/firmware/intel/ibt-0180-1050.sfi
ibt-firmware/lib/firmware/intel/ibt-0180-4150.sfi
ibt-firmware/lib/firmware/intel/ibt-0291-0291.ddc
ibt-firmware/lib/firmware/intel/ibt-0291-0291.sfi
ibt-firmware/lib/firmware/intel/ibt-1040-0041.sfi
ibt-firmware/lib/firmware/intel/ibt-1040-1020.sfi
ibt-firmware/lib/firmware/intel/ibt-1040-1050.sfi
ibt-firmware/lib/firmware/intel/ibt-1040-2120.sfi
ibt-firmware/lib/firmware/intel/ibt-1040-4150.sfi
ibt-firmware/lib/firmware/intel/ibt-17-16-1.sfi
ibt-firmware/lib/firmware/intel/ibt-17-2.sfi
ibt-firmware/lib/firmware/intel/ibt-18-16-1.sfi
ibt-firmware/lib/firmware/intel/ibt-18-2.sfi
ibt-firmware/lib/firmware/intel/ibt-19-0-0.sfi
ibt-firmware/lib/firmware/intel/ibt-19-0-1.sfi
ibt-firmware/lib/firmware/intel/ibt-19-0-4.sfi
ibt-firmware/lib/firmware/intel/ibt-19-16-4.sfi
ibt-firmware/lib/firmware/intel/ibt-19-240-1.sfi
ibt-firmware/lib/firmware/intel/ibt-19-240-4.sfi
ibt-firmware/lib/firmware/intel/ibt-19-32-0.sfi
ibt-firmware/lib/firmware/intel/ibt-19-32-1.sfi
ibt-firmware/lib/firmware/intel/ibt-19-32-4.sfi
ibt-firmware/lib/firmware/intel/ibt-20-0-3.sfi
ibt-firmware/lib/firmware/intel/ibt-20-1-3.sfi
ibt-firmware/lib/firmware/intel/ibt-20-1-4.sfi
iwlwifi-firmware-ax200/lib/firmware/iwlwifi-cc-a0-77.ucode
iwlwifi-firmware-ax201/lib/firmware/iwlwifi-QuZ-a0-hr-b0-77.ucode
iwlwifi-firmware-ax210/lib/firmware/iwlwifi-ty-a0-gf-a0.pnvm
iwlwifi-firmware-be200/lib/firmware/iwlwifi-gl-c0-fm-c0.pnvm
iwlwifi-firmware-iwl9000/lib/firmware/iwlwifi-9000-pu-b0-jf-b0-46.ucode
iwlwifi-firmware-iwl9260/lib/firmware/iwlwifi-9260-th-b0-jf-b0-46.ucode
mt7921bt-firmware/lib/firmware/mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin
mt7922bt-firmware/lib/firmware/mediatek/BT_RAM_CODE_MT7922_1_1_hdr.bin
rtl8852ce-firmware/lib/firmware/rtw89/rtw8852c_fw.bin

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
6 months agoebtables: fix compilation with GCC14
Georgi Valkov [Mon, 27 May 2024 20:23:20 +0000 (23:23 +0300)]
ebtables: fix compilation with GCC14

Remove 100-musl_fix.patch, which is no longer needed
and causes a build error with gcc-14.

Fixes:
useful_functions.c:63:41: error: passing argument 1 of 'ether_ntoa' from incompatible pointer type [-Wincompatible-pointer-types]
   63 |                 printf("%s", ether_ntoa((struct ether_addr *) mac));
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~
      |                                         |
      |                                         struct ether_addr *
In file included from include/ebtables_u.h:28,
                 from useful_functions.c:25:
/Volumes/wrt3200/openwrt/staging_dir/toolchain-arm_cortex-a9+vfpv3-d16_gcc-14.1.0_musl_eabi/include/netinet/ether.h:10:19: note: expected 'const struct ether_addr *' but argument is of type 'struct ether_addr *'
   10 | char *ether_ntoa (const struct ether_addr *);
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15576
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 months agolantiq: disable building of ZyXEL P-2812HNU F1
Nick Hainke [Tue, 28 May 2024 06:06:10 +0000 (08:06 +0200)]
lantiq: disable building of ZyXEL P-2812HNU F1

Disable image building for the board, since the kernel of the main branch
is to big to fit into the kernel partition.

Signed-off-by: Nick Hainke <vincent@systemli.org>
6 months agolantiq: switch to kernel 6.1
Martin Schiller [Wed, 15 May 2024 08:34:18 +0000 (10:34 +0200)]
lantiq: switch to kernel 6.1

Let's switch the lantiq target to use kernel 6.1 by default.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
6 months agoath79: add support for Dell SonicPoint ACe APL26-0AE
Tomasz Maciej Nowak [Wed, 17 Apr 2024 15:01:55 +0000 (17:01 +0200)]
ath79: add support for Dell SonicPoint ACe APL26-0AE

Dell/SonicWall APL26-0AE (marketed as SonicPoint ACe) is a dual band
wireless access point. End of life as of 2022-07-31.

Specification
SoC: QualcommAtheros QCA9550
RAM: 256 MB DDR2
Flash: 32 MB SPI NOR
WIFI: 2.4 GHz 3T3R integrated
      5 GHz 3T3R QCA9890 oversized Mini PCIe card
Ethernet: 2x 10/100/1000 Mbps QCA8334
          port labeled lan1 is PoE capable (802.3at)
USB: 1x 2.0
LEDs: LEDs: 6x which 5 are GPIO controlled and two of them are dual color
Buttons: 2x GPIO controlled
Serial: RJ-45 port, SonicWall pinout
        baud: 115200, parity: none, flow control: none

Before flashing, be sure to have a copy of factory firmware, in case You
wish to revert to original firmware.
All described procedures were done in following environment:
ROM Version: SonicROM (U-Boot) 8.0.0.0-11o
SafeMode Firmware Version: SonicOS 8.0.0.0-14o
Firmware Version: SonicOS 9.0.1.0
In case of other versions, following installation instructions might be
ineffective.

Installation
1. Prepare TFTP server with OpenWrt sysupgrade image and rename that
   image to "sp_fw.bin".
2. Connect to one of LAN ports.
3. Connect to serial port.
4. Hold the reset button (small through hole on side of the unit),
   power on the device and when prompted to stop autoboot, hit any key.
   The held button can now be released.
5. Alter U-Boot environment with following commands:
    setenv bootcmd bootm 0x9F110000
    saveenv
6. Adjust "ipaddr" (access point, default is 192.168.1.1) and "serverip"
   (TFTP server, default is 192.168.1.10) addresses in U-Boot
   environment, then run following commands:
    tftp 0x80060000 sp_fw.bin
    erase 0x9F110000 +0x1EF0000
    cp.b 0x80060000 0x9F110000 $filesize
7. After successful flashing, execute:
    boot
8. The access point will boot to OpenWrt. Wait few minutes, until the
    wrench LED will stop blinking, then it's ready for configuration.

Known issues
Initramfs image can't be bigger than specified kernel size, otherwise
bootloader will throw LZMA decompressing error. Switching to lzma-loader
should workaround that.
This device has Winbond 25Q256FVFG and doesn't have reliable reset, which
causes hang on reboot, thus broken-flash-reset needs to be added. This
property addition causes dispaly of "scary" warning on each boot, take
this warnig into consideration.

Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
6 months agokernel/modules/other/mlxreg: add new package
Til Kaiser [Sun, 28 Apr 2024 13:30:54 +0000 (15:30 +0200)]
kernel/modules/other/mlxreg: add new package

This commit adds a new mlxreg package, which allows access
to Mellanox programmable device register space through sysfs
interface for thermal control and hardware management.

It also adds required Mellanox I²C drivers and packages
for the "special" MSN4800 series and SN2201 platform.

Signed-off-by: Til Kaiser <mail@tk154.de>
6 months agokernel/modules/other/mlx_wdt: add new package
Til Kaiser [Sun, 28 Apr 2024 13:16:57 +0000 (15:16 +0200)]
kernel/modules/other/mlx_wdt: add new package

This commit adds a new driver for the hardware watchdog
on Mellanox systems.

Signed-off-by: Til Kaiser <mail@tk154.de>
6 months agoramips: samknows whitebox v8: set wifi frequency
Mieczyslaw Nalewaj [Sun, 5 May 2024 21:45:36 +0000 (23:45 +0200)]
ramips: samknows whitebox v8: set wifi frequency

Set the 2.4GHz frequency for WiFi.

Fixes: #15391
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
6 months agolayerscape: add 6.6 testing kernel
Pawel Dembicki [Wed, 27 Mar 2024 12:12:11 +0000 (13:12 +0100)]
layerscape: add 6.6 testing kernel

Support is ready. Let's enable 6.6 as testing version.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
6 months agolayerscape: adjust dts path in image scripts
Pawel Dembicki [Wed, 27 Mar 2024 12:08:39 +0000 (13:08 +0100)]
layerscape: adjust dts path in image scripts

After the spliting dts folder of ARM architecture in upstream,
layerscape routines need to be adjusted for new solution.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
6 months agolayerscape: refresh 6.6 config
Pawel Dembicki [Tue, 26 Mar 2024 10:08:05 +0000 (11:08 +0100)]
layerscape: refresh 6.6 config

Mostly done by 'make kernel_oldconfig'.

armv8_64b has added one entry manually:
CONFIG_CRYPTO_CURVE25519=y

as workaround for error:
aarch64-openwrt-linux-musl-ld: crypto/crypto_engine.o: in function
`crypto_engine_register_kpp':
crypto_engine.c:687: undefined reference to `crypto_register_kpp'
crypto_engine.c:687:(.text+0x57c): relocation truncated to fit:
R_AARCH64_CALL26 against undefined symbol `crypto_register_kpp'
aarch64-openwrt-linux-musl-ld: crypto/crypto_engine.o: in function
`crypto_engine_unregister_kpp':
crypto/crypto_engine.c:693: undefined reference to `crypto_unregister_kpp'
crypto_engine.c:693:(.text+0x5a0): relocation truncated to fit:
R_AARCH64_CALL26 against undefined symbol `crypto_unregister_kpp'

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
6 months agogeneric: kernel add 6.6 missing symbols
Pawel Dembicki [Tue, 26 Mar 2024 10:07:09 +0000 (11:07 +0100)]
generic: kernel add 6.6 missing symbols

Found durring works on layerscape.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
6 months agolayerscape: kernel: refresh 6.6 patches
Pawel Dembicki [Mon, 18 Mar 2024 13:33:54 +0000 (14:33 +0100)]
layerscape: kernel: refresh 6.6 patches

Taken refreshed version from Layerscape 6.6 tree:
302-arm64-dts-ls1012a-update-with-ppfe-support.patch
304-arm64-dts-ls1012a-rdb-workaround-by-updating-qspi-fl.patch
400-LF-20-3-mtd-spi-nor-Use-1-bit-mode-of-spansion-s25fs.patch
701-staging-add-fsl_ppfe-driver.patch
702-phy-Add-2.5G-SGMII-interface-mode.patch
704-net-phylink-treat-PHY_INTERFACE_MODE_2500SGMII-in-ph.patch

Removed:
704-net-phylink-treat-PHY_INTERFACE_MODE_2500SGMII-in-ph.patch (meld
into 702)

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
6 months agokernel/layerscape: Restore kernel files for v6.1
Pawel Dembicki [Mon, 18 Mar 2024 11:42:37 +0000 (12:42 +0100)]
kernel/layerscape: Restore kernel files for v6.1

This is an automatically generated commit which aids following Kernel patch history,
as git will see the move and copy as a rename thus defeating the purpose.

See: https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html
for the original discussion.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
6 months agokernel/layerscape: Create kernel files for v6.6 (from v6.1)
Pawel Dembicki [Mon, 18 Mar 2024 11:42:37 +0000 (12:42 +0100)]
kernel/layerscape: Create kernel files for v6.6 (from v6.1)

This is an automatically generated commit.

During a `git bisect` session, `git bisect --skip` is recommended.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
6 months agotfa-layerscape: Bump to lf-6.6.3-1.0.0
Pawel Dembicki [Mon, 18 Mar 2024 11:29:08 +0000 (12:29 +0100)]
tfa-layerscape: Bump to lf-6.6.3-1.0.0

This commit bumps tfa-layerscape package to version lf-6.6.3-1.0.0

Manually rebased:
001-fiptool-hostbuild-fixes.patch
004-plat-nxp-restore-ls1012afrdm-support.patch

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
6 months agouboot-layerscape: bump to lf-6.6.3-1.0.0
Pawel Dembicki [Mon, 18 Mar 2024 10:42:42 +0000 (11:42 +0100)]
uboot-layerscape: bump to lf-6.6.3-1.0.0

This commit bumps u-boot layerscape package to lf-6.6.3-1.0.0 version.

Removed upstreamed:
0001-board-ls1046ardb-force-PCI-device-enumeration.patch
0002-board-ls1043ardb-force-PCI-device-enumeration.patch

Manually rebased:
0900-layerscape-adjust-LS1021A-IOT-config-for-OpenWrt.patch

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
6 months agoppfe-firmware: Bump to lf-6.6.3-1.0.0
Pawel Dembicki [Mon, 18 Mar 2024 09:49:55 +0000 (10:49 +0100)]
ppfe-firmware: Bump to lf-6.6.3-1.0.0

Bump ppfe-firmware package to lf-6.6.3-1.0.0

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
6 months agols-rcw: Bump to lf-6.6.3-1.0.0
Pawel Dembicki [Mon, 18 Mar 2024 09:47:48 +0000 (10:47 +0100)]
ls-rcw: Bump to lf-6.6.3-1.0.0

Bump ls-rcw package to lf-6.6.3-1.0.0.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
6 months agols-ddr-phy: bump to lf-6.6.3-1.0.0
Pawel Dembicki [Mon, 18 Mar 2024 09:44:47 +0000 (10:44 +0100)]
ls-ddr-phy: bump to lf-6.6.3-1.0.0

Bump ls-ddr-phy to version lf-6.6.3-1.0.0.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
6 months agofman-ucode: Bump to lf-6.6.3-1.0.0
Pawel Dembicki [Mon, 18 Mar 2024 09:42:15 +0000 (10:42 +0100)]
fman-ucode: Bump to lf-6.6.3-1.0.0

Bump fman-ucode to version lf-6.6.3-1.0.0.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
6 months agomvebu: add support for Fortinet FortiWiFi 51E
INAGAKI Hiroshi [Wed, 8 Mar 2023 12:54:14 +0000 (21:54 +0900)]
mvebu: add support for Fortinet FortiWiFi 51E

Fortinet FortiWiFi 51E (FWF-51E) is a UTM with 1x WLAN and 1x SSD, based
on Armada 385 (88F6820).

Specification:

- SoC          : Marvell Armada 385 88F6820
- RAM          : DDR3 2 GiB (4x Micron MT41K512M8DA-107, "D9SGQ")
- Flash        : SPI-NOR 128 MiB (Macronix MX66L1G45GMI-10G)
- SSD          : mSATA SSD 32 GB (A-DATA XM21E (AXM21ES3-32GM-B))
  - mode       : SATA III 6Gbps
  - power      : 3.3 VDC, 3.1 W (Max.)
- Ethernet     : 7x 10/100/1000 Mbps
  - LAN 1-5    : Marvell 88E6176
  - WAN 1, 2   : Marvell 88E1512 (2x)
- WLAN         : Fortinet EMP7618-FT (Atheros AR9382 (2T2R))
  - interface  : MiniPCIe
- LEDs/Keys    : 18x/1x
- UART         : "CONSOLE" port (RJ-45, RS-232C level)
  - port       : ttyS0
  - settings   : 9600bps 8n1
  - assignment : 1:NC , 2:NC , 3:TXD, 4:GND,
                 5:GND, 6:RXD, 7:NC , 8:NC
  - note       : compatible with Cisco console cable
- HW Monitoring: nuvoTon NCT7802Y
- Power        : 12 VDC, 2 A
  - plug       : Molex 5557-02R

Flash instruction using initramfs image:

 1. Power on FWF-51E and interrupt to show bootmenu
 2. Call "[I]: System information." -> "[S]: Set serial port baudrate."
    and set baudrate to 9600 bps
 3. Call "[R]: Review TFTP parameters.", check TFTP parameters and
    connect computer to "Image download port" in the parameters
 4. Prepare TFTP server with the parameters obtained above
 5. Rename OpenWrt initramfs image to "image.out" and put to TFTP
    directory
 6. Call "[T]: Initiate TFTP firmware transfer." to download initramfs
    image from TFTP server
 7. Type "R" key when the following message is showed, to boot initramfs
    image without flashing to spi-nor flash

    "Save as Default firmware/Backup firmware/Run image without saving:[D/B/R]?"

 8. On initramfs image, backup mtd if needed

    minimum:

    - "firmware-info"
    - "kernel"
    - "rootfs"

 9. On initramfs image, upload sysupgrade image to the device and perform
    sysupgrade
10. Wait ~200 seconds to complete flashing and rebooting.
    If the device is booted with stock firmware, login to bootmenu and
    call "[B]: Boot with backup firmware and set as default." to set the
    first OS image as default and boot it.

Notes:

- Both colors of Bi-color LEDs on the front panel cannot be turned on at
  the same time.

- "PWR" and "Logo" LEDs are connected to power source directly.

- The following partitions are added for OpenWrt.
  These partitions are contained in "uboot" partition (0x0-0x1fffff) on
  stock firmware.

  - "firmware-info"
  - "dtb"
  - "u-boot-env"
  - "board-info"

Image header for bootmenu tftp:

  0x0 - 0xf  : ?
 0x10 - 0x2f : Image Name
 0x30 - 0x17f: ?
0x180 - 0x183: Kernel Offset*
0x184 - 0x187: Kernel Length*
0x188 - 0x18b: RootFS Offset (ext2)*
0x18c - 0x18f: RootFS Length (ext2)*
0x190 - 0x193: DTB Offset
0x194 - 0x197: DTB Length
0x198 - 0x19b: Data Offset (jffs2)
0x19c - 0x19f: Data Length (jffs2)
0x1a0 - 0x1ff: ?

*: required for initramfs image

MAC addresses:

(eth0): 90:6C:AC:xx:xx:98 (board-info (OpenWrt), 0xd880 (hex))
WAN 1 : 90:6C:AC:xx:xx:99
WAN 2 : 90:6C:AC:xx:xx:9A
LAN 1 : 90:6C:AC:xx:xx:9B
LAN 2 : 90:6C:AC:xx:xx:9C
LAN 3 : 90:6C:AC:xx:xx:9D
LAN 4 : 90:6C:AC:xx:xx:9E
LAN 5 : 90:6C:AC:xx:xx:9F
WLAN  : 88:DC:96:xx:xx:xx (MiniPCIe Card)

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Tested-by: Raylynn Knight <rayknight@me.com>
6 months agomvebu: add support for Fortinet FortiWiFi 50E-2R
INAGAKI Hiroshi [Wed, 8 Mar 2023 12:54:14 +0000 (21:54 +0900)]
mvebu: add support for Fortinet FortiWiFi 50E-2R

Fortinet FortiWiFi 50E-2R (FWF-50E-2R) is a UTM with 2x WLAN, based on
Armada 385 (88F6820).

Specification:

- SoC          : Marvell Armada 385 88F6820
- RAM          : DDR3 2 GiB (4x Nanya NT5CC512M8EN-EK)
- Flash        : SPI-NOR 128 MiB (Macronix MX66L1G45GMI-10G)
- Ethernet     : 7x 10/100/1000 Mbps
  - LAN 1-5    : Marvell 88E6176
  - WAN 1, 2   : Marvell 88E1512 (2x)
- WLAN         : Gemtek WMDQ-177ACN (Qualcomm Atheros QCA9892 (2T2R))
                 (2x)
  - interface  : MiniPCIe
- LEDs/Keys    : 18x/1x
- UART         : "CONSOLE" port (RJ-45, RS-232C level)
  - port       : ttyS0
  - settings   : 9600bps 8n1
  - assignment : 1:NC , 2:NC , 3:TXD, 4:GND,
                 5:GND, 6:RXD, 7:NC , 8:NC
  - note       : compatible with Cisco console cable
- HW Monitoring: nuvoTon NCT7802Y
- Power        : 12 VDC, 2.5 A
  - plug       : Molex 5557-02R

Flash instruction using initramfs image:

 1. Power on FWF-50E-2R and interrupt to show bootmenu
 2. Call "[I]: System information." -> "[S]: Set serial port baudrate."
    and set baudrate to 9600 bps
 3. Call "[R]: Review TFTP parameters.", check TFTP parameters and
    connect computer to "Image download port" in the parameters
 4. Prepare TFTP server with the parameters obtained above
 5. Rename OpenWrt initramfs image to "image.out" and put to TFTP
    directory
 6. Call "[T]: Initiate TFTP firmware transfer." to download initramfs
    image from TFTP server
 7. Type "R" key when the following message is showed, to boot initramfs
    image without flashing to spi-nor flash

    "Save as Default firmware/Backup firmware/Run image without saving:[D/B/R]?"

 8. On initramfs image, backup mtd if needed

    minimum:

    - "firmware-info"
    - "kernel"
    - "rootfs"

 9. On initramfs image, upload sysupgrade image to the device and perform
    sysupgrade
10. Wait ~200 seconds to complete flashing and rebooting.
    If the device is booted with stock firmware, login to bootmenu and
    call "[B]: Boot with backup firmware and set as default." to set the
    first OS image as default and boot it.

Notes:

- Both colors of Bi-color LEDs on the front panel cannot be turned on at
  the same time.

- "PWR" and "Logo" LEDs are connected to power source directly.

- The following partitions are added for OpenWrt.
  These partitions are contained in "uboot" partition (0x0-0x1fffff) on
  stock firmware.

  - "firmware-info"
  - "dtb"
  - "u-boot-env"
  - "board-info"

Image header for bootmenu tftp:

  0x0 - 0xf  : ?
 0x10 - 0x2f : Image Name
 0x30 - 0x17f: ?
0x180 - 0x183: Kernel Offset*
0x184 - 0x187: Kernel Length*
0x188 - 0x18b: RootFS Offset (ext2)*
0x18c - 0x18f: RootFS Length (ext2)*
0x190 - 0x193: DTB Offset
0x194 - 0x197: DTB Length
0x198 - 0x19b: Data Offset (jffs2)
0x19c - 0x19f: Data Length (jffs2)
0x1a0 - 0x1ff: ?

*: required for initramfs image

MAC addresses:

(eth0): 90:6C:AC:xx:xx:98 (board-info (OpenWrt), 0xd880 (hex))
WAN 1 : 90:6C:AC:xx:xx:99
WAN 2 : 90:6C:AC:xx:xx:9A
LAN 1 : 90:6C:AC:xx:xx:9B
LAN 2 : 90:6C:AC:xx:xx:9C
LAN 3 : 90:6C:AC:xx:xx:9D
LAN 4 : 90:6C:AC:xx:xx:9E
LAN 5 : 90:6C:AC:xx:xx:9F
WLAN 1: 1C:49:7B:xx:xx:xx (MiniPCIe Card)
WLAN 2: 1C:49:7B:xx:xx:xx (MiniPCIe Card)

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Tested-by: Raylynn Knight <rayknight@me.com>
6 months agomvebu: add support for Fortinet FortiGate 52E
INAGAKI Hiroshi [Wed, 8 Mar 2023 12:54:14 +0000 (21:54 +0900)]
mvebu: add support for Fortinet FortiGate 52E

Fortinet FortiGate 52E (FG-52E) is a UTM, based on Armada 385 (88F6820).

Specification:

- SoC          : Marvell Armada 385 88F6820
- RAM          : DDR3 2 GiB (4x Micron MT41K512M8DA-107, "D9SGQ")
- Flash        : SPI-NOR 128 MiB (Macronix MX66L1G45GMI-10G)
- SSD          : mSATA SSD 64 GB (2x A-DATA XM21E (AXM21ES3-32GM-B))
  - mode       : SATA III 6Gbps
  - power      : 3.3 VDC, 3.1 W (Max.)
- Ethernet     : 7x 10/100/1000 Mbps
  - LAN 1-5    : Marvell 88E6176
  - WAN 1, 2   : Marvell 88E1512 (2x)
- LEDs/Keys    : 18x/1x
- UART         : "CONSOLE" port (RJ-45, RS-232C level)
  - port       : ttyS0
  - settings   : 9600bps 8n1
  - assignment : 1:NC , 2:NC , 3:TXD, 4:GND,
                 5:GND, 6:RXD, 7:NC , 8:NC
  - note       : compatible with Cisco console cable
- HW Monitoring: nuvoTon NCT7802Y
- Power        : 12 VDC, 2.5 A
  - plug       : Molex 5557-02R

Flash instruction using initramfs image:

 1. Power on FG-52E and interrupt to show bootmenu
 2. Call "[I]: System information." -> "[S]: Set serial port baudrate."
    and set baudrate to 9600 bps
 3. Call "[R]: Review TFTP parameters.", check TFTP parameters and
    connect computer to "Image download port" in the parameters
 4. Prepare TFTP server with the parameters obtained above
 5. Rename OpenWrt initramfs image to "image.out" and put to TFTP
    directory
 6. Call "[T]: Initiate TFTP firmware transfer." to download initramfs
    image from TFTP server
 7. Type "R" key when the following message is showed, to boot initramfs
    image without flashing to spi-nor flash

    "Save as Default firmware/Backup firmware/Run image without saving:[D/B/R]?"

 8. On initramfs image, backup mtd if needed

    minimum:

    - "firmware-info"
    - "kernel"
    - "rootfs"

 9. On initramfs image, upload sysupgrade image to the device and perform
    sysupgrade
10. Wait ~200 seconds to complete flashing and rebooting.
    If the device is booted with stock firmware, login to bootmenu and
    call "[B]: Boot with backup firmware and set as default." to set the
    first OS image as default and boot it.

Notes:

- Both colors of Bi-color LEDs on the front panel cannot be turned on at
  the same time.

- "PWR" and "Logo" LEDs are connected to power source directly.

- The following partitions are added for OpenWrt.
  These partitions are contained in "uboot" partition (0x0-0x1fffff) on
  stock firmware.

  - "firmware-info"
  - "dtb"
  - "u-boot-env"
  - "board-info"

Image header for bootmenu tftp:

  0x0 - 0xf  : ?
 0x10 - 0x2f : Image Name
 0x30 - 0x17f: ?
0x180 - 0x183: Kernel Offset*
0x184 - 0x187: Kernel Length*
0x188 - 0x18b: RootFS Offset (ext2)*
0x18c - 0x18f: RootFS Length (ext2)*
0x190 - 0x193: DTB Offset
0x194 - 0x197: DTB Length
0x198 - 0x19b: Data Offset (jffs2)
0x19c - 0x19f: Data Length (jffs2)
0x1a0 - 0x1ff: ?

*: required for initramfs image

MAC addresses:

(eth0): 90:6C:AC:xx:xx:98 (board-info (OpenWrt), 0xd880 (hex))
WAN 1 : 90:6C:AC:xx:xx:99
WAN 2 : 90:6C:AC:xx:xx:9A
LAN 1 : 90:6C:AC:xx:xx:9B
LAN 2 : 90:6C:AC:xx:xx:9C
LAN 3 : 90:6C:AC:xx:xx:9D
LAN 4 : 90:6C:AC:xx:xx:9E
LAN 5 : 90:6C:AC:xx:xx:9F

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
6 months agomvebu: add support for Fortinet FortiGate 51E
INAGAKI Hiroshi [Sat, 20 Jan 2024 06:34:41 +0000 (15:34 +0900)]
mvebu: add support for Fortinet FortiGate 51E

Fortinet FortiGate 51E (FG-51E) is a UTM, based on Armada 385 (88F6820).

Specification:

- SoC          : Marvell Armada 385 88F6820
- RAM          : DDR3 2 GiB (4x Micron MT41K512M8DA-107, "D9SGQ")
- Flash        : SPI-NOR 128 MiB (Macronix MX66L1G45GMI-10G)
- SSD          : mSATA SSD 32 GB (A-DATA XM21E (AXM21ES3-32GM-B))
  - mode       : SATA III 6Gbps
  - power      : 3.3 VDC, 3.1 W (Max.)
- Ethernet     : 7x 10/100/1000 Mbps
  - LAN 1-5    : Marvell 88E6176
  - WAN 1, 2   : Marvell 88E1512 (2x)
- LEDs/Keys    : 18x/1x
- UART         : "CONSOLE" port (RJ-45, RS-232C level)
  - port       : ttyS0
  - settings   : 9600bps 8n1
  - assignment : 1:NC , 2:NC , 3:TXD, 4:GND,
                 5:GND, 6:RXD, 7:NC , 8:NC
  - note       : compatible with Cisco console cable
- HW Monitoring: nuvoTon NCT7802Y
- Power        : 12 VDC, 2.5 A
  - plug       : Molex 5557-02R

Flash instruction using initramfs image:

 1. Power on FG-51E and interrupt to show bootmenu
 2. Call "[I]: System information." -> "[S]: Set serial port baudrate."
    and set baudrate to 9600 bps
 3. Call "[R]: Review TFTP parameters.", check TFTP parameters and
    connect computer to "Image download port" in the parameters
 4. Prepare TFTP server with the parameters obtained above
 5. Rename OpenWrt initramfs image to "image.out" and put to TFTP
    directory
 6. Call "[T]: Initiate TFTP firmware transfer." to download initramfs
    image from TFTP server
 7. Type "R" key when the following message is showed, to boot initramfs
    image without flashing to spi-nor flash

    "Save as Default firmware/Backup firmware/Run image without saving:[D/B/R]?"

 8. On initramfs image, backup mtd if needed

    minimum:

    - "firmware-info"
    - "kernel"
    - "rootfs"

 9. On initramfs image, upload sysupgrade image to the device and perform
    sysupgrade
10. Wait ~200 seconds to complete flashing and rebooting.
    If the device is booted with stock firmware, login to bootmenu and
    call "[B]: Boot with backup firmware and set as default." to set the
    first OS image as default and boot it.

Notes:

- Both colors of Bi-color LEDs on the front panel cannot be turned on at
  the same time.

- "PWR" and "Logo" LEDs are connected to power source directly.

- The following partitions are added for OpenWrt.
  These partitions are contained in "uboot" partition (0x0-0x1fffff) on
  stock firmware.

  - "firmware-info"
  - "dtb"
  - "u-boot-env"
  - "board-info"

Image header for bootmenu tftp:

  0x0 - 0xf  : ?
 0x10 - 0x2f : Image Name
 0x30 - 0x17f: ?
0x180 - 0x183: Kernel Offset*
0x184 - 0x187: Kernel Length*
0x188 - 0x18b: RootFS Offset (ext2)*
0x18c - 0x18f: RootFS Length (ext2)*
0x190 - 0x193: DTB Offset
0x194 - 0x197: DTB Length
0x198 - 0x19b: Data Offset (jffs2)
0x19c - 0x19f: Data Length (jffs2)
0x1a0 - 0x1ff: ?

*: required for initramfs image

MAC addresses:

(eth0): 70:4C:A5:xx:xx:98 (board-info (OpenWrt), 0xd880 (hex))
WAN 1 : 70:4C:A5:xx:xx:99
WAN 2 : 70:4C:A5:xx:xx:9A
LAN 1 : 70:4C:A5:xx:xx:9B
LAN 2 : 70:4C:A5:xx:xx:9C
LAN 3 : 70:4C:A5:xx:xx:9D
LAN 4 : 70:4C:A5:xx:xx:9E
LAN 5 : 70:4C:A5:xx:xx:9F

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Tested-by: Raylynn Knight <rayknight@me.com>
6 months agomvebu: separate common parts to new dtsi for FortiGate/FortiWiFi 5xE
INAGAKI Hiroshi [Tue, 5 Dec 2023 13:15:38 +0000 (22:15 +0900)]
mvebu: separate common parts to new dtsi for FortiGate/FortiWiFi 5xE

Add a new dtsi which contains the common parts of Fortinet
FortiGate/FortiWiFi 5xE series devices.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
6 months agomvebu: separate common parts to new dtsi for FortiGate/FortiWiFi 3xE
INAGAKI Hiroshi [Tue, 5 Dec 2023 13:15:38 +0000 (22:15 +0900)]
mvebu: separate common parts to new dtsi for FortiGate/FortiWiFi 3xE

Add a new dtsi which contains the common parts of Fortinet
FortiGate/FortiWiFi 3xE series devices.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
6 months agomvebu: rename common dtsi of FortiGate 30E/50E
INAGAKI Hiroshi [Tue, 5 Dec 2023 13:15:38 +0000 (22:15 +0900)]
mvebu: rename common dtsi of FortiGate 30E/50E

Rename the common dtsi of Fortinet FortiGate 30E/50E for the preparation
of adding support for the other FortiGate/FortiWiFi 3xE/5xE devices.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
6 months agomvebu: add common image definition for FortiGate devices
INAGAKI Hiroshi [Mon, 4 Dec 2023 12:02:13 +0000 (21:02 +0900)]
mvebu: add common image definition for FortiGate devices

Add a common definition of Fortinet FortiGate devices to
image/cortexa9.mk for a preparation of adding support for
other FortiGate 3xE/5xE devices.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
6 months agoath79: qca9563: add support for Amplifi Router HD
Kristian Skramstad [Wed, 17 Apr 2024 13:14:59 +0000 (15:14 +0200)]
ath79: qca9563: add support for Amplifi Router HD

Hardware:
    SoC: Qualcomm Atheros QCA956X ver 1 rev 0
    CPU clock: 775.000 MHz
    Memory: 128 MB DDR2
    Flash: 32 MB SPI NOR mx25l25635e
    Switch: Atheros AR8327 rev. 4
    Ethernet: 5x 10/100/1000 Mbps (1 WAN + 4 LAN)
    Buttons: 1x Reset
    Serial: TX, RX, GND, VCC
    Baudrate: 115200
    Wifi: Qualcomm Atheros qca988x 802.11ac/n - 3x3
          Qualcomm Atheros AR9561 802.11b/g/n - 3x3

Not working:
    Leds: 1x via a SPI controller
    Display: ST7789V or ILI9341V
    controlled by stm32f205.

Note:
    DSA changes are ready, but we have an issue with
    ports not working after 20-30 minutes. So for now
    we use swconfig.

Installation: serial connection only
There is a J11 four pin connector. You need to connect TX, RX and GND.
You can find very good information about the device here
https://github.com/alexanderhenne/AFi-R?tab=readme-ov-file#finding-j11

Upgrading via serial port:
1.  Download the kernel initramfs image. Copy the image to a TFTP server
2.  Connect to console on the AP, and connect the LAN1 port to your PC LAN
3.  Stop autoboot to get to U-boot shell
    Interrupt the autoboot process by pressing any key when prompted
4.  Transfer the kernel image with TFTP
    Set your ip address on your TFTP server to 192.168.1.254
    # tftpboot 0x81000000 amplifi-router-hd-initramfs-kernel.bin
5.  Load the image
    # bootm 0x81000000
6.  SCP sysupgrade image from your PC to the Amplifi HD
    (If you use a newer mac use scp -O)
    # scp openwrt-ath79-generic-ubnt_amplifi-router-hd-squashfs-sysupgrade.bin root@192.168.1.1:/tmp/
7.  Write sysupgrade to the firmware partition
    # mtd write /tmp/openwrt-ath79-generic-ubnt_amplifi-router-hd-squashfs-sysupgrade.bin firmware
8.  Reboot your device
    # reboot

Credit to alexanderhenne for all the information.

Signed-off-by: Kristian Skramstad <kristian+github@83.no>
6 months agoramips: add support for ELECOM WRC-X1800GS
INAGAKI Hiroshi [Sat, 11 May 2024 06:35:50 +0000 (15:35 +0900)]
ramips: add support for ELECOM WRC-X1800GS

ELECOM WRC-X1800GS is a 2.4/5 GHz band 11ax (Wi-Fi 6) router, based on
MT7621A.

Specification:

- SoC               : MediaTek MT7621A
- RAM               : DDR3 256 MiB
- Flash             : RAW-NAND 128 MiB (Macronix MX30LF1G28AD-TI)
- WLAN              : 2.4/5 GHz 2T2R (MediaTek MT7915D)
- Ethernet          : 5x 10/100/1000 Mbps
  - switch          : MediaTek MT7530 (SoC)
- LEDs/Keys (GPIO)  : 7x/4x
- UART              : pin-header on PCB ("J5")
  - arrangement     : 3.3V, TX, RX, NC, GND from tri-angle marking
  - settings        : 115200n8
- Power             : 12 VDC, 1 A

Flash instruction using initramfs-factory image:

1. Boot WRC-X1800GS normally with "Router" mode
2. Access to "http://192.168.2.1/" and open firmware update page
   ("ファームウェア更新")
3. Select the OpenWrt initramfs-factory image and click apply ("適用")
   button
4. After flashing initramfs-factory image and reboot, upload the
   sysupgrade image and perform sysupgrade with it
5. Wait ~120 seconds to complete flashing

Notes:

- WRC-X1800GS has 2x os images. Those are switched on every firmware
  updating on stock firmware, but dual-boot feature on this device
  cannot be handled on OpenWrt. So the 1st image is always used on
  OpenWrt.
  This is controlled by "bootnum" variable embedded in "persist"
  partition (addr: 0x4).

- WRC-X1800GS has 2x HW revisions. There are some small changes, but the
  same DeviceTree in stock firmware is used for both revisions.
  On this support of WRC-X1800GS, 2x green:wlan-2g-N LEDs are defined
  for each revision and the same default triggers are set.

MAC addresses:

LAN    : 38:97:A4:xx:xx:38 (Factory, 0x1fdfa (hex) / Ubootenv, ethaddr (text))
WAN    : 38:97:A4:xx:xx:3B (Factory, 0x1fdf4 (hex))
2.4 GHz: 38:97:A4:xx:xx:39
5 GHz  : 38:97:A4:xx:xx:3A

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
6 months agoramips: parameterize some values in Build/znet-header
INAGAKI Hiroshi [Sat, 11 May 2024 05:14:16 +0000 (14:14 +0900)]
ramips: parameterize some values in Build/znet-header

Parameterize magic number and header length to use the device-specific
values.

example:

On WRC-X1800GS, an additional ELECOM-specific header and a magic number
"COMC" are required.

Stock FW v1.18:

$ hexdump -n $((0x40080)) -C wrc-x1800gs_v1.18.bin
00000000  45 4c 45 43 4f 4d 00 00  57 52 43 2d 58 31 38 30  |ELECOM..WRC-X180|
00000010  30 47 53 00 00 00 00 00  00 00 00 00 00 00 00 00  |0GS.............|
00000020  00 00 00 00 00 00 00 00  31 2e 31 38 00 00 00 00  |........1.18....|
00000030  00 00 00 00 00 00 00 00  43 4f 4d 43 04 00 ac 00  |........COMC....|
00000040  40 f0 49 74 b1 e8 6a ca  e4 20 65 1f 34 2e 30 34  |@.It..j.. e.4.04|
00000050  28 58 56 46 2e 31 29 62  31 37 00 00 00 00 00 00  |(XVF.1)b17......|
00000060  00 00 00 00 00 00 00 00  ff ff ff ff ff ff ff ff  |................|
00000070  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
*
00040000  d0 0d fe ed 00 36 9c c0  00 00 00 38 00 36 9a e0  |.....6.....8.6..|
00040010  00 00 00 28 00 00 00 11  00 00 00 10 00 00 00 00  |...(............|
00040020  00 00 00 6c 00 36 9a a8  00 00 00 00 00 00 00 00  |...l.6..........|
00040030  00 00 00 00 00 00 00 00  00 00 00 01 00 00 00 00  |................|
00040040  00 00 00 03 00 00 00 04  00 00 00 62 65 54 97 8f  |...........beT..|
00040050  00 00 00 03 00 00 00 28  00 00 00 00 4d 49 50 53  |.......(....MIPS|
00040060  20 4f 70 65 6e 57 72 74  20 46 49 54 20 28 46 6c  | OpenWrt FIT (Fl|
00040070  61 74 74 65 6e 65 64 20  49 6d 61 67 65 20 54 72  |attened Image Tr|
00040080

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
6 months agouboot-envtools: add support for ELECOM WRC-X1800GS
INAGAKI Hiroshi [Sat, 11 May 2024 08:05:10 +0000 (17:05 +0900)]
uboot-envtools: add support for ELECOM WRC-X1800GS

Add support for ELECOM WRC-X1800GS on uboot-envtools, to update
bootmenu_delay variable on sysupgrade.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
6 months agobuild: fix version info in cyclonedx sbom
Akshay Bhat [Fri, 19 Apr 2024 18:26:45 +0000 (11:26 -0700)]
build: fix version info in cyclonedx sbom

Prior e8725a932e16eaf6ec51add8c084d959cbe32ff2, version used to be
VERSION:=$(PKG_VERSION)-$(PKG_RELEASE)
After e8725a932e16eaf6ec51add8c084d959cbe32ff2, the version is:
VERSION:=$(PKG_VERSION)-r$(PKG_RELEASE)

Hence the gen_*_cyclonedxsbom functions need to be updated to remove
the trailing -r prefix in the version in order to generate correct
version info in the SBOM.

Signed-off-by: Akshay Bhat <nodeax@gmail.com>
6 months agoipq40xx: eap1300: add eap1300ext as alt model
Ryan Castellucci [Mon, 6 May 2024 14:12:10 +0000 (15:12 +0100)]
ipq40xx: eap1300: add eap1300ext as alt model

The EnGenius EAP1300 and EAP1300EXT use identical boards and firmware
(as flashed) from the vendor.

As with the EAP1300, the EAP1300EXT requires a specific firmware version
to flash OpenWRT. Unfortunately, the required firmware is truncated on
the vendor's website.

A working file can be created as follows:

```
curl \
https://www.engeniustech.com/wp_firmware/eap1300-all-v3.5.3.5_c1.9.04.bin \
| perl -pe 's/\x09EAP1300_A/\x0cEAP1300EXT_A/' \
> eap1300ext-all-v3.5.3.5_c1.9.04.bin
```

The file should have sha256:
`58a1197a426139a12b03fd432334e677124cbe3384349bd7337f2ee71f1dcfd4`.

Please see commit 2b4ac79 for further
details.

The vendor firmware must be decrypted before it can be flashed from
OpenWRT. A tool able to do that is available from:

https://github.com/ryancdotorg/enfringement/blob/main/decrypt.py

Signed-off-by: Ryan Castellucci <code@ryanc.org>
6 months agomediatek: filogic: prevent faulty mac address assignment
Leon M. Busch-George [Fri, 17 May 2024 18:10:25 +0000 (20:10 +0200)]
mediatek: filogic: prevent faulty mac address assignment

The vendor U-Boot on the Cudy M3000 and the Yuncore AX835 assign random
mac addresses on boot and set the 'local-mac-address' property which
prevents Openwrt from assigning the correct address from evmem.

This patch removes the alias for ethernet0 so that U-Boot doesn't add the
property, removes the workaround from 02_network, and adds back the nvmem
definition for the M3000.

Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
6 months agoixp4xx: Add back support for D-Link DSM G600 A
Linus Walleij [Tue, 21 May 2024 07:30:28 +0000 (09:30 +0200)]
ixp4xx: Add back support for D-Link DSM G600 A

OpenWrt supported the D-Link DSM G600 A in the past. It has
64 MB of RAM and 16 MB of flash so it will run just fine,
and should be quite usable with a rootfs on an external
harddrive.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
6 months agoixp4xx: Add back support for Freecom FSG-3
Linus Walleij [Mon, 20 May 2024 20:05:13 +0000 (22:05 +0200)]
ixp4xx: Add back support for Freecom FSG-3

OpenWrt supported the Freecom FSG-3 in the past. It has
64 MB of RAM so will run fine, but the bare 4 MB of flash
makes it a non-default target. The generated compressed
image is currently below 4MB (just 3.3 MB) though, so it
should be possible to flash just fine with a rootfs on
a harddrive or USB stick, which is what the FSG-3 used
in the past as well.

The device has a WAN port on eth0 and three LAN ports on
eth1. The LAN ports are probably a DSA switch but the
old OpenWrt base never activated that, instead it relies
on boot defaults.

Due to questionable usablity without tweaking and further
work this image is not built by default, but made available
for developers who know what they are doing.

The TAR+CRC image generation is a rewritten version of the
earlier support code.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
6 months agoixp4xx: Add back support for Iomega NAS100D
Linus Walleij [Mon, 20 May 2024 19:32:55 +0000 (21:32 +0200)]
ixp4xx: Add back support for Iomega NAS100D

OpenWrt supported the Iomega NAS100D in the past and it has
64 MB of RAM so if booted from a harddrive it will probably
work just fine. The APEX boot loader already has a build
variant for this machine that we can just pick up and use.

This device has a single ethernet port so bring this online
with DHCP as expected for a NAS device.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
6 months agoixp4xx: Add ext4 and rootfs-part to features
Linus Walleij [Tue, 21 May 2024 07:28:56 +0000 (09:28 +0200)]
ixp4xx: Add ext4 and rootfs-part to features

Several of the IXP4xx machines mount root on external harddrives
so add EXT4 and rootfs-part to the featureset so the right
features are always selected.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
6 months agouboot-mediatek: fix white-space in package Makefile
Daniel Golle [Fri, 24 May 2024 21:38:34 +0000 (22:38 +0100)]
uboot-mediatek: fix white-space in package Makefile

Replace accidental spaces with tabs.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
6 months agouboot-mediatek: refresh patches
Daniel Golle [Sat, 25 May 2024 02:52:41 +0000 (03:52 +0100)]
uboot-mediatek: refresh patches

Patch 290-mt7981-add-USB-nodes.patch needs a refresh.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
6 months agomediatek: filogic: add Adtran SmartRG Mount Stuart series
Daniel Golle [Fri, 19 Apr 2024 16:51:51 +0000 (17:51 +0100)]
mediatek: filogic: add Adtran SmartRG Mount Stuart series

Common specifications:
 * Mediatek MT7988A (4x Cortex-A73, up to 1.8 GHz clock speed)
 * 8 GiB eMMC
 * 2 GiB DDR4 RAM
 * 1x 10000M/1000M/100M + 3x 1000M/100M/10M LAN ports
 * MT7996 Tri-band (2.4G, 5G, 6G) 4T4R 802.11be Wi-Fi
 * Airoha AG3352 GPS
 * Renesas DA14531MOD Bluetooth
 * 2 buttons (Reset, Mesh/WPS)
 * uC-controlled RGB LED via I2C
 * 2x LED for each 1G port, 3x LED for each 10G port
 * USB 3.0 type A port
 * 3.3V-level 115200 baud UART console via 4-pin Dupont connector
   exposed at the bottom of the device
 * USB-C PD power input

SDG-8733: 1x 10000M/1000M/100M WAN port
SDG-8734: 1x USXGMII/10GBase-R/5GBase-R/2500Base-X/1000Base-X/SGMII SFP+

Both models are also available in versions including 2x FXS POTS interfaces
for analog phones. Those interfaces are not supported by OpenWrt.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
6 months agomediatek: fix sysupgrade config backup on Adtran SmartRG devices
Daniel Golle [Sat, 20 Apr 2024 01:59:31 +0000 (02:59 +0100)]
mediatek: fix sysupgrade config backup on Adtran SmartRG devices

Add missing call to emmc_copy_config which either writes the sysupgrade
tar.gz backup file or clears the existing rootfs_data overlay.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
6 months agogeneric: 6.6: backports and add LED support for Aquantia PHYs
Daniel Golle [Fri, 10 May 2024 23:48:57 +0000 (00:48 +0100)]
generic: 6.6: backports and add LED support for Aquantia PHYs

Backport patch adding support for the AQR114C PHY and add support for
PHY LEDs and polarity setting of Aquantia 3rd and 4th generation PHYs.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
6 months agoath79: add support for 8Devices Carambola3 board
Andrey Bondar [Fri, 10 May 2024 13:22:14 +0000 (16:22 +0300)]
ath79: add support for 8Devices Carambola3 board

Carambola3 is a WiFi module based on Qualcomm/Atheros QCA4531
http://wiki.8devices.com/carambola3

Specification:

    - 650/600/216 MHz (CPU/DDR/AHB)
    - 128 MB of RAM (DDR2)
    - 32 MB of FLASH
    - 2T2R 2.4 GHz
    - 2x 10/100 Mbps Ethernet
    - 1x USB 2.0 Host socket
    - UART for serial console
    - 12x GPIO

Flash instructions:

    Upgrading from ar71xx target:
    - Upload image into the board:
        scp openwrt-ath79-generic-8dev_carambola3-squashfs-sysupgrade.bin \
          root@192.168.1.1/tmp/
    - Run sysupgrade
        sysupgrade -F /tmp/openwrt-ath79-generic-8dev_carambola3-squashfs-sysupgrade.bin

Upgrading from u-boot:
    - Set up tftp server with openwrt-ath79-generic-8dev_carambola3-initramfs-kernel.bin
    - Go to u-boot (reboot and press ESC when prompted)
    - Set TFTP server IP
        setenv serverip 192.168.1.254
    - Set device ip from the same subnet
        setenv ipaddr 192.168.1.1
    - Copy new firmware to board
        tftpboot 0x82000000 initramfs.bin
    - Boot OpenWRT
        bootm 0x82000000
    - Upload image openwrt-ath79-generic-8dev_carambola3-squashfs-sysupgrade.bin into the board
    - Run sysupgrade.

Signed-off-by: Andrey Bondar <a.bondar@8devices.com>
Link: https://github.com/openwrt/openwrt/pull/15514
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 months agolinux-atm: fix build with GCC 14
Rany Hany [Mon, 13 May 2024 13:34:22 +0000 (16:34 +0300)]
linux-atm: fix build with GCC 14

Basic changes to make linux-atm build without any issues with GCC 14.

Besides some errors caused by -Wpointer-sign, there was also an issue
with socklen_t not being used for getsockopt() and accept()
sometimes.

I also updated the Debian patch to include the latest changes from
version "1:2.5.1-5.1" in Debian Sid. This allowed me to drop
"600-fix-format-errors.patch" and "700-include_sockios.patch".

Signed-off-by: Rany Hany <rany_hany@riseup.net>
6 months agousbmode: add Huawei E5785
Didier 'OdyX' Raboud [Wed, 15 May 2024 07:49:05 +0000 (09:49 +0200)]
usbmode: add Huawei E5785

This 4G/LTE modem is a WiFi hotspot, and also works as cdc_ether modem
when plugged over USB. It needs usb-modeswitching. With HuaweiNewMode,
it will modeswitch from 3426:1f01 (mass-storage) to 3426:14db
(cdc_ether).

Signed-off-by: Didier 'OdyX' Raboud <odyx@raksha.ch>
Link: https://github.com/openwrt/openwrt/pull/15497
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 months agoramips: add support for TP-Link Archer MR200v5
Lea Teuberth [Tue, 2 Apr 2024 09:30:32 +0000 (11:30 +0200)]
ramips: add support for TP-Link Archer MR200v5

Specifications:
CPU:     MT7628AN 580MHz
RAM:     64MB DDR2
FLASH:   8MB EN25QH64 NOR SPI
WIFI:    2.4GHz 2x2 MT7628 b/g/n internal
WIFI:    5GHz 1x1 MT7610E ac/n PCI
LTE:     Qualcomm MDM9207
ETH:     4xLAN 100base-T integrated
SWITCH:  RT3050-ESW Port 0,1,2,3: LAN, Port 6: CPU
LEDS:    LAN, WAN, Power, 3x signal strength, WiFi
BTNS:    Reset, WiFi toggle
UART:    Near ETH ports, Vcc-GND-RX-TX, 115200, 8N1

Installation:
1. Update using recovery mode
        - set your IP to 192.168.0.225, subnet mask: 255.255.255.0
        - start tftp server, rename tftp-recovery.bin to
          tp_recovery.bin and place it into the server's directory
        - while holdig the "reset" button, power on the device
        - keep holding "reset" until the file is being transferred

Notes:
This board has only one MAC address programmed
        in the "romfile" partition:
        - MAC for phy0 (2.4GHz) at romfile 0xf100 (0)
        - MAC for phy1 (5GHz) at romfile 0xf100 (-1)
        - stock firmware re-uses phy0 MAC for ethernet
        - stock firmware uses romfile 0xf100 (1) for WWAN;
          not used since QMI interface is raw IP

Signed-off-by: Lea Teuberth <lea.teuberth@outlook.com>
6 months agomediatek: include "kmod-mt7915e" package per device
Rafał Miłecki [Mon, 22 Apr 2024 21:13:11 +0000 (23:13 +0200)]
mediatek: include "kmod-mt7915e" package per device

mt7915e driver supports MT7915 & MT7916 devices and MT7981 & MT7986
on-SoC wireless controllers. Devices based on MT7988 and possibly other
next chipsets are quite unlikely to need it (MT7988 was designed to be
used with MT7996).

Move kmod-mt7915e to DEVICE_PACKAGES of relevant devices.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 months agotools: refresh all patches
Rosen Penev [Sat, 18 May 2024 19:14:20 +0000 (12:14 -0700)]
tools: refresh all patches

Refresh all tools patches now that tools/refresh correctly works.

CI now checks for them and actively complain if tools have unrefreshed
patches.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[ reword commit message ]
Link: https://github.com/openwrt/openwrt/pull/15524
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
6 months agotools/lz4: remove patches
Rosen Penev [Wed, 22 May 2024 21:14:23 +0000 (14:14 -0700)]
tools/lz4: remove patches

meson is used to build it since 291b137. No need to patch Makefiles.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15524
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
6 months agobuild: generate private key for APK early
Daniel Golle [Wed, 22 May 2024 14:19:45 +0000 (16:19 +0200)]
build: generate private key for APK early

Other than OPKG which only uses signed package list, APK uses
individually signed packages in addition to signed package lists. Hence,
in order to be able to generate package, the private key needs to be
generated before compiling packages. Express that dependency and
generate the private key before building any packages instead of doing
so as part of the base-files package build.

Fixes: d788ab376f ("build: add APK package build capabilities")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
6 months agoipq40xx: dont panic on PSGMII calibration fail
Robert Marko [Wed, 22 May 2024 14:55:51 +0000 (16:55 +0200)]
ipq40xx: dont panic on PSGMII calibration fail

Currently, in case that PSGMII calibration fails it will panic the kernel
which is not ideal and is preventing any debugging to be done.

So, since PGMII calibration failing only means that wired networking wont
work lets convet the panic() call to dev_error.

Link: https://github.com/openwrt/openwrt/pull/15542
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 months agoqualcommax: ipq807x support Netgear Orbi Pro SXK80
Andrew Smith [Mon, 21 Aug 2023 08:48:45 +0000 (09:48 +0100)]
qualcommax: ipq807x support Netgear Orbi Pro SXK80

This commit adds support for Netgear Orbi Pro SXR80 and SXS80 (collectively known as SXK80)

Specifications:
---------------
* CPU: Qualcomm IPQ8074A Quad core Cortex-A53
* RAM: 1024MB
* Storage: SPI-NAND 512 MiB (Winbond W29N04GZ)
* Ethernet: 4x 1G RJ45 ports (QCA8075) 1x 2.5G RJ45 LAN/WAN (QCA8081)
* WLAN:
    - 2.4 GHz: Qualcomm QCN5024 4x4
    - 2x 5 GHz: Qualcomm QCN5054 4x4 (second radio high channels only)
* LEDs:
    - Power: (Green and red)
    - Front: (Blue, green, red and white)
* Buttons:
    - 1x Soft reset
    - 1x Sync/WPS
* Power: 12V DC Jack

Installation instructions (Telnet):
-----------------------------------

*Note, this guide assumes SXR80, for SXS80 change the firmware file name as appropriate

1. Put firmware file openwrt-qualcommax-ipq807x-netgear_sxr80-initramfs-uImage.itb in root of TFTP server available at 192.168.1.10.
2. Enable telnet by going to http://[ip of device]/debug.htm and clicking on the tickbox 'Enable telnet'
3. Telnet into the device and login using the same username and password as the web interface:
4. Run the following command:

`fw_setenv bootcmd 'env default -a; saveenv; reset'`

5. Reboot the router, once the web interface is available again re-enable telnet via http://[ip of device]/debug.htm and telnet into the device.

6. Run the following command:

`fw_printenv`

It should look similar to the below:

```
baudrate=115200
bootargs=console=ttyMSM0,115200n8
bootcmd=mii write 0x0 0x0 0x800; sleep 1; nmrp; bootdni; boot_DNI_secureboot
bootdelay=2
ipaddr=192.168.1.1
netmask=255.255.255.0
serverip=192.168.1.10
soc_version_major=2
soc_version_minor=0
```

**If you see the message:**
`Warning: Bad CRC, using default environment`
**DO NOT CONTINUE, YOU WILL BRICK YOUR DEVICE**

7. Run the following command:

`fw_setenv originalboot 'mii write 0x0 0x0 0x800; sleep 1; nmrp; bootdni; boot_DNI_secureboot'`

(This should match what's in the bootcmd variable displayed in step 6)

8. Run the following commands:
```
fw_setenv wrttftp 'mii write 0x0 0x0 0x800; sleep 1; nmrp; if tftpboot openwrt-qualcommax-ipq807x-netgear_sxr80-initramfs-uImage.itb; then bootm; fi; bootdni; boot_DNI_secureboot'
fw_setenv wrtboot 'mii write 0x0 0x0 0x800; sleep 1; nmrp; nand read 0x40000000 0x1980000 0x06d00000; bootm 0x40000000'
fw_setenv bootcmd 'run wrttftp'
```

9. Ensure SXR/S device is attached via ethernet (LAN port) to the same ethernet segment as the TFTP server.

10. Reboot the device, it should reboot into OpenWrt and be available on 192.168.1.1

11. Once OpenWrt has booted, update the bootcmd using the following command:

`fw_setenv bootcmd 'run wrtboot'`

12. Flash the sysupgrade image

13. It should boot into OpenWrt

References to SXK80 GPL source:
https://www.downloads.netgear.com/files/GPL/SXK80-V3.2.0.108_gpl_src.tar.bz2.zip

Signed-off-by: Flole Systems <flole@flole.de>
Signed-off-by: Andrew Smith <gul.code@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/14939
Signed-off-by: Robert Marko <robimarko@gmail.com>
6 months agotools/padjffs2: use Host/Prepare/Default instead of raw commands
Christian Marangi [Wed, 22 May 2024 09:56:45 +0000 (11:56 +0200)]
tools/padjffs2: use Host/Prepare/Default instead of raw commands

Now that Host/Prepare/Default is always defined, we can use that instead
of using raw commands to move files from the src directory to
HOST_BUILD_DIR.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
6 months agotools/missing-macros: install files from HOST_BUILD_DIR instead of src
Christian Marangi [Wed, 22 May 2024 09:53:52 +0000 (11:53 +0200)]
tools/missing-macros: install files from HOST_BUILD_DIR instead of src

Install files from HOST_BUILD_DIR instead of src. These files are now
correctly copied to HOST_BUILD_DIR and can be referenced from there.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
6 months agohost-build: always define Host/Prepare/Default
Christian Marangi [Wed, 22 May 2024 09:38:49 +0000 (11:38 +0200)]
host-build: always define Host/Prepare/Default

We currently skip defining Host/Prepare/Default if HOST_UNPACK is not
defined.

This is mostly the case for Host packages that just provide files with
the src directory and don't need to be downloaded/extracted.

This was probably done lots of times ago due to quilt causing error as
the patches directory wasn't present.
This has changed now and quilt can correctly detect if no patches needs
to be applied (instead of terminating with error)

Always define Host/Prepare/Default to make tools/refresh correctly works
as HOST_QUILT is hardcoded enabled for this make target and will
complain for tool not prepared for quilt patches.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
7 months agoscripts: fix revision calculation using new "main" branch
Marius Dinu [Tue, 21 May 2024 15:08:33 +0000 (18:08 +0300)]
scripts: fix revision calculation using new "main" branch

Fix revision calculation when local branch is rebased on new "main" branch
instead of "master".

Signed-off-by: Marius Dinu <m95d+git@psihoexpert.ro>
Link: https://github.com/openwrt/openwrt/pull/15538
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
7 months agoqualcommax: ipq807x: sax1v1k: fix QCA8081 reset
Robert Marko [Tue, 21 May 2024 17:24:06 +0000 (19:24 +0200)]
qualcommax: ipq807x: sax1v1k: fix QCA8081 reset

It seems that on Spectrum SAX1V1K QCA8081 is being brought out of reset
too quickly and thus causing it to get stuck in an invalid autoneg
register configuration mode.

Setting an deasset delay seems to fix this, so lets set it.

Fixes: #15493
Link: https://github.com/openwrt/openwrt/pull/15541
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 months agokernel: qca-nss-dp: add back printing attached PHY-s
Robert Marko [Tue, 21 May 2024 09:28:07 +0000 (11:28 +0200)]
kernel: qca-nss-dp: add back printing attached PHY-s

During the last update to 12.5.r2 printing of the attached PHY-s was
removed, so lets bring it back as it is very helpfull for debugging
OpenWrt issues without users having to modify NSS-DP to know if a PHY
was attached.

Refresh patches since nss_dp_main.c was edited.

Link: https://github.com/openwrt/openwrt/pull/15537
Signed-off-by: Robert Marko <robimarko@gmail.com>
7 months agomediatek/filogic: add OpenWrt One support
John Crispin [Thu, 4 Apr 2024 20:38:50 +0000 (22:38 +0200)]
mediatek/filogic: add OpenWrt One support

Specification:
 - MT7981 CPU using 2.4GHz and 5GHz WiFi (both AX)
 - 1GB RAM
 - 16MB NOR
 - 128MB NAND
 - 3 LEDs (red, green, blue, white)
 - 2 buttons (reset, user defined)
 - 1 2.5Gbit WAN port (Airoha EN8811h)
 - 1 1Gbit LAN ports
 - 1 single lane M.2 SSD slot
 - 1 mikroBus socket
 - externel HW WDT (25s refresh time)
 - i2c RTC (with battery backup)

Serial Interface
 - UBS-C CDC-ACM
 - 3 Pins GND, RX, TX
 - Settings: 115200, 8N1

MAC addresses are not populated on the early samples.

Signed-off-by: John Crispin <john@phrozen.org>
7 months agoRevert "mediatek/filogic: add OpenWrt One support"
John Crispin [Tue, 21 May 2024 09:35:05 +0000 (11:35 +0200)]
Revert "mediatek/filogic: add OpenWrt One support"

This reverts commit 797904b3cb4a5c575641c19e7f3989926e4c7902.

There is a stray line in the commit description

Signed-off-by: John Crispin <john@phrozen.org>
7 months agomediatek/filogic: add OpenWrt One support
John Crispin [Thu, 4 Apr 2024 20:38:50 +0000 (22:38 +0200)]
mediatek/filogic: add OpenWrt One support

filogic: Add support for D-Link AQUILA PRO AI M30

Specification:
 - MT7981 CPU using 2.4GHz and 5GHz WiFi (both AX)
 - 1GB RAM
 - 16MB NOR
 - 128MB NAND
 - 3 LEDs (red, green, blue, white)
 - 2 buttons (reset, user defined)
 - 1 2.5Gbit WAN port (Airoha EN8811h)
 - 1 1Gbit LAN ports
 - 1 single lane M.2 SSD slot
 - 1 mikroBus socket
 - externel HW WDT (25s refresh time)
 - i2c RTC (with battery backup)

Serial Interface
 - UBS-C CDC-ACM
 - 3 Pins GND, RX, TX
 - Settings: 115200, 8N1

MAC addresses are not populated on the early samples.

Signed-off-by: John Crispin <john@phrozen.org>
7 months agouboot-mediatek: add support for OpenWrt One
John Crispin [Sat, 6 Apr 2024 10:14:47 +0000 (12:14 +0200)]
uboot-mediatek: add support for OpenWrt One

Signed-off-by: John Crispin <john@phrozen.org>
7 months agouboot-mediatek: add USB support to mt7981.dtsi
John Crispin [Sat, 6 Apr 2024 17:17:05 +0000 (19:17 +0200)]
uboot-mediatek: add USB support to mt7981.dtsi

Signed-off-by: John Crispin <john@phrozen.org>
7 months agomediatek/filogic: enable led PWM driver by default
John Crispin [Thu, 4 Apr 2024 20:37:25 +0000 (22:37 +0200)]
mediatek/filogic: enable led PWM driver by default

Signed-off-by: John Crispin <john@phrozen.org>
7 months agomediatek/filogic: fix mt7981.dtsi PCIe support
John Crispin [Thu, 4 Apr 2024 18:11:54 +0000 (20:11 +0200)]
mediatek/filogic: fix mt7981.dtsi PCIe support

* the compatible string was wrong
* the pinmux was missing

Signed-off-by: John Crispin <john@phrozen.org>
7 months agoarm-trusted-firmware-mediatek: add mt7981-nor-ddr4 and mt7981-spim-nand-ubi-ddr4...
John Crispin [Mon, 13 May 2024 05:36:24 +0000 (07:36 +0200)]
arm-trusted-firmware-mediatek: add mt7981-nor-ddr4 and mt7981-spim-nand-ubi-ddr4 builds

Signed-off-by: John Crispin <john@phrozen.org>
7 months agomt76: install mt7981_eeprom_mt7976_dbdc.bin to STAGING_DIR_IMAGE
Felix Fietkau [Tue, 21 May 2024 08:10:00 +0000 (10:10 +0200)]
mt76: install mt7981_eeprom_mt7976_dbdc.bin to STAGING_DIR_IMAGE

It will be used in the image building code

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 months agomt76: update to Git HEAD (2024-05-17)
Felix Fietkau [Tue, 21 May 2024 08:09:12 +0000 (10:09 +0200)]
mt76: update to Git HEAD (2024-05-17)

8f301a5c5fe3 firmware: add mt7981 default eeprom
2d264aecbf5a mt76: mt7915: make pre-cal freq lists static const
d9c62742bed6 wifi: mt76: make const arrays in functions static
8986ba5492a8 wifi: mt76: mt7921: cqm rssi low/high event notify
3afbb8ed8015 wifi: mt76: mt7996: let upper layer handle MGMT frame protection
1d0bd57e5889 wifi: mt76: mt7921e: add LED control support
1d6e4f7de8a6 wifi: mt76: mt7925: add EHT radiotap support in monitor mode
c40e648b8929 wifi: mt76: enable spectrum management
14d5ee9f3369 mt76: shrink mt76_queue_buf
513c131c6309 mt76: mt7603: fix mixed declarations and code

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 months agofirewall4: update to Git HEAD (2024-05-21)
Jo-Philipp Wich [Tue, 21 May 2024 06:59:13 +0000 (08:59 +0200)]
firewall4: update to Git HEAD (2024-05-21)

4c01d1ebf99e fw4: substitute double quotes in strings

Fixes: https://github.com/openwrt/luci/issues/7091
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
7 months agolibbpf: Update to v1.4.2
Tony Ambardar [Thu, 16 May 2024 21:14:05 +0000 (14:14 -0700)]
libbpf: Update to v1.4.2

Update to the latest upstream release to include recent improvements and
bugfixes.

Link: https://github.com/libbpf/libbpf/releases/tag/v1.4.2
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
7 months agoixp4xx: Bump to kernel v6.6
Linus Walleij [Wed, 15 May 2024 21:16:54 +0000 (23:16 +0200)]
ixp4xx: Bump to kernel v6.6

The IXP4xx is well supported upstream and can readily be
supported with kernel v6.6. To simplify things after the
DTS directory was renamed, switch to v6.6 only.

Bring in some outstanding patches.

Tested on the Gateworks GW2348-4.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 months agoapk: update to latest HEAD 2024-05-19
Paul Spooren [Mon, 20 May 2024 15:10:42 +0000 (18:10 +0300)]
apk: update to latest HEAD 2024-05-19

Upstream refactoring caused some mbedtls issues, now fixed again.

Signed-off-by: Paul Spooren <mail@aparcar.org>
7 months agoapk: disable rootfs repositories during build
Paul Spooren [Mon, 20 May 2024 15:08:28 +0000 (18:08 +0300)]
apk: disable rootfs repositories during build

Since we set the root for APK it tries to use those during the build,
which shouldn't happen since local package are used instead.

Disable the repositories by manually setting an empty repository.

Signed-off-by: Paul Spooren <mail@aparcar.org>
7 months agolinux-firmware: realtek: update rtl8821ae firmware
Rui Salvaterra [Wed, 8 May 2024 21:04:55 +0000 (22:04 +0100)]
linux-firmware: realtek: update rtl8821ae firmware

A newer version, rtl8821aefw_29.bin, has been available for over 7 years [1].
Let's use it.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=f70e4df2b384d21e36a7c30a591639592692e0ec

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
7 months agogemini: In-flight ethernet patches
Linus Walleij [Wed, 15 May 2024 08:21:47 +0000 (10:21 +0200)]
gemini: In-flight ethernet patches

These patches have partial acceptance upstream and are still
a WIP, now there is merge window for kernel v6.10 so these
will not be reposted until that is over. In the meantime,
let's add the current state to OpenWrt so the ethernet on
Gemini is up and working (tested on several devices).

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
7 months agoinclude/rootfs: skip removal of APK cache now deprecated
Christian Marangi [Sun, 19 May 2024 13:03:27 +0000 (15:03 +0200)]
include/rootfs: skip removal of APK cache now deprecated

Skip removal of APK cache since now deprecated as APK doesn't make use
of cache anymore in our configuration.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
7 months agoimagebuilder: fix multiple issue with manifest and sign keys handling
Christian Marangi [Sun, 19 May 2024 12:58:11 +0000 (14:58 +0200)]
imagebuilder: fix multiple issue with manifest and sign keys handling

Fix multiple issue with manifest handling where APK was hardcoded
and fix a logic error where (TODO) APK _check_keys was called for the
OPKG codepath instead of correctly calling for the APK codepath.

Fixes: d788ab376f85 ("build: add APK package build capabilities")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
7 months agowireless-regdb: update to 2024.05.08
Yuu Toriyama [Sat, 18 May 2024 22:08:37 +0000 (07:08 +0900)]
wireless-regdb: update to 2024.05.08

Changes:
  73529a8 Revert "wireless-regdb: Update and disable 5470-5730MHz band according to TPC requirement for Singapore (SG)"
  87941e4 wireless-regdb: Update regulatory rules for Taiwan (TW) on 6GHz
  33797ae wireless-regdb: update regulatory database based on preceding changes

Signed-off-by: Yuu Toriyama <PascalCoffeeLake@gmail.com>
7 months agomediatek: add firmware name for AQR PHYs on mt7988a-rfb
Felix Fietkau [Fri, 10 May 2024 15:39:56 +0000 (17:39 +0200)]
mediatek: add firmware name for AQR PHYs on mt7988a-rfb

Fixes PHY probe in case there is no firmware in a connected EEPROM

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 months agomediatek: convert mt7988a-rfb to keep bl31/uboot in UBI
Felix Fietkau [Wed, 8 May 2024 11:40:14 +0000 (13:40 +0200)]
mediatek: convert mt7988a-rfb to keep bl31/uboot in UBI

Add ubi volumes for mt7988a-rfb and support for using factory data
for Ethernet MAC addresses and MT7996 WLAN calibration data.
Also add rootdisk handle. Removes the need to keep using nmbm

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 months agouboot-mediatek: add missing options for mt7988-rfb
Felix Fietkau [Mon, 13 May 2024 18:17:33 +0000 (20:17 +0200)]
uboot-mediatek: add missing options for mt7988-rfb

Fixes autoboot and storing env in UBI

Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 months agorootfs: fix USE_APK detection
Paul Spooren [Sat, 18 May 2024 20:10:49 +0000 (23:10 +0300)]
rootfs: fix USE_APK detection

Due to missing quotes the script would wrongly assume APK to be enabled
and don't run post install scripts, breaking pretty much everything.

Signed-off-by: Paul Spooren <mail@aparcar.org>
7 months agoapk: update to latest HEAD 2024-05-18
Paul Spooren [Sat, 18 May 2024 13:29:07 +0000 (16:29 +0300)]
apk: update to latest HEAD 2024-05-18

Drop downstream mbedtls patch since it went upstream.

Signed-off-by: Paul Spooren <mail@aparcar.org>
Link: https://github.com/openwrt/openwrt/pull/15522
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
7 months agobase-files: correctly split install-key function for APK
Paul Spooren [Fri, 17 May 2024 20:32:00 +0000 (23:32 +0300)]
base-files: correctly split install-key function for APK

The function incorrectly tried to APK keys even if there were none.
Correctly separate it into its own `ifdef` section.

Signed-off-by: Paul Spooren <mail@aparcar.org>
Link: https://github.com/openwrt/openwrt/pull/15519
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
7 months agoapk: disable helptext for host build
Paul Spooren [Fri, 17 May 2024 20:19:52 +0000 (23:19 +0300)]
apk: disable helptext for host build

The host build would need Lua to compile which currently adds a race
condition. Instead of tracking that down just disable helptext for the
host build.

Signed-off-by: Paul Spooren <mail@aparcar.org>
7 months agobase-files: add compatibility for APK and OPKG
Paul Spooren [Fri, 3 May 2024 16:24:17 +0000 (18:24 +0200)]
base-files: add compatibility for APK and OPKG

Both package managers work slightly different, i.e. stores files at
different places. Modify the `functions.sh` file to cover those.

Signed-off-by: Paul Spooren <mail@aparcar.org>