Commit Graph

28937 Commits

Author SHA1 Message Date
Mikhail Zhilkin
1cb85e1251
ramips: fix wrong permissions on dts files
This commit fixes wrong permissions on dts files. Before the commit these
dts files are executable:
   -rwxrwxr-x mt7620a_dlink_dir-806a-b1.dts
   -rwxrwxr-x mt7621_wavlink_wl-wn573hx1.dts

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
2023-11-02 20:42:53 +01:00
Robert Marko
5cdf152b28
qualcommax: ipq807x: move subtarget specific kernel options
Currently, qualcommax target contains the full kernel config for the
ipq807x subtarget, but since I am working on ipq60xx as well it makes
sense to split out the ipq807x specific kernel options to subtarget
config.

ipq60xx will use the same approach and use subtarget config.

Should result in the same end kernel config, verified by comparing the
generated kernel .config.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2023-11-02 20:25:33 +01:00
Rafał Miłecki
943bd3c9f6 bcm53xx: add the latest fix version of brcm_nvram
It was just sent for upstream.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2023-11-02 09:23:44 +01:00
Til Kaiser
3004c20614 x86: add support for Mellanox Spectrum SN2000 Switches
The Mellanox Spectrum SN2000 Series Switches are Managed Ethernet
Switches with a maximum speed of 100Gb/s and up to 56 ports.

Tested on a Mellanox Spectrum SN2100 with the following specs:
 - CPU: Intel ATOM x86 dual-core 2.4GHz
 - RAM: 8GB
 - Disk: 16GB SSD
 - Ports: 16x QSFP28 100GbE, 1x 100M Mgmt Port, 1x RJ45 Serial Port
 - USB: 1x mini 2.0
 - Button: 1x (reset)
 - LEDs: 6x

Installation:
 - Create a bootable USB device (either by flashing this image
   onto it or another Linux distribution)
 - Unzip the generic OpenWrt x64 image
   and copy it onto the USB device
 - Plug the USB device into the Mellanox Switch and boot from it
 - Flash the image (e.g., with dd) onto the internal SSD
   of the switch (should be /dev/sda)

To enter the BIOS, reboot the switch and press CTRL+B while you see
the BIOS information text (American Megatrends …). The default password
to enter the BIOS is admin. To boot from the USB device, switch to the
Boot index tab and set your USB device at the top of the boot order
(the internal SSD should be currently there). Don't forget to set
the SSD back at the top after you have flashed the image.

Signed-off-by: Til Kaiser <til.kaiser@gmx.de>
[unify with generic x64 image]
Signed-off-by: David Bauer <mail@david-bauer.net>
2023-10-31 21:12:15 +01:00
Patryk Kowalczyk
d522ccecb2 filogic: add support for ASUS TUF AX6000
Hardware
========
SOC: MediaTek MT7986
RAM: 512MB DDR3
FLASH: 256MB SPI-NAND
WIFI: Mediatek MT7986 DBDC 802.11ax 2.4/5 GHz 4T4R
ETH: MediaTek MT7530 Switch (LAN)
MaxLinear GPY211C 2.5 N-Base-T PHY (WAN)
MaxLinear GPY211C 2.5 N-Base-T PHY (LAN)
UART: 3V3 115200 8N1 (Do not connect VCC)
USB 3.1

Installation
============

Download the OpenWrt initramfs image. Copy the image to a TFTP server
reachable at 192.168.1.70/24. Rename the image to TUF-AX6000.bin.

Connect to the serial console, interrupt the auto boot process by
pressing '4' when prompted or press '1' and set client IP, server
IP and name of the image.

yOU don't need to open the case or even soldering anything.
use three goldpin wires, remove their plastic cover and connect
them to the console pinout via the case holes.

You can see three holes
From Bottom: RX, TX, Ground - partially covered

Download & Boot the OpenWrt initramfs image.

In case of option '4'
$ setenv ipaddr 192.168.1.1
$ setenv serverip 192.168.1.70
$ tftpboot 0x46000000 TUF-AX6000.bin
$ bootm 0x46000000

In case of option '1'
1: Load System code to SDRAM via TFTP.
Please Input new ones /or Ctrl-C to discard
Input device IP (192.168.1.1) ==:
Input server IP (192.168.1.70) ==:
Input Linux Kernel filename (TUF-AX6000.trx) ==:

Wait for OpenWrt to boot. Transfer the sysupgrade
image to the device using scp and install using sysupgrade.

$ sysupgrade -n <path-to-sysupgrade.bin>

Missing features
================

2.5Gb LAN port LED is ON during boot or when the LAN cable is disconnected

The cover yellow light is not supported. (only blue one)

Signed-off-by: Patryk Kowalczyk <patryk@kowalczyk.ws>
2023-10-31 21:12:15 +01:00
Rafał Miłecki
c997634c01 kernel: fix mtd/NVMEM regression affecting U-Boot env NVMEM driver
Fixes: b595670070 ("kernel: backport nvmem v6.6 fixes and v6.7 changes")
Fixes: https://github.com/openwrt/openwrt/issues/13831
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2023-10-31 17:33:28 +01:00
INAGAKI Hiroshi
c441f9b2c5 mvebu: add support for IIJ SA-W2
Internet Initiative Japan Inc. (IIJ) SA-W2 is a network appliance with
11ac (Wi-Fi 5) wlan, based on 88F6810.

Specification:

- SoC         : Marvell Armada 380 88F6810
- RAM         : DDR3 256 MiB (Micron MT41K64M16TW-107:J x2)
- Flash       : SPI-NOR 32 MiB (Winbond W25Q256JVFIQ)
- WLAN        : 2.4/5 GHz, Mini PCI-E
  - 2.4 GHz   : Silex SX-PCEGN (Atheros AR9287 (2T2R))
  - 5 GHz     : Silex SX-PCEAC (Qualcomm Atheros QCA9880 (3T3R))
- Ethernet    : 10/100/1000 Mbps x5
  - Switch    : Marvell 88E6172
- LEDs/Keys   : 12x/1x
- UART        : "CONSOLE" port (RJ-45, RS-232C)
  - settings  : 115200n8
  - assignment: 1:NC,  2:NC,  3:TXD, 4:GND,
                5:GND, 6:RXD, 7:NC,  8:NC
  - note      : compatible with Cisco console cable
- Power       : DC Input or PoE
  - DC Input  : 12 VDC, 3 A
  - PoE       : 802.3af
    - module  : Silvertel Ag9712-2BR
    - note    : USB ports shouldn't be used when powered by PoE
- Bootloader  : PMON2000 based
- Stock       : NetBSD based

Flash instruction using sysupgrade image:

1. Prepare TFTP server with IP address 192.168.0.10 and put sysupgrade
   image to TFTP directory
2. Connect PC to "GE0/PoE" port on SA-W2
3. Power on SA-W2, interrupt count-down by Esc and enter to bootloader
   CLI
4. Set IP address of the device

   address 192.168.0.1

5. Download sysupgrade image and flash to storage

   tftpload 192.168.0.10 <image name>
   firmwrite

   example:

   #tftpload 192.168.0.10 openwrt-mvebu-cortexa9-iij_sa-w2-squashfs-sysupgrade.bin
   Loading openwrt-mvebu-cortexa9-iij_sa-w2-squashfs-sysupgrade.bin
   loaded 8127268 byte(s)
   #firmwrite
   Erasing FLASH block  32 Done 0x00200000.
   Erasing FLASH block  33 Done 0x00210000.
   ...
   Erasing FLASH block 155 Done 0x009b0000.
   Erasing FLASH block 156 Done 0x009c0000.
   Programming FLASH. Done.
   Verifying FLASH. No Errors found.

6. Check the flashed firmware

   firmcheck

   example:

   #firmcheck
   [Normal firmware]
   ident: 'SEIL2015'
   copyright: 'ARM OpenWrt Linux-5.15.93'
   version format: 1
   version major: 9
   version minor: 99
   version release: 'r22060+36-5163bb5e54'
   body size: 3578524
   checksum: 0x8a083cb8

   [Rescue firmware]
   ident: 'SEIL2015'
   copyright: 'Copyright (c) 2017 Internet Initiative Japan Inc. All rights reserved.'
   version format: 1
   version major: 3
   version minor: 70
   version release: 'Release'
   body size: 10152458
   checksum: 0x8f9518c2

7. Boot with the flashed firmware

   boot

Note:

- The bootloader on this device is not U-Boot and it's environment space
  ("bootloader-env") has no compatibility with U-Boot tools.

- eth1 is connected to port6 of 88E6172 switch, but multi-cpu port can't
  be handled on Linux Kernel and not defined.

- Powering by PoE hasn't been tested yet.

- This device has 2x OS images on flash and they can be switched by
  setting "BOOTDEV" variable on bootloader CLI.
  That variable supports the following values:

  - "flash" : primary image on flash ("firmware")
  - "rescue": secondary image on flash ("rescue")
  - "usb"   : usb storage (broken?)
  - "lan0/1": network

  command to set:

  set BOOTDEV=<dev>

  example:

    set BOOTDEV=rescue

  This commit also supports booting from secondary partition.

- To execute initramfs image on bootloader CLI, use "go" command.
  ("go" command is not listed on the output of "help", but available)

  example (download and execute):

    address 192.168.0.1
    tftpload 192.168.0.10 openwrt-mvebu-cortexa9-iij_sa-w2-initramfs-kernel.bin
    go

MAC addresses:

LAN    : 00:E0:4D:xx:xx:19 (none)
WAN    : 00:E0:4D:xx:xx:18 (board_info, 0x6 (hex))
2.4 GHz: 84:25:3F:xx:xx:xx (Mini PCI-E card)
5 GHz  : 84:25:3F:xx:xx:xx (Mini PCI-E card)

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2023-10-31 14:02:01 +01:00
INAGAKI Hiroshi
49f55b17f0 mvebu: cortexa9: enable seil-fw mtdsplit driver
Enable seil-fw driver on mvebu/cortexa9 to use it on IIJ SA-W2.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2023-10-31 14:02:01 +01:00
INAGAKI Hiroshi
c6e71b34b2 kernel: add seil-fw mtdsplit driver for IIJ SEIL devices
This mtdsplit parser driver parses firmware partition on Internet
Initiative Japan Inc. (IIJ) SEIL series devices.

Structure of header:

  0x0 - 0x7 : Identifier            (hex)
  0x8 - 0x57: Copyright             (ascii)
 0x58 - 0x5b: Data CRC              (hex)
 0x5c - 0x5f: Image Format Version  (hex)
 0x60 - 0x63: Image Major Version   (hex)
 0x64 - 0x67: Image Minor Version   (hex)
 0x68 - 0x87: Image Release Version (ascii)
 0x88 - 0x8b: Xor value for Data?   (hex)
 0x8c - 0x8f: Data Length           (hex)

Properties:

- compatible      : "iij,seil-firmware"
- iij,seil-id     : ID of SEIL firmware for the device (8 bytes)
  - examples:
    - SA-W2       : <0x5345494c 0x32303135> ("SEIL2015")
    - SEIL/X1     : <0x5345494c 0x2F582020> ("SEIL/X  ")
- iij,bootdev-name: boot device name assigned to the partition
                    (optional)

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2023-10-31 14:02:01 +01:00
Mikhail Zhilkin
7666940efe ramips: enable wireless LEDs activity blinking for TP-Link EC330-G5u v1
This commit enables wireless LEDs activity blinking for TP-Link EC330-G5u
v1 router.

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
2023-10-31 13:56:58 +01:00
Weiping Yang
c7baca3bb6 ath79: add support for GL.iNet GL-S200
Specifications:
SoC: QCA9531(650MHz)
RAM: DDR2 128M
Flash: SPI NOR 16M + SPI NAND 128M
WiFi: 2.4GHz with 2 antennas(WiFi/Thread)
Ethernet:
    1xLAN(10/100M)
    2xWAN(10/100M)
Button: 1x Reset Button
Switch: 1x Mode switch
LED: 1x Blue LED + 1x White LED + 1x Orange LED
IOT: Thread + ZigBee/Zwave

By uboot web failsafe:
Push the reset button for 5 seconds util the power led flash faster,
then use broswer to access http://192.168.1.1

Afterwards upgrade can use sysupgrade image.

Signed-off-by: Weiping Yang <weiping.yang@gl-inet.com>
2023-10-31 13:53:11 +01:00
Shiji Yang
e32f70e706 ath79: increase the rfkill debounce interval for TP-Link Archer C7 v2
Due to circuit issue or silicon defect, sometimes the WiFi switch button
of the Archer C7 v2 can be accidentally triggered multiple times in one
second. This will cause WiFi to be unexpectedly shut down and trigger
'irq 23: nobody cared'[1] warning. Increasing the key debounce interval
to 1000 ms can fix this issue. This patch also add the missing rfkill
key label.

[1] Warning Log:
```
[87765.218511] irq 23: nobody cared (try booting with the "irqpoll" option)
[87765.225331] CPU: 0 PID: 317 Comm: irq/23-keys Not tainted 5.15.118 #0
...
[87765.486246] handlers:
[87765.488543] [<85257547>] 0x800c29a0 threaded [<5c6328a2>] 0x80ffe0b8 [gpio_button_hotplug@4cf73d00+0x1a00]
[87765.498364] Disabling IRQ #23
```

Fixes: https://github.com/openwrt/openwrt/issues/13010
Fixes: https://github.com/openwrt/openwrt/issues/12167
Fixes: https://github.com/openwrt/openwrt/issues/11191
Fixes: https://github.com/openwrt/openwrt/issues/7835

Tested-by: Hans Hasert
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2023-10-29 23:07:43 +01:00
Shiji Yang
f025135f16 ramips: fix Gigabit Ethernet port of the HiWiFi HC5861
HiWiFi HC5861 has a GbE port which connected to the RTL8211E PHY
chip. This patch adds the missing Realtek PHY driver package and
sets the correct external PHYs base address to make it work again.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
2023-10-29 22:49:35 +01:00
Milan Krstic
17465fc77e ramips: add support for ZyXEL LTE5398-M904
ZyXEL LTE5398-M904 is a dual band 802.11ac indoor LTE/3G CPE with an FXS
port.

Specifications:

* SoC: Mediatek MT7621AT
* RAM: 256 MB
* Flash: 128MB NAND (MX30LF1G18AC)
* WiFi: MediaTek MT7603 2.4G + MediaTek MT7615 5G
* Switch: 2 GbE ports MT7530
* LTE/3G: Quectel EG18-EA LTE-A Cat. 18
* SIM: 1 micro-SIM card slot
* Buttons: Reset, WPS
* LEDs: power (G/B), internet (G), LTE (R/G/Orange), WiFi (G), voice (G)
* VoIP: 1 FXS RJ11 port
* Power: 12V, 2A

UART serial console:

57600,8N1
Unpopulated header J5:

 [o] GND
 [ ] key - no pin
 [o] RX
 [o] TX
 [o] 3.3V Vcc

Installation:

* Log in as root using ssh to 192.168.1.1
* scp OpenWrt initramfs-recovery.bin image to root@192.168.1.1:/tmp/
* Prepare bootloader config by running:
   nvram setro uboot DebugFlag 0x1
   nvram setro uboot CheckBypass 0
   nvram commit
* Run "mtd_write -w write /tmp/initramfs-recovery.bin Kernel" and reboot
* Wait for OpenWrt to boot and ssh to root@192.168.1.1
* Run sysupgrade with OpenWrt squashfs-sysupgrade.bin image

For mode details about flashing see:
2449a63208 (ramips: mt7621: Add support for ZyXEL NR7101, 2021-04-19)

Unsupported:

* FXS/Voice

Signed-off-by: Milan Krstic <milan.krstic@gmail.com>
2023-10-29 18:51:11 +01:00
Felix Fietkau
cea62f45cc kernel: fix compile issues with tools/ on macOS
Reduce dependencies on linux specific header files.
Avoid using __weak for function declarations

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-10-29 15:57:25 +01:00
Florian Maurer
b3d2008f92
qualcommax: only build initramfs if CONFIG_TARGET_ROOTFS_INITRAMFS is set
This makes it possible to build the ipq807x netgear-wax218 without initramfs - which is required for downstream projects (gluon)

Signed-off-by: Florian Maurer <f.maurer@outlook.de>
2023-10-29 11:35:46 +01:00
Robert Marko
4b7b3b9777
qualcommax: mark upstreamed patches as such
The GPLL fixes were merged upstream, so lets mark them as such.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2023-10-29 11:34:53 +01:00
Matt Merhar
b2068f4aac kernel: fix jffs2 compilation with GCC_PLUGIN_RANDSTRUCT enabled
Designated initializers are required when using the randstruct GCC
plugin, otherwise an error like the following is seen:

./include/linux/lzma.h:60:31: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]

This was originally applied via 55643e469c, but was unintentionally
reverted in 483503603c.

Fixes: 483503603c ("generic: 5.15: rework pending patch")
Signed-off-by: Matt Merhar <mattmerhar@protonmail.com>
2023-10-28 21:17:16 -04:00
INAGAKI Hiroshi
b7c12a9bfc mvebu: add support for Fortinet FortiGate 30E
Fortinet FortiGate 30E (FG-30E) is a UTM, based on Armada 385 (88F6820).

Specification:

- SoC          : Marvell Armada 385 88F6820
- RAM          : DDR3 1 GiB (4x Micron MT41K256M8DA-125, "D9PSH")
- Flash        : SPI-NOR 128 MiB (Macronix MX66L1G45GMI-10G)
- Ethernet     : 5x 10/100/1000 Mbps
  - Switch     : Marvell 88E6176
- LEDs/Keys    : 16x/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       : Modex 5557-02R

Flash instruction using initramfs image:

 1. Power on FG-30E 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:CE (board-info, 0xd880 (hex))
WAN   : 70:4C:A5:xx:xx:CF
LAN 1 : 70:4C:A5:xx:xx:D0
LAN 2 : 70:4C:A5:xx:xx:D1
LAN 3 : 70:4C:A5:xx:xx:D2
LAN 4 : 70:4C:A5:xx:xx:D3

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2023-10-29 02:12:38 +02:00
Kristian Skramstad
5e33fdfc47 qualcommax: ipq807x: add support for Netgear WAX630
```
Specifications:
* CPU: Qualcomm IPQ8074A, SoC Version: 2.0, Quad core 1651 MHz
* RAM: 1 GiB of DDR3 466 MHz
* Flash: NAND 512 MiB (Winbond W29N04GZ)
* 6 RGB LEDs: Power, LAN1, LAN2, 2.4GHz, 5GHz H and 5GHz L
* UART: One 4-pin populated header next to the heatsink and a chip.
  GND RXD TXD, beginning from the external antennas. 115200n8.

Lan:
* One 100/1000/2.5GBASE-T Gigabit Ethernet 802.3bt/at
* One 100/1000 Gigabit Ethernet

Wlan:
* 4x4 in 2.4GHz  : 802.11b/g/n/ax
* 4x4 in 5.0GHz L: 802.11a/n/ac/ax
* 4x4 in 5.0GHz H: 802.11a/n/ac/ax
* OFDM and OFDMA
* Bidir and MU-MIMO
* Internal antenna 2.86/4.41/4.98 dBi (2.4GHz/5GHz L/5GHz H)

Power:
* 802.3bt/at 30.1W
* DC 12V/3.5A

Mounting: Wall and ceiling
```

```
1.  Download the OpenWrt initramfs image. Copy the image to a TFTP server
2.  Connect to the console on the AP, and connect the LAN port to your LAN
3.  Stop auto boot to get to U-boot shell, interrupt the autoboot process by pressing '0' when prompted
4.  Set active_fw in env
4.  Set active_fw in env
    # setenv active_fw 1
5.  Transfer the initramfs image with TFTP
    # setenv serverip 192.168.1.10 (IP of TFTP server host)
    # setenv ipaddr 192.168.1.1 (IP used by the router for getting the image, must be in the same subnet as the TFTP host)
    # tftpboot openwrt-qualcommax-ipq807x-netgear_wax630-initramfs-uImage.itb
6.  Reboot and load the image
    # bootm
7.  SCP factory image to the AP
    # scp openwrt-qualcommax-ipq807x-netgear_wax630-squashfs-factory.ubi root@192.168.1.1:/tmp/
8.  Connect to device using SSH (use the LAN port)
9.  Flash squashfs-factory.ubi from within the initramfs instance of OpenWRT
    Before you flash, please check your mtd partitions where mtdX is the right mtd rootfs partition.
    # cat /proc/mtd (To check MTD partitions)
    # ubiformat /dev/mtd18 -y -f /tmp/openwrt-qualcommax-ipq807x-netgear_wax630-squashfs-factory.ubi
10. Set active_fw to 0
    # /usr/sbin/fw_setenv active_fw 0
11. Reboot the AP and your done
    # reboot
```

Reviewed-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Kristian Skramstad <kristian+github@83.no>
2023-10-28 19:49:18 +02:00
Kristian Skramstad
f9f2c8ef05 qualcommax: ipq807x: alphabetically sort Netgear WAX family.
As requested by the maintainers, the order for the WAX family
should be alphabetically. WAX620 is now after WAX218.

Files changed:
+ipq807x.mk
+01_leds

No changes to the content.

Signed-off-by: Kristian Skramstad <kristian+github@83.no>
2023-10-28 19:48:57 +02:00
Tianling Shen
423186d7d8 mediatek: add CMCC RAX3000M support
Hardware specification:
  SoC: MediaTek MT7981B 2x A53
  Flash: 64GB eMMC or 128 MB SPI-NAND
  RAM: 512MB
  Ethernet: 4x 10/100/1000 Mbps
  Switch: MediaTek MT7531AE
  WiFi: MediaTek MT7976C
  Button: Reset, Mesh
  Power: DC 12V 1A
- UART: 3.3v, 115200n8
  --------------------------
  |         Layout         |
  |   -----------------    |
  | 4 | GND TX VCC RX | <= |
  |   -----------------    |
  --------------------------

Gain SSH access:
1. Login into web interface, and download the configuration.
2. Enter fakeroot, decompress the configuration:
   tar -zxf cfg_export_config_file.conf
3. Edit 'etc/config/dropbear', set 'enable' to '1'.
4. Edit 'etc/shadow', update (remove) root password:
   'root::19523:0:99999:7:::'
5. Repack 'etc' directory:
   tar -zcf cfg_export_config_file.conf etc/
   * If you find an error about 'etc/wireless/mediatek/DBDC_card0.dat',
     just ignore it.
6. Upload new configuration via web interface, now you can SSH to RAX3000M.

Check stroage type:
Check the label on the back of the device:
"CH EC CMIIT ID: xxxx" is eMMC version
"CH    CMIIT ID: xxxx" is NAND version

eMMC Flash instructions:
1. SSH to RAX3000M, and backup everything, especially 'factory' part.
   ('data' partition can be ignored, it's useless.)
2. Write new GPT table:
   dd if=openwrt-mediatek-filogic-cmcc_rax3000m-emmc-gpt.bin of=/dev/mmcblk0 bs=512 seek=0 count=34 conv=fsync
3. Erase and write new BL2:
   echo 0 > /sys/block/mmcblk0boot0/force_ro
   dd if=/dev/zero of=/dev/mmcblk0boot0 bs=512 count=8192 conv=fsync
   dd if=openwrt-mediatek-filogic-cmcc_rax3000m-emmc-preloader.bin of=/dev/mmcblk0boot0 bs=512 conv=fsync
4. Erase and write new FIP:
   dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=13312 count=8192 conv=fsync
   dd if=openwrt-mediatek-filogic-cmcc_rax3000m-emmc-bl31-uboot.fip of=/dev/mmcblk0 bs=512 seek=13312 conv=fsync
5. Set static IP on your PC:
   IP 192.168.1.254, GW 192.168.1.1
6. Serve OpenWrt initramfs image using TFTP server.
7. Cut off the power and re-engage, wait for TFTP recovery to complete.
8. After OpenWrt has booted, perform sysupgrade.
9. Additionally, if you want to have eMMC recovery boot feature:
     (Don't worry! You will always have TFTP recovery boot feature.)
   dd if=openwrt-mediatek-filogic-cmcc_rax3000m-initramfs-recovery.itb of=/dev/mmcblk0p4 bs=512 conv=fsync

NAND Flash instructions:
1. SSH to RAX3000M, and backup everything, especially 'Factory' part.
2. Erase and write new BL2:
   mtd erase BL2
   mtd write openwrt-mediatek-filogic-cmcc_rax3000m-nand-preloader.bin BL2
3. Erase and write new FIP:
   mtd erase FIP
   mtd write openwrt-mediatek-filogic-cmcc_rax3000m-nand-bl31-uboot.fip FIP
4. Set static IP on your PC:
   IP 192.168.1.254, GW 192.168.1.1
5. Serve OpenWrt initramfs image using TFTP server.
6. Cut off the power and re-engage, wait for TFTP recovery to complete.
7. After OpenWrt has booted, erase UBI volumes:
   ubidetach -p /dev/mtd0
   ubiformat -y /dev/mtd0
   ubiattach -p /dev/mtd0
8. Create new ubootenv volumes:
   ubimkvol /dev/ubi0 -n 0 -N ubootenv -s 128KiB
   ubimkvol /dev/ubi0 -n 1 -N ubootenv2 -s 128KiB
9. Additionally, if you want to have NAND recovery boot feature:
     (Don't worry! You will always have TFTP recovery boot feature.)
   ubimkvol /dev/ubi0 -n 2 -N recovery -s 20MiB
   ubiupdatevol /dev/ubi0_2 openwrt-mediatek-filogic-cmcc_rax3000m-initramfs-recovery.itb
10. Perform sysupgrade.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-10-28 19:05:07 +02:00
Chukun Pan
00e3447926 sunxi: enable cpufreq driver for H6 SoC
Allwinner H6 needs this driver to enable DVFS support.
May also be used with H616/H618 SoC in the future.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2023-10-28 18:31:43 +02:00
Chukun Pan
b25c7548e0 sunxi: fixes led for nanopi boards
Kernel 5.15 already supports the NanoPi R1 and NanoPi R1S H5,
and they use new LED bindings that do not match the existing
settings in 01_leds. Update led settings to fixes that.

List the led node on NanoPi R1S H5:
root@OpenWrt:~# ls /sys/class/leds/
green:lan   green:wan   red:status

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
2023-10-28 18:31:43 +02:00
Rafał Miłecki
b595670070 kernel: backport nvmem v6.6 fixes and v6.7 changes
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2023-10-28 15:20:06 +02:00
John Audia
75aeb7ed62 kernel: bump 5.15 to 5.15.137
Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.137

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>
2023-10-27 19:43:06 +01:00
John Audia
5a6368e85d kernel: bump 5.15 to 5.15.136
Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.136

Removed bcm53xx patch backported from 5.15.136:
	target/linux/bcm53xx/patches-5.15/081-xhci-Keep-interrupt-disabled-in-initialization-until.patch [1]

All other patches automatically rebased.

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

1. https://github.com/openwrt/openwrt/pull/13751#issuecomment-1781206937

Signed-off-by: John Audia <therealgraysky@proton.me>
[rmilecki: updated commit description & tested on Luxul XWR-3150]
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2023-10-26 21:40:10 +02:00
Rafał Miłecki
c25c1e28b7 bcm53xx: backport XHCI patch modifying xhci_run_finished()
This will help switching to newer 5.15 kernels. This backport required
rebasing Northstar's USB host patch.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2023-10-26 16:06:49 +02:00
Rafał Miłecki
81e7d1776d bcm53xx: add missed spin unlock to USB host patch
Fixes: 265071af7c ("bcm53xx: add testing support for kernel 6.1")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2023-10-26 16:06:49 +02:00
John Audia
cd86f6c24d kernel: bump 6.1 to 6.1.60
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.60

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>
2023-10-26 12:08:52 +02:00
Rafał Miłecki
732ae343ff bcm53xx: backport 1 more late DT patch accepted for v6.7
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2023-10-26 08:08:58 +02:00
Linus Walleij
5568f47259
ixp4xx: Add USRobotics USR8200 support
This brings back USRobotics USR8200 support to the IXP4xx
target.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2023-10-25 11:29:29 +02:00
Linus Walleij
c1318bc73e
ixp4xx: Add a ixp4xx hardware crypto kernel module
The IXP4xx crypto module must be loaded after the rootfs is
up as it depends on loading some NPE microcode from the file
system.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2023-10-25 11:29:05 +02:00
Linus Walleij
c16b2293fe
ixp4xx: Resurrect IXP4xx support using device tree
This resurrects the support for IXP4xx using device tree
rather than the old (deleted) board files. The final pieces
of IXP4xx board files were deleted in Linux v5.19.

Ext4 root filesystems on CF and USB are supported by the
default config.

We support these three initial targets:

- The Gateworks Avila GW2348 reference design has 64MB of RAM
  and 32MB of flash and also supports USB and CompactFlash.

- The Gateworks Cambria GW2358 reference design has 128MB of
  RAM and 32MB of flash and also supports USB and CompactFlash.

- The old and stable Linksys NSLU2 works fine as well, albeit
  it only has 32MB of RAM so it has been marked as non-default.
  The 8MB of flash can only fit the kernel, so it has been
  patched to boot from exteral media on USB. I have used
  it successfully as a NAS with ksmbd and LUCI web API, see:
  https://dflund.se/~triad/krad/ixp4xx/

Signed-off-by: Howard Harte <hharte@magicandroidapps.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Tomasz Maciej Nowak <tmn505@gmail.com>
2023-10-25 11:28:38 +02:00
Linus Walleij
33a6189fde
generic: Support Altima AMI101L PHY
This is a backport of the patch to support the Altima AMI101L
PHY which is merged for the v6.7 kernel. This PHY is used in the
IXP4xx-based USRobotics USR8200.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2023-10-25 11:27:50 +02:00
Linus Walleij
16f929ed47
generic: RTC7301 byte-addressed IO
This is a backport of the patch for byte addressed IO to the
Epson RTC7301 driver. This is used by the IXP4xx-based
USRobotics USR8200.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2023-10-25 11:27:28 +02:00
Zoltan HERPAI
4898047716 sifiveu: remove 5.15 support
With 6.1 as the default kernel, there is no reason to keep 5.15 around.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2023-10-24 11:42:46 +02:00
Zoltan HERPAI
fe8630f18e sifiveu: switch to kernel v6.1
Enable kernel v6.1 as the default kernel for sifiveu.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2023-10-24 11:40:51 +02:00
Rafał Miłecki
a912ee74d6 bcm53xx: disable unused switch ports in downstream patch
This makes Linux use correct switch ports again.

Fixes: a4792d79e8 ("bcm53xx: backport DT changes from v6.5")
Fixes: https://github.com/openwrt/openwrt/issues/13548
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2023-10-24 08:26:24 +02:00
Rafał Miłecki
a67af19bc8 bcm53xx: backport DT changes queued for v6.7
Among other changes this commit makes Linux use correct switch ports
again.

Fixes: a4792d79e8 ("bcm53xx: backport DT changes from v6.5")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2023-10-24 08:26:24 +02:00
Rafał Miłecki
08ce0c76d7 bcm53xx: simplify patch adding switch ports
We now have all raw ports defined in bcm-ns.dtsi. Leave only lables in
custom device files.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2023-10-24 08:26:24 +02:00
Marek Behún
b23c2ec831
kernel: ath79, bmips: refresh 5.15 patches
One LED patch for ath79 and one LED patch for bmips need to be
refreshed.

Signed-off-by: Marek Behún <kabel@kernel.org>
2023-10-23 15:19:49 +02:00
Marek Behún
e257b71eb5
kernel: 5.15: Backport Turris Omnia LED patches
This backports patches
  leds: turris-omnia: convert to use dev_groups
  leds: turris-omnia: Use sysfs_emit() instead of sprintf()
  leds: turris-omnia: Drop unnecessary mutex locking
  leds: turris-omnia: Do not use SMBUS calls
  leds: turris-omnia: Make set_brightness() more efficient
  leds: turris-omnia: Support HW controlled mode via private trigger
  leds: turris-omnia: Add support for enabling/disabling HW gamma correction
  leds: turris-omnia: Fix brightness setting and trigger activating
into backport-5.15.

The above patches replace:
  leds: turris-omnia: support HW controlled mode via private trigger
  leds: turris-omnia: initialize multi-intensity to full
  leds: turris-omnia: change max brightness from 255 to 1
from mvebu/patches-5.15.

Signed-off-by: Marek Behún <kabel@kernel.org>
2023-10-23 15:19:45 +02:00
Rafał Miłecki
bb629a630f bcm53xx: update patch fixing NVMEM driver for NVRAM
1. Avoid corrupting (replacing '=' with '\0') NVRAM content
2. Check actual NVRAM data length to avoid allocating huge buffers

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2023-10-23 11:01:03 +02:00
Hauke Mehrtens
e1aaa1defd Revert "lantiq: xrx200: mark subtarget as source-only"
This reverts commit 0c117e1f6c.

Activate the lantiq/xrx200 target again.

There are still some problems with the GSWIP, but it is not leaking
packets to the wrong bridge in normal operations.
It shows some error messages at configuration like these:
[   54.308861] gswip 1e108000.switch: port 5 failed to add ce:9d:84:d1:81:f0 vid 1 to fdb: -22
[   54.325633] gswip 1e108000.switch: port 5 failed to add e8🇩🇪27:95:c1:b4 vid 0 to fdb: -22
[   54.351242] gswip 1e108000.switch: port 5 failed to add e8🇩🇪27:95:c1:b4 vid 1 to fdb: -22
[   54.358311] gswip 1e108000.switch: port 5 failed to delete ce:9d:84:d1:81:f0 vid 1 from fdb: -2

The problems are described in this pull request:
https://github.com/openwrt/openwrt/pull/13200

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2023-10-23 01:39:47 +02:00
Rani Hod
9c42d23c5f bcm53xx: Linksys EA9200 nvram and 02_network fixes
1) clear nvram partialboots upon successful boot
This behavior is already defined for EA9500; enabled for EA9200 too.

2) fix MAC address in board.d/02_network
Use the correct nvram variable to derive lan/wan MAC address.

Signed-off-by: Rani Hod <rani.hod@gmail.com>
2023-10-22 11:11:43 +02:00
Rani Hod
fe5e498777 ramips: TP-link archer A6/C6 device tree updates
Set correct GPIO (10) for the WPS button. This matches GPIO settings in
vendor GPL sources. Note that GPL sources also mention a USB indicator
LED (GPIO 13) but the device has neither an external USB port nor a USB LED.

In addition, prefixes (button-, led-) are added to relevant DT entries,
as well as color and function specifications for LEDs.

Closes: #13736

Reported-by: Waldemar Czabaj <kaball@wp.pl>
Signed-off-by: Rani Hod <rani.hod@gmail.com>
(added led mitigations for wifi leds)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2023-10-22 11:11:43 +02:00
John Audia
bb8fd41f9a kernel: bump 6.1 to 6.1.59
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.59

Manually rebased:
	bcm27xx/patches-6.1/950-0124-Add-support-for-all-the-downstream-rpi-sound-card-dr.patch

Removed upstreamed:
	generic/backport-6.1/781-v6.6-02-net-dsa-qca8k-fix-potential-MDIO-bus-conflict-when-a.patch[1]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.1.59&id=881050b25b1dda7b0f14d40d1b09bf38cb3b427c

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

Signed-off-by: John Audia <therealgraysky@proton.me>
2023-10-21 09:33:12 +02:00
John Audia
33e72eba5f kernel: bump 6.1 to 6.1.58
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.58

All patches automatically rebased.

Signed-off-by: John Audia <therealgraysky@proton.me>
2023-10-21 09:33:12 +02:00
Marek Mojík
0be05de577
kernel: 6.1: Backport Turris Omnia LED patches
This backports patches
  leds: turris-omnia: Use sysfs_emit() instead of sprintf()
  leds: turris-omnia: Drop unnecessary mutex locking
  leds: turris-omnia: Do not use SMBUS calls
  leds: turris-omnia: Make set_brightness() more efficient
  leds: turris-omnia: Support HW controlled mode via private trigger
  leds: turris-omnia: Add support for enabling/disabling HW gamma correction
  leds: turris-omnia: Fix brightness setting and trigger activating
into backport-6.1.

The above patches replace:
  leds: turris-omnia: support HW controlled mode via private trigger
  leds: turris-omnia: initialize multi-intensity to full
  leds: turris-omnia: change max brightness from 255 to 1
from mvebu/patches-6.1.

Signed-off-by: Marek Mojík <marek.mojik@nic.cz>
2023-10-20 19:17:58 +02:00