aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* kernel: ubootenv-nvram: driver for RAM backed environmentsBjørn Mork2023-08-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The vendor U-Boot implementaion on Telenor branded ZyXEL EX5700 devices does not store its environment on flash. It is instead kept in a memory region. This is persistent over reboots, but not over power cycling. The dual partition failsafe system used by the vendor U-Boot requires the OS to modify a variable in this memory environment. This driver allows the ordinary uboot-envtools to access a memory region like it was a partition on NOR flash. The specific vendor U-Boot adds a "no-map" /reserved-memory section and a top level /ubootenv node pointing to the memory environment. The driver uses this device specific fact to locate the region. The matching and probing code will likely have to be adjusted for any other devices to be supported. Example partial device tree: / { .. ubootenv { memory-region = <&uenv>; compatible = "ubootenv"; }; .. reserved-memory { .. uenv: ubootenv@7ffe8000 { no-map; reg = <0 0x7ffe8000 0 0x4000>; }; Signed-off-by: Bjørn Mork <bjorn@mork.no>
* ipq807x: add support for Netgear RAX120v2Thomas Kupper2023-08-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Netgear Nighthawk RAX120v2 AX WIFI router with 5 1G and 1 5G ports. The majority of the code is based on @jewwest's PR #11830. Specifications: * CPU: Qualcomm IPQ8074 Quad core Cortex-A53 2.2GHz * RAM: 1024MB of DDR3 (Nanya NT5CC256M16EP-EK × 2) * Flash: SPI-NAND 512 MiB (Winbond W29N04GZBIBA) * Ethernet: 4x 10/100/1000 Mbps LAN, 1x 10/100/1000 Mbps WAN (Qualcomm QCA8075), 1x 10/100/1000/2500/5000 Mbps LAN/WAN (Aquantia AQR111B0 PHY) * Wi-Fi: * 2.4 GHz: Qualcomm QCN5024 4x4 * 2x 5 GHz: Qualcomm QCN5054 4x4 * USB: 2x USB 3.0 * LEDs: Power, 2.4GHz & 5GHz Radio, WPS, WAN, USB1 & USB2, 5G LAN * Keys: LEDs On/Off, Power, Reset, RFKILL, WPS * UART: Marked J9003 VCC TX RX GND, beginning from "1". 3.3v, 115200n8 * Power: 19 VDC, 3.1 A Installation: * Flashing OpenWrt is done in two steps: a) Flash *-squashfs-web-ui-factory.img from stock UI (thanks to @wangyu-). This writes an initramfs based OpenWrt image onto the RAX120v2 b) From OpenWrt flash the *-squashfs-sysupgrade.bin using LuCI or the commandline * U-Boot allows booting an initramfs image via TFTP: - Set ip of your PC to 192.168.1.100 - At the serial console interrupt boot at "Hit any key to stop autoboot:" - In u-boot run `tftpsrv` - On your PC send the OpenWrt initramfs image: tftp 192.168.1.1 -m binary -c put openwrt-ipq807x-generic-netgear_rax120v2-initramfs-uImage.itb Make 5G Aquantia phy work: For the 5G port labeled 'lan5' to work a firmware is needed. This can be loaded in u-boot by writing the firmware to the correct mtd partition. The firmware file found in the Netgear stock firmware under /lib/firmware/ named 'AQR-G3_v4.3.C-AQR_DNI_DR-EQ35AX8-R-prov1_ID23888_VER1311.cld' is needed and has to be converted to a MBN file. The `mkheader.py` script used here can be found in the Netgear V1.2.8.40 GPL source, under 'git_home/u-boot.git/tools/mkheader.py' Convert the CLD file to MBN using: $ python2 mkheader.py 0x44000000 0x13 <*.cld file> aqr_4.3.C.mbn This MBN file can then be flashed to the MTD partition to be used by u-boot. The necessary files can also be found in https://github.com/boretom/openwrt-fork/tree/rax120v2/aquantia-firmware * Write MBN file to MTD partition to be loaded automatically by u-boot: U-boot automatically tries to load the firmware from nand at address 0x7e00000 which corresponds to `/dev/mtd25` in OpenWrt. - find ETHPHYFW partition while running OpenWrt (expected: /dev/mtd25) $ fgrep -i 'ethphyfw' /proc/mtd mtd25: 00080000 00020000 "ethphyfw - copy mbn file to /tmp/ folder of the router $ scp aqr-v4.3.C.mbn 192.168.1.1:/tmp/ - write mbn file to ethphyfw partition $ mtd write /tmp/aqr_v4.3.C.mbn /dev/mtd25 Revert to stock firmware: * Flash the stock firmware to the bootloader using TFTP/NMRP. References to RAX120v2 GPL source: https://www.downloads.netgear.com/files/GPL/RAX120-V1.2.8.40_gpl_src.zip Reviewed-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Thomas Kupper <thomas.kupper@gmail.com>
* ipq40xx: qca8k: add ageing setting supportRobert Marko2023-08-19
| | | | | | | | qca8k driver we are currently based of is rather out of date and is lacking support for setting the ageing time or fast ageing so until we update the driver lets just backport support for those from qca8k. Signed-off-by: Robert Marko <robimarko@gmail.com>
* rtl8812au-ct: bump to fix kernel 6.1 compileJohn Thomson2023-08-19
| | | | | | | | | | | | | | | | | | | | | | 9b2b203 fix usb_recv_tasklet -Wcast-function-type a027da5 fix kernel 6.1 80211 link_id 7a9c802 fix build for kernel 6.1 prandom 3a3eb24 fix build for kernel 5.17 PDE_DATA fe2afbd fix build for kernel 5.17 const netdev->dev_addr 7275bae fix build for 5.17 kernel complete_and_exit c9c2aa7 Update usb_intf.c revert the upstream 6.1 link_id (depend on kernel version) changes and force 6.1 link_id The downstream patch casting const off the direct dev_addr writes triggers the runtime check from Linux d07b26f5bbea ("dev_addr: add a modification check") Fixes: #13261 Fixes: a07566ead82a ("rtl8812au-ct: fix even more compilation error with kernel 6.1") Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
* ipq4019: add support for ZTE MF287 Pro aka DreiNeo ProAndreas Böhler2023-08-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* generic: 6.1: backport patch adding support for LED PHYChristian Marangi2023-08-19
| | | | | | | Backport patch adding support for LED PHY directly in PHY ops struct. Add new PHYLIB_LEDS config and refresh patches. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* packages: nvram: add asus,rt-ac3100 to set_wireless_led_behaviour quirkArınç ÜNAL2023-08-19
| | | | | | Add ASUS RT-AC3100 to the set wireless LED behaviour quirk. Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
* bcm53xx: add support for ASUS RT-AC3100Arınç ÜNAL2023-08-19
| | | | | | | | | | | | | ASUS RT-AC3100 is ASUS RT-AC88U without the external switch. OpenWrt forum users effortless and ktmakwana have confirmed that there are revisions with either 4366b1 or 4366c0 wireless chips. Therefore, include firmware for 4366b1 along with 4366c0. This way, all hardware revisions of the router will be supported by having brcmfmac use the firmware file for the wireless chip it detects. Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
* bcm53xx: backport DT changes for ASUS RT-AC3100 queued for v6.6Arınç ÜNAL2023-08-19
| | | | | | Backport the patch that adds the DT for ASUS RT-AC3100. Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
* hostapd: revert upstream commit to fix #13156Stijn Tintel2023-08-18
| | | | | | | | | | | | 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>
* kernel: bump 5.15 to 5.15.127John Audia2023-08-18
| | | | | | | | | | | | Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.127 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>
* kernel: bump 6.1 to 6.1.46John Audia2023-08-18
| | | | | | | | | | | | Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.46 All patches automatically rebased. Build system: x86/64 Build-tested: x86/64/AMD Cezanne, filogic/xiaomi_redmi-router-ax6000-ubootmod Run-tested: x86/64/AMD Cezanne, filogic/xiaomi_redmi-router-ax6000-ubootmod Signed-off-by: John Audia <therealgraysky@proton.me>
* Revert "kernel: switch back 5.15 to fw_devlink=permissive"Rafał Miłecki2023-08-18
| | | | | | | | | | | | | This reverts commit 79af0593a30bfe382b350e9540ecfafa133b6ac0. A hack adjusting fw_devlink value was added to workaround issue with probing device drivers caused by of_platform_populate(). With upstream mtd commit (the one adding OF_POPULATED) backported there is no need for that hack anymore. Ref: 3eebb91317c6 ("kernel: backport proper fix for mtd preventing devices probing") Ref: #10232 Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* hostapd: fix bringing up mesh without supplicant when mcast rate is specifiedFelix Fietkau2023-08-17
| | | | | | The iw command expects a specific command line argument Signed-off-by: Felix Fietkau <nbd@nbd.name>
* netifd: update to the latest versionFelix Fietkau2023-08-17
| | | | | | 4711f74479e2 netifd: fix disabling radio via config if reconf is being used Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ipq40xx: remove DK01 and DK04 boardsRobert Marko2023-08-15
| | | | | | | | | | | | | | | | | DK01 and DK04 board support has been in a form of 2 patches that we have been carrying for a long time. Both of the patches contain weird changes, dont follow any DT syntax and I honestly doubt they are even valid. DK01 and DK04 also have not been converted to DSA even after a long time and I doubt that anybody in the community even has these boards as they are QCA reference boards that are not even obtainable anymore. Since patches for these 2 boards have been just causing us pain when trying to update the kernel to a new major release or even point releases lets remove the support for these boards, and if there are users they can easily be reinstated. Signed-off-by: Robert Marko <robimarko@gmail.com>
* ipq40xx: Use SoC DTSI for Teltonika RUTXRobert Marko2023-08-15
| | | | | | | | | Teltonika RUTX currently is the only device pulling in DK01 DTSI and thus preventing removal of DK01 and DK04 support. So, lets add the missing nodes from DK01 DTSI and use the SoC DTSI instead. Signed-off-by: Robert Marko <robimarko@gmail.com>
* ipq40xx: add header to SCM cold boot address patchRobert Marko2023-08-15
| | | | | | | Lets add a proper commit title and description to the SCM cold boot patch so it applies with a git apply or git-am. Signed-off-by: Robert Marko <robimarko@gmail.com>
* ipq40xx: update SCM SDI patches with pending upstreamRobert Marko2023-08-15
| | | | | | | | | SCM SDI disable support is pending upstream, so lets use that instead. Since the board check needs to be split out, export it with a header so it applies with git-am. Signed-off-by: Robert Marko <robimarko@gmail.com>
* kernel: netsupport: kmod-sched: Add act_skbmodHauke Mehrtens2023-08-15
| | | | | | | This adds act_skbmod.ko to kmod-sched. Fixes: #13224 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* uboot-envtools: update to 2023.07.02Stefan Kalscheuer2023-08-15
| | | | | | | | | | | | Update to the latest stable version. This update changes the default lockfile directory from /var/lock to /run [1]. In OpenWRT we still use the "legacy" /var/lock and /run might not even exist, so we add a patch to revert this particular change. [1] https://source.denx.de/u-boot/u-boot/-/commit/aeb40f1166e072856f865d26d42a4bea1ec3a514 Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
* linux/named-gpio-export: add support for OPEN_DRAIN and OPEN_SOURCE flagMartin Schiller2023-08-15
| | | | | | | | | | | This change makes it possible to use the GPIO_OPEN_DRAIN / GPIO_OPEN_SOURCE Flags when exporting GPIOs via dts. We need to emulate the open-source or open-drain functionalities for the initial value, because the used functions (gpiod_direction_output_raw) do not take this into account. Signed-off-by: Martin Schiller <ms@dev.tdt.de>
* armsr: armv8: fix invalid symbol value for FSL_ENETC_QOSMathew McBride2023-08-15
| | | | | | | | | | | | 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")
* armsr: armv8: enable AHCI/SATA controllers for mvebu,qoriq,junoMathew McBride2023-08-15
| | | | | | | | | | | | | | | 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>
* armsr: armv8: package and select MDIO driver for Thunder SoC'sMathew McBride2023-08-15
| | | | | | | 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>
* armsr: add Marvell (Cavium) ThunderX2 network driverMathew McBride2023-08-15
| | | | | | | | | 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>
* armsr: armv8: synchronize PCIE related options with arm64 defconfigMathew McBride2023-08-15
| | | | | | | | This turns on various PCI related options which are enabled in the Linux kernel arch/arm64/configs/defconfig but not yet in the OpenWrt config. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* armsr: armv8: add bcmgenet (Raspberry Pi 4 GENET) to profileMathew McBride2023-08-15
| | | | | | | kmod-bcmgenet is needed for Ethernet support on the Raspberry Pi 4. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* armsr: armv8: add Broadcom GENET and MDIO modulesMathew McBride2023-08-15
| | | | | | | | | | | | 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
* armsr: armv8: enable Broadcom arch'esMathew McBride2023-08-15
| | | | | | | | | | | | | | This is part of an effort to reduce differences between the OpenWrt armsr/armv8 config and Linux arm64 defconfig. This enables CONFIG_ARCH_BCM and downstream CONFIG_ARCH_BCM2835 (= BCM2711 like Raspberry Pi 4) and CONFIG_ARCH_BCM_IPROC (Broadcom iProc packet processors). The broadband specific SoC's (ARCH_BCMBCA) are left out as it is assumed these will not be doing EFI boot. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* armsr: armv8: enable CONFIG_ARCH_RENESASMathew McBride2023-08-15
| | | | | | | | | | Renesas markets several embedded Arm64 SoCs in the RZ series (RZ/G, RZ/V), so should be enabled in a general purpose target. Automotive (R-Car) SoC's are not enabled by this change. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* armsr: armv8: fix NXP/Freescale i.MX family configurationMathew McBride2023-08-15
| | | | | | | | | | | | | | | | | | Due to an error on my part, Anton Antonov's i.MX changes[1] did not fully make it into my armvirt kernel 6.1 EFI pull request. I have updated them using the options he supplied[1] as well as comparing to the Linux arm64 defconfig. The notable exception is: CONFIG_USB_DWC3_OF_SIMPLE currently disabled due to an issue with i.MX8P and i.MX8Q. Fixes: 3efb3b8 ("armvirt: 64: Add NXP i.MX 8M Mini/Nano/Quad/Plus EVK support") Signed-off-by: Mathew McBride <matt@traverse.com.au> [1] - https://github.com/anta5010/openwrt/commit/ccf826c3444fd5fa8fac08aac05f66568ae0c242
* armsr: enable ACPI_BUTTONMathew McBride2023-08-15
| | | | | | | | | | | | A review of the generated OpenWrt kernel .config vs the Linux arm64 defconfig showed that this option was not being enabled, as it is disabled in OpenWrt's generic config. ACPI_BUTTON is needed to report and respond to power button events, so it should be enabled. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* armsr: armv8: sync CPU features, EFI, CMA and scheduler options with Linux ↵Mathew McBride2023-08-15
| | | | | | | | | | | defconfig To bring the armsr/armv8 kernel configuration closer to the Linux arm64 defconfig, synchronize options related to CPU features (especially more recent Armv8.X variants), scheduler, EFI vars, CMA and scheduler options. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* kernel: default ARM_PMU on for armsr/armv8Mathew McBride2023-08-15
| | | | | | | | CONFIG_ARM_PMU (Arm Performance Monitor Unit) is a requirement to use KVM (virtualization) from Linux 5.11+, as the virtualised guest has virtualized PMU access. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* armsr: armv8: enable KVM hostMathew McBride2023-08-15
| | | | | | | | | | x86/64 enables support for KVM so I can't see a reason why not on armsr/armv8 as well. Arm CPU errata workaround items related to virtualization are also enabled by this change. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* armsr: armv8: sync Arm64 erratum options with kernel defconfigMathew McBride2023-08-15
| | | | | | | | | | | To reduce differences with the Linux arm64 defconfig, sync the enabled erratum items with defconfig. There are still some options not selected due to CONFIG_KVM or other options not enabled in OpenWrt by default. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* scripts: qemustart: Fix x86/legacy bootupHauke Mehrtens2023-08-14
| | | | | | | The ide-drive option was renamed to ide-hd in qemu 6.0. With this change qemu is starting again on Debian 12. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* tools/pkgconf: update to 2.0.1Rosen Penev2023-08-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes from 2.0.0 to 2.0.1: ---------------------------- * The behavior of --modversion was largely reverted back to the traditional pkg-config behavior, but still operates on a solved dependency graph. The order of --modversion output is based on the dependency resolution queue which is passed to the solver, which itself generally maps to the order of the constrants provided on the command line. * A new flag, --verbose, has been added. When used with `--modversion`, it is possible to disambiguate which version belongs to which module: % pkgconf --modversion --verbose foo bar foo: 1.2.3 bar: 1.3 Changes from 1.9.5 to 2.0.0: ---------------------------- * When flattening the dependency graph, retain the latest seen edges rather than the earliest. * Fix a long-standing bug where the dependency resolution queue was evaluated in reverse. This bug masked the aforementioned dependency flattening bug in many cases. * Fix handling of --with-path, which was appending paths to the search list rather than prepending them as intended. * Error when --modversion is requested with more than one package, as the output is ambiguous. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* prereq-build: increase GCC requirement to 8Rosen Penev2023-08-14
| | | | | | | | | The current minimum OS requirement for OpenWrt is Ubuntu 18.04, which includes 7 and 8. 8 is necessary for ccache. gcc and g+++ are now symlinked to staging_dir, similar to Python. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* tools/meson: update to 1.2.1Rosen Penev2023-08-14
| | | | | | | | Remove PKG_RELEASE as it's not really used with tools. Changelog: https://mesonbuild.com/Release-notes-for-1-2-0.html Signed-off-by: Rosen Penev <rosenp@gmail.com>
* tools: mold: update to 2.1.0Andre Heider2023-08-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | v2.0.0: - transition from AGPL to MIT - Previously, mold could not produce an object file with more than 65520 sections using the --relocatable option. Now the bug has been fixed. - mold now interprets -undefined as a synonym for --undefined instead of -u ndefined. This seems inconsistent, as -ufoo is generally treated as -u foo (which is an alias for --undefined foo), but this is the behavior of the GNU linkers and LLVM lld, so we prioritize compatibility over consistency. - -nopie is now handled as a synonym for --no-pie. - [RISC-V] R_RISCV_SET_ULEB128 and R_RISCV_SUB_ULEB128 relocation types are now supported (4bffe26, 1ac5fe7) - [PPC64] R_PPC64_REL32 relocation type is now supported. (ebd780e) v2.1.0: - Loongson's LoongArch CPU has been supported. (03b1a1c) - -z nosectionheader has been added to eliminate section headers from the output file. (084ca55) - Previously, linking with the -z pack-relative-relocs option produces an executable that glibc 2.38 refuses to run with DT_RELR without GLIBC_ABI_DT_RELR dependency error. Now, mold produces binaries compatible with glibc 2.38. (f467ad1) - [ARM64] R_AARCH64_ADR_PREL_PG_HI21_NC relocation type has been supported. (17a5c3e) - [ARM64] R_AARCH64_MOVW_UABS_G3 relocation type has now been handled as a PLT-generating relocation to fix an issue when main is not defined in the main executable but rather in a .so file. (e764557) - [RISC-V] We now merge input .riscv.attributes contents. Previously, we just concatenated them. (aa64491) Signed-off-by: Andre Heider <a.heider@gmail.com>
* x86: Add virtualization time sync supportHauke Mehrtens2023-08-14
| | | | | | | | | | | | This compiles the CONFIG_PTP_1588_CLOCK support into the kernel binary and activates the drivers for KVM and VMware which allow syncing the host time with the VM when OpenWrt is running in a VM. With this change the CONFIG_HYPERV_UTILS driver is now build into the kernel, because it depends on the PTP framework being compiled in. CONFIG_HYPERV_UTILS was build as a module, but not packages before. Fixes: #13277 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* x86: Activate CONFIG_PCIEASPMHauke Mehrtens2023-08-14
| | | | | | | | | This activates PCI Express ASPM control in Linux. Without this option it is completely controlled by the BIOS, now Linux will take over and apply some workarounds if needed. Fixes: #13248 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* uboot-envtools: add u-boot env config for Xiaomi mi-miniIvan Pavlov2023-08-14
| | | | | | Add u-boot env config for Xiaomi mi-mini for using fw_printenv and fw_setenv on this board Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com>
* ramips: improve Xiaomi mi-mini indicationsIvan Pavlov2023-08-14
| | | | | | Sets status indications led color on Xiaomi mi-mini router as other Xiaomi routers Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com>
* ipq40xx: meraki: define DTB load addressRobert Marko2023-08-14
| | | | | | | | | | | | | | | | | | | | | It seems that the Meraki bootloader does not respect the kernel ARM booting specification[1] that requires that address where DTB is located needs to be 64-bit aligned and often places the DTB on a non 64-bit aligned address and then kernel fails to find the DTB magic and fails to boot. Even worse, there is no prints until early printk is enabled and then its visible that kernel is trying to find the ATAG-s as DTB was not found or is invalid. Unifi 6 devices had the same issue and it can be solved by passing the load adress as part of the FIT image. It seems that the vendor was aware of the issue and is always relocating the DTB to 0x89000000, so lets just do the same. Now that booting is reliable, reenable default images for the Meraki MR33 and MR74 devices. Reviewed-by: Lech Perczak lech.perczak@gmail.com Signed-off-by: Robert Marko <robimarko@gmail.com>
* ipq40xx: meraki: remove swconfig in DEVICE_PACKAGESRobert Marko2023-08-14
| | | | | | | ipq40xx was converted to DSA and swconfig is not being included at all in the default packages so there is no need to drop it from device packages. Signed-off-by: Robert Marko <robimarko@gmail.com>
* ipq40xx: commonize Meraki recipeRobert Marko2023-08-14
| | | | | | | MR33 and MR74 share pretty much everything in the image recipe, so lets extract a common recipe to avoid duplication. Signed-off-by: Robert Marko <robimarko@gmail.com>
* linux-firmware: Update Intel AX200 and AX210 firmwareHauke Mehrtens2023-08-14
| | | | | | | | | This updates the Intel iwlwifi firmware for AX200 and AX210 from version 66 to version 72. Version 72 is the latest version supported by iwlwifi from kernel 6.1. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Reviewed-by: Robert Marko <robimarko@gmail.com>