GL.iNet shipped a hardware change of the WAN PHY going from the MaxLinear
GPY211C to the Airoha EN8811H.
Signed-off-by: Matthew Bilker <me@mbilker.us>
Link: https://github.com/openwrt/openwrt/pull/18799
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Trying to use modules for the PHY:s does not work:
The ethernet driver does not like to probe if it can't find
the PHY.
The ethernet driver really likes to be compiled-in. It will
not probe otherwise. Some hardware issue.
Revert things to how they always worked until I maybe solve
this.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* Extends SoC thermal sensor on rtl839x
* Tested on HP JG928A
Signed-off-by: Stephen Howell <howels@allthatwemight.be>
Link: https://github.com/openwrt/openwrt/pull/18825
Signed-off-by: Robert Marko <robimarko@gmail.com>
Regulators as implemented by the XHCI driver only accept one GPIO.
However, we can abuse the fact that the XHCI driver accepts two
regulators, one for 5V and the other for 3.3V, for USB 2 and 3 GPIOs.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16967
Signed-off-by: Robert Marko <robimarko@gmail.com>
This can be done with so little effort, all but two patches are now
upstream. No need to keep support for v6.6, everything just works
the same or better with v6.12.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
The resets in the GCC of the uniphy found in the IPQ5018 SoC are
incorrect which broke the ability to shift between 1G and 2.5G link
speeds. So let's correct the resets based on below two downstream
commits.
In a seperate and prequisite PR to the QCA-SSDK repo, logic has been
implemented to select the right reset based on the link setup so fixed
link scenarios don't break.
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18774
Signed-off-by: Robert Marko <robimarko@gmail.com>
Ahead of the actual fix in both the GCC and QCA-SSDK, add the required
AHB reset so it can be picked up by updated QCA-SSDK. This is needed
as the SSDK needs to use different resets depending on the link
architecture. If it's a fixed link, AHB needs to be reset. In a phy to
phy link setup (such as QCA8081), SYS, RX, and TX need to be reset using
one reset with a bitmask in the GCC (GCC_UNIPHY_SOFT_RESET).
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18774
Signed-off-by: Robert Marko <robimarko@gmail.com>
With completely carving out GE PHY out of the QCA-SSDK, the named clock
references to the GE PHY RX and TX clocks are no longer needed.
So, let's revert to using the DT indices as per the upstream GCC driver.
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18774
Signed-off-by: Robert Marko <robimarko@gmail.com>
Use latest patches sent upstream for review for IPQ5018 GE PHY support:
- Move enablement of the LDO controller to the mdio-ipq4019 driver away
from the CMN PLL driver
- Remove the different patches to add CDT, MSE, AZ, and DAC support they
are all contained in the upstreamed driver.
Accordingly, also set the right property in the DTS for Linksys SPNMX56
to set the right DAC values to accommodate for the short cable length.
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18774
Signed-off-by: Robert Marko <robimarko@gmail.com>
kmod-fs-ntfs is not available on the 6.12 kernel.
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18954
Signed-off-by: Robert Marko <robimarko@gmail.com>
As qualcommbe is now supported by the v6.12 kernel, there is no point
in v6.6 as well. Drop v6.6 support.
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18982
Signed-off-by: Robert Marko <robimarko@gmail.com>
The qualcommbe target was introduced after openwrt-24.10. The v6.12
kernel is now available, and is likely to be used by the next openwrt
release.While the v6.6 kernel served as an interim development vehicle,
it is no longer useful for the qualcommbe target
The v6.12 patches contain more recent submissions of pending ipq95xx
drivers. I expect that it will be much easier to update v6.12 patches
with new submissions. For ease of maintenance, it makes sense to use
a single kernel for qualcommbe.
For these reasons, enable v6.12 by default.
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18982
Signed-off-by: Robert Marko <robimarko@gmail.com>
The external switch of the Huawei HG556a is a BCM5325E connected by MDIO.
All the DSA brcm legacy FCS tag and b53 patches have been submitted upstream
and will be backported when accepted.
There are still some sporadic FDB errors, but at least the switch is working
and stable on my device:
bcm53xx fffe4800.ethernet-mii:1e: port 0 failed to add 72:31:59:xx:xx:xx vid 1 to fdb: -28
bcm53xx fffe4800.ethernet-mii:1e: port 0 failed to add 5c:4c:a9:xx:xx:xx vid 0 to fdb: -28
bcm53xx fffe4800.ethernet-mii:1e: port 0 failed to add 5c:4c:a9:xx:xx:xx vid 1 to fdb: -28
bcm53xx fffe4800.ethernet-mii:1e: port 0 failed to delete 72:31:59:xx:xx:xx vid 1 from fdb: -2
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Add support for V3 of the Engenius EWS2910P PoE switch. Like its v1
brother, This is an RTL8380 based switch with two SFP slots, and PoE
802.3af one every RJ-45 port.
Unlike its older brother, the max budget is 55W instead of 61.6 W.
Investigation into the communication protocol with the PoE controller
is ongoing, though it appears the vendor firmware configures the PSE
with a per-port budget of 30.0W.
Specifications:
---------------
* SoC: Realtek RTL8380M
* Flash: 32 MiB SPI flash Macronix MX25L25635E
* RAM: 256 MiB (As reported by bootloader)
* Ethernet: 8x 10/100/1000 Mbps with PoE
2x SFP slots
* Buttons: 1 "Reset" button on front panel
1 "LED mode: button on front panel
1 "On/Off" Toggle switch on the back
* Power: 48V-54V DC barrel jack
* UART: 1 serial header (JP1) with populated 2.54mm pitch header
Labeled GRTV for ground, rx, tx, and 3.3V respectively
* PoE: 1 STM ST32... microcontroller (U15)
1 RTL8238B PSE controller
Works:
------
- (8) RJ-45 ethernet ports
- Switch functions
- LEDs and buttons
Not yet enabled:
----------------
- Power-over-Ethernet (requires realtek-poe support for RTL8232B)
Install via web interface:
-------------------------
The factory firmware will accept and flash the initramfs image. It is
recommended to flash to "Partition 0". Flashing to "Partition 1" is
not supported at this point.
The factory web GUI will show the following warning:
" Warning: The firmware version is v0.00.00-c0.0.00
The firmware image you are uploading is older than the current
firmware of the switch. The device will reset back to default
settings. Are you sure you want to proceed?"
This is expected when flashing OpenWrt. After the initramfs image
boots, flash the -sysupgrade using either the commandline or LuCI.
Install via serial console/tftp:
--------------------------------
See commit 2cfaab4549 ("realtek: add support for EnGenius EWS2910P").
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15217
Signed-off-by: Robert Marko <robimarko@gmail.com>
When the Engenius EWS-2910P was added, only v1 was known. Move the
common parts to a dtsi, and split up the support to acccount for the
hardware version.
On v3, for example, the root partition uses a different uImage magic.
Add a "engenius,ews2910p-v1" compatible, while leaving the legacy
"engenius,ews2910p" to also mean v1.
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15217
Signed-off-by: Robert Marko <robimarko@gmail.com>
DSA silently drops internal phy access to ports >= 32 in dsa_user_phy_read()
and dsa_user_phy_write(). The code shows:
static int dsa_user_phy_read(struct mii_bus *bus, int addr, int reg)
{
struct dsa_switch *ds = bus->priv;
if (ds->phys_mii_mask & (1 << addr))
return ds->ops->phy_read(ds, addr, reg);
return 0xffff;
}
With ds->phys_mii_mask being a 32 bit variable the reason is clear. So do
not only increase the max values but also adapt the needed bitmasks in
the dsa and phy code. This fixes the dsa_user_ports() and dsa_cpu_ports()
too.
While we are here combine the old separated patches because dsa, mdio and
phy are tigthly coupled.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18846
Signed-off-by: Robert Marko <robimarko@gmail.com>
The PCS driver in the 6.12 patchset is the v5 submission (see link
below). It solves a number of issues and crashes with teh pcs driver
from the 6.6 patchset. However, this new driver is missing support for
"10gbase-r", "10g-qxgmii", and 1000/2500base-x modes.
Port these modes to the 6.12 patchset. "2500base-x" in particular seems
to be needed to establish a 2.5G link on phy-mode="usxgmii";
Link: https://lore.kernel.org/lkml/20250207-ipq_pcs_6-14_rc1-v5-0-be2ebec32921@quicinc.com/
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18796
Signed-off-by: Robert Marko <robimarko@gmail.com>
Now that patches for v6.12 are available, add the config, and enable
6.12 as a testing kernel.
Compared to v6.6 the patches to add "10gbase-r", "2500base-x",
"1000base-x", and "10g-qxgmii" modes have not been ported yet. They do
not apply cleanly to the new PCS driver. As the currently supported
hardware does not use those modes, it is not possible to test them at
this time.
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18796
Signed-off-by: Robert Marko <robimarko@gmail.com>
Copy the v6.6 config to v6.6. It will be updated in a subsequent
commit in order to show the changes.
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18796
Signed-off-by: Robert Marko <robimarko@gmail.com>
Port reset and clock fixes from target/linux/qualcommbe/patches-6.6.
Modifications of v6.6 patches are noted in each commit body.
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18796
Signed-off-by: Robert Marko <robimarko@gmail.com>
Now that ethernet is supported on IPQ9574, add the port nodes and
other requirements to enable ethernet on RDP433.
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18796
Signed-off-by: Robert Marko <robimarko@gmail.com>
Add the second part of the PPE driver. This includes the EDMA and
network device support. This part does not appear to have been
officially submitted for upstream review. The series is taken from
target/linux/qualcommbe/patches-6.6, and had to be heavily modified
in order to compile of v6.12. Changes to patches are noted in the
respective patch body.
Also add the PPE and EDMA nodes in this series.
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18796
Signed-off-by: Robert Marko <robimarko@gmail.com>
Add the v5 of the PCS patch. This is the latest submission as of this
writing. THe last four patches are not part of the submission. They
make the series work with v6.12 kernel, resolve a circular dependency
with the clocks, and add the DTS node. Include them as bundle.
Link: https://lore.kernel.org/lkml/20250207-ipq_pcs_6-14_rc1-v5-0-be2ebec32921@quicinc.com/
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18796
Signed-off-by: Robert Marko <robimarko@gmail.com>
This driver is cherry-picked from target/linux/qualcommbe/patches-6.6.
While Qualcomm did submit past patches for QCA8084, the code has since
ben split from at803x. The existing OpenWRT version of the patch is
the cleanest version I could find. Add it here.
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18796
Signed-off-by: Robert Marko <robimarko@gmail.com>
These devicetree updates can work with the existing upstreamcode. They
do not require code changes. Add them before any code change.
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18796
Signed-off-by: Robert Marko <robimarko@gmail.com>
Add dts fixes from linux-next. Two patches from the NSSCC series are
still in -next did not yet land in mainline, as well as misc other DTS
changes. Add them here.
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18796
Signed-off-by: Robert Marko <robimarko@gmail.com>
Add relevant patches from upstream, up to v5.16-rc6. The gaps in the
patch numbersing are either patches that were picked into the stable
kernel (6.12.y), or that are already backported in
target/linux/generic. The gaps makes it easy for me to pick these
patches from my working kernel git branch.
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18796
Signed-off-by: Robert Marko <robimarko@gmail.com>
Now that we have a board file, add calibration variant for TP-Link
Archer C6 v2 and add ipq-wifi package for it.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
RTC has been disabled so far in the cortexa53 subtarget so far, enable
it. It's also required for the crypto trng/prng drivers on these SoC
variants (to gather IOSC noise).
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
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.
For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
This symbol was lost when porting to the 6.12 kernel.
Fixes: 16b5a77716 ("mediatek: mt7629: update config-6.12")
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18947
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
All four subtargets build successfully and run under QEMU.
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18712
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Drop obsolete symbols GCC_ASM_GOTO_OUTPUT_WORKAROUND and HW_CONSOLE, and
PREEMPT_NONE_BUILD which is now set in top-level generic config.
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18712
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This is an automatically generated commit.
When doing `git bisect`, consider `git bisect --skip`.
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18712
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
These packages were dropped off in reverted packaging, bring
them all back.
Link: https://github.com/openwrt/openwrt/pull/18952
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
- Update subtarget configs for kernel 6.12.
- Refresh patches for kernel 6.12.
- Drop 210-revert-macronix-nand-block-protection.patch since brcmnand no longer
implements low level ops.
- Adapt bcm63268 gpio switches for 6.12 numbering.
- Add b53 pending patches from Jonas Gorski to fix system hangs.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
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.
For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
This is an automatically generated commit.
When doing `git bisect`, consider `git bisect --skip`.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
The support_eee patch is needed in order to prevent system hangs on bmips
devices.
c4f873c2b65c8 net: dsa: b53: mdio: add support for BCM53101
c86692fc2cb77 net: dsa: b53/bcm_sf2: implement .support_eee() method
f12b363887c70 net: dsa: use ethtool string helpers
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
These patches are needed for b53 implementation of b53_support_eee, which
prevent system hangs on bmips devices.
99379f587278c net: dsa: provide implementation of .support_eee()
9723a77318b7c net: dsa: add hook to determine whether EEE is supported
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
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.
For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
The driver tries to access ioports (0x2f9!!) which UML doesn't have.
This causes lots of warnings to appear on boot:
| WARNING: CPU: 0 PID: 1 at lib/logic_iomem.c:188 serial8250_config_port+0x20a/0x1260
| Invalid writeqb of 0xff at address 2f9
| Modules linked in:
| CPU: 0 UID: 0 PID: 1 Comm: swapper Tainted: G W 6.12.25 #0
| Tainted: [W]=WARN
| Stack:
| Call Trace:
| [<60001000>] ? set_reset_devices+0x0/0x16
| [<60452cba>] ? serial8250_config_port+0x20a/0x1260
| [<6071e91f>] ? dump_stack_lvl+0x55/0x71
| [<606e127c>] ? _printk+0x0/0x4f
| [<60044bbb>] ? __warn+0x11b/0x120
| [<6003b5d0>] ? um_set_signals+0x0/0x40
| [<606de721>] ? warn_slowpath_fmt+0x81/0x8c
| [<606de6a0>] ? warn_slowpath_fmt+0x0/0x8c
| [<60452cba>] ? serial8250_config_port+0x20a/0x1260
(they are even recursive!)
Now, the situation gets more confusing. Because from what I can tell,
this was seemingly done intenionally. Upstream patches in related areas:
|commit ddd268c42871b78c75e12a5c28207fb481138f41
|Author: Niklas Schnelle <schnelle@linux.ibm.com>
|Date: Wed Apr 3 14:43:00 2024 +0200
|
| um: Select HAS_IOREMAP for UML_IOMEM_EMULATION
|
| In a future patch HAS_IOPORT=n will disable inb()/outb() and friends at
| compile time. UML supports these via its UML_IOMEM_EMULATION so let that
| select HAS_IOPORT and also reflect this in NO_IOPORT_MAP.
hint that there's ongoing work in this area. But unfortunately, this future
hasn't arrived yet. Once this future arrives, please nuke this patch.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
refresh config + patches.
This includes the following changes:
- The selected x86_64 CPU is switched to generic instead of K8.
A backported patch is included from 6.13.
000-v6.13-asm-generic-io.h-rework-split-ioread64-iowrite64-hel.patch
|fixed the following build error:
| CC lib/iomap.o
|lib/iomap.c:156:5: error: no previous prototype for 'ioread64_lo_hi' [-Werror=missing-prototypes]
| 156 | u64 ioread64_lo_hi(const void __iomem *addr)
| | ^~~~~~~~~~~~~~
| [...]
Note: 102-pseudo-random-mac.patch will likely go away with the next stable.
UML is switching to a new networking infrastructure. The previous implementation
using tuntap, daemon, socket, ethertap, vde are being replaced by "vector"
transports tap, hybrid, raw, EoGRE, Eol2tpv3, fd, vde (vector!).
Please see, to checkout what will change:
<https://docs.kernel.org/virt/uml/user_mode_linux_howto_v2.html#setting-up-uml-networking>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
This should have been fixed by an upstream patch in 5.12
|commit ed102bf2afed226703eaf85a704755bdbea34583
|Author: Randy Dunlap <rdunlap@infradead.org>
|Date: Thu Apr 15 10:13:52 2021 -0700
|
| um: Fix W=1 missing-include-dirs warnings
|
| Currently when using "W=1" with UML builds, there are over 700 warnings
| cc1: warning: ./arch/um/include/uapi: No such file or directory [-Wmissing-include-dirs]
|
| but arch/um/ does not have include/uapi/ at all, so add that
| subdir and put one Kbuild file into it (since git does not track
| empty subdirs).
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
this symbol got picked up by the 6.12 UML conversion.
CONFIG_FBNIC = FaceBook/Meta Platforms Host Network Interface
it should be disabled by default in generic.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
This is needed for mac80211 v6.14.5 update.
9934a1bd45b2b clk: provide devm_clk_get_optional_enabled_with_rate()
9934a1bd45
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
This is needed for mac80211 v6.14.5 update.
b35108a51cf7b jiffies: Define secs_to_jiffies()
bb2784d9ab495 jiffies: Cast to unsigned long in secs_to_jiffies() conversion
b35108a51cbb2784d9ab
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
New revision Arcadyan Mozart apply a new partition table and moved the
factory partition to a new location. This conflicts with the standard
partition layout and also make the nvmem cells to not correctly identify
the MAC address anymore.
Generate and Provide a new GPT partition table that account for the new
calibration partition.
The previous revision of the Arcadyan Mozart device is considered
pre-production devices and should not be intended for real support.
Link: https://github.com/openwrt/openwrt/pull/18874
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
ALFA Network AP120C-AX is a dual-band ceiling AP, based on Qualcomm
IPQ6000 + QCN5021 + QCN5052 + QCA8072 chipsets bundle.
Specifications:
- SOC: Qualcomm IPQ6000 (quad-core Cortex-A53 1.2 GHz)
- DRAM: DDR3 512 MB (Micron MT41K256M16TW-107)
- Flash: 16 MB SPI NOR (Macronix MX25U12832F, boot device)
128 MB NAND (Macronix MX30UF1G18AC, dual-firmware)
- Ethernet: 2x 10/100/1000 Mbps Ethernet (QCA8072)
802.3at/af PoE input in WAN port
- Wi-Fi: 2x2 2.4 GHz Wi-Fi 6 (QCN5021 + RFFM8227 FEM)
2x2 5 GHz Wi-Fi 6 (QCN5152 + QPF4568 FEM)
- Antenna: for indoor version: dual-band, internal
2x (or 4x) U.FL antenna connectors on the PCB
- LED: for indoor/outdoor versions: 5x on external module (status,
2x Wi-Fi, 2x Ethernet), PoE LED on-board
8-pin on-board header for LED module (1.27 mm pitch, J14)
- Button: 1x button (reset)
- USB: 1x 4-pin on-board header for USB 2.0 (2.54 mm pitch, J22)
- UART: 1x micro USB Type-B for system console (Holtek HT42B534)
1x 4-pin on-board header (2.54 mm pitch, J11)
- Power: 802.3at/af PoE or 12 V DC/2 A (DC jack)
- Other: 8-pin and 4-pin on-board headers for external Bluetooth
module (1.27 mm pitch, J15, J16, unavailable, thus untested)
MAC addresses:
- WAN: 00:c0:ca:xx:xx:6c (art 0x0, device's label -2)
- LAN: 00:c0:ca:xx:xx:6d (art 0x6, device's label -1)
- 2.4 GHz (IPQ6000): 00:c0:ca:xx:xx:6e (art 0xc, device's label)
- 5 GHz (IPQ6000): 00:c0:ca:xx:xx:6f (device's label + 1)
Flash instructions:
Due to the lack of direct GUI based update capability and dual-firmware
partition configuration, it is recommended to use TFTP + serial console
based approach (console is available in micro USB connector):
1. Set a static IP 192.168.1.1/24 on PC and start TFTP server with the
'...-factory.ubi' image renamed to 'firmware.bin'.
2. Make sure you can access board's serial console over micro USB.
3. Power up the device, hit any key to enter U-Boot CLI and issue below
commands.
3.1 Restore U-Boot's environment to default values (double check first
the '0:APPSBLENV' partition offset using 'smem' command):
sf probe
sf erase 0x510000 0x10000
saveenv
3.2 Download and install OpenWrt in both partitions and reset the board:
tftpb 0x44000000 firmware.bin
flash rootfs
flash rootfs_1
reset
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
This platform is tightly coupled to upstream and works just
fine with kernel v6.12.
Link: https://github.com/openwrt/openwrt/pull/18936
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This adds a few ARM-related kconfig options that makes the
configure phase smooth on ARM (32bit) systems.
We default PAN to enabled for protection, however this has
a syscall speed penalty, if your system is interacting a lot
from userspace you might want to disable it for speed vs
security. For in-kernel routing it should not be a major
issue.
Some marginal ARM system enables DRM so make sure we have
the related DRM Kconfigs set up to unselected.
Link: https://github.com/openwrt/openwrt/pull/18900
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This allows us to use the full size of nand, which increases ubi size
from 64M to 122.25M.
If you are at factory firmware, please refer commit 63b8d98dd0 ("mediatek: add support for Cudy TR3000 v1")
to boot into OpenWrt initramfs (stock layout).
Flash instructions:
1. Login into the device and backup everything, especially 'Factory' part.
1. Unlock mtd partitions:
apk update && apk add kmod-mtd-rw
insmod mtd-rw i_want_a_brick=1
3. Write new BL2 and FIP
mtd write openwrt-mediatek-filogic-cudy_tr3000-v1-ubootmod-preloader.bin BL2
mtd write openwrt-mediatek-filogic-cudy_tr3000-v1-ubootmod-bl31-uboot.fip FIP
4. Set static IP on your PC:
IP 192.168.1.254/24, 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, perform sysupgrade.
Tested-by: Yangyu Chen <cyy@cyyself.name>
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
In 2023 upstream has tightened compiler checks with this patch
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit
/scripts/Makefile.extrawarn?h=v6.15&id=0fcb70851fbfea1776ae62f67c503fef8f0292b9
A consistent function definition is now needed. I.e.
- functions must be either declared with "static" or
- functions need an additional declaration (in the header file)
Before upgrading the Realtek target to 6.12 clean the code so that the main
6.12 PR can focus on real issues from the version bump.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18925
Signed-off-by: Robert Marko <robimarko@gmail.com>
In 2023 upstream has tightened compiler checks with this patch
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit
/scripts/Makefile.extrawarn?h=v6.15&id=0fcb70851fbfea1776ae62f67c503fef8f0292b9
A consistent function definition is now needed. I.e.
- functions must be either declared with "static" or
- functions need an additional declaration (in the header file)
Before upgrading the Realtek target to 6.12 clean the code so that the main
6.12 PR can focus on real issues from the version bump.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18925
Signed-off-by: Robert Marko <robimarko@gmail.com>
In 2023 upstream has tightened compiler checks with this patch
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit
/scripts/Makefile.extrawarn?h=v6.15&id=0fcb70851fbfea1776ae62f67c503fef8f0292b9
A consistent function definition is now needed. I.e.
- functions must be either declared with "static" or
- functions need an additional declaration (in the header file)
Before upgrading the Realtek target to 6.12 clean the code so that the main
6.12 PR can focus on real issues from the version bump.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18925
Signed-off-by: Robert Marko <robimarko@gmail.com>
In 2023 upstream has tightened compiler checks with this patch
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit
/scripts/Makefile.extrawarn?h=v6.15&id=0fcb70851fbfea1776ae62f67c503fef8f0292b9
A consistent function definition is now needed. I.e.
- functions must be either declared with "static" or
- functions need an additional declaration (in the header file)
Before upgrading the Realtek target to 6.12 clean the code so that the main
6.12 PR can focus on real issues from the version bump.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18925
Signed-off-by: Robert Marko <robimarko@gmail.com>
In 2023 upstream has tightened compiler checks with this patch
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit
/scripts/Makefile.extrawarn?h=v6.15&id=0fcb70851fbfea1776ae62f67c503fef8f0292b9
A consistent function definition is now needed. I.e.
- functions must be either declared with "static" or
- functions need an additional declaration (in the header file)
Before upgrading the Realtek target to 6.12 clean the code so that the main
6.12 PR can focus on real issues from the version bump.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18925
Signed-off-by: Robert Marko <robimarko@gmail.com>
The Nezha board has a PCF8574 that acts as an I/O expander on the
i2c2 bus. Enable the required module for it.
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
Instead of including the out-of-tree XR USB serial driver, use the
newly packaged in-tree driver for it.
Link: https://github.com/openwrt/openwrt/pull/18926
Signed-off-by: Robert Marko <robimarko@gmail.com>
Adapt patches adding NVMEM or fitblk rootdisk references to MMC
partitions for the changed MMC card binding.
Note that boards in 'dts' folder can only be converted once Linux 6.6,
which still depends on the old binding, has been dropped.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Add patch to allow referencing MSDOS/MBR partitions in device tree to
allow legacy MT7623 boards to continue working with fitblk.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Replace downstream files by patches, either backports of those
which have already applied or pending patches tracked on patchwork.
This is done to make future maintainance more easy.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Drop patches which have been moved into target/linux/generic by commit
f4144d61d2 ("generic: 6.12: backport MediaTek Ethernet PHY changes").
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
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.
For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* the variant with 2.5G PHY instead of LAN SFP is called '2p5'
upstream and 'poe' in our downstream Linux 6.6 DT. Use the right
DTS depending on the kernel version and set an additional
compatible.
* drop additional DT overlay for WiFi.
The final version of the board uses a physical switch for the 12V
power of the WiFi module and the I2C EEPROM of the module always
comes empty (instead of with a MAC address).
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
In preparation of using the upstream mt7988a.dtsi when switching
to Linux 6.12 prepare by bringing our downstream version closer to
what went upstream.
* rename 'xphy' -> 'xsphy'
* rename 'uart[012]' -> 'serial[012]'
* only list pinctrl settings directly used in mt7988a.dtsi there,
leave it to boards to define all additional pinctrl settings
they need.
* move fan and thermal-zone to board level
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Upstream uses a different filename, so lets rename our downstream
mt7981.dtsi to mt7981b.dtsi and update the device tree of all
MT7981 boards accordingly.
This is to prepare for the switch to Linux 6.12 which is going to
use the upstream mt7981b.dtsi (plus some patches on top).
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
The MediaTek Ethernet PHY drivers are going to be used by multiple
targets (airoha, mediatek, ramips). Add generic backports of changes
required for recently added Ethernet PHYs.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
While it will hopefully be replaced soon by an upstream solution for
now we keep the downstream SerDes PCS implementation for MT7988A.
In order to make it work with upstream mt7988a.dtsi we have to
compensate for the changed start address of topmisc which was
moved from 0x11d10000 to 0x11d10084 to accomodate a future power
domain controller located at 0x11d10000~0x11d10080.
Hence we need to change TOP_MISC_NETSYS_PCS_MUX from 0x84 to 0x0, so
the Ethernet path/mux selection can work with upstream mt7988a.dtsi.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Upstream now uses struct ethtool_keee instead of struct ethtool_eee
as parameter to EEE-related functions. Follow that change and modify
the patch accordingly.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Commit fa0f130764 ("generic: 6.12: update block NVMEM driver") switched
to the upstream DT bindings for block partitions.
Bring back the old/legacy downstream way to assign the OF node to a
block device or partition in order to allow sharing a single DTS for
both, Linux 6.6 (which exclusively uses the old/legacy binding) and
Linux 6.12 (which will now support both, new/upstream binding and the
old/legacy binding).
Once we drop Linux 6.6 and all boards have been converted to the new
binding we can drop this patch.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
There are still a lot of mdio functions scattered around the code.
Move the RTL838x serdes helpers closer to the bus, add the proper
prefix and simplify the functions.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18847
Signed-off-by: Robert Marko <robimarko@gmail.com>
There is a patch/bug cascade in the realtek target phy code that must be resolved.
1. The phy_driver structure is patched to add features ONLY needed for RTL8214FC
2. The kernel is patched to allow switching fiber/copper port of phys through ethtool
by calling these new features.
3. With those patches applied the bootup always switches RTL8214FC ports to copper.
Even if a SFP module was found before and the phy driver switched to fibre before.
3. So another patch is needed that reprobes the SFP module to activate fiber again.
4. Because of the reprobing we need a fourth patch that avoid duplicate devices.
Simplify this by removing all patches and reusing the existing ethtool phy tunable
interface. The command line usage might be counterintuitive but it avoids tons of
problems in the code. In addition, this scenario is not used frequently.
Before:ethtool -s lan25 port fibre/tp
After: ethtool --set-phy-tunable lan25 downshift on/off
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18816
Signed-off-by: Robert Marko <robimarko@gmail.com>
We have modified the kernel to setup all "default" consoles,
including serial ports and framebuffers/screens, providing
no console= argument is supplied on the kernel command line.
Adding 'console=tty1' caused the 'default' serial port on
device tree systems to break, as the kernel would not carry
over the settings (like baud rate) from the bootloader.
The system administrator can still force the use of a
specific console by adding their own console= arguments.
Signed-off-by: Mathew McBride <matt@traverse.com.au>
Fixes: c099523d66 ("armsr: use console=tty1 to make
console more readily available")
Link: https://github.com/openwrt/openwrt/pull/17012
Signed-off-by: Robert Marko <robimarko@gmail.com>
A previous change added 'console=tty1' to the default kernel command
line on armsr, in order to ensure the framebuffer console is enabled
on systems capable of graphics output.
Unfortunately, this change broke boards that used device tree
(DT) firmware with serial consoles, as the serial console
specified by the system firmware (stdout-path) was no longer
setup by the kernel.
A bit of probing determined that the SPCR (serial port console
direction table) on ACPI systems was preventing Linux from setting
up a default framebuffer console on these systems (which is why
console=tty1 was added).
(The affected ACPI systems are usually VMs using QEMU's
'virt' machine and EDK2 firmware. The firmware on these systems
does not remove the SPCR when a screen is present)
So to ensure all possible systems are setup correctly, we modify
the kernel so all "default" console types (serial and screen)
are setup when no console= arguments are specified on the kernel
command line.
Signed-off-by: Mathew McBride <matt@traverse.com.au>
Fixes: c099523d66 ("use console=tty1 to make console more
readily available")
Link: https://github.com/openwrt/openwrt/pull/17012
Signed-off-by: Robert Marko <robimarko@gmail.com>
Refresh patches to fix the GitHub CI warning.
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18912
Signed-off-by: Nick Hainke <vincent@systemli.org>
SOC: MediaTek MT7981b
RAM: 256MB DDR3
FLASH: 128MB SPI-NAND (Winbond W25N01GV)
WIFI: Mediatek MT7981b DBDC 802.11ax 2.4/5 GHz
ETH: MediaTek MT7531 Switch
UART: 3V3 115200 8N1 (Pinout silkscreened / Do not connect VCC)
Interface MAC Algorithm
LAN 8C:AE:DB:2C:xx:xx label
WAN 8C:AE:DB:2C:xx:xx label +1
WLAN 2.4G 8C:AE:DB:2C:xx:xx label +2
WLAN 5G 8C:AE:DB:2C:xx:xx label +3
Installation
-------------------Install openwrt image-------------------------------:
Set a static ip on the ethernet interface of your PC. (ip address:
192.168.1.254, subnet mask:255.255.255.0) .
Download the OpenWrt uboot image
(openwrt-mediatek-filogic-snr_cpe-ax2-bl31-uboot.fip).
SSH/SCP opened by default on the stock firmware (3.0.1).
Username: Admin, default password: Admin. Check it on the bottom of
the router.
Copy uboot image using SCP (WinSCP) to /tmp dir on SNR-CPE-AX2.
Download recovery file.
openwrt-mediatek-filogic-snr_snr-cpe-ax2-initramfs-recovery.itb.
Copy the recovery image to a TFTP server reachable at 192.168.1.254/24.
Open ssh shell to the SNR-CPE-AX2.
Run commands:
mtd write \
/tmp/openwrt-mediatek-filogic-snr_snr-cpe-ax2-bl31-uboot.fip FIP
reboot
Wait until recovery boot.
Open web 192.168.1.1 and do sysupgrade by
openwrt-mediatek-filogic-snr_cpe-ax2-squashfs-sysupgrade.itb
Signed-off-by: Nikolay March <palladin82@yandex.ru>
Link: https://github.com/openwrt/openwrt/pull/18700
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Sort the config in alphabetical order
Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/18897
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Upstream seems to be using led-sources instead of custom properties.
Code mostly taken from mt76.
Changed all(few) users of qca,led_pin to use the new format.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18805
Signed-off-by: Robert Marko <robimarko@gmail.com>
The MIPS CPC (Cluster Power Controller) is setup during boot and can take
its configuration from the devicetree. This is currently not possible
because the cpc probing happens before dt initialization. Call order
during startup is:
setup_arch()
prom_init() <- our function
mips_cpc_probe()
smp_stuff()
arch_mem_init()
device_tree_init() <- our function
unflatten_and_copy_device_tree()
To avoid ugly hacking and support a clean devicetree relocate the cps/smp
stuff to device_tree_init(). This is basically the same location as in
generic mips initialization.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Signed-off-by: Sebastian Gottschall <s.gottschall@dd-wrt.com>
Link: https://github.com/openwrt/openwrt/pull/18888
Signed-off-by: Robert Marko <robimarko@gmail.com>
Make it easier to upgrade the kernel in the future. For this remove
the 320-harden-fw_init_cmdline.patch and add the logic into the
startup sequence at the right place.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18853
Signed-off-by: Robert Marko <robimarko@gmail.com>
The 6.12 testing kernel for ath79 target is ready now.
Tested on AR9344 (ath79/nand) and QCA9531 (ath79/generic).
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
All kernel symbols are automatically refreshed by
`make kernel_oldconfig CONFIG_TARGET=target` and
`make kernel_oldconfig CONFIG_TARGET=subtarget`.
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
This is a preparation for 6.12 kernel support. It can help us
track the files history by using the Git tool.
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Manually move the common NVMEM Kconfig symbols to the shared
config file and disable them for the mikrotik subtarget. Other
changes are automatically completed by `make kernel_oldconfig`.
This is a preparation for introducing the 6.12 kernel support.
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
RTL931x devices are dual core with two threads each. That is a total
of 4 VPEs (CPUs) in the kernel. Adapt the kernel config for that.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Signed-off-by: Sebastian Gottschall <s.gottschall@dd-wrt.com>
Link: https://github.com/openwrt/openwrt/pull/18889
Signed-off-by: Robert Marko <robimarko@gmail.com>
Use upstreamed v6.16 patches for IPQ5018 tsens support.
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18884
Signed-off-by: Robert Marko <robimarko@gmail.com>
Use upstreamed v6.16 patch for IPQ5018 TCSR support and setting the
download mode.
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18884
Signed-off-by: Robert Marko <robimarko@gmail.com>
Use upstreamed patches for IPQ5018 PCIe support, including patches for
phy and controller drivers and dts nodes.
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18884
Signed-off-by: Robert Marko <robimarko@gmail.com>
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.
For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
Since the early beginning of the Realtek DSA driver there is an uncovered
locking issue between the standard (parent) mdio bus and the DSA (child)
mdio bus. This comes from the fact that the DSA bus simply links to the
parent read and write functions and calls them directly. This leads to
the following lock issue.
- Child bus calls phy_read/write functions and uses its internal lock
- Parent bus calls phy_read/write functions and uses its internal lock
It becomes clear that critical section can be accessed twice without
knowing that a operation from the other bus is currently active. This
can lead to critical malfunctions because the mdio driver needs a lot of
internal magic to get page selection done right. Effects are:
- The original page is lost after a phy_write/read_paged() call
- dmesg like "Realtek RTL8218B (external) rtl838x slave mii-0:00:
Expected external RTL8218B, found PHY-ID 6b23"
Other DSA drivers simply use the read/write functions from the parent bus
and thus avoid locking issues. Do it the same way.
Fixes: 2b88563ee5 ("realtek: update the tree to the latest refactored version")
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18824
Signed-off-by: Robert Marko <robimarko@gmail.com>
Before generating the factory image, check if the input file
exists. Fix the build error when sysupgrade image is too big:
[mkwrgimg] *** error: stat failed on /builder/shared-workdir/build/build_dir/target-mipsel_24kc_musl/linux-ramips_rt288x/tmp/openwrt-ramips-rt288x-airlink101_ar670w-squashfs-factory.bin, No such file or directory
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18836
Signed-off-by: Robert Marko <robimarko@gmail.com>
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.
For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
This was needed while ar71xx was in tree. This is no longer the case.
Not only that, these have already been converted to OF.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18860
Signed-off-by: Robert Marko <robimarko@gmail.com>
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.
For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
There are currently two power functions for the RTL8214FC in the driver
- rtl8380_rtl8214fc_on_off(): powers on/off both ports
- rtl8214fc_power_set(): powers on/off fibre or copper individually
While it seems obvious to merge these, one of them uses extended register
29 and the other register 30 to achieve the update. From looking at the
GPL source drops both methods exist with exactly the same operations. So
where to go from here? The descision was made based on:
- register 30 is only used during patching, 29 during normal operation
- Avoid raw page if possible to use function for RTL839x
So the attached patch was created. The result in the power down bits
was compared for the two old and the new implementation. Result is
always the same.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18707
Signed-off-by: Robert Marko <robimarko@gmail.com>
RTL9311 switches (like the Linksys LGS352C) will boot but have not set
the right family id in the soc_info structure. Fix that so drivers do
their work right when checking for that.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18871
Signed-off-by: Robert Marko <robimarko@gmail.com>
The RPi upstream repo switched to the upstream SDHOST driver some time ago, so
it's time to do the same in our configs.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Cleanup the code of the RTL83xx packet receive interrupt handler. Not
only for better readability but to avoid inconsistencies and stalls on
the RTL839x targets.
The current implementation seems to come from the GPL source code.
Calling the existing cleanup() function inside the interrupt context
without any locks conflicts with SMP & NAPI polling and makes things
worse instead of giving any benefit. Simply ignore RX buffer overruns
and let the device handle packet dropping itself.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18855
Signed-off-by: Robert Marko <robimarko@gmail.com>
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.
For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
This is an automatically generated commit.
When doing `git bisect`, consider `git bisect --skip`.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Import pending PXA I2C recovery fixes so that if I2C recovery is enabled in
the DTS it does not completely break I2C as it currently does since kernel
6.6.
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Use the "1/1" as a iteration count of hexdump expression instead of the
broken "1", to fix the issue that the invalid bootnum will be obtained.
Currently, the hexdump command always outputs "0" when the decimal format
and the iteration count "1" are specified[0]. This is unexpected
behaviour, but the cause is unknown and use this fix as a workaround.
[0]: https://github.com/openwrt/openwrt/issues/18808
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18827
Signed-off-by: Robert Marko <robimarko@gmail.com>
Drop configs, files and patches for Linux 6.6.
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18848
Signed-off-by: Robert Marko <robimarko@gmail.com>
Switch to Linux kernel version 6.12.
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18848
Signed-off-by: Robert Marko <robimarko@gmail.com>
Default qualcommax target to 6.12 kernel.
It makes no sense for us to double the effort required for backporting
upstreamed patches or for downstream modifications.
Link: https://github.com/openwrt/openwrt/pull/18840
Signed-off-by: Robert Marko <robimarko@gmail.com>
Based on other mt7622 dts, it is not difficult to infer that the
missing interrupt controller is "pio". Fix dtc warning:
mt7622.dtsi:282.3-26: Warning (interrupts_property): /ethernet@1b100000/mdio-bus/ethernet-phy@7:#interrupt-cells: size is (8), expected multiple of 12
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Add missing #address-cells, #size-cells and #sound-dai-cells to
fix the following dtc warnings:
mt7986a-bananapi-bpi-r3-respeaker-2mics.dtso:46.5-18: Warning (reg_format): /fragment@1/__overlay__/wm8960@1a:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
mt7986a-bananapi-bpi-r3-respeaker-2mics.dtso:29.11-31.7: Warning (sound_dai_property): /fragment@0/__overlay__/sound_wm8960/codec: Missing property '#sound-dai-cells' in node /fragment@1/__overlay__/wm8960@1a or bad phandle (referred from sound-dai[0])
mt7986a-rfb-spim-nand.dts:17.12-19.5: Warning (sound_dai_property): /sound_wm8960/platform: Missing property '#sound-dai-cells' in node /soc/audio-controller@11210000 or bad phandle (referred from sound-dai[0])
mt7986a-rfb-spim-nand.dts:21.9-23.5: Warning (sound_dai_property): /sound_wm8960/codec: Missing property '#sound-dai-cells' in node /soc/i2c@11008000/wm8960@1a or bad phandle (referred from sound-dai[0])
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Trim unnecessary 0s to fix the following dtc warnings:
../dts/mt7981b-cudy-re3000-v1.dts:135.20-139.6: Warning (unit_address_format): /soc/spi@11009000/flash@0/partitions/partition@00000: unit name should not have leading 0s
../dts/mt7981b-cudy-wr3000-v1.dts:153.20-157.6: Warning (unit_address_format): /soc/spi@11009000/flash@0/partitions/partition@00000: unit name should not have leading 0s
../dts/mt7981b-gatonetworks-gdsp.dts:276.20-280.6: Warning (unit_address_format): /soc/spi@11009000/flash@0/partitions/partition@00000: unit name should not have leading 0s
mt7988a-rfb-spim-nor.dtso:36.21-39.7: Warning (unit_address_format): /fragment@0/__overlay__/flash@0/partition@00000: unit name should not have leading 0s
../dts/mt7981a-ubnt-unifi-6-plus.dts:113.28-131.6: Warning (unit_address_format): /soc/spi@11009000/flash@0/partitions/partition@00000: unit name should not have leading 0s
../dts/mt7981b-wavlink-wl-wn586x3.dts:147.20-151.6: Warning (unit_address_format): /soc/spi@11009000/flash@0/partitions/partition@00000: unit name should not have leading 0s
../dts/mt7981b-wavlink-wl-wn573hx3.dts:102.20-106.6: Warning (unit_address_format): /soc/spi@11009000/flash@0/partitions/partition@00000: unit name should not have leading 0s
../dts/mt7981b-yuncore-ax835.dts:161.20-165.6: Warning (unit_address_format): /soc/spi@11009000/flash@0/partitions/partition@00000: unit name should not have leading 0s
../dts/mt7986a-zyxel-ex5601-t0-stock.dts:57.39-61.6: Warning (unit_address_format): /soc/spi@1100a000/spi_nand@0/partitions/partition@180000/nvmem-layout/macaddr@0004: unit name should not have leading 0s
../dts/mt7986a-zyxel-ex5601-t0-stock.dts:63.39-67.6: Warning (unit_address_format): /soc/spi@1100a000/spi_nand@0/partitions/partition@180000/nvmem-layout/macaddr@0024: unit name should not have leading 0s
../dts/mt7986a-zyxel-ex5601-t0-stock.dts:69.39-73.6: Warning (unit_address_format): /soc/spi@1100a000/spi_nand@0/partitions/partition@180000/nvmem-layout/macaddr@002a: unit name should not have leading 0s
../dts/mt7986a-zyxel-ex5601-t0-ubootmod.dts:56.39-60.6: Warning (unit_address_format): /soc/spi@1100a000/spi_nand@0/partitions/partition@180000/nvmem-layout/macaddr@0004: unit name should not have leading 0s
../dts/mt7986a-zyxel-ex5601-t0-ubootmod.dts:62.39-66.6: Warning (unit_address_format): /soc/spi@1100a000/spi_nand@0/partitions/partition@180000/nvmem-layout/macaddr@0024: unit name should not have leading 0s
../dts/mt7986a-zyxel-ex5601-t0-ubootmod.dts:68.39-72.6: Warning (unit_address_format): /soc/spi@1100a000/spi_nand@0/partitions/partition@180000/nvmem-layout/macaddr@002a: unit name should not have leading 0s
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Correct dts node name based on reg property to fix the
following dtc warnings:
mt7981-rfb-spim-nand.dtso:20.25-67.6: Warning (spi_bus_reg): /fragment@1/__overlay__/spi_nand@0: SPI bus unit address format error, expected "1"
mt7986a-rfb-spim-nand.dts:41.23-76.4: Warning (spi_bus_reg): /soc/spi@1100a000/spi_nand@0: SPI bus unit address format error, expected "1"
../dts/mt7981a-comfast-cf-e393ax.dts:135.23-206.4: Warning (spi_bus_reg): /soc/spi@1100a000/spi_nand@0: SPI bus unit address format error, expected "1"
../dts/mt7981b-openwrt-one.dts:305.10-342.4: Warning (spi_bus_reg): /soc/spi@1100a000/flash@0: SPI bus unit address format error, expected "1"
../dts/mt7986a-zyxel-ex5601-t0-common.dtsi:166.30-180.4: Warning (spi_bus_reg): /soc/spi@1100a000/spi_nand@0: SPI bus unit address format error, expected "1"
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
The "gpio-export" driver doesn't require a "reg" property in the
device tree, hence we don't need to use the "#size-cells" property
to describe the size of "reg".
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18290
Signed-off-by: Robert Marko <robimarko@gmail.com>
The re-factoring of the preinit factory partition mount script used the
incorrect mtd name for the EAP620HD and (I assume incorrect) for EAP660HD.
This corrects it to "factory_data".
Signed-off-by: Alex Thompson <thompson.alex.c@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18834
Signed-off-by: Robert Marko <robimarko@gmail.com>
The dependency of kmod-usb3 and kmod-usb-xhci-pci-renesas have
been reversed. Now we need to select kmod-usb-xhci-pci-renesas
instead of kmod-usb3.
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18768
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
The dependency of kmod-usb3 and kmod-usb-xhci-pci-renesas have
been reversed. Now we need to select kmod-usb-xhci-pci-renesas
instead of kmod-usb3.
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18768
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
The dependency of kmod-usb3 and kmod-usb-xhci-pci-renesas have
been reversed. Now we need to select kmod-usb-xhci-pci-renesas
instead of kmod-usb3.
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18768
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Remove modifications for codes guarded by CONFIG_USB_PCI_AMD.
This kernel symbol is only visible on desktop level platform,
e.g. x86. They are not sensitive to firmware image size. This
patch also fixes function redefinition build errors:
drivers/usb/host/pci-quirks.c:621:6: error: redefinition of 'usb_asmedia_modifyflowcontrol'
621 | void usb_asmedia_modifyflowcontrol(struct pci_dev *pdev)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/usb/host/pci-quirks.c:22:
drivers/usb/host/pci-quirks.h:49:20: note: previous definition of 'usb_asmedia_modifyflowcontrol' with type 'void(struct pci_dev *)'
49 | static inline void usb_asmedia_modifyflowcontrol(struct pci_dev *pdev) {}
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Fixes: be6753dda0 ("generic: 6.12: manually rebuild pending patches")
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18637
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
CONFIG_DRM_ACCEL_QAIC was not added to x86 generic config, but it needs to
be added as CONFIG_DRM_ACCEL_QAIC does not depend on x86_64 like others.
Fixes: 51b78aa ("kernel: package intel_vpu driver")
Signed-off-by: Robert Marko <robimarko@gmail.com>
Backport GIC ITS support for RK356x SoC, which fixes long-standing
MSI/MSI-X bug. (Previously MSI-X could only work on one PCIe node)
e.g. [ 7.250882] r8125 0002:01:00.0: no MSI/MSI-X. Back to INTx.
Tested on Radxa E25 with kmod-r8125-rss driver.
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/18800
Signed-off-by: Robert Marko <robimarko@gmail.com>
Replace RK356x RNG patch with upstream version to
add the tag flag them as upstreamed.
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/18800
Signed-off-by: Robert Marko <robimarko@gmail.com>
Run 'make kernel_oldconfig' to get an up-to-date config.
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/18800
Signed-off-by: Robert Marko <robimarko@gmail.com>
There are NAND IC-s that define 1-bit ECC as the minimal strength,
however that is unsupported by QPIC-SNAND as it only supports 4 or 8 bit
ECC.
Since most of these chips also support 4-bit ECC just fine, instead of
erroring out if 1-bit ECC is requested lets instead default to 4-bit ECC.
Fixes: 01b72ce61e ("qualcommax: ipq50xx: remove ECC user config from board files")
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18795
Signed-off-by: Robert Marko <robimarko@gmail.com>
It seems that kernel cleaned up its kernels so we need to include
<linux/of_platform.h> for of_platform_device_create().
Link: https://github.com/openwrt/openwrt/pull/18795
Signed-off-by: Robert Marko <robimarko@gmail.com>
Using devm_clk_get_enabled() allows simplification of the driver and
dropping of the .remove OP as well.
Link: https://github.com/openwrt/openwrt/pull/18795
Signed-off-by: Robert Marko <robimarko@gmail.com>
6.12 PWM core introduced a bunch of incompatible changes, namely removal
of manual module owner assignment, complete PWM struct allocation and usage
refactor, etc.
So, update the driver to follow other drivers in 6.12 so it compiles.
Link: https://github.com/openwrt/openwrt/pull/18795
Signed-off-by: Robert Marko <robimarko@gmail.com>
Refresh kernel config by running kernel_menuconfig.
Manually enable CONFIG_HW_RANDOM and CONFIG_CRYPTO_DEV_QCOM_RNG as these
got somehow disabled by the refresh.
Link: https://github.com/openwrt/openwrt/pull/18795
Signed-off-by: Robert Marko <robimarko@gmail.com>
Refresh 6.12 patches, those that failed automatic refresh were refreshed
manually.
DT bindings patches that failed were dropped as we dont use them in practice.
Link: https://github.com/openwrt/openwrt/pull/18795
Signed-off-by: Robert Marko <robimarko@gmail.com>
This is an automatically generated commit.
When doing `git bisect`, consider `git bisect --skip`.
Link: https://github.com/openwrt/openwrt/pull/18795
Signed-off-by: Robert Marko <robimarko@gmail.com>
CONFIG_IDPF is Intel(R) Infrastructure Data Path Function Support and it
should be disabled by default, if needed it can be packaged as a kmod.
Disable to prevent spreading out through target configs.
Signed-off-by: Robert Marko <robimarko@gmail.com>
Noticed that CONFIG_HISILICON_ERRATUM_162100801 was being added to
qualcommax 6.12 config.
Since we dont support any Hisilicon chips, disable it in generic config
before it starts spreading in target configs.
Signed-off-by: Robert Marko <robimarko@gmail.com>
DRM_ACCEL symbols were not added to geode and legacy thus making the kernel
prompt for them on compilation.
Fixes: 51b78aaaae ("kernel: package intel_vpu driver")
Signed-off-by: Robert Marko <robimarko@gmail.com>
RFC4541, section 2.1.2 says:
Packets with a destination IP (DIP) address in the 224.0.0.X range
which are not IGMP must be forwarded on all ports.
And section 3 says:
In IPv6, the data forwarding rules are more straight forward because
MLD is mandated for addresses with scope 2 (link-scope) or greater.
The only exception is the address FF02::1 which is the all hosts
link-scope address for which MLD messages are never sent. Packets
with the all hosts link-scope address should be forwarded on all
ports.
However, currently when a listener on FF12::1 or FF12:🔢0:1 for
example joins then not only packets to these addresses but also for
FF02::1 won't be flooded to all ports anymore, too. Which violates
RFC4541.
This happens because A): They all map to the same ethernet multicast
address, that is 33:33:00:00:00:01. And B) the VLAN profile L2
unknown MC flood setting will only apply flooding of 33:33:00:00:00:01
if there is no specific listener registered for it.
So to fix this, avoid registering an MDB entry in the switch for
33:33:00:00:00:01 at all.
The downside of this is that FF12::1, FF12:🔢0:1 etc.
will always be flooded, too. However fixing the handling of 224.0.0.X
and FF02::1 and adhering to RFC4541 must have priority to avoid
undesired packetloss, to avoid breaking IPv4/IPv6.
Tested-on: ZyXEL GS1900-24HP v1
Fixes: cde31976e3 ("realtek: Add support for Layer 2 Multicast")
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Link: https://github.com/openwrt/openwrt/pull/18769
Signed-off-by: Robert Marko <robimarko@gmail.com>
Remove property 'status = "disabled"' for partitions in Zyxel NBG7815.
This option is mainly used for NAND memory and here we have SPI memory.
Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18787
Signed-off-by: Robert Marko <robimarko@gmail.com>
Fix "property has invalid length" warning for two devices:
- TP-Link EAP620 HD v1
- Zyxel NBG7815
Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18787
Signed-off-by: Robert Marko <robimarko@gmail.com>
Fixes the following warning:
[ 180.314652] NOHZ tick-stop error: local softirq work is pending, handler #08!!!
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Currently, non existing ipq-wifi package name is selected for
EAP625-Outdoor HD, so correct the name.
Fixes: 51c1ea08d0 ("qualcommax: ipq60xx: add TP-Link EAP625-Outdoor HD v1 support")
Signed-off-by: Robert Marko <robimarko@gmail.com>
Add package for linux intel_vpu driver for Intel NPU/VPU
Signed-off-by: Joe Zheng <joe.zheng@intel.com>
Link: https://github.com/openwrt/openwrt/pull/17904
Signed-off-by: Robert Marko <robimarko@gmail.com>
TP-Link EAP625-Outdoor HD is a 802.11ax AP claiming AX1800 support.
It is wall or pole mountable, and rated for outdoor use. It can only
be powered via PoE.
Hardware-wise, it is very similar to the older EAP610-Outdoor model.
Software-wise, I couldn't find a difference other than the board
data files, and device name. For this reason, the majority of the
devicetree from the EAP610-Outdoor is reused.
This device currently comes in a "v1", and "v1.6" version. The
"support-list" of the vendor firmware does not have a distinction
between these versions. This commit was tested on a 'V1.6" device.
Specifications:
---------------
* CPU: Qualcomm IPQ6018 Quad core Cortex-A53
* RAM: 512 MB
* Storage: 128MB NAND
* Ethernet:
* Gigabit RJ45 port with PoE input
* WLAN:
* 2.4GHz/5GHz
* LEDs:
* Multi-color System LED (Green/Amber)
* Buttons:
* 1x Reset
* UART: 4-pin unpopulated header
* 1.8 V level, Pinout 1 - TX, 2 - RX, 3 - GND, 4 - 1.8V
Installation:
=============
Web UI method
-------------
Set up the device using the vendor's web UI. After that go to
Management->SSH and enable the "SSH Login" checkbox. Select "Save".
The connect to the machine via SSH:
ssh -o hostkeyalgorithms=ssh-rsa <ip_of_device>
Disable signature verification:
cliclientd stopcs
Rename the "-web-ui-factory" image to something less than 63
characters, maintaining the ".bin" suffix.
* Go to System -> Firmware Update.
* Under "New Firmware File", click "Browse" and select the image
* Select "Update" and confirm by clicking "OK".
If the update fails, the web UI should show an error message.
Otherwise, the device should reboot into OpenWRT.
NOTE: If ssh continues to complain that "no matching host key type
found. Their offer: ssh-rsa,ssh-dss" it likely means that yor distro
has completely disabled deprecated siphers in ssh. In that case, run
the ssh command from a docker container of an older distro.
TFTP method
-----------
To flash via tftp, first place the initramfs image on the TFTP server.
setenv serverip <ip of tftp server>
setenv ipaddr <ip in same subnet as tftp server>
tftpboot tplink_eap625-outdoor-hd-v1-initramfs-uImage.itb
bootm
This should boot OpenWRT. Once booted, flash the sysupgrade.bin image
using either luci or the commandline.
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18584
Signed-off-by: Robert Marko <robimarko@gmail.com>
It was suggested that the pinctrl property of the mdio node should
include the PHY reset GPIO. Add them in.
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18584
Signed-off-by: Robert Marko <robimarko@gmail.com>
I have an EAP625-Outdoor HD v1 that is very similar with the EAP610
Outdoor. It works with the EAP610 initramfs, without any obvious loss
of functionality. In order to prepare for supporting the EAP625, move
the common parts into a shared .dtsi.
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18584
Signed-off-by: Robert Marko <robimarko@gmail.com>
The web-recovery of the Genexis EX400 validates uploaded images to fit
in the rootf_0 partition.
With OpenWrt, only the kernel is stored in this partition, leaving the
partition very small. Currently, the first factory release image won't
be accepted by the recovery interface after the OpenWrt installation.
Pad the image of the ubifs to 10MB. This allows the 24.10 release image
to be uploaded, enabling device recovery.
Signed-off-by: David Bauer <mail@david-bauer.net>
Clean the temporary directory the UBI image is generated from before
generation.
Currently it is removed after the image generation, which leads to files
possibly not being cleared after a build failure in this step.
Signed-off-by: David Bauer <mail@david-bauer.net>
bcm6328, bcm6362 and bcm6368 targets are missing a key config symbol which
prevents the NAND from working.
Fixes: f6c02b014d ("bmips: 6.1: refresh config and add missing symbols")
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
CONFIG_PAHOLE_HAS_LANG_EXCLUDE is set depending on the pahole version
present, so it must be filtered out.
Signed-off-by: Robert Marko <robimarko@gmail.com>
For kernel 6.12 there is a warning causing an error:
drivers/mtd/nand/mtk_bmt_v2.c: In function 'mtk_bmt_get_mapping_mask':
drivers/mtd/nand/mtk_bmt_v2.c:307:31: error: 'kmalloc_array_noprof' sizes specified with 'sizeof' in the earlier argument and not in the later argument [-Werror=calloc-transposed-args]
307 | used = kcalloc(sizeof(unsigned long), BIT_WORD(bmtd.bmt_blk_idx) + 1, GFP_KERNEL);
| ^~~~~~~~
Swapping the arguments solves the problem.
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18701
Signed-off-by: Robert Marko <robimarko@gmail.com>
Kernel does
if (phydev->drv->set_loopback)
ret = phydev->drv->set_loopback(phydev, enable, speed);
else
ret = genphy_loopback(phydev, enable, speed);
So no need to explicitly set genphy_loopback() in phy_driver. Drop
references to let kernel do its work.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18782
Signed-off-by: Robert Marko <robimarko@gmail.com>
PCI paths of IPQ50xx devices have changed now that linux,pci-domain is set
in the DTSI, so add a migration script for wireless config.
Link: https://github.com/openwrt/openwrt/pull/18789
Signed-off-by: Robert Marko <robimarko@gmail.com>
Now that IPQ50xx PCIe nodes have linux,pci-domain property defined
it changed the PCI path, but its now predictable and fixed.
So, update the caldata script accordingly.
Link: https://github.com/openwrt/openwrt/pull/18789
Signed-off-by: Robert Marko <robimarko@gmail.com>
Unlike other buses, for PCIe child nodes we should not use "wifi@1,0" as
the bus adress since for PCI devices the actual device adress on the bus is
actually set via the "reg" property and the node name is unused completely.
Though, it will cause DTC to throw warnings, so after investigation and
similar issue upstream[1] simply set the nodes to "wifi@0,0" instead.
[1] https://lists.infradead.org/pipermail/linux-arm-kernel/2021-August/680846.html
Link: https://github.com/openwrt/openwrt/pull/18789
Signed-off-by: Robert Marko <robimarko@gmail.com>
PCIe bridge nodes are now present in the SoC DTSI, so drop our downstream
ones as otherwise ath1*k BDF matching will fail.
Link: https://github.com/openwrt/openwrt/pull/18789
Signed-off-by: Robert Marko <robimarko@gmail.com>
It seems that bus-range property was missed for the PCIe bridges on
IPQ50xx, thus causing DTC to warn on any bus adress used on nodes
under the PCIe bridges.
Link: https://github.com/openwrt/openwrt/pull/18789
Signed-off-by: Robert Marko <robimarko@gmail.com>
Use the latest v9 PCIe DTS patch that is pending upstream, notable change
being that it includes PCIe bridge nodes.
Link: https://github.com/openwrt/openwrt/pull/18789
Signed-off-by: Robert Marko <robimarko@gmail.com>
Add missing kmod-7915e package to get both wireless interfaces working.
Link: https://github.com/openwrt/openwrt/issues/18690
Reviewed-by: Steffen Förster <nemesis@chemnitz.freifunk.net>
Signed-off-by: Christoph Krapp <achterin@gmail.com>
We are lucky to have a working realtek environment. But some things where mixed
heavily. To say it clear a bus is a bus and an ethernet is an ethernet. With
the new naming conventions and defines this becomes even more obvious.
Decouple it by moving the bus specific parts out of the ethernet device. To
make the code more readable rename bus_priv variables to priv and sort variable
definitions in inverse tree order (length descending) where it makes sense.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18402
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
At least since 2022 there is a major bug in the MDIO driver that
produces out-of-bound reads and erratic behaviour during initialization.
- mdiobus_scan_bus_c22() scans the bus for 64 devices (PHY_MAX_ADDR)
- private bus structure only supports 57 entry arrays (MAX_PORTS)
All the bus/reader writer functions accept calls with addr>=57 and will
silently read beyond their limits. This can lead to ghost SERDES like
https://github.com/openwrt/openwrt/issues/18665#issuecomment-2846053813
Add proper boundary checks and end the functions with -ENODEV that is
the only accepted error code from the bus scan function.
Fixes: 0536c582e6 ("realtek: Fix RTL931X Ethernet driver") etc ...
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18402
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
These two arrays have been fixed to some sane size (= 64 ports). Now
that everything is in place reuse the global RTMDIO_MAX_PORT define.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18402
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Relocate the bus structure definition into the MDIO source code area
of the ethernet driver. So if the real bus driver is forked from the
rest of the code only one area needs to be removed. Rename it to make
clear it belongs to the bus.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18402
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Although a dfine is used to set the maxiumum number of SMI
busses (=4) it is not used at all appropriate places in the code.
Replace hard coded constants with that define.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18402
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Inside the ethernet driver lives the mdio bus. It is not always clear
what belongs where. Prefix some leftovers from the kernel 6.6 refactor
to clearly state what belongs to the bus. Group all defines together
in one place. This commit has no functional changes.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18402
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
IPQ9554 does not have uniphy1. The "gcc_uniphy1_sys_clk" cannot be
enabled. This causes the ipq-uniphy driver to crash on .probe().
Add a patch to resolve the crash.
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18779
Signed-off-by: Robert Marko <robimarko@gmail.com>
Found when building rockchip target (with kernel 6.12).
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/18685
Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit corrects led phy names. This has been discussed
at link [1] and corrected in the mediatek target in the
commit a51fd20e0d. Now it's time
to do the same thing in the lantiq target.
Link: https://github.com/openwrt/openwrt/pull/18265
Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
This is the same hardware as the Cudy WR2100 that's
had support for some time now, just without the WLAN
hardware.
This PR is mostly copied from the commit that added
support for the WR2100, here: 3501db9
Specifications:
SoC: MT7621
CPU: 880 MHz
Flash: 16 MiB
RAM: 128 MiB
Ethernet: 5x Gbit ports
Installation:
There are two known options:
The Luci-based UI.
Press and hold the reset button during power up.
The router will request 'recovery.bin' from a TFTP server at
192.168.1.88.
Both options require a signed firmware binary.
A signed firmware can be found in GitHub PR #18532.
R4 & R5 need to be shorted (0-100Ω) for the UART to work.
Link: https://github.com/openwrt/openwrt/pull/18532
Signed-off-by: David DeGraw <degraw@fastmail.com>
Configure the i2c pins as GPIO outputs and use the i2c-gpio driver to
control the Semtech SX9512 touch controller.
This fixes spurious errors in i2c transactions even at 1kHz with the
native i2c driver.
leds green:wan: Setting an LED's brightness failed (-6)
Signed-off-by: David Bauer <mail@david-bauer.net>
Add the necessary package dependencies as well as device-tree properties
to support the touch-inputs as well as missing LEDs on the Genexis Pulse
EX400 range extender.
Signed-off-by: David Bauer <mail@david-bauer.net>
This driver is required for the touch-inputs as well as some LEDs on the
Genexis Pulse EX400.
The driver was also sent upstream. As the EX400 is currently the only
consumer, the driver is added target-specific for ramips.
Once the driver has been accepted upstream and is provided in a kernel
release used by OpenWrt, the package should be moved to the global input
drivers.
Link: https://www.spinics.net/lists/kernel/msg5669349.html
Signed-off-by: David Bauer <mail@david-bauer.net>
There's no need for it. Kernel update to 6.12 found that it now needs
linux/of.h explicitly included.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18763
Signed-off-by: Robert Marko <robimarko@gmail.com>
Specify 4-bit ECC strength instead of 8-bit, to resolve NAND I/O errors
on ELECOM WRC-X3000GS2.
ELECOM WRC-X3000GS2 has a Macronix MX35UF1G24AD SPI-NAND chip as a flash
storage. That chip is registered as a chip that has 128 bytes OOB and
requires 8-bit ECC, and described as the same in the Macronix's datasheet.
But on WRC-X3000GS2, 8-bit ECC breaks NAND I/O on mtdblock devices with
the following errors and 4-bit ECC needs to be used to resolve this issue.
current (ECC strength=8):
```
[ 1.401566] 0x000000480000-0x000000500000 : "0:appsblenv"
[ 1.407128] 1 fixed-partitions partitions found on MTD device 0:appsblenv
[ 1.410663] Creating 1 MTD partitions on "0:appsblenv":
[ 1.417359] 0x000000000000-0x000000040000 : "env-data"
[ 1.479865] u-boot-env-layout: probe of 79b0000.qpic-nand:flash@0:partitions:partition-0-appsblenv:partition@0:nvmem-layout failed with error -74
root@OpenWrt:~# strings /dev/mtdblock10
[ 55.693754] mtdblock: MTD device '0:appsblenv' is NAND, please consider using UBI block devices instead.
[ 55.694660] I/O error, dev mtdblock10, sector 0 op 0x0:(READ) flags 0x80700 phys_seg 4 prio class 2
[ 55.703147] I/O error, dev mtdblock10, sector 8 op 0x0:(READ) flags 0x80700 phys_seg 3 prio class 2
[ 55.711884] I/O error, dev mtdblock10, sector 16 op 0x0:(READ) flags 0x80700 phys_seg 2 prio class 2
[ 55.720778] I/O error, dev mtdblock10, sector 24 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 2
[ 55.730310] I/O error, dev mtdblock10, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[ 55.738607] Buffer I/O error on dev mtdblock10, logical block 0, async page read
```
after fixing (ECC strength=4):
```
[ 1.402301] 0x000000480000-0x000000500000 : "0:appsblenv"
[ 1.407909] 1 fixed-partitions partitions found on MTD device 0:appsblenv
[ 1.411370] Creating 1 MTD partitions on "0:appsblenv":
[ 1.418075] 0x000000000000-0x000000040000 : "env-data"
(no error)
root@OpenWrt:~# strings /dev/mtdblock10
[ 39.131008] mtdblock: MTD device '0:appsblenv' is NAND, please consider using UBI block devices instead.
bootcmd=bootipq
baudrate=115200
wifi2=7C:F8:54:01:BD:F3
CRASH_COUNT=0
...
```
Fixes: 01b72ce61e ("qualcommax: ipq50xx: remove ECC user config from board files")
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18770
Signed-off-by: Robert Marko <robimarko@gmail.com>
Include <linux/of.h> instead of <linux/of_device.h>.
This problem arised when adding support for 6.12, but it can be fixed on
older kernels too.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
kmod-drm-rp1-dsi, kmod-drm-rp1-dpi and kmod-drm-rp1-vec should depend on
kmod-drm-dma-helper and kmod-drm-vram-helper in order to fix dependency errors
when all kernel modules are selected.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
There are no supported devices on this sub-target. It can be
considered that it is still under development. Therefore,
there is no need to make the buildbot build it every day.
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18757
Signed-off-by: Robert Marko <robimarko@gmail.com>
This problem arised when adding support for 6.12, but it should be fixed on
older kernels too.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
These drivers should include <linux/platform_device.h>, but this wasn't an
issue on kernels < 6.12.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
This sub-target is source only now. We don't need to disable build
for specific devices.
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18745
Signed-off-by: Robert Marko <robimarko@gmail.com>
Due to RAM/ROM size limitations, this sub-target has been unable
to generate usable images for a long time. Mark them as source-only
to save some resource for the buildbot.
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18745
Signed-off-by: Robert Marko <robimarko@gmail.com>
This sub-target is source only now. We don't need to disable build
for specific devices.
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18745
Signed-off-by: Robert Marko <robimarko@gmail.com>
Due to RAM/ROM size limitations, this sub-target has been unable
to generate usable images for a long time. Mark them as source-only
to save some resource for the buildbot.
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18745
Signed-off-by: Robert Marko <robimarko@gmail.com>
This sub-target is source only now. We don't need to disable build
for specific devices.
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18745
Signed-off-by: Robert Marko <robimarko@gmail.com>
Due to RAM/ROM size limitations, this sub-target has been unable
to generate usable images for a long time. Mark them as source-only
to save some resource for the buildbot.
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18745
Signed-off-by: Robert Marko <robimarko@gmail.com>
The RTL8214FC currently uses generic PHY functions. That makes it look like a copper
device. Switching to/from fibre works fortunately but the autonegotiation handling
still works on MII_LPA (PHY register 5) as if a copper link is used. Fix that by
- advertising a superset of TP/FIBRE features
- using clause 37 functions when on fibre
Additionally enhance the code of the driver to assist further development.
- log the speed of the inserted module to detect wrongly inserted 10gbase-r modules
- order phy driver functions alphabetically (keep match/name on top)
- remove genphy_loopback as the kernel uses it if not provided
Remark! The driver internally uses PORT_MII for the TP port. Align with that and
report MII to ethtool instead of TP. Other drivers do the same and it can be
changed in the future if needed.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18724
Signed-off-by: Robert Marko <robimarko@gmail.com>
Reduces boot time by 3s on a freshly installed image. This device
has a large flash and the gain can be higher with more packages
installed. According to the datasheet, this is the maximum frequency
supported by the Micron and Macronix chips that are installed in
these devices. Tested on three units over a two month period.
Before:
$ dd if=/dev/mtd5 of=/dev/null bs=10M count=1 status=progress
1+0 records in
1+0 records out
10485760 bytes (10 MB, 10 MiB) copied, 1.51901 s, 6.9 MB/s
After:
$ dd if=/dev/mtd5 of=/dev/null bs=10M count=1 status=progress
1+0 records in
1+0 records out
10485760 bytes (10 MB, 10 MiB) copied, 0.899474 s, 11.7 MB/s
Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/18694
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Mikrotik RouterBOARD 2011 series are AR9344-based wired routers, with
optional 2,4GHz 802.11n 2x2:2 Wi-Fi radio, with desktop or rack-mount
capability, featuring 5 gigabit Ethernet ports and 5 fast Ethernet
ports. Different variants of the board are supported using a single
image.
Bare-bones RouterBOARD 2011LS is supported using the same image.
Specification:
- Power: 10-28V input via 5,5/2,1 DC barrel jack, or terminal block on
some boards
- CPU: AR9344 at 600 to 750MHz (configurable)
- RAM: 128MB (64MB in early versions) DDR2
- Flash: 128MB (64MB in early versions) NAND flash
- Gigabit Ethernet: 5 ports via AR8327 switch (eth1 to eth5)
- Fast Ethernet: 5 ports via AR9344 built-in switch (eth6 to eth10)
- SFP: single port through AR8327 switch (SGMII at port 6)
- PoE in: passive input up to 28V at eth1
- PoE out: passive output up to 28V at eth10
- USB: optional micro-AB host port or type-A host port
- Console: optional Cisco-style RS232 console at the back of the device,
on budget devices available as 3.3V UART via testpoints
- LCD: 2" touchscreen-equipped LCD (unsupported)
Installation:
- perform TFTP boot of initramfs image as for netinstall procedure
typical for Mikrotik devices
- when initramfs image boots, use sysupgrade to perform final
installation.
If upgrading from ar71xx, clean installation should be performed, as the
devices now uses yafut to handle kernel image.
TODO:
- 64MB NAND variant using K9F1208U0C isn't yet supported, because it
needs disabling subpage write support for that chip. A proper solution
would be to fix that in kernel, but I don't have this variant to test
with currently.
- The same is true for GD9FU1G8F3A NAND, which isn't ONFI compliant and
needs definition in kernel for proper geometry.
- SFP port probes over I²C and gigabit link is possible, but currently
the drivers lack support of handling link status information to
userspace, including swconfig. Link will appear as always up.
Currently, link status logging can detect something, but status both
for ports 0 and 6 is logged simultaneously,
but "swconfig dev switch0 show" will always show link up on port 6.
- Not yet fully known connection to display and touch panel, but some
documentation is available (seemingly connected via SPI, according to
Mikrotik's open source code at [1])
[1] https://github.com/robimarko/routeros-GPL
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17617
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Passing QMP pipe clocks was upstreamed, but it requires conversion single
QMP node, so backport both of those instead of our downstream patch.
Signed-off-by: Robert Marko <robimarko@gmail.com>
In order to free up some more number space, simply renumber existing
upstreamed patches starting from 0 again.
Signed-off-by: Robert Marko <robimarko@gmail.com>
With the spi-qpic-snand driver now supporting reading ECC requirements
from the NAND chip itself, there's no need to set those in the DTS
anymore avoiding issues with devices of the same revision using
different NAND types with varying ECC requirements.
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18723
Signed-off-by: Robert Marko <robimarko@gmail.com>
Updating the spi-qpic-snand driver with the latest patches sent
upstream and remove custom patches.
These patches add error handling fixes, use of right read location in
read ops, removal of unused variable, ability to read user config and
nand chip requirements, and support for 8bits ECC strength.
Tested on: Gl.iNet GL-B3000 & Linksys MR5500, MX2000, MX5500, SPNMX56
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18723
Signed-off-by: Robert Marko <robimarko@gmail.com>
Multiple conf support was upstreamed into kernel 6.10, so lets use the
upstreamed patches and mark them as so.
Signed-off-by: Robert Marko <robimarko@gmail.com>
MP5496 patches are not part of 6.15, but rather will be part of 6.16 as
they are no in 6.15 RC releases but they are in linux-next.
Signed-off-by: Robert Marko <robimarko@gmail.com>
When many multicast entries are installed broadcast flooding might
potentially stop working for several ports. This is because the layer
2 broadcast flood port mask index has the wrong offset. It should be
9 bits, matching the 2^9 = 512 indexes on rtl838x, not 12.
The wrong offset leads to L2_BC_FLD_PMSK being set to 504, not 511
((511 << 12) >> 9) & 511 = 504). So, as by default an unset PMSK
is set to all ports, the issue would only become noticeable once
many multicast entries are installed, causing the 504th entry to be set
to something other than all ports.
Fixing this by setting the offset to 9 bits, to correctly point to our
511th reserved entry for all ports.
Tested-on: ZyXEL GS1900-24HP v1
Fixes: 28e972b2ea ("realtek: Configure initial L2 learning setup")
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Link: https://github.com/openwrt/openwrt/pull/18733
Signed-off-by: Robert Marko <robimarko@gmail.com>
This additional board.d script creates the "/tmp/sysinfo/oem_name" file
and populates it with the proper OEM "supported_devices" metadata entry
to be used by the new fwtool.sh oem detection feature.
(#18554): add oem image dectection to fwtool.sh
Signed-off-by: Scott Mercer <TheRootEd24@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18656
Signed-off-by: Robert Marko <robimarko@gmail.com>
Update block NVMEM driver based on backported OF partition support.
Note the different MMC card DT binding compared to the previous
downstream solution: Instead of having a 'partitions' subnode inside
a 'block' node, the 'partitions' node now resides directly under the
node representing the card.
In order to make references to the 'boot0' or 'boot1' hw partitions
you will have to define 'partitions-boot0' or 'partitions-boot1', and
move the NVMEM layout into a partition (you may, of course, use
'fixed-partitions' for that, and cover the whole device, if needed).
See also https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/mmc/mmc-card.yaml?h=v6.13
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Add network config for single-port Gateworks venice boards such that the
ethernet port is the WAN port instead of the default being a LAN port.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/18629
Signed-off-by: Robert Marko <robimarko@gmail.com>
Some DTS files have a qsgmii link mode for the CPU port. This does
not harm but it is wrong. The CPU port of the realtek switch is always
directly connected to the switch by some unknown wiring and should
therefore be described as internal. Align the wrongly defined DTS
files to the standard.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18691
Signed-off-by: Robert Marko <robimarko@gmail.com>
- Fix order of patches (3d483a10327f was merged before 34d5a86ff7bb).
- Reorganize patch numbers now that < 6.12 patches are no longer needed.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
This patch was added on linux v6.13 in order to avoid simple is_visible
functions on hwmon drivers.
See 79bc0af904
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Upstream e2015942e90a couldn't be backported to 6.6 because the following
symbols were missing:
- disable_work
- disable_work_sync
- enable_work
See e2015942e9
Upstream 34e5ededf4b8 couldn't be backported to 6.6 because the following
symbol was missing:
- pcim_iomap_region
See 34e5ededf4
Reorganize patch numbers now that < 6.12 patches are no longer needed.
The following patches still differ from upstream:
- e340bff27e63
phy_set_eee_broken symbol is missing in 6.12
https://github.com/torvalds/linux/commit/e340bff27e63
The following patches can't be backported to 6.12 due to missing symbols:
- 5e7a74b6a357
phy_disable_eee_mode symbol is missing in 6.12
https://github.com/torvalds/linux/commit/5e7a74b6a357
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Commit d7e82c78d7 added a generic kernel patch that exposes a new
symbol REALTEK_PHY_HWMON when REALTEK_PHY and HWMON are enabled. The new
symbol was added to kmod-phy-realtek, but the kmod is not used in the
realtek target.
Fixes: d7e82c78d7 ("generic: backport Realtek PHY patches from upstream")
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Avoids some pointless boilerplate.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18675
Signed-off-by: Robert Marko <robimarko@gmail.com>
This seems to be some manual patch editing or rebasing bug.
Found with grep ' '.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18675
Signed-off-by: Robert Marko <robimarko@gmail.com>
This reverts commit 1c993da8ff.
VSC kmod is broken and is causing all targets to fail compiling so revert.
Signed-off-by: Robert Marko <robimarko@gmail.com>
Probing of the RTL8214FC on RTL839x is currently very strange.
- On RTL8393 nothing is detected and only generic PHY is reported
- On RTL8392 the port 1 is not detected while port 2-4 seem to work
Someone left a special RTL8393 detection rules that seems to indicate
that the we probe the internal SerDes instead. That is not true. Since
upgrade to kernel 6.6 the RTL8218/RTL8214FC detection is 100% accurate
and probing functions are only called when really needed.
Fix the issue by removing the condition. For now do PHY patching only
on the RTL838x where it already worked before.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18671
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Removes the need for a remove function in platform_device.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18660
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Easy way to add compatibility for kernel 6.12.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18660
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Fix DTB warning when compiling an image by adding the missing hash sign
of adress-cells in the usb_dwc node.
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18672
Signed-off-by: Robert Marko <robimarko@gmail.com>
Commit fc3ff2af0c introduced reading
ECC strength from the device tree. Linksys MR5500 uses the mx-base dtsi
which was originally developed for Linksys MX2000 and MX5500 where the
ECC strength is set to 8. Correct this and set it to strength of 4 as
per the NAND specs for Gigadevice GD5F2GQ5REYIH.
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18672
Signed-off-by: Robert Marko <robimarko@gmail.com>
This reverts commit 34e5bc4af54d366147a83904c094d54fec7fb025.
While fixing support for 2.5Gbps mode on uniphy in phy to phy link
setups, it inadvertently broke fixed link scenario. So let's revert this
commit until there's a fix that doesn't impact fixed links.
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18668
Signed-off-by: Robert Marko <robimarko@gmail.com>
fixes the following warning seen in bootlog
"Kernel image misaligned at boot, please fix your bootloader!"
Fixes: 3307fe8 ("qualcommax: ipq50xx: add support for GL.iNET GL-B3000")
Signed-off-by: Scott Mercer <TheRootEd24@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18658
Signed-off-by: Robert Marko <robimarko@gmail.com>
The factory image generation for the Genexis EX400 image currently fails
if CONFIG_TARGET_ROOTFS_INITRAMFS is disabled.
Create the factory image only if said config option is enabled to avoid
failing builds.
Signed-off-by: David Bauer <mail@david-bauer.net>
These symbols were found when adding 6.12 kernel support for the
ath79 target.
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18653
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
These get dynamically set, not relevant for targets.
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/16547
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
The x86 now supports 6.12 kernel as testing.
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/16547
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
This is an automatically generated commit.
When doing `git bisect`, consider `git bisect --skip`.
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/16547
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
These symbols only become visible when some packages or kernel debug
options get enabled. Move them to generic.
Co-authored-by: Mantas Pucka <mantas@8devices.com>
Co-authored-by: Mathew McBride <matt@traverse.com.au>
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/16547
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Refreshed patches for generic/hack-6.12 by running
make target/linux/refresh
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/16547
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Refreshed patches for generic/pending-6.12 by running
make target/linux/refresh
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/16547
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Move MIPS reloc patch from pending to hack and rework it to adapt to new
kernel 6.12 version.
This required an additional patch. While at it also improve the text
with the original info without cut.
Link: https://github.com/openwrt/openwrt/pull/16547
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Refreshed patches for generic/backport-6.12 by running
make target/linux/refresh
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/16547
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
This is an automatically generated commit.
When doing `git bisect`, consider `git bisect --skip`.
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/16547
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Refreshed patches by running:
make target/linux/refresh
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/18640
Signed-off-by: Robert Marko <robimarko@gmail.com>
Fix the resets of the GE_PHY and Uniphy found on the IPQ5018 SoC.
Bitmasks are used to perform multiple resets simultaneously, including
the RX and TX clocks. This enables the Uniphy to properly shift between
SGMII/1G and SGMII+/2.5G modes.
While at it, properly reorder the patches, and rename some to follow
naming standards.
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18638
Signed-off-by: Robert Marko <robimarko@gmail.com>
Patch 620-net_sched-codel-do-not-defer-queue-length-update.patch is
actually an ancient patch that somehow manage to be ported for 7 solid
years.
This comes from [1] where a fix patch was proposed. Nobody notice that
the proposed patch was actually rejected upstream in favor of [2]. And
the upstream fix patch is present in kernel from version 4.18.
This means that we were actually fixing for a non existant bug and maybe
introducing regression down the line.
Drop the patch for good as we already have a fix for it in flace for a
long time.
[1] https://bugzilla.kernel.org/show_bug.cgi?id=109581
[2] 35b42da69e
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
As part of the previous commit to add the #clock-cells property to the
GE PHY, the PHY was inadvertently moved under the second mdio node in
the dtsi, and therefore broke the init sequence as the driver was trying
to use the wrong mdio bus to set the init values (ex. DAC, MSE, and AZ).
So let's move it back under the right mdio node and, while at it, pad
the register addresses to 8 hex numbers and re-order properties in line
with Linux DTS coding standards.
Fixes: 6782d0e66f
Signed-off-by: George Moussalem <george.moussalem@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/18634
Signed-off-by: Robert Marko <robimarko@gmail.com>
Fix swapped WLAN LEDs and move to blue LEDs to match stock behavior. Add LAN LED mappings.
Signed-off-by: Erik Servili <serverror@serverror.com>
Link: https://github.com/openwrt/openwrt/pull/18624
Signed-off-by: Robert Marko <robimarko@gmail.com>
Easy way to add compatibility for kernel 6.12.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18617
Signed-off-by: Robert Marko <robimarko@gmail.com>
Drop the firmware image entry "factory.ubi" from IMAGES for ELECOM
WRC-X3000GS2.
`Device/UbiFit` is added in the early stage of working for adding
support of the device, but finally, only `KERNEL_IN_UBI` is neccesary
and factory.ubi is not. So `Device/UbiFit` should have been replaced
to `KERNEL_IN_UBI` but it was forgotten.
Fixes: 3b7d72bc2e ("qualcommax: add support for ELECOM WRC-X3000GS2")
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18611
Signed-off-by: Robert Marko <robimarko@gmail.com>
Hardware
--------
SOC: MediaTek MT7981b
RAM: 256MB DDR3
FLASH: 128MB SPI-NAND (Winbond W25N01GV)
WIFI: Mediatek MT7981b DBDC 802.11ax 2.4/5 GHz
ETH: MediaTek MT7531 Switch
UART: 3V3 115200 8N1 (Pinout silkscreened / Do not connect VCC)
Installation
-----------------------------------------------------------
Vendor-UI Method
-----------------------------------------------------------
1. Download the OpenWrt initramfs.trx image.
2. Connect the PC via LAN to one of the yellow router ports and wait
until your PC to get a DHCP lease.
3. Browse to http://192.168.50.1
4. If your router is brand new, finish the setup process and log into
the Web-UI.
5. Navigate to Administration -> Firmware Upgrade and upload the
downloaded OpenWrt image.
6. Wait for OpenWrt to boot. Transfer the sysupgrade image to the device
using scp and install using sysupgrade.
$ sysupgrade -n <path-to-sysupgrade.bin>
-----------------------------------------------------------
TFTP Method
-----------------------------------------------------------
1. Download the OpenWrt initramfs image. Copy the image to a TFTP server
reachable at 192.168.1.70/24. Rename the image to rtax52.bin.
2. Connect the PC with TFTP server to the RT-AX52.
Set a static ip on the ethernet interface of your PC.
(ip address: 192.168.1.70, subnet mask:255.255.255.0)
Conect to the serial console,
interrupt the autoboot process by pressing '4' when prompted.
3. Download & Boot the OpenWrt initramfs image.
$ setenv ipaddr 192.168.1.1
$ setenv serverip 192.168.1.70
$ tftpboot 0x46000000 rtax52.bin
$ bootm 0x46000000
4. Wait for OpenWrt to boot. Transfer the sysupgrade image to the device
using scp and install using sysupgrade.
$ sysupgrade -n <path-to-sysupgrade.bin>
---------------------------------------------------------------------------
Revert to stock firmware:
1: Download the rt-ax52 firmware from ASUS official website. Save
the firmware to tftp server directory and rename to RT-AX52.trx
2: Connect the PC with TFTP server to the RT-AX52.
Set a static ip on the ethernet interface of your PC.
(ip address: 192.168.1.70, subnet mask:255.255.255.0)
3: Conect to the serial console, power on again, interrupt the
autoboot process by pressing '4' when prompted.
$: ubi remove linux
$: ubi remove jffs2
$: ubi remove rootfs
$: ubi remove rootfs_data
$: ubi create linux 0x45fe000
$: reset
Then the dut will reboot,interrupt the autoboot process by
pressing '2' when prompted.
2: Load System code then write to Flash via TFTP.
Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N)
$: enter y
you will see the follow, type enter directly:
Input device IP (192.168.1.1) ==:
Input server IP (192.168.1.70) ==:
Input Linux Kernel filename (RT-AX52.trx) ==:
4: wait for the device run up
Based on support for ASUS RT-AX52 by liudongdongdong7397
and trx image generation by remittor
Signed-off-by: Christoph Krapp <achterin@gmail.com>
This commit fixes mistaken executable bit on
mt7981b-mercusys-mr80x-v3.dts file.
Fixes: 7921e48d43 ("mediatek: add support for Mercusys MR80X v3")
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Add missing semicolon to the end of the property.
Remove whitespace while at it.
Fixes: 5a3b9d88f1 ("lantiq: Improve support for LED's fritz736x")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/18594
Signed-off-by: Robert Marko <robimarko@gmail.com>
Fix nand-ecc-strength property in the spi-nand node of GL-iNet GL-B3000
to 4, to solve the following ECC error on that spi-nand chip.
[ 1.551618] ubi0: attaching mtd11
[ 1.552331] ubi0 warning: ubi_io_read: error -74 (ECC error) while reading 64 bytes from PEB 0:0, read only 64 bytes, retry
[ 1.554455] ubi0 warning: ubi_io_read: error -74 (ECC error) while reading 64 bytes from PEB 0:0, read only 64 bytes, retry
[ 1.565931] ubi0 warning: ubi_io_read: error -74 (ECC error) while reading 64 bytes from PEB 0:0, read only 64 bytes, retry
[ 1.576568] ubi0 error: ubi_io_read: error -74 (ECC error) while reading 64 bytes from PEB 0:0, read 64 bytes
[ 1.587146] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.6.87 #0
[ 1.597153] Hardware name: GL.iNet GL-B3000 (DT)
[ 1.602881] Call trace:
[ 1.607739] dump_backtrace+0xa0/0xe0
[ 1.609910] show_stack+0x18/0x24
[ 1.613728] dump_stack_lvl+0x48/0x60
[ 1.617027] dump_stack+0x18/0x24
[ 1.620672] ubi_io_read+0x11c/0x32c
[ 1.623972] ubi_io_read_ec_hdr+0x50/0x1f0
[ 1.627618] ubi_attach+0x35c/0x133c
[ 1.631524] ubi_attach_mtd_dev+0x494/0xaf4
[ 1.635257] ubi_init_attach+0xac/0x2e4
[ 1.639163] do_one_initcall+0x6c/0x1fc
[ 1.642983] kernel_init_freeable+0x204/0x2e4
[ 1.646803] kernel_init+0x28/0x1dc
[ 1.651316] ret_from_fork+0x10/0x20
The GL-B3000 has a Winbond W25N01GW and the spare size (oobsize) of it
is 64. So the maximum available ECC strength with the qpic-snand driver
is 4 but not 8.
The "nand-ecc-strength" property was not used before the commit
fc3ff2af0c ("qualcommax: allow overriding ECC strength for qpic-snand")
and calculated from the registered spare size in the Linux Kernel. As a
result, we had no issues on the GL-B3000 with the wrong ECC strength
value.
Fixes: 3307fe8ee4 ("qualcommax: ipq50xx: add support for GL.iNET GL-B3000")
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18595
Signed-off-by: Robert Marko <robimarko@gmail.com>
Specification:
- MT7620A 580 MHz MIPS24KEc
- 64MB RAM
- 8MB SPI NOR
- MediaTek MT7612E 5.0GHz 802.11a/n/ac
- MediaTek MT7620 2.4GHz 802.11b/g/n
- 5 LEDs (white)
- 1 button
- 1 Gbit port Realtek RTL8211E GbE Phy
Serial Interface:
- 3 Pins GND, RX, TX
- Settings: 57600, 8N1
Based on support from edimax_ew-7476rpc/edimax_ew-747x
and netgear_ex3700/netgear_ex3x00_ex61xx
Notes:
- ATM there is no known way to revert to stock firmware
Flash instruction:
The only known way to flash OpenWrt image is to use tftp in U-Boot, with the
aid of a serial adapter for U-Boot console access:
1. Open the device and connect to the serial port. The device is very similar
to Edimax 7476RPC. See https://openwrt.org/toh/edimax/ew-7476rpc. No VCC!
2. Configure PC with static IP 192.168.1.2/24 and tftp server and
connect PC to device using an ethernet cable.
3. Power on the device and, on the serial console, as soon as U-Boot starts
loading, press "2" to interrupt loading.
4. Enter device ip address 192.168.1.1, PC ip address 192.168.1.2
and the firmware filename placed on the TFTP server.
5. Device will download file from server, write it to flash and reboot.
Signed-off-by: Hugo Monteiro <monteiro.hugo@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16956
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
ELECOM WRC-X3000GS2 is a 2.4/5 GHz band 11ax (Wi-Fi 6) router, based on
IPQ5018.
Specification:
- SoC : Qualcomm IPQ5018
- RAM : DDR3 256 MiB (Zentel A3T2GF40CBF-HP)
- Flash : SPI-NAND 128 MiB (Macronix MX35UF1G24AD-Z4I)
- WLAN : 2.4/5 GHz 2T2R
- 2.4 GHz : Qualcomm IPQ5018 (SoC)
- 5 GHz : Qualcomm Atheros QCN6102
- Ethernet : 5x 10/100/1000 Mbps
- wan (phy) : Qualcomm IPQ5018 (SoC)
- lan (switch) : Qualcomm Atheros QCA8337
- LEDs/Keys (GPIO): 8x/3x
- UART : through-hole on PCB, 4pins near the barcode
- assignment : 3.3V, TX, RX, NC, GND from the barcode side
- settings : 115200n8
- Power : 12 VDC, 1 A (Max. 11.5W)
Flash instruction using initramfs-factory.bin image:
1. Boot WRC-X3000GS2 normally with router mode
2. Access to the WebUI ("http://192.168.2.1/") on the device and open
the firmware update page ("ファームウェア更新")
3. Select the OpenWrt factory.bin image and click apply ("適用") button
4. Wait ~120 seconds to complete flashing
Switching to the stock firmware:
1. Load the elecom.sh script
. /lib/upgrade/elecom.sh
2. Check the current index of rootfs
bootconfig_rw_index 0:bootconfig rootfs
3. Set the index to inverted value
bootconfig_rw_index 0:bootconfig rootfs <value>
bootconfig_rw_index 0:bootconfig1 rootfs <value>
example:
- step2 returned "0":
bootconfig_rw_index 0:bootconfig rootfs 1
bootconfig_rw_index 0:bootconfig1 rootfs 1
- step2 returned "1":
bootconfig_rw_index 0:bootconfig rootfs 0
bootconfig_rw_index 0:bootconfig1 rootfs 0
4. Reboot
Partition Layout (Stock FW):
0x000000000000-0x000000080000 : "0:SBL1"
0x000000080000-0x000000100000 : "0:MIBIB"
0x000000100000-0x000000140000 : "0:BOOTCONFIG"
0x000000140000-0x000000180000 : "0:BOOTCONFIG1"
0x000000180000-0x000000280000 : "0:QSEE"
0x000000280000-0x000000380000 : "0:QSEE_1"
0x000000380000-0x0000003c0000 : "0:DEVCFG"
0x0000003c0000-0x000000400000 : "0:DEVCFG_1"
0x000000400000-0x000000440000 : "0:CDT"
0x000000440000-0x000000480000 : "0:CDT_1"
0x000000480000-0x000000500000 : "0:APPSBLENV"
0x000000500000-0x000000640000 : "0:APPSBL"
0x000000640000-0x000000780000 : "0:APPSBL_1"
0x000000780000-0x000000880000 : "0:ART"
0x000000880000-0x000000900000 : "0:TRAINING"
0x000000900000-0x000003c40000 : "rootfs"
0x000003c40000-0x000003fc0000 : "Config"
0x000003fc0000-0x000007300000 : "rootfs_1"
0x000007300000-0x000007680000 : "Config_2"
0x000007680000-0x000007b80000 : "Reserved"
0x000007b80000-0x000007c00000 : "FWHEADER"
0x000007c00000-0x000007c80000 : "Factory"
Known Issues:
- All Wi-Fi related peripherals are disabled.
This device has only 256 MiB RAM and it's too few for ath11k. To
prevent OOM when using LuCI or other softwares, disable Wi-Fi related
peripherals in device tree at the moment.
- This device has a Macronix MX35UF1G24AD SPI-NAND chip registered as
oobsize=128 in Linux Kernel. But using BCH8 breaks I/O on the chip
with the following errors, so this support uses BCH4 instead.
root@OpenWrt:~# strings /dev/mtdblock10
[26427.133154] mtdblock: MTD device '0:appsblenv' is NAND, please consider using UBI block devices instead.
[26427.134125] I/O error, dev mtdblock10, sector 0 op 0x0:(READ) flags 0x80700 phys_seg 4 prio class 2
[26427.142240] I/O error, dev mtdblock10, sector 8 op 0x0:(READ) flags 0x80700 phys_seg 3 prio class 2
[26427.151427] I/O error, dev mtdblock10, sector 16 op 0x0:(READ) flags 0x80700 phys_seg 2 prio class 2
[26427.160440] I/O error, dev mtdblock10, sector 24 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 2
[26427.169619] I/O error, dev mtdblock10, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2
[26427.178083] Buffer I/O error on dev mtdblock10, logical block 0, async page read
Notes:
- This device has dual-boot feature and it's managed by the index in the
0:bootconfig and 0:bootconfig1 partitions.
MAC Addresses:
LAN : 38:97:A4:xx:xx:60 (0:APPSBLENV, "eth1addr"/"ethaddr" (text))
WAN : 38:97:A4:xx:xx:63 (0:APPSBLENV, "eth0addr" (text))
2.4 GHz: 38:97:A4:xx:xx:61 (0:APPSBLENV, "wifi0" (text))
5 GHz : 38:97:A4:xx:xx:62 (0:APPSBLENV, "wifi1" (text))
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18543
Signed-off-by: Robert Marko <robimarko@gmail.com>
Make the ECC strength in the qpic-snand driver configurable via device
tree to use the device-specific ECC strength value.
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18543
Signed-off-by: Robert Marko <robimarko@gmail.com>
To further improve cleanup and maintenance usage, move the kernel
version files to target/linux/generic directory. This permits to self
contain any change to the specific generic directory instead of having
to bload the include directory of periodic changes.
In kernel-version.mk we now use GENERIC_PLATFORM_DIR provided by
target.mk. To make this work, we need to move the inclusion of
kernel-version.mk in target.mk right after GENERIC_PLATFORM_DIR is
defined.
This also comes to permit downstream project to provide a custom generic
directory and specify the kernel version complete of the hash and the
minor version without having to affect other feeds.
In such case both generic and the target directory are provided as feeds
and OpenWrt reference these specific one instead of the generic one.
For downstream it's still suggested and preferable to all match the
shipped generic kernel minor version but this change permits to at least
enforce good practice instead of having to bloat OpenWrt include file of
all kind of downstream changes (making porting to OpenWrt mainline even
more difficult)
Link: https://github.com/openwrt/openwrt/pull/18537
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
The TP-link Deco X80-5G is a AX WIFI router with a single 1G (LAN) and 1 2.5G (WAN) port with a built in Quectel 5G modem.
Specifications:
Architecture ARMv8-A (aarch64 Cortex A53, 4 cores)
Vendor Qualcomm
Bootloader U-Boot (2016)
System-On-Chip Qualcomm IPQ8074A (Networking Pro 1210 platform)
CPU/Speed 2.2GHZ
Flash-Chip ESMT F59D1G81MB-45TI 1G-bit NAND
Flash MB 128MB (1Gbit)
RAM-chip 2* ESMT M15T4G16256A-DEBG2G 2Gb DDR3L (32bit)
RAM MB 512MB (4Gbit)
WLan System-On-Chip (5g) Qualcomm QCN5054
WLan Front end modules (5g) 8* Qorvo QPF4588
WLAN (5G) A/N/AC/AX
WLAN Antenna (int) 8* (4 shared with 2.5G)
WLan System-On-Chip (2.4G) Qualcomm QCN5024
WLan Front end modules (2.4G) 4* Skyworks SKY85340-11
WLAN (2.4G) B/G/N/AX
WLAN Antenna (int) 4* (shared with 5g)
Eithernet-phy (1Gbit) Qualcomm (Atheros) AR8033-AL1A
Ethernet (1Gbit) 1*
Eithernet-phy (2.5Gbit) Qualcomm QCA8081
Ethernet (2.5Gbit) 1*
Switch Embedded in the SOC?
Serial 1.8v 8n1 (testpoints)
Modem System-On-Chip Qualcomm 5G RG50xQ (Snapdragon X55 platform)
5G modem capability 5000Mbps down 900Mbps up
5G modem bands N1/N3/N5/N7/N8/N20/N28/N38/N40/N41/N77/N78/N79
4G modem capability 4.5G LTE-Advanced Pro (Cat20 down 2Gbps) (Cat18 up 200Mbps)
4G modem FDD bands B1/B3/B5/B7/B8/B18/B19/B20/B26/B28
4G modem TDD bands B34/B38/B39/B40/B41/B42/B43
Modem antenna (int) 8* (5G/4G use)
Modem antenna (ext) 2* SMA connectors (5G/4G use)
SIM type 1* Nano SIM
Telephony 1* POTS RJ11
(see wiki for more info:)
https://openwrt.org/inbox/toh/tp-link/x80-5g_v1
Notes:
Installation Instructions:
Between antennas 7 and 8 on the PCB with the RGB harness there are three test pads labelled TP1 TP2 and TP3 connections are as follows:
|TP2|-- RX
|TP1|-- TX
|TP3|-- GND
RX requires an external pullup to operate somewhere around 5 K ohm but your luck may vary the Uart is 1.8v
Set a static IP and set up a tftpserver and terminal.
power the router and quickly type the magic string “tpl” and press enter to break into u-boot
in the shell set the environment variables to enable tftp booting
setenv ipaddr (routerIP)
setenv serverip (server IP)
load you initramfs:
tftpboot 0x44000000 (serverIP):openwrt-qualcommax-ipq807x-tplink_x80-5g-initramfs-uImage.itb
boot your initramfs
bootm
upload your factory image to /tmp
format and install the factory image:
ubiformat /dev/mtd12 -y -f /tmp/openwrt-qualcommax-ipq807x-tplink_x80-5g-squashfs-factory.ubi
Note as this device swaps root partitions upon update your boot partition may be set as mtd13
Update script to mount factory tplink partition's for MAC recovery and device data.
Capture Labelmac from Factory_data partition.
Patch LAN from Labelmac.
Patch ART from Labelmac.
Set GPIO to make modem operational from boot.
GPIO fan tables work like the stock device with three fan maps high active idle with a top fan speed of 6800 RPM.
High temp 70 deg speeds 6-8
Active temp 50 deg speeds 2-5
low temp 25 degree speed 0-1
Signed-off-by: jonathan brophy <professor_jonny@hotmail.com>
Link: https://github.com/openwrt/openwrt/pull/16329
Signed-off-by: Robert Marko <robimarko@gmail.com>
Patch script used for mounting of factory data partitions to not assume devices names or use hardcoded identifiers.
Signed-off-by: jonathan brophy <professor_jonny@hotmail.com>
Link: https://github.com/openwrt/openwrt/pull/16329
Signed-off-by: Robert Marko <robimarko@gmail.com>
This patch backport a fix for the SD card detection on NanoPi R6c/R6S
from upstream commit 95147bb42b
Signed-off-by: Antonio Flores <antflores627@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18553
Signed-off-by: Robert Marko <robimarko@gmail.com>
Prevent flashing truncated or otherwise corrupted uImage.FIT images
by verifying checksums and hashes of all sub-images before flashing
using the newly packaged fit_check_sign tool.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Add all boards using uImage.FIT to platform_check_image() case section
making sure we are dealing with a FIT image.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>