Move all patch that got merged upstream from pending to backport and add
related tag. This is to make it easier to update to kernel 6.12.
Patch 680 required some special care as the upstream version had to be
split in a series of 6 patch.
Referesh all affected patch.
Link: https://github.com/openwrt/openwrt/pull/18464
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
QCOM SPI NAND driver got merged upstream hence we can drop the special
patch from qualcommax and qualcommbe target and move them to the generic
backports directory to reduce patch maintenance.
While at it refresh any affected patch and target and also backport other
minor fixup for the SPI NAND driver merged upstream later.
Link: https://github.com/openwrt/openwrt/pull/17788
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Bridge port isolation offload support has been added to the bridge core
and many DSA drivers. mt7530 support was backported in OpenWrt commit
c4e6a147a6 ("generic: 6.6: mt7530: add support for bridge port
isolation").
Backport qca8k support as well.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/18375
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
The CONFIG_NET_SWITCHDEV option is needed by CONFIG_DSA and some other
options. It is boolean, we have to compile it into the kernel it self.
Activate it for all targets in the generic configuration, it is already
activated for most of them. This allows to install DSA drivers as a
module.
On the ramips/mt7620 target the kernel would grown by 4.5kB.
For some small targets which do not support a DSA switch by default the
option is deactivated.
Link: https://github.com/openwrt/openwrt/pull/17668
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
atm_qos struct should be the same both for user and kernel spaces. Via
the __SO_ENCODE() macro it is used to define the SO_ATMQOS socket IOC.
During the VRX518 support introduction, the atm_trafprm sturct nested
into the atm_qos stucture was update with newer fields that are
referenced by the ATM TC layer of the VRX518 TC driver. These new fields
are intended to communicate information for extra traffic classes
supported by the driver. But we are still using vanilla kernel headers
to build the toolchain. Due to the atm.h header incoherency br2684ctl
from linux-atm tools is incapable to configure the ATM bridge netdev:
br2684ctl: Interface "dsl0" created sucessfully
br2684ctl: Communicating over ATM 0.1.2, encapsulation: LLC
br2684ctl: setsockopt SO_ATMQOS 22 <-- EINVAL errno
br2684ctl: Fatal: failed to connect on socket; File descriptor in bad state
There are two options to fix this incoherency. (a) update the header
file in the toolchain to build linux-atm against updated atm_trafprm and
atm_qos structures, or (b) revert atm_trafprm changes.
Since there are no actual users of the extra ATM QoS traffic classes,
just drop these extra traffic classes from vrx518_tc ATM TC layer and
drop the kernel patch updating atm.h.
Besides fixing the compatibility with linux-atm tools, removing the
kernel patch should simplify kernel updates removing unneeded burden of
maintenance.
Run tested with FRITZ!Box 7530 with disabled extra traffic classes and
then removed them entirely before the submission.
CC: John Crispin <john@phrozen.org>
Fixes: cfd42a0098 ("ipq40xx: add Intel/Lantiq ATM hacks")
Suggested-by: Andre Heider <a.heider@gmail.com>
Reported-and-tested-by: nebibigon93@yandex.ru
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
Link: https://patchwork.ozlabs.org/project/openwrt/patch/20250122222654.21833-4-ryazanov.s.a@gmail.com/
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Some VRX518 modems fail to initialize properly with the error message
"dc_ep_clk_on failed". As a result, the DSL data path doesn't work.
This hack, which is based on code from the FRITZ!Box 7530 GPL archive,
fixes the issue. It changes the PCIe vendor/device ID to values matching
a Lantiq SoC. It also appears to emulate a Lantiq CPU ID register for
connected PCIe devices, by remapping the matching address area to a
specially crafted buffer using the address translation unit.
A dedicated compatible is created to activate this in
the device tree, so this shouldn't affect any devices other than
FRITZ!Box 7530/7520.
Original investigation was done in 59f5212517 which used the "avm,host_magic" property to enabled the patch.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Signed-off-by: Florian Maurer <f.maurer@outlook.de>
Link: https://github.com/openwrt/openwrt/pull/17622
Signed-off-by: Robert Marko <robimarko@gmail.com>
The Teltonika RUTX50 mac-addresses on its wired interfaces are currently
random on every boot.
Setting the mac-addresses from device-tree using nvmem does not work, as
the vendor bootloader mangles the mtd partitions, removing the
nvmem-cells property.
To remedy the random mac-addresse, set the correct ones in preinit.
Signed-off-by: David Bauer <mail@david-bauer.net>
Turn on the 5G modem of the RUTX50 on by default.
This allows to make the modem detectable on a fresh
installation OOTB without further intervention.
Signed-off-by: David Bauer <mail@david-bauer.net>
ChromiumOS's vboot_reference tooling [1] provides convenient access to
various firmware and hardware details via its `crossystem` tool.
crossystem currently:
(1) relies on the v1 GPIO cdev API to read GPIOs; and
(2) expects gpio-line-names properties.
Enable the kernel config, and document a few pins for Google WiFi
devices.
I only go so far as to pull two relevant names out of the vendor device
tree. Others could perhaps be backfilled if the info is available and
useful.
[1] https://chromium.googlesource.com/chromiumos/platform/vboot_reference/+/HEAD/README
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16014
Signed-off-by: Robert Marko <robimarko@gmail.com>
Updating the driver patches for ipq40xx (correctly) removed the
ethernet0 alias from qcom-ipq4019.dtsi; however, on some devices this
alias is needed for the bootloader to set MAC addresses in the FDT.
As it is unknown which devices actually need the alias, simply add it to
all devices trees for now that enable the &gmac now to avoid regressions
from previous OpenWrt releases. The additional alias should not cause any
issues even when it is not needed.
A TODO comment is added to the same Device Trees to document that the
alias may not be needed (hopefully preventing it from being copied
unnecessarily to newly added devices in the future). The following
devices are known to need the alias for correct MAC address assignment,
so no TODO comment is added:
- FRITZ!Box 4040
- FRITZ!Box 7530
Fixes: cd9c721124 ("ipq40xx: 6.1: use latest DSA and ethernet patches")
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Link: https://github.com/openwrt/openwrt/pull/17442
Signed-off-by: Robert Marko <robimarko@gmail.com>
Netgear Orbi devices rely on ethernet0 alias to be present to U-Boot will
populate the MAC.
This fixes the random MAC on each boot after the ethernet0 alias was
dropped from the SoC DTSI.
Fixes: cd9c721124 ("ipq40xx: 6.1: use latest DSA and ethernet patches")
Fixes: #17384
Link: https://github.com/openwrt/openwrt/pull/17414
Signed-off-by: Robert Marko <robimarko@gmail.com>
We have seen hung devices and failures during SPI transactions on
Fritzbox devices with a gluon based freifunk network. We have narrowed
down that disabling DMA for spi fixes the problem, so disable dma for
the SPI controller on the Fritzbox 4040.
Signed-off-by: Rouven Czerwinski <rouven@czerwinskis.de>
Link: https://github.com/openwrt/openwrt/pull/15966
Signed-off-by: John Crispin <john@phrozen.org>
Drop ipq-wifi-teltonika_rutx from Teltonika RUTX50, the board file was
merged upstream but the ipq package was never dropped from
DEVICE_PACKAGES list.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Set the physical switch to KEY_RFKILL, since its previous value
(KEY_SETUP) is unsupported. This should also make the KEY_RESET button
functional, by allowing the gpio-button-hotplug kmod to load.
Signed-off-by: Chris Jones <cmsj@tenshu.net>
Link: https://github.com/openwrt/openwrt/pull/16564
Signed-off-by: Robert Marko <robimarko@gmail.com>
Specification
-------------
- SoC : Qualcomm IPQ4019
- RAM : 256 MiB DDR3 (NT5CC128M16JR-EK)
- Flash : 64 MiB SPI NOR (Winbond W25Q512JVFQ)
- WLAN : IPQ4019 built-in
- 2.4 GHz : 2x2 MIMO WiFi4
- 5 GHz : 2x2 MIMO WiFi5
- Ethernet : QCA8075 10/100/1000 Mbps 1x WAN (ETH1, PoE); 1x LAN (ETH2)
- USB : 1x 2.0 Type-A
- UART : 3.3V, 115200n8
- Buttons : 1x Reset
- LEDs : 1x RUN (lime & red)
1x WiFi 2.4 GHz (lime)
1x WiFi 5 GHz (lime)
2x ETH (lime), controlled by the QCA8075 phy
- Power : DC 12V & 802.3at PoE
- FCC ID : 2AHKT-WIA3300-20
- TFTP IP :
- client : 192.168.18.254
- router : 192.168.18.1
Installation
------------
1. Open uart console and start TFTP server. Copy initramfs image to
the TFTP root directory and rename it to 'ipqinitramfs.bin'.
2. Power on and press 'Enter' to exit to the u-boot console according
to the TTL log prompt.
3. Execute commands to load the initramfs image:
tftpboot && bootm
4. Enter into OpenWrt to backup the partitions if you want to restore
the stock firmware one day.
5. Override default 'bootcmd' environment variable in u-boot console:
env set bootcmd 'sf probe && sf read $loadaddr 0x980000 0x800000 && bootm $loadaddr'
env save
6. Repeat step 3 and flash 'sysupgrade' image in OpenWrt.
Recovery and return to stock
----------------------------
1. Restore the backup firmware partitions in the installation step 4.
2. Restore `bootcmd` environment variable via commands:
env set bootcmd bootipq && env save
MAC addresses
-------------
+---------+-------------------+
| | MAC example |
+---------+-------------------+
| LABEL | xx:xx:xx:xx:xx:25 |
| LAN | xx:xx:xx:xx:xx:26 |
| WAN | xx:xx:xx:xx:xx:25 |
| WLAN 2g | xx:xx:xx:xx:xx:28 |
| WLAN 5g | xx:xx:xx:xx:xx:29 |
+---------+-------------------+
Notice
-----------
1. Some CH340 USB-TTL module doesn't work on this device.
2. The 'firmware' partition consists of four parts in the vendor
layout:
* Name Start Size
* rootfs 0x980000 0x1680000
* 0:HLOS1 0x2000000 0x800000
* rootfs_1 0x2800000 0x1400000
* rootfs_data 0x3c00000 0x350000
3. User can control the USB power supply via commands:
echo enabled > /sys/devices/platform/output-usb-power/state
echo disabled > /sys/devices/platform/output-usb-power/state
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16476
Signed-off-by: Robert Marko <robimarko@gmail.com>
...conversion.
Commit 20736013e9 ("kernel: backport nvmem v6.6 fixes and v6.7 changes")
has causedt he device to no longer correctly read MAC address from its
onboard 24c64 EEPROM, because "at24" driver doesn't support legacy
nvmem-cell bindings [1] - and there was an explicit config option added
to mandate that behaviour in the following patch:
820-v6.7-0002-nvmem-add-explicit-config-option-to-read-old-syntax-.patch
But some of the devices, MR33 and MR74 included, weren't converted with
that as well.
Convert the definition to use proper fixed-layout binding to fix it.
The offending change was introduced between v23.05.0 and v23.05.1, and
found by bisection:
git bisect start
# status: waiting for both good and bad commits
# good: [bd4f415efa] OpenWrt v23.05.0: adjust config defaults
git bisect good bd4f415efa
# status: waiting for bad commit, 1 good commit known
# bad: [a58a86693f] OpenWrt v23.05.1: adjust config defaults
git bisect bad a58a86693f
# good: [3d0a78add2] qualcommax: only build initramfs if CONFIG_TARGET_ROOTFS_INITRAMFS is set
git bisect good 3d0a78add2
# bad: [21e5db97c4] build: add CycloneDX SBOM JSON support
git bisect bad 21e5db97c4
# good: [89184b15cf] mediatek: add build for MT7981 RFB
git bisect good 89184b15cf
# bad: [41f27bbb6d] bcm53xx: add the latest fix version of brcm_nvram
git bisect bad 41f27bbb6d
# good: [b649b0bf71] kernel: nvmem: fix "fixed-layout" & support "mac-base"
git bisect good b649b0bf71
# bad: [20736013e9] kernel: backport nvmem v6.6 fixes and v6.7 changes
git bisect bad 20736013e9
# good: [066971615f] kernel: backport v6.6 nvmem changes
git bisect good 066971615f
# first bad commit: [20736013e9] kernel: backport nvmem v6.6 fixes and v6.7 changes
Link: [1] https://github.com/openwrt/openwrt/issues/15393#issuecomment-2212300849
Fixes: 20736013e9 ("kernel: backport nvmem v6.6 fixes and v6.7 changes")
Fixes: https://github.com/openwrt/openwrt/issues/15393
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16623
Signed-off-by: Robert Marko <robimarko@gmail.com>
Add the GPIO pin of the PoE passthrough switch on the Aruba AP-303H.
Power is activated when the pin is low. It enables a PSE chip, so power
is only supplied to downstream devices when they are 802.3af/at
compliant devices.
Ensure you use a sufficient power supply when chaining a consuming
device after the AP.
Signed-off-by: David Bauer <mail@david-bauer.net>
Aruba boards now ship with multiple DTS and image-configurations per
image. Newer apboot revs expect a configuration for their hardware to be
present.
Signed-off-by: David Bauer <mail@david-bauer.net>
The company Zyxel rebranded some years ago.
Currently the casing is according to the old branding even
for newer devices which already use the new branding.
This commit aligns the casing of Zyxel everywhere.
Signed-off-by: Goetz Goerisch <ggoerisch@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15652
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
BDFs come from latest firmware, version 1.1.19.209880 (2022-06-20):
- /lib/firmware/IPQ4019/v1/FCC/boardData_1_0_IPQ4019_DK04_2G.bin
- /lib/firmware/IPQ4019/v1/FCC/boardData_1_0_IPQ4019_DK04_5G.bin
- /lib/firmware/QCA9888/v1/FCC/boardData_2_0_QCA9888_5G_Y9690_SBS_HB.bin
Signed-off-by: Rodrigo Balerdi <lanchon@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15844
Signed-off-by: Robert Marko <robimarko@gmail.com>
Currently, only the WAN MAC is being populated on Habanero DVK, and that is
happening via the ethernet1 alias so U-Boot does it, previously ethernet0
was implicitly added in the SoC DTSI so it would populate the LAN MAC-s but
it was dropped(rightly so) so now LAN MAC-s and the GMAC one are random.
So, lets simply switch to using NVMEM to assign the proper MAC adresses.
Signed-off-by: Robert Marko <robimarko@gmail.com>