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>
(cherry picked from commit 3697022ce34cb6be196d62f1dbdf677bf6cabc22)
Link: https://github.com/openwrt/openwrt/pull/19894
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 20271bf505cf3b37527ec90d0c3dc173d6b6efac)
Required for latest mt76
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 6fbf6d0cfd080230ce4ca72605580b0c188db8a1)
(cherry picked from commit 03fe5966997363a08d686bca219b647f58ef4fc3)
6e4ffe2c6657 ucode: add function for getting the number of entries in a snapshot
a62edd89255b ucode: add support for fetching kernel tracepoint events
edeb4d6dc690 udebug-cli: add support for streaming tracing data
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 78188ee2bc3aabc4311539cead5c3a58c184945d)
(cherry picked from commit 5c37d1b9a71c6d107ae588964e872b3f43e53895)
3d953628bf17 udebugd: add support for setting an override config
93f6df0240e5 udebug-cli: add support for overriding config on the command line
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit c4e7b9b9b75f4cdd3fe4ec544412fba731afecd3)
(cherry picked from commit c1a8e48f3b287ead810e892529a5f812a689ac5c)
Allow initially generated MAC address to be preserved across reload
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 5bdb7a59906ee71d0178f78c4b3ce4c4ff4bb4e0)
(cherry picked from commit 76eb96c875fce2f8b83f3e2a7a675aade308c5c9)
The problem was fixed in upstream kernel in a different way and the
change was backported to kernel 6.6 in the following change:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.6.y&id=48e8791843206baf76827df1b6ee3cb88a2a17d8
The removed patch changes the endianness again and breaks the
functionality, use only the upstream code and remove our unneeded patch.
The 823-v6.12-0003-nvmem-layouts-add-U-Boot-env-layout.patch patch was
adapted in the kernel bump too. It moves the code with the fix now.
Fixes: 05d344cb2ca3 ("kernel: bump 6.6 to 6.6.100")
Reported-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/19830
(cherry picked from commit 4cd256c72a7e823e55475786eb1f2a1f7ffcd497)
Link: https://github.com/openwrt/openwrt/pull/19839
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 6bf869db0fe181b28ff71f3145715adc47de1a6b)
This makes 5ghz WiFi work out of the box on these devices, eliminating
the need to flash a magic blob to the radio partition.
This was found by user BulldozerBSG on the OpenWRT Forums:
https://forum.openwrt.org/t/tp-link-archer-mr600-exploration/65489/20
All credit belongs to them. I can confirm the correctness of the
findings. At least one other user (Iggy87100) confirmed them too.
Signed-off-by: Stefan Dösinger <stefandoesinger@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19790
(cherry picked from commit e7ed87b83b62cc3920cf1f25abbf6f06c96fee66)
Link: https://github.com/openwrt/openwrt/pull/19839
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit c510f7e9733e05d6496085cec1b2ac9b74f2aa19)
The vendor DTS defined incorrect GPIOs for the LEDs, which caused them
to not function properly. Initially, the WAN, WLAN LEDs appeared to
work, but further testing showed that they were non-functional.
This patch corrects the GPIO assignments in the DTS, restoring full LED
functionality including blinking, except the power LED which cannot be
software controlled.
Tested on a CF-EW71 v2 unit.
Fixes: ee3a6adc6c ("ath79: add support for Comfast CF-EW71 v2")
Signed-off-by: Felix Golatofski <git@xdfr.de>
Link: https://github.com/openwrt/openwrt/pull/19665
(cherry picked from commit 9ce23ac84009d720bb6d65605508bf8a737b184d)
Link: https://github.com/openwrt/openwrt/pull/19839
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 52ec0cbab8c1cf39014174508f67621d4490bba3)
A commit which broke netdev trigger LEDs offloaded to PHYs recently made
it all the way down to the Linux 6.6 stable branch. The revert has been
accepted to linux-next, however, a backport to the various -stable trees
is still pending.
Import the backported revert commit to fix in OpenWrt in the meantime
until the revert also gets picked to linux-stable.
Link: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=26f732791f2bcab18f59c61915bbe35225f30136
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 1de1df1bea94547150f01006062358ebe68ae874)
Link: https://github.com/openwrt/openwrt/pull/19839
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 7f683399632dfb1a3f53ed2e04d4871c23ce91a4)
This enables software that requires this cipher suite (e.g. OpenThread Border
Router) to be compiled against the shared library rather than a separate copy.
Signed-off-by: Karsten Sperling <ksperling@apple.com>
Link: https://github.com/openwrt/openwrt/pull/19489
(cherry picked from commit 97dc9f8dbfde8725ca26ae7ce0f348488e62e29e)
Link: https://github.com/openwrt/openwrt/pull/19839
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 2cffcdc7ae042c4fea79e8b21362e41aac43b81b)
This file should be generated automatically at runtime by the kernel
build system.
Link: https://github.com/openwrt/openwrt/pull/19473
(cherry picked from commit e53c53b7d59d444a7964fbeaa66609f13c1133f9)
Link: https://github.com/openwrt/openwrt/pull/19839
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit f894fa971b6135f14700cb8850856dec548d23b8)
There is some confusion in the Git log of this file. Specifically,
the commit message on 7b7f1702 incorrectly indicates that there was
"potential fear" about copyright infringement.
Upon review of this situation, there is, in my opinion, no concern of
copyright infringement here. This is not legal advice; it is my
opinion based of years of work on copyright policy for FOSS.
However, Elliott Mitchell's idea was obviously helpful as inspiration
in writing this script and deserves credit. Ideas alone, however,
are not to my knowledge copyrightable anywhere in the world.
Signed-off-by: Bradley M. Kuhn <bkuhn@sfconservancy.org>
(cherry picked from commit d8e738e5c4034bbc8bd29db25fb0abafdc2abf17)
Link: https://github.com/openwrt/openwrt/pull/19839
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit fcaa4fdbbf46063d46bd76f1347a30309911ff13)
The interrupt handler reads from the mailbox if no other reason for the
interrupt is known. If a spurious interrupt is received just after a
mailbox message has been sent, this means that the response to the
previous message is read again and returned by DSL_BSP_SendCMV instead
of the actual response.
To fix this, check the status register before reading from the mailbox
in the interrupt handler.
Tested on Fritzbox 7320. Without this change, there is occasionally a
kernel panic due to an out-of-bounds memory access in the ltq-adsl
driver (in DSL_DRV_DEV_G997_SnrAllocationNscGet), as a result of an
incorrect value returned by DSL_DRV_DANUBE_CmvRead. This is reproducible
by calling "dsl_cpe_pipe.sh g997dsnrg 1 1" multiple times.
Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://github.com/openwrt/openwrt/pull/19385
(cherry picked from commit 6889ea7b9a466b73f59fad9c6ae942728b907200)
Link: https://github.com/openwrt/openwrt/pull/19839
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit ba7b5d23f6977a65613ee32c28c2190cd01b485e)
The IPQ4019 datasheet indicates that the maximum supported SPI
frequency is 25 MHz. My experiment on SKSpruce WIA3300-20 shows
that exceeding this threshold can lead to instability of SPI
peripheral. Limit the SPI clock frequency to the QSDK recommended
value 24MHz to enhance stability.
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19744
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 3ff8a3dca8bc24296f501b3c74214eb5005354bf)
Link: https://github.com/openwrt/openwrt/pull/19796
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit e627539601d61099970ff41317f34dbc74342c75)
PR of openwrt:main: https://github.com/openwrt/openwrt/pull/19512
OpenFi 6C is a portable Wi-Fi 6 travel router based on MediaTek MT7981B+MT7976CN.
Two slightly different versions have been sold. The V1 board has a green color and lacks the modem LED. The V2 board is black and has a LED for the modem.
Specifications:
- SoC: MediaTek MT7981B (Filogic 820) 1.3GHz dual-core ARM Cortex-A53
- RAM: 1GB DDR4
- Flash: 256MB SPI NAND
- Wireless: 2.4GHz/5GHz 802.11ax
- Ethernet: 1x 10/100/1000M LAN
- USB: 1x USB 3.0 Type-A port
- Expansion: M.2 slot for 5G modem
- Cooling: PWM-controlled fan
- Buttons: Reset, Mode switch
- LEDs: System, Ethernet, 5G WiFi, Modem status
**Installation via U-Boot web page**
1. Set static IP 192.168.21.2/255.255.255.0 on your computer.
2. Connect to the Ethernet port and hold the reset button while booting the device. Wait for 6-8 seconds, and release the reset button.
3. Open U-boot web page on your browser at http://192.168.21.1
4. Select the OpenWRT sysupgrade image, upload it, and start the upgrade.
5. Wait for automatic reboot.
**Installation via sysupgrade**
Flash the sysupgrade file via LuCI upgrade page without saving the settings.
Signed-off-by: Jiasheng Zhu <newbanyaya@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19512
(cherry picked from commit 536a25ebf849b2de22792786b4c6f0c15471ee93)
Link: https://github.com/openwrt/openwrt/pull/19536
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 191d73846909142c694c6c24e4b8334f9f3d4df1)
Currently, if OEM recovery flashes OpenWrt to second ubi1,
OpenWrt cannot boot. With this commit, recovery image is built
with initramfs kernel, so that it can boot from either ubi or ubi1.
This adds an extra step to OpenWrt installation from OEM:
user needs to sysupgrade from initramfs to full system.
Signed-off-by: Mateusz Krzak <kszaquitto+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18878
(cherry picked from commit 6615c8cfc85f1373cf93a9fc08cb1cb3bbefc964)
Signed-off-by: Mateusz Krzak <kszaquitto+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19595
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 124f61eddbdc668ef5fc709b90510278f041bb64)
This is an industrial 4G router equipped with OpenWrt SNAPSHOT OEM
customized version
WARNING: The original firmware device tree is modified from evb
boards, and the device tree name is evb board. This submitted device
tree is a modified version, which deletes the non-this-device parts
and adds GPIO watchdog.
Specification:
- SoC: MediaTek MT7628NN
- Flash: 16 MB
- RAM: 128 MB
- Power: DC 5V-36V 1.5A
- Ethernet: 1x WAN [slot not install], 1x LAN (10/100 Mbps)
- Wireless radio: 802.11n 2.4g-only [antenna not install]
- LED:
System/Power (RUN): GPIO/37 active-low
Modem: GPIO/3 active-low
RF (Modem Signal): GPIO/2 active-low
- Button:
WPS / RESET: GPIO/11 active-low
- UART: 1x UART on PCB - 115200 8N1
- Serial / COM: 1X RS232/RS485 on board (GPIO/6 hi:RS485 lo:RS232)
- GPIO Watchdog: GPIO/0 mode=toggle timeout=1s
- Modem: 1x Built-in modem on board (Power: GPIO/4 active-high)
- PCIe: 1x miniPCIe for modem [slot not install]
- SIM Slots: 1x SIM Slots
Issue:
- Factory partition not store mac address on original firmware
Flash instruction:
Using SSH/Telnet:
1. Connect the board to the computer via RJ45 Ethernet
2. Login 192.168.8.1 with root password "superzxmn" (SSH Port 22, Telnet Port 5188)
3. Download openwrt firmware on the computer.
4. Use scp or sftp put firmware to board /tmp
5. Use command "mtd -r write openwrt-ramips-mt76x8-hongdian_h7920-v40-squashfs-sysupgrade.bin firmware"
to flash
Original Firmware Dump / More details:
https://blog.gov.cooking/archives/research-hongdian-h7920-v40-and-flash.html
Signed-off-by: Coia Prant <coiaprant@gmail.com>
Tested-by: Coia Prant <coiaprant@gmail.com>
(cherry picked from commit ebee9462273d3d30dbd29434e4f715ce39f80efc)
Link: https://github.com/openwrt/openwrt/pull/19716
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 05db6b3c5aa1eebbaf510f9954f2c7d2bb7a0963)
Backport some flow offload helper patch in preparation for Airoha Flow
Offload support.
Link: https://github.com/openwrt/openwrt/pull/18166
(cherry picked from commit 34ba7e8a8ab10900a3ca80fc40e7cafd1e7edb50)
[ drop merged patch 705-v6.12-netdevice-add-netdev... ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 97a75a72e3fffdc686c7ed7d0bb794f29a682221)
Backpot upstream patch for Flow Offload support for AN7581 and refresh
all affected patch. To correctly work a dedicated firmware is needed to
use the dedicated Network Coprocessor (NPU).
This also introduce good cleanup and moves the driver in a dedicated
Airoha directory. While currently not totally usable (due to lack of
firmware blob) this is needed to backport support for external PHY/SFP
support.
Refresh all affected patch.
Tested-by: Aleksander Jan Bajkowski <olek2@wp.pl> # tested on Quantum W1700k
Tested-by: Andrew LaMarche <andrewjlamarche@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18166
(cherry picked from commit ad2077165b337d2fe1b60a1a6d306ad355961952)
[ refresh patches ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit d12f30f76006c2fc24164853acf0bc2ecf47a566)
Backport some upstream patch for Airoha ethernet driver in preparation
for Flow Offload support.
Tested-by: Aleksander Jan Bajkowski <olek2@wp.pl> # tested on Quantum W1700k
Tested-by: Andrew LaMarche <andrewjlamarche@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18166
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit afea8bda0d9fc34032d7da04806c7f6caf971369)
(cherry picked from commit 62cee22812b0de9fc0517eb83362c14a798f5fa2)
Replace PCIe patch with upstream version and update DTS with new PBUS
CSR property now required.
Tested-by: Aleksander Jan Bajkowski <olek2@wp.pl> # tested on Quantum W1700k
Tested-by: Andrew LaMarche <andrewjlamarche@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18166
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 921d4385640af05637e9459c805855077cbd33c0)
(cherry picked from commit 30bd948a1ce88bc6d5ad7aaf9b146677bb00ab4e)
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>
(cherry picked from commit aa4c96b9250c06d07cde145441e391453f87ccb2)
(cherry picked from commit 1c817247186bcce50e4cbf0c737fe113843214ae)
Drop Airoha MTD parser patch as a better solution was agreed with a
fixed partition table.
Tested-by: Aleksander Jan Bajkowski <olek2@wp.pl> # tested on Quantum W1700k
Link: https://github.com/openwrt/openwrt/pull/18112
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 90dee1ab30809ee415a8f18965ec2193d438195c)
(cherry picked from commit 1fef2116ac9512bf03f8daaa47292f9fce786970)
This got added in commit 15887235, cherry-picked into the 24.10 branch
as 642b5b61 and was partially lost in a manual patch refresh in
3a2a2c99.
The main branch still contains the full set of rx DMA size changes, so I
assume it was lost by accident.
With rx.dma_size=2K, my TP-Link Archer MR600v2 (MT7621) randomly reboots
due to OOM.
Signed-off-by: Stefan Dösinger <stefandoesinger@gmail.com>
(cherry picked from commit 92d4f59709eac7422391187edbd85f2a14d5589b)
In the conversion to dts, qca,led-pin was used for both interfaces.
Unfortunately, it's mutually exclusive with gpio-controller which made
it not do anything.
Fixes: 949e1a0 ("mpc85xx: tl-wdr4900: move platform code to dts")
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19758
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit cc0ff28f235a14283138559249d413b7aa2a9a4d)
(cherry picked from commit 9d193d9b6549bd63117e17e22895b3cfb6de562b)
This reverts commit 693e5596d9.
No longer needed after fixing the original bug.
References: PPW-1656
Signed-off-by: Nabil BIZID <nabil.bizid@softathome.com>
The test expected a trailing blank line after each one-shot usp-cli
command. That blank line was never real CLI output: pre-PCF-2445, amx-cli
(which usp-cli, like ba-cli, is a front-end of) kept reading the stdin
inherited from the cram-over-ssh R wrapper and echoed its trailing newline
to stdout. Cram tests written in that era encoded the stray blank line as
expected output.
e893e4d4f2 ("profiles: prpl_core.yml: feed_amx: amx-cli: bump stdin fix")
bumped feed_amx to the PCF-2445 fix, so positional one-shot commands no
longer consume or echo the inherited stdin. The trailing blank line is now
deterministically gone for every usp-cli call, so the failure is not
intermittent ("in some cases ... but not always") but reproducible.
This test was added in 5c664a92d9 ("ci: cram: add new tests for inter
container communication"), authored before the amx-cli fix and merged
without being rebased onto it, so it kept the old blank-line expectations
and now fails.
Drop the stale blank-line expectations so the test matches the corrected
one-shot output, the same way the other cram tests were realigned in
e893e4d4f2 (e.g. 015-nat-reverse-portmapping.t), instead of masking them
with a per-command sed filter.
Fixes: 5c664a92d9 ("ci: cram: add new tests for inter container communication")
Closes: PPW-2028
References: FEAT-18, PCF-2445
Signed-off-by: Jef Steelant <jef.steelant_ext@softathome.com>
Currently, Process Manager always uses pgrep to determine whether a
service process is running
Support for procd scripts has been added to prplOS, allowing us to fetch
a more accurate service status using the `service status` command
Now, when building Process Manager with INIT_SYSTEM_PROCD, it will fetch
the Status value via `service status` command. When building with
INIT_SYSTEM_SYSTEMD, the old approach using pgrep will be used
Integrates:
- 85e9cd0: ("service: non-blocking status fetch", 2026-06-02)
- 84cce23: ("service: fetch status from procd", 2026-05-26)
References: PPM-4075
Signed-off-by: Mykola Hlukhenkyi <m.hlukhenkyi@inango-systems.com>
signed-off-by: Hela Saadani <hela.saadani_ext@softathome.com>