The commit 7160820d742a ("phy: rockchip: naneng-combphy: fix phy reset") was backported to kernel 6.6 branch by upstream, however the correspond dtsi fixes was not, resulting the following error: ``` [ 0.225521] rockchip-naneng-combphy fe830000.phy: error -ENOENT: failed to get phy reset [ 0.227467] rockchip-naneng-combphy fe840000.phy: error -ENOENT: failed to get phy reset ```
So backport the dtsi fixes here manually.
Fixes: 89b2356b8c2f ("kernel: bump 6.6 to 6.6.69") Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org> Link: https://github.com/openwrt/openwrt/pull/17468 Signed-off-by: Robert Marko <robimarko@gmail.com> (commit: 8a477ba)
kernel: add workaround for page_pool_release warnings
defer_list skbs held by NAPI can block releasing page pools. Work around this by scheduling rx softirq on all CPUs while trying to release a page pool.
Signed-off-by: Felix Fietkau <nbd@nbd.name> (commit: 2b70b32)
7a3bcd39ae1f r8169: use helper r8169_mod_reg8_cond to simplify rtl_jumbo_config e3e9e9039fa6 r8169: align WAKE_PHY handling with r8125/r8126 vendor drivers 330dc2297c82 r8169: improve rtl_set_d3_pll_down c507e96b5763 r8169: improve __rtl8169_set_wol 83cb4b470c66 r8169: remove leftover locks after reverted change 2cd02f2fdd8a r8169: improve initialization of RSS registers on RTL8125/RTL8126 a3d8520e6a19 r8169: align RTL8126 EEE config with vendor driver 4af2f60bf737 r8169: align RTL8125/RTL8126 PHY config with vendor driver eb90f876b796 r8169: align RTL8125 EEE config with vendor driver b8bd8c44a266 r8169: fix inconsistent indenting in rtl8169_get_eth_mac_stats f75d1fbe7809 r8169: add support for RTL8125D c4e64095c00c r8169: enable EEE at 2.5G per default on RTL8125B d64113c6bb5e r8169: remove rtl_dash_loop_wait_high/low 1c105bacb160 r8169: avoid duplicated messages if loading firmware fails and switch to warn level ac48430368c1 r8169: don't take RTNL lock in rtl_task() e3fc5139bd8f r8169: implement additional ethtool stats ops b8bf38440ba9 r8169: enable SG/TSO on selected chip versions per default 854d71c555df r8169: remove original workaround for RTL8125 broken rx issue 1ffcc8d41306 r8169: add support for the temperature sensor being available from RTL8125B
The following patches require backporting additional linux patches: e2015942e90a r8169: replace custom flag with disable_work() et al e340bff27e63 r8169: copy vendor driver 2.5G/5G EEE advertisement constraints
35bcf68a6297 wifi: mt76: scan: fix setting tx_info fields 4d8d6e2e7710 wifi: mt76: scan: set vif offchannel link for scanning/roc e354436db440 wifi: mt76: mt7996: use the correct vif link for scanning/roc
Signed-off-by: Felix Fietkau <nbd@nbd.name> (commit: f11bc4f)
Correct a few mistakes around dependencies and naming and unset CONFIG_FIRMWARE_RP1 in RPi5B's config and instead of a builtin, build it as a module.
Without this change, there are two entries for rp1.ko in /lib/modules/$(uname -r)/modules.builtin due to how we strip the leading directories when we generate it. See: package/kernel/linux/Makefile around line 63.
The kernel log gets spammed with tons of superfluous warnings as a results of the double entry:
daemon.warn modprobe: found duplicate builtin module rp1
Signed-off-by: John Audia <therealgraysky@proton.me> Link: https://github.com/openwrt/openwrt/pull/17461 Signed-off-by: Robert Marko <robimarko@gmail.com> (commit: f105d1a)
uboot-mediatek: add missing LED command for OpenWrt One
The u-boot LED command "led_loop_done" is missing from the OpenWrt One NAND flash u-boot. Copy it from the OpenWrt One NOR flash u-boot default environment to fix this issue.
ramips: mmc-mtk: add more vendor driver register init values
In the MTK vendor driver, mt762x SDXC registers MSDC_PATCH_BIT and MSDC_PATCH_BIT1 have different init values than upstream driver. These magical values should have some help for the stability.
The mt76x8 SDXC pin register definition is incompatible with the mtmips generic pinctrl driver structure. This hack allows us to mux the SDXC IO to different pin groups in device tree.
ramips: make package kmod-sdhci-mt7620 conflict with kmod-mmc-mtk
These two packages are SDXC drivers for Mediatek mt762x series SoCs. One is upstream implementation, and the other is downstream driver. Installing them together will result in conflicts.
lantiq: xrx200: add support for lan3 and lan4 on AVM 5490/5491
On the AVM 5490/5491, lan1, lan2 and wan ports are connected directly to the internal GSWIP switch. The lan3 and lan4 ports are connected via an external QCA8334 switch. This commit adds the missing entries in dts and adds the driver module.
Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl> Link: https://github.com/openwrt/openwrt/pull/17473 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> (commit: 14be320)
base-files: enable get_mac_ascii() to handle redundant strings
The function get_mac_ascii() will fail when there are two or more same MAC address variable names in the mtd partition. Only retain the first variable to workaround this rare situation.
include/trusted-firmware-a.mk: unset CC before compiling
If CC is explicitly set to a non default value, TF-A keeps this value. Otherwise it assigns generic default value. As the build bot set CC=/usr/bin/gcc-10, TF-A uses it which causes a compile issue. So unset CC before compiling.
It's a new behavior since v2.12. A part of the explanation is available in this commit [1].
ramips: mt76x8: add support for Keenetic Extra (KN-1713)
Specification: SoC: MediaTek MT7628AN RAM: 128M DDR2, Etron Technology EM68C16CWQG-25H Flash: 32M, cFeon EN25QH256A (Dual Boot, SPI) Switch: MediaTek MT7628AN, 4 ports 100 Mbps WiFi: MediaTek MT7628AN 2.4 GHz 802.11n and MediaTek MT7613BEN 5 GHz 802.11ac USB: 1 port USB 2.0 GPIO: 3 buttons (Wi-Fi, Reset, FN), 4 LEDs (Power, Internet, FN, Wi-Fi), USB port power controls
Disassembly: There are 2 screws at the bottom. After removing the screws, pry the gray plastic part around (it is secured with latches) and remove it.
UART Interface: The UART interface can be connected to the 5 pin located between the WAN port and the RESET button. Pins (from WAN port to Reset button): VCC, TX, RX, NC, GRD Settings: 115200, 8N1
Flashing via OEM recovery software: 1. Download the OEM recovery software from the manufacturer's website 2. Download the firmware image (for OpenWRT it is *-squashfs-factory.bin), rename it to KN-1713_recovery.bin 3. Replace the file in the fw folder OEM recovery software with the file from step 2. 4. Run the OEM recovery software and follow the instructions.
Flashing via TFTP: 1. Connect your PC and router to port 1-3, configure PC interface using IP 192.168.1.2, mask 255.255.255.252 2. Serve the firmware image (for OpenWRT it is *-squashfs-factory.bin) renamed to KN-1713_recovery.bin via TFTP 3. Power up the router while pressing Reset button on the back 4. Release Restart button when Power LED starts blinking
To revert back to OEM firmware: The return to the OEM firmware is carried out by using the methods described above with the help of the appropriate firmware image.
When using OEM bootloader, the firmware image size cannot exceed the size of one OEM «Firmware_x» partition or Kernel + rootFS size.
mediatek: mt7622: sync buffalo.sh with ramips/mt7621
Sync buffalo.sh with the one in ramips/mt7621 to improve handling of the TRX magic numbers of Buffalo WSR devices and switching sysupgrade method between buffalo_upgrade_ubinized() and nand_do_upgrade().
We can use a package for the MV88E6060 DSA switch on the single ath79 device that uses it, saving around 600 KB of memory on all other devices (for the DSA infrastructure, mainly).
As far as I can see the TP-Link TL WR941 v2 is the only device using MV88E6060 and the only device with a DSA switch overall.
However the ath79 people should look at this so I'm not mistaken.
Images for certain devices are staring to become too large, as some device only have 6MB available in their vendor partition layout for the initial install. This is especially pressing for bootloaders only supporting gzip compression.
Drop some packages from DEFAULT_PACKAGES that aren't strictly required for a factory install. The user can always install more packages later using opkg/apk, or via a sysupgrade to a custom build.
firewall4 is kept to ensure the most recent firewall package is selected in builds including LuCI. ethtool is kept as a frequently used diagnostics tool.
mediatek: Fix U-Boot variables handling for D-Link M30 A1
I think I implemented the U-Boot handling incorrectly on M30 (saw the issue while porting M60 to OpenWrt). Maybe someone with more U-Boot experience can have a look at it. What I understood until now:
Before flashing, `sw_tryactive` must be set to 0 because OpenWrt runs on partition 0
During reset after flashing, U-Boot executes the following line: `boot_rd_auto_sw_img=if itest.s ${sw_tryactive} == 2; then run boot_by_part; else run boot_by_tryactive; fi`
As `sw_tryactive` was set to 0 before flashing, `boot_by_tryactive` will be executed: `boot_by_tryactive=if itest.s ${sw_tryactive} == 0; then setenv sw_tryactive 2; setenv sw_active 1; saveenv; run ub0; else setenv sw_tryactive 2; setenv sw_active 2; saveenv; run ub1; fi`
As `sw_tryactive` was set to 0 before flashing, `sw_active` will be set to 1 and `ub0` will be executed: `ub0=setenv bootpart 0; mtkboardboot; run ub0to1; uip main; reset`
If the OpenWrt boot is successful, `ub0to1` and `uip` main will never be executed. Only in case OpenWrt cannot be loaded, `mtkboardboot` will return and the fallback `ub0to1` is executed.
Conclusion: It's sufficient to set `sw_tryacitve` to 0 before flashing, the added code in `target/linux/mediatek/filogic/base-files/etc/init.d/bootcount` is useless. In the worst case (/proc/cmdline doesn't contain `bootpart=ubi0` as expected), the bootpart variable would be set to 1 and causes starting the firmware from the second partition instead of the one on the first partition.