aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ipq806x: Correct OnHub sysupgrade config logicBrian Norris2023-09-161-1/+1
| | | | | | | | | | | There's a typo in here: board_name is a function, not a variable. This issue was pointed out on the OpenWrt forum. Closes: #13409 Reviewed-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Brian Norris <computersforpeace@gmail.com> (cherry picked from commit 7b78a19e6a16f5c05bfc6d7925b9981048c508d7)
* x86: geode: fix hwrng register accessesJonas Gorski2023-09-141-0/+47
| | | | | | | | | | | | | | | | | | | | When the membase and pci_dev pointer were moved to a new struct in priv, the actual membase users were left untouched, and they started reading out arbitrary memory behind the struct instead of registers. This unfortunately turned the RNG into a constant number generator, depending on the content of what was at that offset. To fix this, update geode_rng_data_{read,present}() to also get the membase via amd_geode_priv, and properly read from the right addresses again. Closes #13417. Reported-by: Timur I. Davletshin <timur.davletshin@gmail.com> Tested-by: Timur I. Davletshin <timur.davletshin@gmail.com> Suggested-by: Jo-Philipp Wich <jo@mein.io> Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> (cherry picked from commit 09d13cd8d87cc50fde67bbe81c6cca4b799b2724)
* base-files: sysupgrade: Add 2 sec sleep into process KILL loopHannu Nyman2023-09-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add 2 seconds sleep after each forcibly killed/tried-to-kill process in the final process termination loop in sysupgrade stage2. This is needed especially for qualcommax/ipq807x, where ath11k wireless driver may have a long 10-20 seconds delay after termination before actually getting killed. This often breaks sysupgrade. The current KILL loop in kill_remaining does all 10 kill attempts consecutively without any delay, as evidenced here in a failing sysupgrade. It does not allow any time for the process to finalize its internal termination. Sat Sep 2 19:05:56 EEST 2023 upgrade: Sending TERM to remaining processes ... Sat Sep 2 19:05:56 EEST 2023 upgrade: Sending signal TERM to hostapd (2122) Sat Sep 2 19:05:56 EEST 2023 upgrade: Sending signal TERM to hostapd (2138) Sat Sep 2 19:06:00 EEST 2023 upgrade: Sending KILL to remaining processes ... Sat Sep 2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2122) Sat Sep 2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138) Sat Sep 2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138) Sat Sep 2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138) Sat Sep 2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138) Sat Sep 2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138) Sat Sep 2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138) Sat Sep 2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138) Sat Sep 2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138) Sat Sep 2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138) Sat Sep 2 19:06:00 EEST 2023 upgrade: Sending signal KILL to hostapd (2138) Sat Sep 2 19:06:00 EEST 2023 upgrade: Failed to kill all processes. sysupgrade aborted with return code: 256 The change in this commit adds a 2 seconds delay after each kill attempt in order to allow some processes to more gracefully handle their internal termination. The result is like this: Sun Sep 3 11:15:10 EEST 2023 upgrade: Sending TERM to remaining processes ... Sun Sep 3 11:15:10 EEST 2023 upgrade: Sending signal TERM to hostapd (2309) Sun Sep 3 11:15:10 EEST 2023 upgrade: Sending signal TERM to hostapd (2324) Sun Sep 3 11:15:14 EEST 2023 upgrade: Sending KILL to remaining processes ... Sun Sep 3 11:15:14 EEST 2023 upgrade: Sending signal KILL to hostapd (2309) [ 699.827521] br-lan: port 7(hn5wpa2r) entered disabled state [ 699.908673] device hn5wpa2r left promiscuous mode [ 699.908721] br-lan: port 7(hn5wpa2r) entered disabled state [ 701.038029] br-lan: port 6(hn5wpa3) entered disabled state Sun Sep 3 11:15:16 EEST 2023 upgrade: Sending signal KILL to hostapd (2324) [ 702.058256] br-lan: port 5(hn2wlan) entered disabled state [ 709.250063] stage2 (8237): drop_caches: 3 Sun Sep 3 11:15:25 EEST 2023 upgrade: Switching to ramdisk... The delay introduced here only kicks in if there is some process that does not get terminated by the first TERM call. Then there is at least one 2 sec wait after the first KILL loop round. This commit is related to discussion in PRs #12235 and #12632 Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi> Reviewed-by: Robert Marko <robimarko@gmail.com> (cherry picked from commit 47d56ae5463f1965750d3f75390c96d69f969145)
* uboot-envtools: ramips: add support for ALFA Network AX1800RMPiotr Dymacz2023-09-111-3/+4
| | | | | Signed-off-by: Piotr Dymacz <pepe2k@gmail.com> (backported from commit 69f12c2f23c6d32a5fdda2385b4156c9b8bfae22)
* ramips: add support for ALFA Network AX1800RMPiotr Dymacz2023-09-114-28/+256
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ALFA Network AX1800RM (FCC ID: 2AB877621) is a dual-band Wi-Fi 6 (AX1800) router, based on MediaTek MT7621A + MT79x5D platform. Specifications: - SOC: MT7621A (880 MHz) - DRAM: DDR3 256 MiB (Nanya NT5CC128M16JR-EK) - Flash: 16 MiB SPI NOR (EN25QH128A-104HIP) - Ethernet: 4x 10/100/1000 Mbps (SOC's built-in switch) - Wi-Fi: 2x2:2 2.4/5 GHz (MT7905DAN + MT7975DN) (MT7905DAN doesn't support background DFS scan/BT) - LED: 6x green, 1x green/red - Buttons: 2x (reset, WPS) - Antenna: 4x external, non-detachable omnidirectional - UART: 1x 4-pin (2.54 mm pitch, J4, not populated) - Power: 12 V DC/1 A (DC jack) MAC addresses: LAN: 00:c0:ca:xx:xx:4e (factory 0x4, +2) WAN: 00:c0:ca:xx:xx:4f (factory 0x4, +3) 2.4 GHz: 00:c0:ca:xx:xx:4c (factory 0x4, device's label) 5 GHz: 00:c0:ca:xx:xx:4c (factory 0xa) Flash instructions for web-based U-Boot recovery: 1. Power the device with WPS button pressed and wait around 10 seconds. 2. Setup static IP 192.168.1.2/24 on your PC. 3. Go to 192.168.1.1 in browser and upload 'recovery' image. The device runs LEDE 17.01 (kernel 4.4.x) based firmware with 'failsafe' mode available which allows alternative upgrade method: 1. Run device in 'failsafe' mode and change password for default user. 2. SSH to the device, transfer 'sysupgrade' image and perform upgrade in forced mode, without preserving settings: 'sysupgrade -n -F ...'. Other notes: If you own early version of this device, the vendor firmware might refuse OpenWrt image because of missing custom header. In that case, ask vendor's customer support for stock firmware without custom header support/requirement. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com> (backported from commit f1aaa267f0ea18ffe5840f3ce46a48be123d2f62)
* arm-trusted-firmware-mediatek: fix hang on reboot on MT7622Daniel Golle2023-09-112-1/+29
| | | | | | | | | | With recent updates of TF-A the previously already fixed bug slipped back into the source tree. Again, reorder bl2 init for MT7622 and initialize WDT only after DRAM init has completed to avoid the notorious hang. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 948ad2ec7a21645bac4d523c8f31d1cc3e2eac71)
* uboot-mediatek: sync mtk-snand driver with SDKDaniel Golle2023-09-111-6/+26
| | | | | | | | | Sync SPI-NAND/ECC controller driver for MT7622, MT7981, MT7986 and MT7988: * Platform data for MT7981 was actually missing and is now added. * Add support for Winbond W25N01KV 1Gbit chip. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 9725524235b30b436f6430d70cd809abf1b48a91)
* mac80211: fix MT7620 Wi-Fi channel scanning functionShiji Yang2023-09-051-57/+36
| | | | | | | | | | | | | During the channel scanning process, the driver will continuously switch channels. It seems that the full RF calibration step in rt2800_config_channel() caused the channel scanning function to timeout. To fix it, move the RF calibration to rt2800_enable_radio() so that it is only executed once. This commit also includes some coding format adjustments to follow the Linux recommended style. Fixes: 2824fa6963cf ("mac80211: rework MT7620 PA/LNA RF calibration") Signed-off-by: Shiji Yang <yangshiji66@qq.com> (cherry picked from commit ce6ad123e76311d2a882054b4ea532d1bfb643c8)
* ramips: pinctrl: support requesting different functions for same groupShiji Yang2023-09-041-0/+45
| | | | | | | | | | | MT7620 wireless radio needs change the pin group function between "gpio" and "pa" during the calibration process. However, ralink pinctrl driver doesn't support requesting different functions for the same group. This patch enables pinctrl consumers to perform such operations. Signed-off-by: Shiji Yang <yangshiji66@qq.com> (cherry picked from commit b4ea49ad442d2884d0b86009f404f125635c4153)
* mac80211: rework MT7620 PA/LNA RF calibrationShiji Yang2023-09-041-0/+434
| | | | | | | | | | | | | | | | This patch makes some improvements to the MT7620 RF calibration. 1. Move MT7620 PA/LNA calibration code to dedicated functions. 2. Restore RF and BBP registers before R-Calibration. 3. Do Rx DCOC calibration again before RXIQ calibration. 4. Use SoC specific AGC initial LNA value. 5. Correct MAC_RX_EN mask in rt2800_r_calibration()[1]. [1] This change may fix the "BBP/RF register access failed" error: ieee80211 phy0: rt2800_wait_bbp_rf_ready: Error - BBP/RF register access failed, aborting Signed-off-by: Shiji Yang <yangshiji66@qq.com> (cherry picked from commit 2824fa6963cf245b7e0b04aa96bcbe5013524b85)
* mediatek: mt7622: set DEVICE_DTC_ADDR for BPi-R64Daniel Golle2023-09-041-0/+1
| | | | | | | | | Relocating the device tree is required for being apply to apply device tree overylay at boot. Fixes: 34bb33094a ("mediatek: use updated device tree overlay mechanism for BPi-R64") Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit a8cbee8e2d11dd139c1dea1f7289bdf28b1e2b52)
* arm-trusted-firmware-mediatek: enable built-in 2.5G PHY on MT7988Daniel Golle2023-09-041-0/+11
| | | | | | | | | | | Always enable built-in 2.5G PHY on MT7988 for now, so that it can be used. In future it would be nice to be able to switch power and MDIO access via address 0 at run-time in Linux, both, to be able to use external PHYs at address 0 and to reduce power consumption on systems not using the built-in 2.5G PHY. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 33046d2a471ed687404a617c356b9cdf5652c2d6)
* uboot-mediatek: fix dependency on TF-A for MT7988 RFB (sdmmc)Daniel Golle2023-09-041-1/+1
| | | | | | | | | | The U-Boot build for the MT7988 reference board booting from SD card wrongly depended on the 'ddr4' variant of the ARM TrustedFirmware-A build even though the 'comb' variant is used. Fix that dependency. Fixes: 572ea68070 ("uboot-mediatek: add patches for MT7988 and builds for RFB") Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 78e3adcaf993cd1a58821a69efccfca8d380f754)
* mediatek: filogic: remove stray quoteDaniel Golle2023-09-041-1/+1
| | | | | | | | | When adapting the network configuration for MT7988 RFB a stray quote was left in a script. Remove it to fix generating the default network configuration. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 8f5986355cdc5df921ef8232f559ca7bfb18f1ed)
* generic: sync MediaTek Ethernet driver with upstreamDaniel Golle2023-09-0463-3036/+4883
| | | | | | | | Import commits from upstream Linux replacing some downstream patches. Move accepted patches from pending-{5.15,6.1} to backport-{5.15,6.1}. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit f631c7bbb16f1d39d59c4cdf3f7189abab4fd9c6)
* mediatek: add support for Ubiquiti UniFi 6 LR v3Daniel Golle2023-09-047-27/+316
| | | | | | | | | | Some recent models of the Ubiquiti Networks UniFi 6 LR access point come with a RealTek RTL8211FS 1000M/100M/10M PHY instead of the Aquantia AQR112 2500M/1000M/100M/10M PHY used in both v1 and v2. Add build for this variant so we can support Ethernet with the PHY. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit a0f4eadf6a25fb54c189bde91425673e11125d35)
* uboot-mediatek: add builds for UniFi 6 LR v2 and v3Daniel Golle2023-09-042-6/+634
| | | | | | | | While the v2 is nearly identical to v1, v3 uses a different PHY and needs a different build for Ethernet to work in U-Boot. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit fff4441135ed9290eb2f947f931b826a60d6c167)
* mediatek: generate bootloader artifacts for mt7988_rfbDaniel Golle2023-09-0418-284/+995
| | | | | | | | Switch to OpenWrt uImage.FIT bootmethod and include various bootloader artifacts with the generated binaries. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 035a88ae5564ac680c64ed7219b8b66733ac84c6)
* uboot-mediatek: build fully-featured U-Boot for MT7988 RFBDaniel Golle2023-09-044-16/+342
| | | | | | | | | | | | | | | | | | | Select many potentially useful options for the MT7988 RFB U-Boot builds. The resulting loader is intended as a development tool and intends to be generic. It does *not* have a default bootcmd set, but allows to boot pretty much everything, including EFI executables. To install this U-Boot build to the eMMC: opkg install mmc-utils partx-utils mmc bootpart enable 1 1 /dev/mmcblk0 echo 0 > /sys/block/mmcblk0boot0/force_ro dd if=*mediatek_mt7988a-rfb-nand-emmc-preloader.bin of=/dev/mmcblk0boot0 dd if=*mediatek_mt7988a-rfb-nand-emmc-gpt.bin of=/dev/mmcblk0 partx -a /dev/mmcblk0 dd if=*mediatek_mt7988a-rfb-nand-emmc-bl31-uboot.fip of=/dev/mmcblk0p3 Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 1d5778e18d9a6bef26aff3a8594306fc45e9be76)
* mediatek: improve mt7981.dtsiDaniel Golle2023-09-041-19/+52
| | | | | | | | * re-factor WED components to boot fine also on limited loaders * add LEDs of integrated GE PHY Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 3ef8760e876e09fa91b54a09b2a5003c175829d3)
* mediatek: filogic: improve pinctrl driversDaniel Golle2023-09-042-31/+32
| | | | | | | | Set correct pull-type data and add additional uart groups for MT7981. Assign functions to configure pin bias for MT7986. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 9f8fde216d994ce47b1eca15de190aa9b8f67b9a)
* mediatek: i2c: mt65xx: allow optional pmic clockDaniel Golle2023-09-041-0/+45
| | | | | | | | | | | | | | Using the I2C host controller on the MT7981 SoC requires 4 clocks to be enabled. One of them, the pmic clk, is only enabled in case 'mediatek,have-pmic' is also set which has other consequences which are not desired in this case. Allow defining a pmic clk even in case the 'mediatek,have-pmic' propterty is not present and the bus is not used to connect to a pmic, but may still require to enable the pmic clock. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 2544dc34f2a6e5721096ee62efa66d36d45b2dd1)
* mediatek: re-add dropped properties on BPi-R3Daniel Golle2023-09-043-11/+25
| | | | | | | | | | | | Unfortunately some device tree properties have slipped under the table when switching from our downstream device tree. Bring back 3W power for SFP cages and restore thermal trip points to make sense again. Fixes: 7a0ec001ff ("mediatek: sync MT7986 device trees with upstream") Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 06a150aed795066ce79a623011884cc0abf290f1)
* generic: backport initial LEDs hw control supportChristian Marangi2023-09-0449-32/+2708
| | | | | | | | | | | | | | Backport initial LEDs hw control support. Currently this is limited to only rx/tx and link events for the netdev trigger but the API got accepted and the additional modes are working on and will be backported later. Refresh every patch and add the additional config flag for QCA8K new LEDs support. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 0a4b309f41062ef40706162ae53b6428982a0685)
* kernel: bump 5.15 to 5.15.130John Audia2023-09-031-2/+2
| | | | | | | | | | | | | Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.130 No patches needed a rebased. Update to checksum only. Build system: x86_64 Build-tested: ramips/tplink_archer-a6-v3 Run-tested: ramips/tplink_archer-a6-v3 Signed-off-by: John Audia <therealgraysky@proton.me> (cherry picked from commit e793b4bde535b86aab35512c8791c805444e5aff)
* kernel: bump 5.15 to 5.15.129John Audia2023-09-037-11/+11
| | | | | | | | | | | | | | | Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.129 All patches automatically rebased. Build system: x86_64 Build-tested: ramips/tplink_archer-a6-v3 Run-tested: ramips/tplink_archer-a6-v3 Signed-off-by: John Audia <therealgraysky@proton.me> (cherry picked from commit 1db566b6928447ff4c4f86ad1be7e0a6d5a58d16) [Refresh on top of OpenWrt 23.05] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: bump 5.15 to 5.15.128John Audia2023-09-038-15/+15
| | | | | | | | | | | | | | | Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.128 All patches automatically rebased. Build system: x86_64 Build-tested: ramips/tplink_archer-a6-v3 Run-tested: ramips/tplink_archer-a6-v3 Signed-off-by: John Audia <therealgraysky@proton.me> (cherry picked from commit e80a3875172178cdcc02d13826717413cc1534a8) [Refresh on OpenWrt 23.05] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: allow adding devices without hw offload to a hw flowtableFelix Fietkau2023-09-011-0/+29
| | | | | | | This allows supporting a mix of devices with or without hw offloading support Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry picked from commit c5b7be83168644f3cfadc7b0fbe471e1664b1069)
* urngd: update to the latest masterRafał Miłecki2023-08-281-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | 7aefb47 jitterentropy-rngd: update to the v1.2.0 What's interesting about jitterentropy-rngd v1.2.0 release is that it bumps its copy of jitterentropy-library from v2.2.0 to the v3.0.0. That bump includes a relevant commit 3130cd9 ("replace LSFR with SHA-3 256"). When initializing entropy jent calculates time delta. Time values are obtained using clock_gettime() + CLOCK_REALTIME. There is no guarantee from CLOCK_REALTIME of unique values and slow devices often return duplicated ones. A switch from jent_lfsr_time() to jent_hash_time() resulted in many less cases of zero delta and avoids ECOARSETIME. Long story short: on some system this fixes: [ 6.722725] urngd: jent-rng init failed, err: 2 This is important change for BCM53573 which doesn't include hwrng and seems to have arch_timer running at 36,8 Hz. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit c74b5e09e692839b39c8325b5f8dc5f2a3b3896c)
* nettle: update to 3.9.1Nick Hainke2023-08-271-2/+2
| | | | | | | | Announcement: https://lists.gnu.org/archive/html/info-gnu/2023-06/msg00000.html Signed-off-by: Nick Hainke <vincent@systemli.org> (cherry picked from commit fabd8915698d9fb21aa80100a51e097505b61225)
* Revert "ath11k-firmware: update to stable WLAN.HK.2.9.0.1-01837"Robert Marko2023-08-271-5/+5
| | | | | | | | | This reverts commit 23953cfa5afa2e8cd9e1c1475d065cb954d8ceb6. 01837 seems to be having multiple issues, one being broken multicast so lets revert to the last version that was better for the stable branch. Signed-off-by: Robert Marko <robimarko@gmail.com>
* mt76: update to the latest versionFelix Fietkau2023-08-261-6/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bdf7ca5db707 wifi: mt76: mt7921: move common register definition in mt792x_regs.h ae15d5c6b567 wifi: mt76: mt7921: convert acpisar and clc pointers to void 02515b6b90f0 wifi: mt76: mt7921: rename mt7921_vif in mt792x_vif 6ed8a8bdc7b6 wifi: mt76: mt7921: rename mt7921_sta in mt792x_sta 80234e64e7c5 wifi: mt76: mt7921: rename mt7921_phy in mt792x_phy 2485b4222d3d wifi: mt76: mt7921: rename mt7921_dev in mt792x_dev c6fd7cde77e0 wifi: mt76: mt7921: rename mt7921_hif_ops in mt792x_hif_ops 1a1a57b5f8c4 wifi: mt76: mt792x: move shared structure definition in mt792x.h 68508aab4241 wifi: mt76: mt7921: move mt792x_mutex_{acquire/release} in mt792x.h ff306af07e65 wifi: mt76: mt7921: move mt792x_hw_dev in mt792x.h 4b49d659acab wifi: mt76: mt7921: Replace fake flex-arrays with flexible-array members 93f821cce8f5 wifi: mt76: mt792x: introduce mt792x-lib module de7b90721280 wifi: mt76: mt7921: move mac shared code in mt792x-lib module c68ee8a64bef wifi: mt76: mt7921: move dma shared code in mt792x-lib module 8d561811f271 wifi: mt76: mt7921: move debugfs shared code in mt792x-lib module 0034ae289046 wifi: mt76: mt7921: move init shared code in mt792x-lib module 8419c4e793a7 wifi: mt76: mt792x: introduce mt792x_irq_map b7c7fadf228c wifi: mt76: mt792x: move more dma shared code in mt792x_dma 0b1603ce707c wifi: mt76: mt7921: move hif_ops macro in mt792x.h e07540abe87a wifi: mt76: mt7921: move shared runtime-pm code on mt792x-lib 3d65cd7a8dad wifi: mt76: mt7921: move runtime-pm pci code in mt792x-lib 4551f8c838e6 wifi: mt76: mt7921: move acpi_sar code in mt792x-lib module bd84b8ebaff8 wifi: mt76: mt792x: introduce mt792x-usb module 7067ea0f1bab wifi: mt76: mt792x: move mt7921_load_firmware in mt792x-lib module cf752af84c35 wifi: mt76: mt76_connac3: move lmac queue enumeration in mt76_connac3_mac.h 700041dcf773 wifi: mt76: mt792x: move MT7921_PM_TIMEOUT and MT7921_HW_SCAN_TIMEOUT in common code 58b2b90ad89b wifi: mt76: mt7921: move mt7921_dma_init in pci.c 9e4cb87a04cf wifi: mt76: mt7921: move mt7921u_disconnect mt792x-lib c19b62fe6b68 wifi: mt76: testmode: add nla_policy for MT76_TM_ATTR_TX_LENGTH 4904ab2f87cd wifi: mt76: fix return value check in mt76x02_mac_process_rx 1f0fbbee359c wifi: mt76: mt7915: fix tlv length of mt7915_mcu_get_chan_mib_info 24a54ee3a5ec wifi: mt76: mt7915: fix power-limits while chan_switch 80b8bcf0e3ea wifi: mt76: mt7603: rework/fix rx pse hang check a8d9553d8fc4 wifi: mt76: mt7603: improve watchdog reset reliablity c03d84c0d018 wifi: mt76: mt7603: improve stuck beacon handling 85cc58378d25 wifi: mt76: mt7603: add missing register initialization for MT7628 b14c2351ddb8 wifi: mt76: mt7603: disable A-MSDU tx support on MT7628 Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry picked from commit 6b3737be323f702d5c1c5533db7d7351603dad0f)
* mediatek: enable NMBM remapping for NWA50AX Pro UBIDavid Bauer2023-08-251-4/+0
| | | | | | | | | | Don't skip remapping of the UBI area for the ZyXEL NWA50AX Pro. This is due to the kernel being loaded from the UBI partition by U-Boot. Link: https://github.com/openwrt/openwrt/pull/13335 Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit 6dc0675e5b9d59a882972b8d478ee9fa8496ae51)
* ath79: fix first reboot issue on Netgear WNDR4300 v2 and WNDR4500 v3Shiji Yang2023-08-243-3/+50
| | | | | | | | | | | | | | | | From the Netgear u-boot GPL code[1]. Bootloader always unconditionally marks block 768, 1020 - 1023 as bad blocks on each boot. This may lead to conflicts with the OpenWrt nand driver since these blocks may be good blocks. In this case, U-boot will override the oob of these blocks so that break the ubi volume. The system will be damaged after first reboot. To avoid this issue, manually skip these blocks by using "mtd-concat". [1] https://www.downloads.netgear.com/files/GPL/EX7300v2series-V1.0.0.146_gpl_src.tar.bz2.zip Fixes: https://github.com/openwrt/openwrt/issues/8878 Tested-by: Yousaf <yousaf465@gmail.com> Signed-off-by: Shiji Yang <yangshiji66@qq.com> (cherry picked from commit 12f53724c6575245cf8b2f0dc75d1b9b2e4fe488)
* ath79: rework Netgear nand devices image recipeShiji Yang2023-08-241-3/+4
| | | | | | | | | | | | | | | | | | | In Netgear u-boot GPL code, nand devices uses this formula to locate the rootfs offset. offset = (((128 + KERNEL_SIZE) / BLOCK_SIZE) + 1) * BLOCK_SIZE; Howerver, WNDR4500 source code incorrectly define the nand block size to 64k. In some cases, it causes u-boot can't get the correct rootfs offset, which result in boot failure. This patch workaround it by padding kernel size to (128k * n - 128 - 1). The additional char '\0' is used to ensure the (128 + KERNEL_SIZE) can't be divided by the BLOCK_SIZE. Fixes: https://github.com/openwrt/openwrt/issues/13050 Fixes: 3c1512a25d92 ("ath79: optimize the firmware recipe for Netgear NAND devices") Tested-by: Yousaf <yousaf465@gmail.com> Signed-off-by: Shiji Yang <yangshiji66@qq.com> (cherry picked from commit 0f9b8aa3f592b22e3f1d5f7d049e92653ba0f884)
* mediatek: filogic: wax220: cleanup device treeStefan Agner2023-08-222-52/+47
| | | | | | | | Fix compatible string to match what is supported upstream, fix alignment and order MTD partitions according to offset. Signed-off-by: Stefan Agner <stefan@agner.ch> (cherry picked from commit 4af06aaf33c9256a5d3e960fa5f6bddab2674c5a)
* mediatek: filogic: wax220: support factory imageStefan Agner2023-08-222-7/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable building a factory image which can be flashed through the OEM firmware's web interface. It seems that the web interface requires a minimum file size of 10MiB, otherwise it will not accept the image. The update image is a regular sysupgrade tarball packed in a Netgear encrypted image. The Netgear encrypted image is the same as used in WAX202 or WAX206, including the encryption keys and IV. This adds a script which creates the rootfs_data volume on first startup. This is required since the OEM firmware's sysupgrade scripts do not create such a paritition. Note that any script ordered after 70_initramfs_test will not get executed on initramfs. Hence this new script 75_rootfs_prepare won't create the rootfs_data volume when using the recovery initramfs. Also, this deletes the kernel_backup and rootfs_backup volumes in case we have to create the rootfs_data volumes. This makes sure that OpenWrt is the actual backup firmware instead of the stock firmware. References in WAX220 GPL source: https://www.downloads.netgear.com/files/GPL/WAX220-V1.0.2.8-gpl-src.tar.gz * package/base-files/files/lib/upgrade/nand.sh:186 Creation of rootfs_data is disabled * Uboot-upstream/board/mediatek/common/ubi_helper.c Automatic creation of UBI backup volumes Signed-off-by: Stefan Agner <stefan@agner.ch> (cherry picked from commit fa9d977f979461628161085dcd0e9dd8b9e2c66b)
* mediatek: enable NWA50AX Pro eth LEDsDavid Bauer2023-08-221-0/+3
| | | | | | | | | | | | | | Enable the ethernet LED's on the ZyXEL NWA50AX Pro to show link-state as well as activity. Both LED's are configured pulsing. AMBER | 10/100 GREEN | 1000 A+G | 2500 Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit 4c0fdad7eabe7a5b81a7a1bd7f38dcadbe4f471a)
* mediatek: add missing packages for Acer Predator W6David Bauer2023-08-221-1/+1
| | | | | | | Add missing packages for creating the overlay filesystem. Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit c35ff41ccc31f2ecaea7406830de04bd77940d48)
* ipq4019: add support for ZTE MF287 Pro aka DreiNeo ProAndreas Böhler2023-08-217-179/+476
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ZTE MF287 Pro is a LTE router used (exclusively?) by the network operator "3". It is very similar to the MF287+, but the hardware layout and partition layout have changed quite a bit. Specifications ============== SoC: IPQ4018 RAM: 256MiB Flash: 8MiB SPI-NOR + 128MiB SPI-NAND LAN: 4x GBit LAN LTE: ZTE Cat12 WiFi: 802.11a/b/g/n/ac SoC-integrated USB: 1x 2.0 MAC addresses ============= LAN: from config + 2 WiFi 1: from config WiFi 2: from config + 1 Installation ============ Option 1 - TFTP --------------- TFTP installation using UART is preferred. Disassemble the device and connect serial. Put the initramfs image as openwrt.bin to your TFTP server and configure a static IP of 192.168.1.100. Load the initramfs image by typing: setenv serverip 192.168.1.100 setenv ipaddr 192.168.1.1 tftpboot 0x82000000 openwrt.bin bootm 0x82000000 From this intiramfs boot you can take a backup of the currently installed partitions as no vendor firmware is available for download: ubiattach -m17 cat /dev/ubi0_0 > /tmp/ubi0_0 cat /dev/ubi0_1 > /tmp/ubi0_1 Copy the files /tmp/ubi0_0 and /tmp/ubi0_1 somewhere save. Once booted, transfer the sysupgrade image and run sysupgrade. You might have to delete the stock volumes first: ubirmvol /dev/ubi0 -N ubi_rootfs ubirmvol /dev/ubi0 -N kernel Option 2 - From stock firmware ------------------------------ The installation from stock requires an exploit first. The exploit consists of a backup file that forces the firmware to download telnetd via TFTP from 192.168.0.22 and run it. Once exploited, you can connect via telnet and login as admin:admin. The exploit will be available at the device wiki page. Once inside the stock firmware, you can transfer the -factory.bin file to /tmp by using "scp" from the stock frmware or "tftp". ZTE has blocked writing to the NAND. Fortunately, it's easy to allow write access - you need to read from one file in /proc. Once done, you need to erase the UBI partition and flash OpenWrt. Before performing the operation, make sure that mtd13 is the partition labelled "rootfs" by calling "cat /proc/mtd". Complete commands: cd /tmp tftp -g -r factory.bin 192.168.0.22 cat /proc/driver/sensor_id flash_erase /dev/mtd17 0 0 dd if=/tmp/factory.bin of=/dev/mtdblock17 bs=131072 Afterwards, reboot your device and you should have a working OpenWrt installation. Restore Stock ============= Option 1 - via UART ------------------- Boot an OpenWrt initramfs image via TFTP as for the initial installation. Transfer the two backed-up files to your box to /tmp. Then, run the following commands - replace $kernel_length and $rootfs_size by the size of ubi0_0 and ubi0_1 in bytes. ubiattach -m 17 ubirmvol /dev/ubi0 -N kernel ubirmvol /dev/ubi0 -N rootfs ubirmvol /dev/ubi0 -N rootfs_data ubimkvol /dev/ubi0 -N kernel -s $kernel_length ubimkvol /dev/ubi0 -N ubi_rootfs -s $rootfs_size ubiupdatevol /dev/ubi0_0 /tmp/ubi0_0 ubiupdatevol /dev/ubi0_1 /tmp/ubi0_1 Option 2 - from within OpenWrt ------------------------------ This option requires to flash an initramfs version first so that access to the flash is possible. This can be achieved by sysupgrading to the recovery.bin version and rebooting. Once rebooted, you are again in a default OpenWrt installation, but no partition is mounted. Follow the commands from Option 1 to flash back to stock. LTE Modem ========= The LTE modem is similar to other ZTE devices and controls some more LEDs and battery management. Configuring the connection using uqmi works properly, the modem provides three serial ports and a QMI CDC ethernet interface. Other Notes =========== Contrary to the stock firmware, the USB port on the back can be used. There is one GPIO Switch "Power button blocker" which, if enabled, does not trigger a reset of the SoC if the modem reboots. If disabled, the SoC is rebooted along with the modem. The modem can be rebooted via the exported GPIO "modem-reset" in /sys/class/gpio. Signed-off-by: Andreas Böhler <dev@aboehler.at> (cherry picked from commit edfe91372adfdaf5ee4e294fb0f5860a16adc551)
* OpenWrt v23.05.0-rc3: revert to branch defaultsHauke Mehrtens2023-08-205-11/+9
| | | | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* OpenWrt v23.05.0-rc3: adjust config defaultsv23.05.0-rc3Hauke Mehrtens2023-08-205-9/+11
| | | | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* hostapd: revert upstream commit to fix #13156Stijn Tintel2023-08-191-0/+63
| | | | | | | | | | | | | Commit e978072baaca ("Do prune_association only after the STA is authorized") causes issues when an STA roams from one interface to another interface on the same PHY. The mt7915 driver is not able to handle this properly. While the commits fixes a DoS, there are other devices and drivers with the same limitation, so revert to the orginal behavior for now, until we have a better solution in place. Fixes: #13156 Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> (cherry picked from commit 324673914d42f5fb9b70cc73e955117828b99f3b)
* armsr: add kmod-sfp to default device profileMathew McBride2023-08-191-1/+1
| | | | | | | This brings the 23.05 branch into parity with the main. kmod-sfp was in the main branch profile but not the 23.05 version. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* armsr: armv8: fix invalid symbol value for FSL_ENETC_QOSMathew McBride2023-08-191-1/+1
| | | | | | | | | | | | | The kernel FSL_ENETC_QOS option is only a compile time option, it does not result in a separate module being built. Set it to 'y' to resolve a warning from the kernel compile: .config:2654:warning: symbol value 'm' invalid for FSL_ENETC_QOS Signed-off-by: Mathew McBride <matt@traverse.com.au> Fixes: c3151b6f045 ("armvirt: 64: add support for other SystemReady-compatible vendors") (cherry picked from commit 7770d08e2bd28c9c0dc0b3dc0aaf74074ad5772a)
* armsr: armv8: package and select MDIO driver for Thunder SoC'sMathew McBride2023-08-191-1/+13
| | | | | | | | This MDIO driver was already being built, but not installed due to being selected by the ThunderX Ethernet driver. Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit 0018b335313ec7d866bf9e22273b620759e29598)
* armsr: add Marvell (Cavium) ThunderX2 network driverMathew McBride2023-08-192-3/+21
| | | | | | | | | | The initial armv8 module incorrectly labelled the Thunder(v1) as supporting the ThunderX2, when they have different drivers. Add kmod-octeon-tx2 to support the newer devices. Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit 7c5bdff9c472a3f008ac15cc1ccb81cd23b20e1f)
* armsr: armv8: add bcmgenet (Raspberry Pi 4 GENET) to profileMathew McBride2023-08-191-1/+2
| | | | | | | | kmod-bcmgenet is needed for Ethernet support on the Raspberry Pi 4. Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit 911ee97774d2542300916f0e2763aa54c2a4dff1)
* armsr: armv8: add Broadcom GENET and MDIO modulesMathew McBride2023-08-191-0/+22
| | | | | | | | | | | | | | These are used by common Broadcom SoC's like the BCM2711 (RPi4) and iProc network processor. Tested on the RPi4B using the Raspberry Pi UEFI+ACPI firmware[1]. Signed-off-by: Mathew McBride <matt@traverse.com.au> [1] - https://github.com/pftf/RPi4 (cherry picked from commit 27ca83c6270a4cc6922cdae82bb5c01e4e2d1d22)
* armsr: armv8: enable AHCI/SATA controllers for mvebu,qoriq,junoMathew McBride2023-08-191-0/+3
| | | | | | | | | | | | | | | | When comparing the generated OpenWrt .config to the Linux arm64 defconfig, I noticed these SATA controllers were not included. As they may be used as a boot drive, they should be built into the kernel. CONFIG_SATA_MVEBU is for Marvell platforms. CONFIG_SATA_QORIQ is for NXP Layerscape. CONFIG_SATA_SIL24 is for Arm's Juno development board, see Linux kernel commit d7c38ff1cd86 ("arm64: defconfig: Add Juno SATA controller"). Signed-off-by: Mathew McBride <matt@traverse.com.au> (23.05/5.15 version of commit 9cb173e9f18da2530c3570479567d8130b05e5f8)