aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* toolchain/binutils: get rid of outdated libiberty hackAndre Heider2023-02-191-1/+0
| | | | | | | | | | | | | | | This reverts commit 68fcb15f90edd92ef36990c5696b9e79df07a6ec. binutils syncs libiberty from gcc, which defaults to not installing itself since [0], see also [1]. That change is apparently part of binutils 2.24, and the oldest supported version here is 2.37, hence we can remove this hack. [0] https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=48d7db63ff581b026e057badf39f1f23fdf47928 [1] https://gcc.gnu.org/onlinedocs/libiberty/Using.html Signed-off-by: Andre Heider <a.heider@gmail.com>
* toolchain/binutils: get rid of ARC leftoversAndre Heider2023-02-191-6/+0
| | | | | | | | | | | | In [0] support for ARC specific binutils were added, which was later removed again [Fixes:]. Upstream binutils never had an extlib. [0] 8b5d644b "toolchain: add support of ARC architecture" Fixes: 8568dcd9 "toolchain: Remove binutils 2.29 for ARC targets" Signed-off-by: Andre Heider <a.heider@gmail.com>
* toolchain/binutils: fill in missing GRAPHITE_CONFIGUREAndre Heider2023-02-191-0/+6
| | | | | | | This var is used further down, but it's empty. Fix that with the very same values gcc uses. Signed-off-by: Andre Heider <a.heider@gmail.com>
* hostapd: always use sae_password for mesh/SAE authLeon M. Busch-George2023-02-191-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes a corner case when using passwords that are exactly 64 characters in length with mesh mode or passwords longer than 63 characters with SAE because 'psk' is used instead of 'sae_password'. SAE is obligatory for 802.11s (mesh point). The 'psk' option for hostapd is suited for WPA2 and enforces length restrictions on passwords. Values of 64 characters are treated as PMKs. With SAE, PMKs are always generated during the handshake and there are no length restrictions. The 'sae_password' option is more suited for SAE and should be used instead. Before this patch, the 'sae_password' option is only used with mesh mode passwords that are not 64 characters long. As a consequence: - mesh passwords can't be 64 characters in length - SAE only works with passwords with lengths >8 and <=63 (due to psk limitation). Fix this by always using 'sae_password' with SAE/mesh and applying the PMK differentiation only when PSK is used. Fixes: #11324 Signed-off-by: Leon M. Busch-George <leon@georgemail.eu> [ improve commit description ] Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* hostapd: add quotes in assignmentsLeon M. Busch-George2023-02-191-6/+6
| | | | | | It's generally advised to use quotes for variable assignments in bash. Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
* ramips: add alternative device name for Wiflyer WF3526-PShiji Yang2023-02-191-0/+2
| | | | | | | | | Wiflyer WF3526-P and Zbtlink ZBT-WE1326 have the same circuit design. Installing the misunderstading firmware of ZBT-WE3526 will cause Wi-Fi not work due to allocate the wrong pcie port. Add alternative name to help users easily build or download the correct firmware. Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* ramips: correct the PCIe port number for Zbtlink ZBT-WE1326Shiji Yang2023-02-191-2/+2
| | | | | | | | | | | | | | | | | MT7621 gets a new PCIe driver in the 5.15+ kernel. Allocating wrong PCIe port will cause the PCIe NIC to not work properly. This commit fixes the wrong port numbers on Zbtlink ZBT-WE1326. According to the bootlog, MT7612E (5 GHz) is connected to pcie1, and MT7603E (2 GHz) is connected to pcie2: [4.197658] mt7621-pci 1e140000.pcie: pcie0 no card, disable it (RST & CLK) [4.204609] mt7621-pci 1e140000.pcie: PCIE1 enabled [4.209476] mt7621-pci 1e140000.pcie: PCIE2 enabled ... [4.307988] pci 0000:01:00.0: [14c3:7662] type 00 class 0x028000 [4.367206] pci 0000:02:00.0: [14c3:7603] type 00 class 0x028000 Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* base-files: sysfixtime: Fix time on the fake RTCYuan Tao2023-02-191-6/+16
| | | | | | | | | | | | | | | On some devices the chip has RTC but no battery save time. This leads back to getting the wrong time and skipping the check of the last file modification date. This commit ensures that the file time is checked even if the RTC exists. which would ordinarily return an approbiate system time used for e.g. certificate generation. Tested-on: NanoPi R2S Signed-off-by: Yuan Tao <ty@wevs.org>
* tools/squashfs: rename to squashfs3-lzmaChristian Marangi2023-02-189-12/+17
| | | | | | | | | | | | | | | | The name of squashfs is confusing since in reality it's a really old version using an old lzma library. This tools is used for old ath79 netgear target and to produde a fake squasfs3 image needed for some specific bootloader from some OEM (AVM for example) Rename squashfs tool to squasfs3-lzma to better describe it. Rename the installed bin from mksquashfs-lzma to mksquashfs3-lzma. Use tar transform to migrate the root directory in tar to the new naming. Drop redundant PKG_CAT variable not needed anymore. Also update any user of this tool. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* wireguard-tools: remove unnecessary .mk includesAndre Heider2023-02-181-2/+0
| | | | | | | | | Including kernel.mk moves the package build folder in the linux one, which is confusing since this isn't building any kernel modules. package-defaults.mk is already included my package.mk. Signed-off-by: Andre Heider <a.heider@gmail.com>
* ipq40xx: chromium: Enable kmod-ramoops by defaultBrian Norris2023-02-181-1/+5
| | | | | | | | Chromium devices (like Google WiFi) have ramoops memory reserved by the bootloader. Let's enable the ramoops kernel module by default, so we get better crash logging. Signed-off-by: Brian Norris <computersforpeace@gmail.com>
* ipq806x: chromium: Enable kmod-ramoops by defaultBrian Norris2023-02-181-1/+5
| | | | | | | | Chromium devices (like OnHub) have ramoops memory reserved by the bootloader. Let's enable the ramoops kernel module by default, so we get better crash logging. Signed-off-by: Brian Norris <computersforpeace@gmail.com>
* kernel: kmod-ramoops: Include pstore console supportBrian Norris2023-02-181-1/+2
| | | | | | | | | | | | | | | | | Pstore ramoops support is useful even when there isn't an explicit panic/crash. We can log all kernel messages via a "console", and then retrieve them in the event of some non-kernel-panic reset (e.g., watchdog). Since the buffer memory is already reserved, there isn't much overhead to doing this. The new console files will show up as: /sys/fs/pstore/console-ramoops-N Cc: Hannu Nyman <hannu.nyman@iki.fi> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
* ramips: add support for Huasifei WS1208V2Arınç ÜNAL2023-02-183-0/+200
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The Huasifei WS1208V2 is an AC1200 router featuring 5 Ethernet ports with a Quectel RM520N-GL cellular modem which supports QMI and MBIM modes. Specifications: - MT7621AT, 256 MiB RAM, 16 MiB SPI Flash - MT7603EN 2.4 GHz & MT7612EN 5 GHz WLAN - Quectel RM520N-GL Cellular Modem - 2 WLAN & 4 Cellular Antennas - 5 Gigabit Ethernet Ports - 1 USB 2.0 port - 1 PCI-E Slot - 1 M.2 slot - 1 SIM card slot - 1 SD card slot Installation: - Install sysupgrade image via ROOter OS. TFTP Recovery: - Connect to serial console. - Boot initramfs image by choosing option 1 when U-Boot prompts. - Install sysupgrade image via OpenWrt. Link: https://www.huasifei.com/a/Products/5G%20CPE/240.html Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
* elfutils: fix build with GCC 11Andre Heider2023-02-181-1/+9
| | | | | | | | GCC 11 doesn't know about -Wno-error=use-after-free and aborts compilation. Fixes: 2748c45d "elfutils: Ignore wrong use-after-free error" Signed-off-by: Andre Heider <a.heider@gmail.com>
* kernel: can: fix MCP251x CAN controller module autoloadTim Harvey2023-02-181-1/+1
| | | | | | Fix autoload module name for can-mcp251x kmod. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
* kernel: bump 5.10 to 5.10.168John Audia2023-02-1810-84/+16
| | | | | | | | | | | | | | | | | | Manually rebased: backport-5.10/804-v5.14-0001-nvmem-core-allow-specifying-of_node.patch Removed upstreamed: generic-backport/807-v5.17-0003-nvmem-core-Fix-a-conflict-between-MTD-and-NVMEM-on-w.patch[1] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.168&id=34ec4c7831c416ac56619477f1701986634a7efc 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>
* tools/zstd: update to 1.5.4Rosen Penev2023-02-181-3/+3
| | | | | | Mostly performance improvements, as usual. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* netfilter: add kmod-nf-conntrackAviana Cruz2023-02-182-1/+29
| | | | | | | | | There have been some demands for the `ct count` expression, like https://forum.openwrt.org/t/22-03-2-unable-to-use-ct-count-nft-rules/146680. This adds the required kernel modules for the expression to work. Signed-off-by: Aviana Cruz <gwencroft@proton.me>
* ramips: add label MAC address for EPG600 and ESR600Michael Pratt2023-02-181-0/+1
| | | | | | | set label mac for the current ESR600 and new EPG600 using the board.d scripts Signed-off-by: Michael Pratt <mcpratt@pm.me>
* ramips: add support for Senao Engenius EPG600Michael Pratt2023-02-184-0/+246
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FCC ID: A8J-EPG600 Engenius EPG600 is an indoor wireless router with 1 Gb ethernet switch, dual-band wireless, internal antenna plates, USB, and phone lines (not supported) this board is a Senao device: the hardware is equivalent to EnGenius ESR600 (except for phone lines) the software is Senao SDK which is based on openwrt and uboot which uses the legacy Senao header with Vendor / Product IDs to verify the firmware upgrade image. **Specification:** - MT7620 SOC MIPS 24kec, 2.4 GHz WMAC, 2x2 - RT5592N WLAN PCI chip, 5 GHz, 2x2 - QCA8337N Gb SW RGMII GbE, SW P0 -- SOC P5, 5 LEDs - 40 MHz clock - 16 MB FLASH MX25L12845EMI-10G - 64 MB RAM NT5TU32M16 - UART console J2, populated - USB 2.0 port direct to SOC - 6 GPIO LEDs power, 2G, 5G, wps2g, wps5g, line - 3 buttons reset, wps, "reg" (registeration) - 4 antennas internal omni-directional plates NOT YET SUPPORTED: VoIP - Si3050-FT + Si3019-FT Voice DAA, SPI control, PCM data - Phone Ports "TEL", "LINE" RJ11, 4P2C (2 pins) **MAC addresses:** MAC address labeled as MAC ADDRESS MACs present in both wifi cal data and uboot environment eth0.1/phy1 ---- *:82 rf 0x4 phy0 ---- *:83 factory 0x4 eth0.2 MAC *:b8 "wanaddr" **Installation:** Method 1: Firmware upgrade page: (if you cannot access the APs webpage) factory reset with the reset button connect ethernet to a computer OEM webpage at 192.168.0.1 username and password 'admin' Navigate to gear icon, "Device Management", "Tools" select the factory.dlf image Upload and verify checksum Method 2: Serial to upload initramfs: Follow directions for TFTP recovery upload and boot initramfs and do a sysupgrade **TFTP recovery:** Requires UART serial console, reset button does nothing rename initramfs-kernel.bin to 'uImageEPG600' make available on TFTP server at 192.168.99.8 power board, interrupt boot with "4" execute `tftpboot` and `bootm` (with the load address) **Return to OEM:** Images from OEM are provided, but not compatible with openwrt sysupgrade. So it must be modified. Alternatively, back up all mtd partitions before flashing **Note on switch registers:** The necessary registers needed for the QCA8337 switch can be read from interrupted boot (tftpboot, bootm) by using the following lines in the switch driver ar8327.c in the function 'ar8327_hw_config_of' where 'qca,ar8327-initvals' is parsed from DTS before the new register values are written: pr_info("0x04 %08x\n", ar8xxx_read(priv, AR8327_REG_PAD0_MODE)); pr_info("0x08 %08x\n", ar8xxx_read(priv, AR8327_REG_PAD5_MODE)); pr_info("0x0c %08x\n", ar8xxx_read(priv, AR8327_REG_PAD6_MODE)); pr_info("0x10 %08x\n", ar8xxx_read(priv, AR8327_REG_POWER_ON_STRAP)); Signed-off-by: Michael Pratt <mcpratt@pm.me>
* ramips: mt7620: split gsw hw_init to mac_init, ephy_initMichael Pratt2023-02-181-16/+24
| | | | | | | | | | | | | | | | | | | in order for the option ephy-disable to work without also needing ephy-base option, we have to skip all the lines that write to mdio addresses that assume those addresses do not have an external switch. Otherwise, ephy ports will be disabled in hardware, but register writes still happen as if they are enabled. Split the functions so that other things are done first, and ephy port setup can be skipped with a simple "return". Tested on Engenius EPG600 (MT7620A ver:2 eco:3) with QCA8337 external switch Ref: cc6fd6fbb505 ("ramips: mt7620: add ephy-disable option to switch driver") Signed-off-by: Michael Pratt <mcpratt@pm.me>
* wireless-regdb: update to 2023.02.13Yuu Toriyama2023-02-181-2/+2
| | | | | | | | | | | | Changes: 7f7a9f7 wireless-regdb: update regulatory database based on preceding changes 660a1ae wireless-regdb: Update regulatory info for Russia (RU) on 5GHz fe05cc9 wireless-regdb: Update regulatory rules for Japan (JP) on 6GHz d8584dc wireless-regdb: Update regulatory rules for Japan (JP) on 5GHz c04fd9b wireless-regdb: update regulatory rules for Switzerland (CH) f29772a wireless-regdb: Update regulatory rules for Brazil (BR) Signed-off-by: Yuu Toriyama <PascalCoffeeLake@gmail.com>
* ipq807x: Add bluetooth driver to zyxel nbg7815Karol Przybylski2023-02-181-1/+2
| | | | | | | | | | Zyxel NBG7815 supports bluetooth with blsp1_uart3. Configuration are already added to dts file, device needs only module to working bluetooth properly. Tested at below posts: https://forum.openwrt.org/t/openwrt-support-for-armor-g5-nbg7815/98598/259?u=itork Reviewed-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Karol Przybylski <karol.przybylski@esm-technology.pl>
* ramips: fix the name of ASUS AX54 because it has dupilcated twiceKarl Chan2023-02-181-5/+3
| | | | | | The name of ASUS AX54 has dupilcated in the DEVICE_ALT0_VENDOR/DEVICE_ALT0_MODEL Signed-off-by: Karl Chan <exkc@exkc.moe>
* mediatek: add support for Netgear WAX206Marcel Ziswiler2023-02-185-1/+591
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: * SoC: MediaTek MT7622BV * RAM: DDR3 512 MiB (Nanya NT5CC256M16ER-EK) * Flash: SPI-NAND 256 MiB (Toshiba TC58CVG1S3HRAIJ) * Wi-Fi 2.4/5 GHz 4T4R: * 2.4 GHz: MediaTek MT7622BV * 5 GHz: MediaTek MT7915AN/MT7975AN * Ethernet: 4x 10/100/1000 Mbps LAN, 1x 10/100/1000/2500 Mbps WAN (Realtek RTL8221B PHY) * Switch: MediaTek MT7531AE * LEDs/Keys: 8/1 (Power, Internet, LAN1, LAN2, LAN3, LAN4, Wifin and Wifia dual-colour LEDs + Reset pin) * UART: Marked J19 on board VCC GND TX RX, beginning from "1". 3.3v, 115200n8 * Power: 12 VDC, 2.5 A Installation: * Flash the factory image through the stock web interface, or TFTP to the bootloader. NMRP can be used to TFTP without opening the case. * U-Boot allows booting an initramfs image via TFTP as follows: setenv ipaddr 192.168.1.1 setenv serverip 192.168.1.100 tftpboot openwrt-mediatek-mt7622-netgear_wax206-initramfs-recovery.itb bootm Known Limitations: * The 2.5G WAN port labeled 'wan' only works for speeds up to 1G at the moment. If connected to a multi-gig port the speed has to be manually set to 1G/full either for the switch port or in OpenWrt. For example add the following to /etc/rc.local to set it on boot: /usr/sbin/ethtool -s wan speed 1000 duplex full Revert to stock firmware: * Flash the stock firmware to the bootloader using TFTP/NMRP. References to WAX206 GPL source: https://www.downloads.netgear.com/files/GPL/WAX206_V1.0.4.0_Source.rar * openwrt/target/linux/mediatek/dts/mt7622-netgear-wax206.dts DTS file for this device. * openwrt/target/linux/mediatek/image/mt7622.mk Image creation code for this device Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com> [fix WAN port (1G only), adjust partition layout, adjust image creation] Signed-off-by: Thomas Kupper <thomas.kupper@gmail.com>
* kernel: bump 5.15 to 5.15.94John Audia2023-02-1820-75/+75
| | | | | | | | | | Patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B, filogic/xiaomi_redmi-router-ax6000-ubootmod Run-tested: bcm2711/RPi4B, filogic/xiaomi_redmi-router-ax6000-ubootmod Signed-off-by: John Audia <therealgraysky@proton.me>
* ramips: backport mt7621 PCIs initialization delay patchShiji Yang2023-02-182-0/+104
| | | | | | | | | | | | | The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. Some devices like ZBT WE1326 and ZBT WF3526-P and some Netgear models need to delay phy port initialization after calling the mt7621_pcie_init_port() driver function to get into reliable boots for both warm and hard resets. Signed-off-by: Shiji Yang <yangshiji66@qq.com>
* kernel: 5.15: refresh patchesPaul Spooren2023-02-178-12/+12
| | | | | | | | | | This commit fixes the following commit f584fb2f7e kernel: import accepted MediaTek Ethernet patches Unrefreshed patches caused the CI to fail. Signed-off-by: Paul Spooren <mail@aparcar.org>
* Revert "ipq806x: disable ea8500 image by default"Christian Marangi2023-02-171-1/+0
| | | | | | | | This reverts commit c4a9a67de8ec85a12a004a34a740bd89ca8895e9. Device is now fixed and works correctly with kernel 5.15. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* Revert "ipq806x: disable ea8500 image by default"Christian Marangi2023-02-171-1/+0
| | | | | | | | This reverts commit 5384c9337f2323727081e32369a86b62e72c47d8. Device is now fixed and works correctly with kernel 5.15. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* ipq806x: 5.10: refresh patchesChristian Marangi2023-02-174-29/+29
| | | | | | Refresh patches for kernel 5.10 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* ipq806x: fix Linksys EAX500 family devices dead Ethernet switchChristian Marangi2023-02-173-16/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With 5.15 kernel version Linksys EAX500 family devices suffered from a big regression where the Ethernet switch became silent and started to malfunction. It was discovered later that the cause was not really the kernel upgrade itself but a hackish implementation of the hw implementation of these special routers. In the original Linksys source code, GPIO 63 was handled in a special way and was reset on reboot. Normally GPIO 63 is used for pcie2 reset but in every device we support, pcie2 is actually never used as nothing is attached to it. Linksys rerouted GPIO 63 to the switch reset pin and deviates from common hw implementation. Till now it was used an hack to handle this case... It was set pcie3 as working (while actually nothing was connected), set it to output low (for assert-deassert from the pcie init code) and be done with it. The result was that the GPIO was reset for enough time in early boot and everything worked correctly. This hack implementation was born to fail from the very start and in kernel 5.15 finally problem arised. In 5.15 pcie code changed and now the GPIO reset pin is not asserted as probe won't fail if nothing is connected to the line (the old behaviour) This result in the switch hold the reset pin and the Ethernet switch dead. On top of that with 5.15 code got optimized and simply attaching the GPIO reset to the mdio wasn't enough as the switch require at least 10ms to be correctly reset. So implement finally a correct solution where: - pcie2 is correctly disabled (nothing attached, unused) - drop the wrong output-low for pcie2 reset pin - define GPIO 63 as switch reset - Add the reset-gpios to the mdio0 node - Set the reset-post-delay-us to 12ms to correctly give time the switch to reset Fixes: #10983 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* ramips: Switch default kernel to 5.15Rodrigo B. de Sousa Martins2023-02-171-2/+1
| | | | | | | | | | | | | I tested kernel 5.15 on my device for several times without any problems. In my tests, 5.15 kernel has performance improvements such MGLRU. Finally, initial kernel 6.1 support is imminent. All ramips subtargets have 5.15 as testing kernel. So, it's time to change. Tested on my Archer C6 v3.2 (mt7621) Signed-off-by: Rodrigo B. de Sousa Martins <rodrigo.sousa.577@gmail.com> [reformat commit subject and message] Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* ramips: fix wrong pcie port number for Arcadyan devicesMikhail Zhilkin2023-02-171-1/+1
| | | | | | | | | | | Wrong pcie port number for WLAN causes missing 5g WLAN interface with 5.15 kernel. This changes port from pcie0 to pcie1 in dtsi. [1.166330] mt7621-pci 1e140000.pcie: pcie0 no card, disable it (RST & CLK) [1.180073] mt7621-pci 1e140000.pcie: pcie2 no card, disable it (RST & CLK) [1.193889] mt7621-pci 1e140000.pcie: PCIE1 enabled Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
* odhcpd: bump to git HEADStijn Tintel2023-02-171-3/+3
| | | | | | | | dfab0fa dhcpv4: detect noarp interfaces 5a17751 router: improve RA logging edc5e17 router: always check ra_default Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* build: add option to use preinit IP as LAN IPStijn Tintel2023-02-172-0/+20
| | | | | | | | | | | We currently have build options to customize the IP address used in the preinit phase of the boot process, but not to set the default LAN IP. Introduce a boolean build option that, when enabled, results in the IP address configured for the preinit phase, to be also used as the default LAN IP address. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* ipq807x: move AQR driver from built-in to kmodRobert Marko2023-02-152-2/+1
| | | | | | | | | | | | | | ipq807x does not compile-in hwmon core, and this is leading to the hwmon code in AQR driver not being compiled due to IS_REACHABLE(CONFIG_HWMON) evaluating to false as hwmon is being built as a module. So, lets not compile-in Aquantia PHY driver so it can be included as kmod instead to have functioning hwmon. This allows using the thermal sensors in AQR-s as thermal zones for cooling devices like fans. Signed-off-by: Robert Marko <robimarko@gmail.com>
* kernel: modules: package Aquantia PHY driverRobert Marko2023-02-151-0/+16
| | | | | | | | | | | | | Package the Aquantia AQR PHY driver as kmod. This enables using the Aquantia driver with hwmon support on targets where hwmon is not compiled-in. Currently, in case when AQR driver is compiled-in but hwmon core is not hwmon code in AQR driver will not get compiled because of macro IS_REACHABLE(CONFIG_HWMON) evaluating to false. Signed-off-by: Robert Marko <robimarko@gmail.com>
* bcm4908: refactor packet steering initRafał Miłecki2023-02-152-46/+29
| | | | | | | | Replace a standalone init.d script with a platform implementation as supported by netifd. This avoids a race between netifd and target specific setups. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm53xx: fix shebang in packet_steering.shRafał Miłecki2023-02-151-1/+1
| | | | | Fixes: 6e555ac3ad26 ("bcm53xx: refactor packet steering init") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* iptables: iptables-mod-conntrack-extra: don't select kmod-ipt-rawRafał Miłecki2023-02-151-1/+1
| | | | | | | | | | | | | | | | | | | | | Package kmod-ipt-raw enables CONFIG_IP_NF_RAW and packages iptable_raw.ko According to kernel's net/netfilter/Kconfig there are only 3 kernel symbols that depend on the IP_NF_RAW: 1. NETFILTER_XT_TARGET_CT (xt_CT.ko) 2. NETFILTER_XT_TARGET_NOTRACK (unused symbol?!) 3. NETFILTER_XT_TARGET_TRACE (xt_TRACE.ko) Now: iptables-mod-conntrack-extra selects kmod-ipt-conntrack-extra which provides: xt_helper.ko nf_conncount.ko xt_connlimit.ko xt_connmark.ko xt_recent.ko and xt_connbytes.ko (none of them seems to require iptable_raw.ko). It seems there is no explicit reason for iptables-mod-conntrack-extra to require kmod-ipt-raw (iptables_raw.ko). Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm53xx: refactor packet steering initRafał Miłecki2023-02-152-44/+25
| | | | | | | | Replace a standalone init.d script with a platform implementation as supported by netifd. This avoids a race between netifd and target specific setups. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* netifd: refactor packet steering initRafał Miłecki2023-02-153-3/+24
| | | | | | | | 1. Move setup code to independent script file 2. Add init.d script to allow automatic updates 3. Support platform specific /usr/libexec/platform/packet-steering.sh Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: import accepted MediaTek Ethernet patchesDaniel Golle2023-02-1519-160/+396
| | | | | | | | Import some accepted and pending upstream patches for mtk_eth_soc, replacing some semantically equivalent local patches and fixing issues when operating the PCS in 1G SGMII mode. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: mtk_thermal: replace with upstream patchDaniel Golle2023-02-152-41/+114
| | | | | | | Replace local patch adding thermal support for MT7986 with version accepted upstream. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* treewide: replace /sys/devices/virtual/ubi by /sys/class/ubiDaniel Golle2023-02-156-10/+9
| | | | | | | | | | Starting from Linux Kernel version 6.3 UBI devices will no longer be considered virtual, but rather have an MTD device parent. Hence they will no longer be listed under /sys/devices/virtual/ubi which is used in multiple places in OpenWrt. Prepare for future kernels by using /sys/class/ubi instead of /sys/devuces/virtual/ubi. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* fstools: update to git HEADDaniel Golle2023-02-151-3/+3
| | | | | | 12155d3 libfstools: use class interface to iterate over ubi devices Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ucode: update to the latest versionFelix Fietkau2023-02-141-4/+4
| | | | | | | | | | | | | | 08c709c58187 rtnl: add support for registering an uloop based listener 599a7fb59380 Merge pull request #140 from nbd168/rtnl c4125c516e0a nl80211: fix NL80211_ATTR_SURVEY_INFO c43bb9d8fe8d Merge pull request #141 from dhewg/master c1342d934b2d nl80211: add missing ucv_get() calls 9022b270683a rtnl: add missing ucv_get() calls 837cffec5a5c Merge pull request #142 from nbd168/ref-fixes 65b1f181e642 rtnl: add missing uc_vm_registry_set call ab2f3f70257d Merge pull request #143 from nbd168/rtnl-fix Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ipq807x: add support for Buffalo WXR-5950AX12INAGAKI Hiroshi2023-02-128-0/+456
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Buffalo WXR-5950AX12 is a 2.4/5 GHz band 11ax (Wi-Fi 6) router, based on IPQ8074A. Specification: - SoC : Qualcomm IPQ8074A - RAM : DDR3 1024 MiB (2x Nanya NT5CC256M16ER-EK) - Flash : RAW NAND 256 MiB (Winbond W29N02GZBIBA) - WLAN : 2.4/5 GHz (IPQ8074A) - Ethernet : 5 ports - WAN : 100/1000/2500/10000 Mbps x1 (AQR113C) - LAN : 100/1000/2500/10000 Mbps x1 (AQR113C), 10/100/1000 Mbps x3 (QCA8075) - LED/Keys : 8x/5x - UART : pin header on PCB (J7) - assignment: 3.3V, GND, TX, RX from disc marking - settings : 115200n8 - Power : 12 VDC, 4 A Flash instruction using initramfs image: 1. Prepare TFTP server with IP address 192.168.11.10 2. Rename OpenWrt initramfs image to "WXR-5950AX12-initramfs.uImage and place it to TFTP directory 3. Hold AOSS (WPS) button and power on WXR-5950AX12 4. WXR-5950AX12 downloads initramfs image from TFTP server and boots with it automatically 5. Upload sysupgrade image to WXR-5950AX12 and perform sysupgrade 6. Wait ~120 seconds to complete flashing Partition layout: 0x000000000000-0x000000100000 : "0:sbl1" 0x000000100000-0x000000200000 : "0:mibib" 0x000000200000-0x000000280000 : "0:bootconfig" 0x000000280000-0x000000300000 : "0:bootconfig1" 0x000000300000-0x000000600000 : "0:qsee" 0x000000600000-0x000000900000 : "0:qsee_1" 0x000000900000-0x000000980000 : "0:devcfg" 0x000000980000-0x000000a00000 : "0:devcfg_1" 0x000000a00000-0x000000a80000 : "0:apdp" 0x000000a80000-0x000000b00000 : "0:apdp_1" 0x000000b00000-0x000000b80000 : "0:rpm" 0x000000b80000-0x000000c00000 : "0:rpm_1" 0x000000c00000-0x000000c80000 : "0:cdt" 0x000000c80000-0x000000d00000 : "0:cdt_1" 0x000000d00000-0x000000d80000 : "0:appsblenv" 0x000000d80000-0x000000e80000 : "0:appsbl" 0x000000e80000-0x000000f80000 : "0:appsbl_1" 0x000000f80000-0x000001000000 : "0:art" 0x000001000000-0x000001080000 : "0:art_1" 0x000001080000-0x000001100000 : "0:orgdata" 0x000001100000-0x000001180000 : "0:orgdata_1" 0x000001180000-0x000005180000 : "rootfs" 0x000005180000-0x000009180000 : "rootfs_recover" 0x000009180000-0x000010000000 : "user_property" Notes: - WXR-5950AX12 has 2x OS images on NAND flash. The 1st image is for normal operation and the 2nd one is for recoverying or firmware upgrading on stock. - Stock U-Boot checks MD5 hashes in "fw_hash" volume in each "root*" partition when booting. This is just a comparation of hash strings. Behaviors: - both "fw_hash" volumes exist, hashes are rootfs == rootfs_recover ---> boot from rootfs - both "fw_hash" volumes exist, hashes are rootfs != rootfs_recover ---> boot from rootfs_recover Note: this behavior is used for firmware upgrading on stock - "fw_hash" volume in rootfs is missing ---> boot from rootfs_recover - "fw_hash" volume in rootfs_recover is missing ---> boot from rootfs - "fw_hash" volumes in both root* partition are missing ---> boot from rootfs_recover Reverting to stock firmware: 1. Decrypt official image by buffalo-enc and remove header example of decryption: $ buffalo-enc -i wxr_5950ax12_jp_305 -o wxr_5950ax12_jp_305.dec \ -d -k olaffuB -O 0xc8 example of removing header (v3.05): - before $ hexdump -n 64 -v -C wxr_5950ax12_jp_305.dec 00000000 57 58 52 2d 35 39 35 30 41 58 31 32 5f 33 2e 30 |WXR-5950AX12_3.0| 00000010 35 5f 31 2e 30 31 5f 4a 50 5f 6a 70 5f 71 63 61 |5_1.01_JP_jp_qca| 00000020 0a 66 69 6c 65 6c 65 6e 3d 34 35 33 35 30 39 31 |.filelen=4535091| 00000030 32 0a 55 42 49 23 01 00 00 00 00 00 00 00 00 00 |2.UBI#..........| 00000040 - after $ hexdump -n 64 -v -C wxr_5950ax12_jp_305.ubi 00000000 55 42 49 23 01 00 00 00 00 00 00 00 00 00 00 00 |UBI#............| 00000010 00 00 08 00 00 00 10 00 78 cf c4 91 00 00 00 00 |........x.......| 00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 3d 2a 64 fd |............=*d.| 00000040 2. Boot WXR-5950AX12 with OpenWrt initramfs image 3. Upload modified stock image to WXR-5950AX12 4. Find partitions "rootfs" and "rootfs_recover" example: root@OpenWrt:/# cat /proc/mtd dev: size erasesize name ... mtd22: 04000000 00020000 "rootfs" mtd23: 04000000 00020000 "rootfs_recover" ... in this case, "rootfs" is mtd22 and "rootfs_recover" is mtd23 5. Format "rootfs"/"rootfs_recover" partition with the uploaded image example: ubiformat /dev/mtd22 -f /tmp/wxr_5950ax12_jp_305.ubi ubiformat /dev/mtd23 -f /tmp/wxr_5950ax12_jp_305.ubi 6. Remove "rootfs"/"rootfs_data" volume from user_property partition example: . /lib/upgrade/nand.sh UBI=$(nand_attach_ubi user_property) ubirmvol /dev/$UBI -N rootfs ubirmvol /dev/$UBI -N rootfs_data 7. Reboot MAC addresses: LAN : 50:C4:DD:xx:xx:28 (0:APPSBLENV, ethaddr (text)) WAN : 50:C4:DD:xx:xx:28 (0:APPSBLENV, ethaddr (text)) 2.4 GHz: 50:C4:DD:xx:xx:30 (0:APPSBLENV, wlan0addr (text)) 5 GHz : 50:C4:DD:xx:xx:38 (0:APPSBLENV, wlan1addr (text)) Reviewed-by: Robert Marko <robimarko@gmail.com> Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>