aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* kernel: fix mtk flow offload list corruption issue with l2 flowsFelix Fietkau2023-03-254-31/+48
| | | | | | | The same node was accidentally used for two different lists, causing an invalid pointer chain. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: refresh mxl-gpy LED patchÁlvaro Fernández Rojas2023-03-251-6/+1
| | | | | | | Make the patches apply cleanly again. Fixes: 90691f450543 ("generic: mxl-gpy: allow configuring LED registers") Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* kernel: backport dsa b53 patchesÁlvaro Fernández Rojas2023-03-254-244/+95
| | | | | | These patches have been merged upstream, so let's move them to backport. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: sercomm,h500-s: fix upgradeÁlvaro Fernández Rojas2023-03-251-3/+1
| | | | | | | | Sercomm H500-s devices don't need the JFFS2 cleanmarkers as opposed to the other bmips NAND devices. Fixes: 6df12200d903 ("bmips: add support for Sercomm H-500s") Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* filogic: add support for ASUS TUF-AX4200David Bauer2023-03-247-0/+368
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- SOC: MediaTek MT7986 RAM: 512MB DDR3 FLASH: 256MB SPI-NAND (Winbond W25N02KV) WIFI: Mediatek MT7986 DBDC 802.11ax 2.4/5 GHz ETH: MediaTek MT7531 Switch MaxLinear GPY211C 2.5 N-Base-T PHY UART: 3V3 115200 8N1 (Pinout silkscreened / Do not ocnnect VCC) Installation ------------ 1. Download the OpenWrt initramfs image. Copy the image to a TFTP server reachable at 192.168.1.66/24. Rename the image to tufax4200.bin. 2. Connect the TFTP server to the AX4200. Conect to the serial console, interrupt the autoboot process by pressing '4' when prompted. 3. Download & Boot the OpenWrt initramfs image. $ setenv ipaddr 192.168.1.1 $ setenv serverip 192.168.1.66 $ tftpboot 0x46000000 tufax4200.bin $ bootm 0x46000000 4. Wait for OpenWrt to boot. Transfer the sysupgrade image to the device using scp and install using sysupgrade. $ sysupgrade -n <path-to-sysupgrade.bin> Missing features ---------------- - The LAN port LEDs are driven by the switch but OpenWrt does not correctly configure the output. Signed-off-by: David Bauer <mail@david-bauer.net>
* mediatek: enable bootargs-override for filogic subtargetDavid Bauer2023-03-242-0/+18
| | | | | | | | | The ASUS TUF-AX4200 bootloader adds invalid parameters for the rootfs. Without overwriting the cmdline, the kernel crashes when trying to attach the rootfs, as OpenWrt uses a different partition than the vendor OS. Signed-off-by: David Bauer <mail@david-bauer.net>
* generic: mxl-gpy: allow configuring LED registersDavid Bauer2023-03-241-0/+106
| | | | | | | | | | | | | Add a patch to allow modification of the PHY LED configuration. This is required for boards, where the reset configuration of LED functions is incompatibe with the usage of the device LEDs. This is the case for the ASUS TUF-AX4200 Wireless router. It requires modification of the LED configuration because as the WAN LED on the front of the device is driven by the PHY. Without patching, it would only illuminate in case the Link speed is 100 Mbit/s. Signed-off-by: David Bauer <mail@david-bauer.net>
* generic: backport Winbond W25N02KV SPI-NAND supportDavid Bauer2023-03-242-0/+146
| | | | | | | | This flash-chip is used on the Asus TUF-AX4200 and TUF-AX6000 routers. As the filogic target only uses kernel 5.15, skip the 5.10 backport. Signed-off-by: David Bauer <mail@david-bauer.net>
* kernel: add support for threaded network backlog processingFelix Fietkau2023-03-242-5/+229
| | | | | | | | This can improve load balancing by pushing backlog (and RPS) processing to separate threads, allowing the scheduler to distribute the load. It can be enabled with: echo 1 > /proc/sys/net/core/backlog_threaded Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: add support for Mercusys MR70XDavid Bauer2023-03-243-4/+183
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware ======== - SoC: MediaTek MT7621AT (880MHz, Duel-Core) - RAM: DDR3 128MB - Flash: Winbond W25Q128JV (SPI-NOR 16MB) - WiFi: MediaTek MT7915D (2.4GHz, 5GHz, DBDC) - Ethernet: MediaTek MT7530 (WAN x1, LAN x3, SoC) - UART: >TX RX GND 3v3 (115200 8N1, J1) Do not connect 3v3. TX is marked with an arrow. Installation ============ Flash factory image. This can be done using stock web ui. Revert to stock firmware ======================== Flash stock firmware via OEM Web UI Recovery mode. Web UI Recovery method ====================== 1. Unplug the router 2. Plug in and hold reset button 5~10 secs 3. Set your computer IP address manually to 192.168.1.x / 255.255.255.0 4. Flash image with web browser to 192.168.1.1 Co-authored-by: Robert Senderek <robert.senderek@10g.pl> Co-authored-by: Yoonji Park <koreapyj@dcmys.kr> Signed-off-by: David Bauer <mail@david-bauer.net>
* mac80211: fix invalid calls to drv_sta_pre_rcu_removeFelix Fietkau2023-03-241-0/+25
| | | | | | Potentially fixes some driver data structure corruption issues Signed-off-by: Felix Fietkau <nbd@nbd.name>
* bmips: sercomm,h500-s: add Quantenna network configÁlvaro Fernández Rojas2023-03-241-1/+4
| | | | | | Sercomm H500-s has an external Quantenna QT3740BC SoC connected by RGMII. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* kernel: add more dsa b53 pending patchesÁlvaro Fernández Rojas2023-03-245-145/+308
| | | | | | | | | | | | | | | | | These patches have now received a positive review upstream, so let's add them to pending patches. 776-net-dsa-b53-mmap-add-phy-ops.patch: This is mostly bmips/bcm63xx-specific to get external switches working without hanging the device when accessing certain registers. 777-net-dsa-b53-mdio-add-support-for-BCM53134: This adds support for BCM53134 switch on DSA B53, so any target using DSA B53 can benefit from it. Also fix sercomm-h500-s external switch IMP port phy-mode. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* firewall4: update to the latest versionFelix Fietkau2023-03-241-3/+3
| | | | | | | | | | | 39e8c70957c7 fw4: fix handling the ipset "comment" option e6e82a55206c fw4: add further symbolic ICMP type declarations ce9a37829a76 tests: add testcase for automatic includes 30ee17a9c65d fw4: fix syntax errors in ICMP type declarations 1ecfadd52291 fw4: remove accidentally committed .orig and .rej file 04a06bd70b98 fw4: enable flowtable counters Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: enable conntrack counter updates for iptables xt_FLOWOFFLOADFelix Fietkau2023-03-241-2/+3
| | | | | | Ensures that packet/byte counters in /proc/net/nf_conntrack are updated Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: fix mediatek ppe flow accounting for mt7622 and olderFelix Fietkau2023-03-241-0/+51
| | | | | | v1 hardware uses a different enable bit for hardware counters Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: report mediatek ppe flow stats incrementallyFelix Fietkau2023-03-241-29/+42
| | | | | | | Fixes wrong counter values in conntrack stats Fixes: aa2777145f8d ("kernel: improve mtk ppe flow accounting") Signed-off-by: Felix Fietkau <nbd@nbd.name>
* odhcpd: bump to latest git HEADChristian Marangi2023-03-241-3/+3
| | | | | | 29c934d config: recheck have_link_local on interface reload if already init Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* mpc85xx: Refresh patchesHauke Mehrtens2023-03-241-2/+2
| | | | | | | Make the patches apply cleanly again. Fixes: ed82189339b8 ("mpc85xx: use bootwrapper for ws-ap3825i") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ipq806x: Refresh patchesHauke Mehrtens2023-03-241-1/+1
| | | | | | | Make the patches apply cleanly again. Fixes: a97965b7b11f ("kernel: add pending patches for bcm63268-timer-clocks") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: improve mtk ppe flow accountingFelix Fietkau2023-03-233-0/+655
| | | | | | Properly track L2 flows, and ensure that stale data gets cleared Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mediatek: add kernel code for supporting offloading wlan->eth and wlan->wlan ↵Felix Fietkau2023-03-236-12/+477
| | | | | | | | flows Will be enabled by an upcoming mt76 update Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: update mtk ppe flow accounting patch to the latest versionFelix Fietkau2023-03-235-57/+56
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: update flow offload fix based on upstream suggestionsFelix Fietkau2023-03-231-34/+6
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: fix DSA B53 BCM63xx RGMII patchÁlvaro Fernández Rojas2023-03-231-1/+1
| | | | | | | | | | Refreshing the patches for fff07085fb5a moved the b53_adjust_63xx_rgmii() call from b53_phylink_mac_link_up() to b53_phylink_mac_link_down(). In order to properly configure the RGMII ports we need to restore it to its correct place. Fixes: fff07085fb5a ("kernel: add pending bmips patches") Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* ath79: support Ruckus ZoneFlex 7341/7343/7363Lech Perczak2023-03-227-2/+189
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ruckus ZoneFlex 7363 is a dual-band, dual-radio 802.11n 2x2 MIMO enterprise access point. ZoneFlex 7343 is the single band variant of 7363 restricted to 2.4GHz, and ZoneFlex 7341 is 7343 minus two Fast Ethernet ports. Hardware highligts: - CPU: Atheros AR7161 SoC at 680 MHz - RAM: 64MB DDR - Flash: 16MB SPI-NOR - Wi-Fi 2.4GHz: AR9280 PCI 2x2 MIMO radio with external beamforming - Wi-Fi 5GHz: AR9280 PCI 2x2 MIMO radio with external beamforming - Ethernet 1: single Gigabit Ethernet port through Marvell 88E1116R gigabit PHY - Ethernet 2: two Fast Ethernet ports through Realtek RTL8363S switch, connected with Fast Ethernet link to CPU. - PoE: input through Gigabit port - Standalone 12V/1A power input - USB: optional single USB 2.0 host port on the -U variants. Serial console: 115200-8-N-1 on internal H1 header. Pinout: H1 ---------- |1|x3|4|5| ---------- Pin 1 is near the "H1" marking. 1 - RX x - no pin 3 - VCC (3.3V) 4 - GND 5 - TX Installation: - Using serial console - requires some disassembly, 3.3V USB-Serial adapter, TFTP server, and removing a single PH1 screw. 0. Connect serial console to H1 header. Ensure the serial converter does not back-power the board, otherwise it will fail to boot. 1. Power-on the board. Then quickly connect serial converter to PC and hit Ctrl+C in the terminal to break boot sequence. If you're lucky, you'll enter U-boot shell. Then skip to point 3. Connection parameters are 115200-8-N-1. 2. Allow the board to boot. Press the reset button, so the board reboots into U-boot again and go back to point 1. 3. Set the "bootcmd" variable to disable the dual-boot feature of the system and ensure that uImage is loaded. This is critical step, and needs to be done only on initial installation. > setenv bootcmd "bootm 0xbf040000" > saveenv 4. Boot the OpenWrt initramfs using TFTP. Replace IP addresses as needed. Use the Gigabit interface, Fast Ethernet ports are not supported under U-boot: > setenv serverip 192.168.1.2 > setenv ipaddr 192.168.1.1 > tftpboot 0x81000000 openwrt-ath79-generic-ruckus_zf7363-initramfs-kernel.bin > bootm 0x81000000 5. Optional, but highly recommended: back up contents of "firmware" partition: $ ssh root@192.168.1.1 cat /dev/mtd1 > ruckus_zf7363_fw_backup.bin 6. Copy over sysupgrade image, and perform actual installation. OpenWrt shall boot from flash afterwards: $ ssh root@192.168.1.1 # sysupgrade -n openwrt-ath79-generic-ruckus_zf7363-squashfs-sysupgrade.bin After unit boots, it should be available at the usual 192.168.1.1/24. Return to factory firmware: 1. Copy over the backup to /tmp, for example using scp 2. Unset the "bootcmd" variable: fw_setenv bootcmd "" 3. Use sysupgrade with force to restore the backup: sysupgrade -F ruckus_zf7363_backup.bin 4. System will reboot. Quirks and known issues: - Fast Ethernet ports on ZF7363 and ZF7343 are supported, but management features of the RTL8363S switch aren't implemented yet, though the switch is visible over MDIO0 bus. This is a gigabit-capable switch, so link establishment with a gigabit link partner may take a longer time because RTL8363S advertises gigabit, and the port magnetics don't support it, so a downshift needs to occur. Both ports are accessible at eth1 interface, which - strangely - runs only at 100Mbps itself. - Flash layout is changed from the factory, to use both firmware image partitions for storage using mtd-concat, and uImage format is used to actually boot the system, which rules out the dual-boot capability. - Both radio has its own EEPROM on board, not connected to CPU. - The stock firmware has dual-boot capability, which is not supported in OpenWrt by choice. It is controlled by data in the top 64kB of RAM which is unmapped, to avoid the interference in the boot process and accidental switch to the inactive image, although boot script presence in form of "bootcmd" variable should prevent this entirely. - On some versions of stock firmware, it is possible to obtain root shell, however not much is available in terms of debugging facitilies. 1. Login to the rkscli 2. Execute hidden command "Ruckus" 3. Copy and paste ";/bin/sh;" including quotes. This is required only once, the payload will be stored in writable filesystem. 4. Execute hidden command "!v54!". Press Enter leaving empty reply for "What's your chow?" prompt. 5. Busybox shell shall open. Source: https://alephsecurity.com/vulns/aleph-2019014 - There is second method to achieve root shell, using command injection in the web interface: 1. Login to web administration interface 2. Go to Administration > Diagnostics 3. Enter |telnetd${IFS}-p${IFS}204${IFS}-l${IFS}/bin/sh into "ping" field 4. Press "Run test" 5. Telnet to the device IP at port 204 6. Busybox shell shall open. Source: https://github.com/chk-jxcn/ruckusremoteshell Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
* ath79: support Ruckus ZoneFlex 7351Lech Perczak2023-03-225-1/+377
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ruckus ZoneFlex 7351 is a dual-band, dual-radio 802.11n 2x2 MIMO enterprise access point. Hardware highligts: - CPU: Atheros AR7161 SoC at 680 MHz - RAM: 64MB DDR - Flash: 16MB SPI-NOR - Wi-Fi 2.4GHz: AR9280 PCI 2x2 MIMO radio with external beamforming - Wi-Fi 5GHz: AR9280 PCI 2x2 MIMO radio with external beamforming - Ethernet: single Gigabit Ethernet port through Marvell 88E1116R gigabit PHY - Standalone 12V/1A power input - USB: optional single USB 2.0 host port on the 7351-U variant. Serial console: 115200-8-N-1 on internal H1 header. Pinout: H1 ---------- |1|x3|4|5| ---------- Pin 1 is near the "H1" marking. 1 - RX x - no pin 3 - VCC (3.3V) 4 - GND 5 - TX Installation: - Using serial console - requires some disassembly, 3.3V USB-Serial adapter, TFTP server, and removing a single T10 screw. 0. Connect serial console to H1 header. Ensure the serial converter does not back-power the board, otherwise it will fail to boot. 1. Power-on the board. Then quickly connect serial converter to PC and hit Ctrl+C in the terminal to break boot sequence. If you're lucky, you'll enter U-boot shell. Then skip to point 3. Connection parameters are 115200-8-N-1. 2. Allow the board to boot. Press the reset button, so the board reboots into U-boot again and go back to point 1. 3. Set the "bootcmd" variable to disable the dual-boot feature of the system and ensure that uImage is loaded. This is critical step, and needs to be done only on initial installation. > setenv bootcmd "bootm 0xbf040000" > saveenv 4. Boot the OpenWrt initramfs using TFTP. Replace IP addresses as needed: > setenv serverip 192.168.1.2 > setenv ipaddr 192.168.1.1 > tftpboot 0x81000000 openwrt-ath79-generic-ruckus_zf7351-initramfs-kernel.bin > bootm 0x81000000 5. Optional, but highly recommended: back up contents of "firmware" partition: $ ssh root@192.168.1.1 cat /dev/mtd1 > ruckus_zf7351_fw_backup.bin 6. Copy over sysupgrade image, and perform actual installation. OpenWrt shall boot from flash afterwards: $ ssh root@192.168.1.1 # sysupgrade -n openwrt-ath79-generic-ruckus_zf7351-squashfs-sysupgrade.bin After unit boots, it should be available at the usual 192.168.1.1/24. Return to factory firmware: 1. Copy over the backup to /tmp, for example using scp 2. Unset the "bootcmd" variable: fw_setenv bootcmd "" 3. Use sysupgrade with force to restore the backup: sysupgrade -F ruckus_zf7351_backup.bin 4. System will reboot. Quirks and known issues: - Flash layout is changed from the factory, to use both firmware image partitions for storage using mtd-concat, and uImage format is used to actually boot the system, which rules out the dual-boot capability. - Both radio has its own EEPROM on board, not connected to CPU. - The stock firmware has dual-boot capability, which is not supported in OpenWrt by choice. It is controlled by data in the top 64kB of RAM which is unmapped, to avoid the interference in the boot process and accidental switch to the inactive image, although boot script presence in form of "bootcmd" variable should prevent this entirely. - On some versions of stock firmware, it is possible to obtain root shell, however not much is available in terms of debugging facitilies. 1. Login to the rkscli 2. Execute hidden command "Ruckus" 3. Copy and paste ";/bin/sh;" including quotes. This is required only once, the payload will be stored in writable filesystem. 4. Execute hidden command "!v54!". Press Enter leaving empty reply for "What's your chow?" prompt. 5. Busybox shell shall open. Source: https://alephsecurity.com/vulns/aleph-2019014 - There is second method to achieve root shell, using command injection in the web interface: 1. Login to web administration interface 2. Go to Administration > Diagnostics 3. Enter |telnetd${IFS}-p${IFS}204${IFS}-l${IFS}/bin/sh into "ping" field 4. Press "Run test" 5. Telnet to the device IP at port 204 6. Busybox shell shall open. Source: https://github.com/chk-jxcn/ruckusremoteshell Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
* ramips: mt7621: enable lzma-loader for AFOUNDRY EW1200Tony Butler2023-03-221-0/+1
| | | | | | | | | Fixes boot loader LZMA decompression issues (LZMA ERROR 1) As reported in issue #12208 Reported-by: Raúl M. <raul.m@sparkedhost.com> Tested-by: Raúl M. <raul.m@sparkedhost.com> Signed-off-by: Tony Butler <spudz76@gmail.com>
* bmips: add support for Sercomm H-500sÁlvaro Fernández Rojas2023-03-228-1/+502
| | | | | | | | | | | | | Sercomm H-500s is a BCM63268 with 128M, internal and external (Quantenna) wifi and external BCM53134S switch. This device is already supported in bcm63xx target, so more information can be found in https://openwrt.org/toh/sercomm/h500-s. It's a perfect example of a device with internal and external switch coexistance since most devices only have ports on one of the switches but not both of them. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: drop unneded cpu labels from external switchesÁlvaro Fernández Rojas2023-03-222-2/+0
| | | | | | | | | These labels aren't needed and were accidentally added when adding external switches support for bmips. Fixes: 80a3ecc89489 ("bmips: add Huawei HG253s v2 support") Fixes: 61f3c3b1eebd ("bmips: dgnd3700v2: enable external BCM53125 switch") Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* kernel: add pending patches for bcm63268-timer-clocksÁlvaro Fernández Rojas2023-03-227-165/+435
| | | | | | | | | bcm63268-timer-clocks have been sent upstream with a positive review, so let's add them to pending v5.15. Also add devm_clk_hw_register_gate() patch from v5.17 to backports since it's needed for upstream bcm63268-timer-clocks patches. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* odhcpd: bump to latest git HEADChristian Marangi2023-03-221-4/+4
| | | | | | | | | | | 7c0f603 router: skip RA and wait for LINK-LOCAL to be assigned ba30afc config: skip interface setup if interface not IFF_RUNNING 06b111e Revert "odhcpd: Reduce error messages" 90d6cc9 odhcpd: Reduce error messages Also drop AUTORELEASE since it got deprecated. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: build: disable cache of external toolchain/sdkChristian Marangi2023-03-221-13/+2
| | | | | | | | | | | Our buildbot build a different external toolchain/sdk for each build. This cause the idea of using the tar hash to cache it broken and wrong. This makes the github cache bloated and remove space for ccache cache. Drop cache for external toolchain/sdk as the feature is broken and cause problems to ccache cache. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* CI: kernel: skip subtarget test on non-specific target testChristian Marangi2023-03-221-0/+6
| | | | | | | Reduce testing time by skipping subtarget test on non-specific target test. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* bmips: dts: nand: add missing address/size cellsÁlvaro Fernández Rojas2023-03-212-0/+6
| | | | | | | | | | | Fixes the following warnings for Netgear DGND3700v2 and Comtrend VR-3032u: [ 1.059540] 7 fixed-partitions partitions found on MTD device brcmnand.0 [ 1.066570] OF: Bad cell count for /ubus/nand@10000200/nandcs@0/partitions [ 1.073766] OF: Bad cell count for /ubus/nand@10000200/nandcs@0/partitions [ 1.081927] OF: Bad cell count for /ubus/nand@10000200/nandcs@0/partitions [ 1.089128] OF: Bad cell count for /ubus/nand@10000200/nandcs@0/partitions Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: add Huawei HG253s v2 supportÁlvaro Fernández Rojas2023-03-214-0/+264
| | | | | | | | | | | | | Huawei HG253s v2 is a BCM6362 with 128M RAM, internal wifi and external BCM53124S switch. This device is already supported in bcm63xx target, so more information can be found in https://openwrt.org/toh/huawei/hg253s_v2. It's a perfect example of a device with internal and external switch coexistance since most devices only have ports on one of the switches but not both of them. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: dgnd3700v2: enable external BCM53125 switchÁlvaro Fernández Rojas2023-03-212-2/+56
| | | | | | | The Netgear DGND3700v2 has an external BCM53125 switch which can now be enabled as a DSA disjoint switch tree setup. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bmips: disable B53 MMAP phy read/write opsÁlvaro Fernández Rojas2023-03-212-1/+47
| | | | | | | | | | Without this change, internal and external B53 switches couldn't coexist as reported in https://github.com/openwrt/openwrt/issues/10313. In order to fix this we need to force the B53 MMAP DSA switch driver to use bcm6368-mdio-mux for accessing the PHY registers instead of its own phy_read() and phy_write() functions. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* kernel: update pending b53 mmap patchesÁlvaro Fernández Rojas2023-03-214-206/+244
| | | | | | | | Update B53 MMAP pending patches to the latest version sent upstream. Fixes regression in bmips BCM63268 switches. Fixes: fff07085fb5a ("kernel: add pending bmips patches") Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* build: add a config knob to enable LTO for all packagesAndre Heider2023-03-212-1/+8
| | | | | | This enables LTO for all packages which haven't opted-out. Signed-off-by: Andre Heider <a.heider@gmail.com>
* kernel: qca-ssdk: opt-out of LTORobert Marko2023-03-211-0/+1
| | | | | | | | | SSDK is doing everything custom, so trying to use mold and/or LTO fails, so lets opt-out of using both of them. Signed-off-by: Robert Marko <robimarko@gmail.com> [a.heider: split and switch to PKG_BUILD_FLAGS] Signed-off-by: Andre Heider <a.heider@gmail.com>
* treewide: opt-out of tree-wide LTO usageAndre Heider2023-03-213-1/+4
| | | | | | These fail to build with LTO enabled or packages depending on them do. Signed-off-by: Andre Heider <a.heider@gmail.com>
* build: add a config knob to enable gc-sections for all packagesAndre Heider2023-03-212-1/+9
| | | | | | | This enables the linker's garbage collection for all packages which haven't opted-out. Signed-off-by: Andre Heider <a.heider@gmail.com>
* treewide: add support for "lto" in PKG_BUILD_FLAGSAndre Heider2023-03-2123-67/+46
| | | | | | | | | | | | | | | | This reduces open coding and allows to easily add a knob to enable it treewide, where chosen packages can still opt-out via "no-lto". Some packages used LTO, but not the linker plugin. This unifies 'em all to attempt to produce better code. Quoting man gcc(1): "This improves the quality of optimization by exposing more code to the link-time optimizer." Also use -flto=auto instead of -flto=jobserver, as it's not guaranteed that every buildsystem uses +$(MAKE) correctly. Signed-off-by: Andre Heider <a.heider@gmail.com>
* treewide: add support for "gc-sections" in PKG_BUILD_FLAGSAndre Heider2023-03-2120-48/+51
| | | | | | | | | | | | | | | This reduces open coding and allows to easily add a knob to enable it treewide, where chosen packages can still opt-out via "no-gc-sections". Note: libnl, mbedtls and opkg only used the CFLAGS part without the LDFLAGS counterpart. That doesn't help at all if the goal is to produce smaller binaries. I consider that an accident, and this fixes it. Note: there are also packages using only the LDFLAGS part. I didn't touch those, as gc might have been disabled via CFLAGS intentionally. Signed-off-by: Andre Heider <a.heider@gmail.com>
* treewide: replace PKG_USE_MIPS16:=0 with PKG_BUILD_FLAGS:=no-mips16Andre Heider2023-03-2119-26/+30
| | | | | | | Keep backwards compatibility via PKG_USE_MIPS16 for now, as this is used in all package feeds. Signed-off-by: Andre Heider <a.heider@gmail.com>
* build: introduce PKG_BUILD_FLAGS and move PKG_IREMAP to itAndre Heider2023-03-211-2/+14
| | | | | | | | | | | | | | | | | | | PKG_BUILD_FLAGS is a new variable for package Makefiles similar to PKG_FLAGS. It's a whitespace separated list of flags to control various aspects of how a package is build. The build system and/or .config defines the default for each, but every package has the means to override it. Using $flagname enables a flag, no-$flagname disables it. Start with PKG_IREMAP as "iremap". That's easy as no package here nor in any package feed uses it. The default is unchanged: enabled. Packages can opt-out via: PKG_BUILD_FLAGS:=no-iremap (Not that any should, just to illustrate how to use it) Signed-off-by: Andre Heider <a.heider@gmail.com>
* ipq40xx: add support for Wallystech DR40x9Robert Marko2023-03-216-1/+443
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds support for the Wallys DR40x9 series boards. They come in IPQ4019 and IPQ4029 versions. IPQ4019/4029 only differ in that that IPQ4029 is the industrial version that is rated to higher temperatures. Specifications are: * CPU: Qualcomm IPQ40x9 (4x ARMv7A Cortex A7) at 716 MHz * RAM: 512 MB * Storage: 2MB of SPI-NOR, 128 MB of parallel NAND * USB 3.0 TypeA port for users * MiniPCI-E with PCI-E 2.0 link * MiniPCI-E for LTE modems with only USB2.0 link * 2 SIM card slots that are selected via GPIO11 * MicroSD card slot * Ethernet: 2x GBe with 24~48V passive POE * SFP port (Does not work, I2C and GPIO's not connected on hardware) * DC Jack * UART header * WLAN: In-SoC 2x2 802.11b/g/n and 2x2 802.11a/n/ac * 4x MMCX connectors for WLAN * Reset button * 8x LED-s Installation instructions: Connect to UART, pins are like this: -> 3.3V | TX | RX | GND Settings are 115200 8n1 Boot initramfs from TFTP: tftpboot 0x84000000 openwrt-ipq40xx-generic-wallys_dr40x9-initramfs-fit-uImage.itb bootm Then copy the sysupgrade image to the /tmp folder and execute sysupgrade -n <image_name> The board file binary was provided from Wallystech on March 14th 2023 including full permission to use and distribute. Signed-off-by: Robert Marko <robert.marko@sartura.hr> Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
* ipq-wifi: bump to latest git HEADKoen Vandeputte2023-03-211-3/+3
| | | | | | f9cece0 ipq40xx: add support for Wallystech DR40x9 Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
* kernel: add missing symbols in 5.15Koen Vandeputte2023-03-211-0/+6
| | | | | | Found these while playing around with video support Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>