aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mvebu: add targz feature flagPaul Spooren2022-02-241-1/+1
| | | | | | | Adding the feature flag automatically creates a a rootfs.tar.gz files which can be used for Docker rootfs containers. Signed-off-by: Paul Spooren <mail@aparcar.org>
* Revert "scripts/diffconfig.sh: ensure config/conf is built"Petr Štetiar2022-02-241-1/+0
| | | | | | | | | | | | | This reverts commit c0849c1d9c17ba96a37b67363b5551c065e9f50d as it seems to introduce regression in config.buildinfo files produced at least by buildbots: $ curl -s https://downloads.openwrt.org/snapshots/targets/ath79/generic/config.buildinfo | head -2 make[3]: Entering directory '/builder/shared-workdir/build' make[3]: Leaving directory '/builder/shared-workdir/build' References: https://github.com/openwrt/openwrt/issues/9297#issuecomment-1049719381 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* wolfssl: fix API breakage of SSL_get_verify_resultPetr Štetiar2022-02-221-0/+26
| | | | | | | | | | | | | | | | | | Backport fix for API breakage of SSL_get_verify_result() introduced in v5.1.1-stable. In v4.8.1-stable SSL_get_verify_result() used to return X509_V_OK when used on LE powered sites or other sites utilizing relaxed/alternative cert chain validation feature. After an update to v5.1.1-stable that API calls started returning X509_V_ERR_INVALID_CA error and thus rendered all such connection attempts imposible: $ docker run -it openwrt/rootfs:x86_64-21.02.2 sh -c "wget https://letsencrypt.org" Downloading 'https://letsencrypt.org' Connecting to 18.159.128.50:443 Connection error: Invalid SSL certificate Fixes: #9283 References: https://github.com/wolfSSL/wolfssl/issues/4879 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* mediatek: mt7623: drop RAMFS_COPY_BINDaniel Golle2022-02-221-2/+0
| | | | | | | fwtool is now always part of the sysupgrade stage2 ramdisk, so drop the no longer needed RAMFS_COPY_BIN variable. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: mt7622: drop RAMFS_COPY_BIN and RAMFS_COPY_DATADaniel Golle2022-02-221-2/+0
| | | | | | | | | Now that both, fw_printenv/fw_setenv and fwtool are always present during stage2 sysupgrade, we no longer need to list them in RAMFS_COPY_BIN and RAMFS_COPY_DATA in platform.sh. Drop both variables as they are now unneeded. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* base-files: make sure tools are present in sysupgrade ramdiskDaniel Golle2022-02-221-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not all targets create /var/lock or touch /var/lock/fw_printenv.lock in their platform.sh. This is problematic as fw_printenv then fails in case /var/lock/fw_printenv.lock has not been created by previous calls to fw_printenv/fw_setenv before sysupgrade is run. Targets using fw_printenv/fw_setenv during sysupgrade: * ath79/* * ipq40xx/* * ipq806x/* * kirkwood/* * layerscape/* * mediatek/mt7622 * mvebu/* * ramips/* * realtek/* Targets currently using additional steps in /lib/upgrade/platform.sh to make sure /var/lock/fw_printenv.lock (or at least /var/lock) actually exists: * ath79/* (openmesh devices) * ipq40xx/* (linksys devices) * ipq806x/* (linksys devices) * kirkwood/* (linksys devices) * layerscape/* * mvebu/cortexa9 (linksys devices) Given that accessing the U-Boot environment during sysupgrade is not uncommon and the situation across targets is currently quite diverse, just make sure both tools as well fw_env.config are always copied to the ramdisk used for sysupgrade. Also make sure /var/lock always exists. This now allows to remove copying of fw_printenv/fw_setenv as well as fw_env.config, creation of /var/lock or even /var/lock/fw_printenv.lock from lib/upgrade/platform.sh or files included there. As the same applies also to 'fwtool' which is used by generic eMMC sysupgrade, also always copy that to ramdisk. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* scripts/diffconfig.sh: ensure config/conf is builtEneas U de Queiroz2022-02-221-0/+1
| | | | | | | | diffconfig.sh runs ./scripts/config/conf, but it does not get built with 'make {menu,x,n}config. Call 'make ./scripts/config/conf' to ensure it's been built befpre running it. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* build: toplevel.mk: fix missing kconfig dependency trackingPetr Štetiar2022-02-221-1/+1
| | | | | | | | | | | Toplevel Make is not aware about changes in the `scripts/config/*conf` targets and this is causing issues for during update to that part of build tree, where one needs to handle this manually by either force rebuilding the targets or running `make config-clean`. Fix this by forcing the rebuild if necessary. Fixes: #9297 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* openssl: configure engines with uciEneas U de Queiroz2022-02-225-62/+54
| | | | | | | | | | | | | | | | | | | | | | | | This uses uci to configure engines, by generating a list of enabled engines in /var/etc/ssl/engines.cnf from engines configured in /etc/config/openssl: config engine 'devcrypto' option enabled '1' Currently the only options implemented are 'enabled', which defaults to true and enables the named engine, and the 'force' option, that enables the engine even if the init script thinks the engine does not exist. The existence test is to check for either a configuration file /etc/ssl/engines.cnf.d/%ENGINE%.cnf, or a shared object file /usr/lib/engines-1.1/%ENGINE%.so. The engine list is generated by an init script which is set to run after 'log' because it informs the engines being enabled or skipped. It should run before any service using OpenSSL as the crypto library, otherwise the service will not use any engine. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* openssl: configure engine packages during installEneas U de Queiroz2022-02-224-43/+111
| | | | | | | | | | | This enables an engine during its package's installation, by adding it to the engines list in /etc/ssl/engines.cnf.d/engines.cnf. The engine build system was reworked, with the addition of an engine.mk file that groups some of the engine packages' definitions, and could be used by out of tree engines as well. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* openssl: config engines in /etc/ssl/engines.cnf.dEneas U de Queiroz2022-02-2216-119/+82
| | | | | | | | | | | This changes the configuration of engines from the global openssl.cnf to files in the /etc/ssl/engines.cnf.d directory. The engines.cnf file has the list of enabled engines, while each engine has its own configuration file installed under /etc/ssl/engines.cnf.d. Patches were refreshed with --zero-commit. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* ath79: image: use 'kmod-usb-chipidea2' for AR933x devicesPiotr Dymacz2022-02-212-3/+3
| | | | | | | AR933x based devices should include 'kmod-usb-chipidea2' for USB support. Fixes: #9243. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ath79: image: drop 'BOARDNAME' from devices recipesPiotr Dymacz2022-02-211-4/+0
| | | | | | | The 'BOARDNAME' variable is part of target configuration and shouldn't be part of a device's image recipe. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* qosify: update to the latest versionFelix Fietkau2022-02-201-3/+3
| | | | | | 65b42032063f interface: add missing autorate-ingress options Signed-off-by: Felix Fietkau <nbd@nbd.name>
* realtek: remove debugging code from timerSander Vanheule2022-02-201-15/+3
| | | | | | | Remove some (dead) debugging code from the Realtek timer to clean up the sources of this driver. Signed-off-by: Sander Vanheule <sander@svanheule.net>
* realtek: use DT provided address for timersSander Vanheule2022-02-202-24/+24
| | | | | | | | | | | | | | | The I/O base address for the timers was hardcoded into the driver, or derived from the HW IRQ number as an even more horrible hack. All supported SoC families have these timers, but with hardcoded addresses the code cannot be reused right now. Request the timer's base address from the DT specification, and store it in a private struct for future reference. Matching the second interrupt specifier, the address range for the second timer is added to the DT specification. Signed-off-by: Sander Vanheule <sander@svanheule.net>
* realtek: clean up RTL930x timer DT nodeSander Vanheule2022-02-201-3/+1
| | | | | | | | | | | | | | The Realtek timer node for RTL930x doesn't have any child nodes, making the use of '#address-cells' quite pointless. It is also not an interrupt controller, meaning it makes no sense to define '#interrupt-cells'. The I/O address for this node is also wrong, but this is hidden by the fact that the driver associated with this node bypasses the usual DT machinery and does it's own thing. Correct the address to have a sane value, even though it isn't actually used. Fixes: a75b9e3ecb61 ("realtek: Adding RTL930X sub-target") Signed-off-by: Sander Vanheule <sander@svanheule.net>
* realtek: ZyXEL GS1900-48: fix system LED polaritySander Vanheule2022-02-201-1/+1
| | | | | | | | | When driven by a GPIO pin, the system LED needs to be configured as active high. Otherwise the LED switches off after booting and initialisation. Fixes: 47f5a0a3eed5 ("realtek: Add support for ZyXEL GS1900-48 Switch") Signed-off-by: Sander Vanheule <sander@svanheule.net>
* realtek: ZyXEL GS1900-48: drop status from gpio1Sander Vanheule2022-02-201-2/+0
| | | | | | | | The default value for a DT node's status property is already "okay", so there's no need to specify it again. Drop the status property to clean up the DTS. Signed-off-by: Sander Vanheule <sander@svanheule.net>
* realtek: use higher priority for timer interruptsSander Vanheule2022-02-201-1/+1
| | | | | | | | | | | | | | The assigned output index for the event timers was quite low, lower even than the ethernet interrupt. This means that high network load could preempt timer interrupts, possibly leading to all sorts of strange behaviour. Increase the interrupt output index of the event timers to 5, which is the highest priority output and corresponds to the (otherwise unused) MIPS CPU timer interrupt. Fixes: a75b9e3ecb61 ("realtek: Adding RTL930X sub-target") Signed-off-by: Sander Vanheule <sander@svanheule.net>
* realtek: move RTL8231 definitions to board filesSander Vanheule2022-02-204-21/+23
| | | | | | | | | | | | | | The RTL8231 is an external chip, and not part of the SoC. That means it is more appropriate to define it in the board specific (base) files, instead of the DT include for the SoC itself. Moving the RTL8231 definition also ensures that boards with no GPIO expander, or an alternative one, don't have a useless gpio1 node label defined. Tested on a Netgear GS110TPPv1. Signed-off-by: Sander Vanheule <sander@svanheule.net>
* realtek: fix node addresses for RTL839xSander Vanheule2022-02-201-3/+3
| | | | | | | | | | The address in some node names doesn't match the actual offset specified in the DT node. Update the names to fix this. While fixing the node names, also drop the unused node labels. Fixes: 0a7565e53653 ("realtek: Update rtl839x.dtsi for realtek,rtl-intc, new gpio controller remove RTL8231 node") Signed-off-by: Sander Vanheule <sander@svanheule.net>
* realtek: consolidate bootargs againSander Vanheule2022-02-205-11/+3
| | | | | | | | | | | | | | | | | Bootargs for devices in the realtek target were previously consolidated in commit af2cfbda2bf5 ("realtek: Consolidate bootargs"), since all devices currently use the same arguments. Commit a75b9e3ecb61 ("realtek: Adding RTL930X sub-target") reverted this without any argumentation, so let's undo that. Commit 0b8dfe085180 ("realtek: Add RTL931X sub-target") introduced the old bootargs also for RTL931x, without providing any actual device support. Until that is done, let's assume vendors will have done what they did before, and use a baud rate of 115200. Fixes: a75b9e3ecb61 ("realtek: Adding RTL930X sub-target") Signed-off-by: Sander Vanheule <sander@svanheule.net>
* mvebu: cortexa72: enable ARM_ARMADA_8K_CPUFREQMatthew Hagan2022-02-201-0/+1
| | | | | | | | Enable the AP806's cpufreq driver. This driver is compatible with the Armada 7K and 8K platforms. Tested-by: Stijn Segers <foss@volatilesystems.org> (RB5009UG+S+IN) Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
* uboot-mvebu: backport pending patches for Marvell A38xJosef Schlehofer2022-02-203-0/+152
| | | | | | | | | | | | | | | | | | | | | | | 100-ddr-marvell-a38x-fix-BYTE_HOMOGENEOUS_SPLIT_OUT-deci.patch [1]: SoC Marvell A38x is used in Turris Omnia, and we thought that with recent fiddling around DDR training to fix it once for all, there were reproduced the issue in the upcoming new revision Turris Omnia boards. 101-arm-mvebu-spl-Add-option-to-reset-the-board-on-DDR-t.patch [2]: This is useful when some board may occasionally fail with DDR training, and it adds the option to reset the board on the DDR training failure 102-arm-mvebu-turris_omnia-Reset-the-board-immediately-o.patch [3]: This enables the option CONFIG_DDR_RESET_ON_TRAINING_FAILURE (added by 101 patch), so the Turris Omnia board is restarted immediately, and it does not require to reset the board manually or wait 120s for MCU to reset the board [1] https://patchwork.ozlabs.org/project/uboot/patch/20220217000837.13003-1-kabel@kernel.org/ [2] https://patchwork.ozlabs.org/project/uboot/patch/20220217000849.13028-1-kabel@kernel.org/ [3] https://patchwork.ozlabs.org/project/uboot/patch/20220217000849.13028-2-kabel@kernel.org/ Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
* bcm27xx: bcm2711: update defconfigJohn Audia2022-02-201-5/+0
| | | | | | | | | | Enabled CONFIG_ALL_KMODS and ran make kernel_menuconfig against bcm2711 to update defconfig. Some of the removed symbols are present in target/linux/generic/config-5.10 while others were removed by the make target. Signed-off-by: John Audia <graysky@archlinux.us> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> (wrapped)
* bcm27xx: bcm2710: update defconfigJohn Audia2022-02-201-5/+0
| | | | | | | | | | Enabled CONFIG_ALL_KMODS and ran make kernel_menuconfig against bcm2710 to update defconfig. Some of the removed symbols are present in target/linux/generic/config-5.10 while others were removed by the make target. Signed-off-by: John Audia <graysky@archlinux.us> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> (wrapped)
* bcm27xx: bcm2709: update defconfigJohn Audia2022-02-201-3/+0
| | | | | | | | | | Enabled CONFIG_ALL_KMODS and ran make kernel_menuconfig against bcm2709 to update defconfig. Some of the removed symbols are present in target/linux/generic/config-5.10 while others were removed by the make target. Signed-off-by: John Audia <graysky@archlinux.us> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> (wrapped)
* bcm27xx: bcm2708: update defconfigJohn Audia2022-02-201-3/+0
| | | | | | | | | | Enabled CONFIG_ALL_KMODS and ran make kernel_menuconfig against bcm2708 to update defconfig. Some of the removed symbols are present in target/linux/generic/config-5.10 while others were removed by the make target. Signed-off-by: John Audia <graysky@archlinux.us> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> (wrapped)
* mac80211: add debug compile option for rtw88 devicesFlorian Eckert2022-02-201-0/+18
| | | | | | | | | | | | | This commit adds the following package compile options. CONFIG_PACKAGE_RTW88_DEBGUG: Compile the driver with additional debug logging output CONFIG_PACKAGE_RTW88_DEBGUGFS: Add the possibility to map information about the driver rtw88 into debugfs. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* ipq40xx: mikrotik: fix LED scriptRobert Marko2022-02-201-0/+1
| | | | | | | | Fix the missing ;; after the cAP ac case in /e/b/01_leds. Fixes: 93d9119 ("ipq40xx: add MikroTik cAP ac support") Signed-off-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> (minor touch-up)
* ath79: uboot-envtools: fix partition for ZTE MF286Lech Perczak2022-02-201-1/+1
| | | | | | | | | | | | | | | | | | | By mistake, a wrong partition for U-boot environment was introduced for ZTE MF286 while adding support, when flash layout wasn't finalized. Fix that, according to the actual flash layout: dev: size erasesize name mtd0: 00140000 00020000 "fota-flag" mtd1: 00140000 00020000 "caldata" mtd2: 00140000 00020000 "mac" mtd3: 00f40000 00020000 "ubiconcat0" mtd4: 00400000 00020000 "kernel" mtd5: 06900000 00020000 "ubiconcat1" mtd6: 00080000 00010000 "u-boot" mtd7: 00020000 00010000 "u-boot-env" mtd8: 07840000 00020000 "ubi" Fixes: 8c78a13bfc1f ("ath79: support ZTE MF286") Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
* ipq806x: disable Linksys EA7500v1 and EA8500Christian Lamparter2022-02-201-0/+2
| | | | | | | | | | | | The kernel of both images will no longer fit into the 3072KiB / 3MiB kernel partition: |Image Name: ARM OpenWrt Linux-5.10.100 |Created: Sat Feb 19 00:11:55 2022 |Image Type: ARM Linux Kernel Image (uncompressed) |Data Size: 3147140 Bytes = 3073.38 KiB = 3.00 MiB Disable both targets for now, until a solution is available. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* mpc85xx: fix KEY_RFKILL vs KEY_RFKillChristian Lamparter2022-02-201-1/+1
| | | | | | | | This fixes a buildbot builder error: Error: arch/powerpc/boot/dts/tl-wdr4900-v1.dts:245.18-19 syntax error Fixes: 256e1dbc7d09 ("mpc85xx: utilize dt-binding definitions for keys + gpios") Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* netifd: bump to version 2022-02-20Petr Štetiar2022-02-201-3/+3
| | | | | | | | | Contains following changes: 136006b88826 cmake: fix usage of implicit library and include paths bc0e84d689e2 netifd: interface-ip: don't set fib6 policies if ipv6 disabled Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ramips: clean up Makefile formattingNick McKinney2022-02-201-6/+6
| | | | | | | | | Use correct indent in target/linux/ramips/image/mt7621.mk to be consistent with the rest of the file. Signed-off-by: Nick McKinney <nick@ndmckinney.net> [rephrase commit message as Adrian suggested, fix a6004ns-m indent] Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ramips: mt7621: print size of factory initramfs-image if it's too bigSven Roederer2022-02-201-2/+2
| | | | | | | It's helpful to know the current and maximal size of the imagefiles if the creation fails. Signed-off-by: Sven Roederer <devel-sven@geroedel.de>
* ath79: fix wndr4500v3 lan port order to match caseGraham Cole2022-02-201-2/+5
| | | | | | | | The LED and LAN port numbering on the case of wndr4500v3 devices are reversed relative to the wndr4300v2. I created this patch to so that the ordering in OpenWRT will be consistent with that. Signed-off-by: Graham Cole <diakka@gmail.com>
* ramips: add support for ipTIME A3002MESHYoonji Park2022-02-204-0/+162
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for ipTIME A3002MESH. Hardware: - SoC: MediaTek MT7621AT (880MHz, Duel-Core) - RAM: DDR3 128MB - Flash: XMC XM25QH128AHIG (SPI-NOR 16MB) - WiFi: MediaTek MT7615D (2.4GHz, 5GHz, DBDC) - Ethernet: MediaTek MT7530 (WAN x1, LAN x2, SoC built-in) - UART: [GND, RX, TX, 3.3V] (57600 8N1, J4) MAC addresses: | interface | MAC | source | comment |-----------|-------------------|----------------|---------- | LAN | 70:XX:XX:5X:XX:X3 | | | WAN | 70:XX:XX:5X:XX:X1 | u-boot 0x1fc40 | | WLAN 2G | 72:XX:XX:4X:XX:X0 | | | WLAN 5G | 70:XX:XX:5X:XX:X0 | factory 0x4 | | | 70:XX:XX:5X:XX:X0 | u-boot 0x1fc20 | unknown | | 70:XX:XX:5X:XX:X2 | factory 0x8004 | unknown - WLAN 2G MAC address is not the same as stock firmware since OpenWrt uses LAN MAC address with local bit sets. Installation: 1. Flash initramfs image. This can be done using stock web ui or TFTP 2. Connect to OpenWrt with an SSH connection to 192.168.1.1 3. Perform sysupgrade with sysupgrade image Revert to stock firmware: - Flash stock firmware via OEM TFTP Recovery mode - Perform sysupgrade with stock image TFTP Recovery method: 1. Unplug the router 2. Hold the reset button and plug in 3. Release when the power LED stops flashing and go off 4. Set your computer IP address manually to 192.168.0.x / 255.255.255.0 5. Flash image with TFTP client to 192.168.0.1 Signed-off-by: Yoonji Park <koreapyj@dcmys.kr> [wrap/rephrase commit message] Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* Revert "ramips: increase spi-max-frequency for ipTIME mt7620 devices"Sungbo Eo2022-02-201-1/+1
| | | | | | | | | | | | | | | | | | | | This reverts commit 13a185bf8acb67da4a68873e560876c0e60b1a87. There was a report that one A1004ns device fails to detect its flash chip correctly: [ 1.470297] spi-nor spi0.0: unrecognized JEDEC id bytes: e0 10 0c 40 10 08 [ 1.484110] spi-nor: probe of spi0.0 failed with error -2 It also uses a different flash chip model: * in my hand: Winbond W25Q128FVSIG (SOIC-8) * reported: Macronix MX25L12845EMI-10G (SOP-16) Reducing spi-max-frequency solved the detection failure. Hence revert. Reported-by: Koasing <koasing@gmail.com> Tested-by: Koasing <koasing@gmail.com> Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* wireless-regdb: update to version 2022.02.18Sungbo Eo2022-02-201-2/+2
| | | | | | | | | | | | | | | | | e061299 wireless-regdb: Raise DFS TX power limit to 250 mW (24 dBm) for the US 2ce78ed wireless-regdb: Update regulatory rules for Croatia (HR) on 6GHz 0d39f4c wireless-regdb: Update regulatory rules for South Korea (KR) acad231 wireless-regdb: Update regulatory rules for France (FR) on 6 and 60 GHz ea83a82 wireless-regdb: add support for US S1G channels 4408149 wireless-regdb: add 802.11ah bands to world regulatory domain 5f3cadc wireless-regdb: Update regulatory rules for Spain (ES) on 6GHz e0ac69b Revert "wireless-regdb: Update regulatory rules for South Korea (KR)" 40e5e80 wireless-regdb: Update regulatory rules for South Korea (KR) e427ff2 wireless-regdb: Update regulatory rules for China (CN) 0970116 wireless-regdb: Update regulatory rules for the Netherlands (NL) on 6GHz 4dac44b wireless-regdb: update regulatory database based on preceding changes Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ath79: utilize nvmem on Netgear EX7300 v2Sungbo Eo2022-02-202-14/+46
| | | | | | | | | | | | | mtd-mac-address should no longer be used after commit 5ae2e786395c ("kernel: drop support for mtd-mac-address"). Convert it to nvmem-cells. While at it, also convert OpenWrt's custom mtd-cal-data property and userspace pre-calibration data extraction to the nvmem implementation. Note: nvmem-cells in QCN5502 wmac has not been tested. Fixes: c32008a37b81 ("ath79: add partial support for Netgear EX7300v2") Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* apm821xx: WNDR4700: use upstream tc654 cooling devicesChristian Lamparter2022-02-193-85/+92
| | | | | | | | | | | | | | Upstream hwmon-maintainer had various comments about the changes to the tc654 driver. These have been addressed and the cooling device support is destined for inclusion. One of the comments was the change of the cooling states scaling. No longer the driver uses the same values as the hwmon interface, instead the states are now the 17 states the tc654 supports. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* kernel: add kmod-hwmon-lm70 supportChristian Lamparter2022-02-191-0/+17
| | | | | | | | package hwmon's lm70.ko. This module supports the National Semiconductor/TI LM70,LM71,LM74 and TI TMP121,TMP122,TMP123 and TMP124 chips (all SPI). Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* mpc85xx: add HiveAP-350 alternative name for HiveAP-330Christian Lamparter2022-02-191-0/+2
| | | | | | | The HiveAP-350 has six external antennas connectors. (It also has twice the flash?) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* mpc85xx: utilize dt-binding definitions for keys + gpiosChristian Lamparter2022-02-195-39/+50
| | | | | | | | | include the device-tree binding headers that provide definitions for keys codes and gpios in the device-tree files. Random bonus: merge tl-wdr4900-v1's uboot with the nvmem-node. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* mpc85xx: change legacy "eeprom" compatibleChristian Lamparter2022-02-191-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | silences the following message: > eeprom 0-0051: eeprom driver is deprecated, please use at24 instead The chip was likely a Dallas Semiconductor and later MAXIM part before Analog Devices, Inc. bought MAXIM. From the datasheet: "The DS28CN01 combines 1024 bits of EEPROM with challenge-and-response authentication security implemented with the FIPS 180-1/180-2 and ISO/IEC 10118-3 Secure Hash Algorithm (SHA-1)." ... "Write Access Requires Knowledge of the Secret and the Capability of Computing and Transmitting a 160-Bit MAC as Authorization" OpenWrt doesn't use it. There's no in-kernel driver from what I know. Let's document that the chip is at the location. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* mpc85xx: update lp5521 led-controller node for 5.10Christian Lamparter2022-02-191-10/+57
| | | | | | | | | | | | | | | | | | | | The tricolor LED which is controlled by a lp5521 needed some maintenance as the driver failed to load in the current v5.10 image: | lp5521: probe of 0-0032 failed with error -22 This is because the device-tree needed to be updated to match the latest led coloring and function trends. - removed the device name from the label - added color/function properties - added required reg and cells properties For reference a disabled multicolor/RGB is added since this reflects the real hardware. Unfortunately, the multicolor sysfs interface isn't supported by yet. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* mpc85xx: Patch HiveAP 330 u-boot to fix bootMartin Kennedy2022-02-196-48/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When Kernel 5.10 was enabled for mpc85xx, the kernel once again became too large upon decompression (>7MB or so) to decompress itself on boot (see FS#4110[1]). There have been many attempts to fix booting from a compressed kernel on the HiveAP-330: - b683f1c36d8a ("mpc85xx: Use gzip compressed kernel on HiveAP-330") - 98089bb8ba82 ("mpc85xx: Use uncompressed kernel on the HiveAP-330") - 26cb167a5ca7 ("mpc85xx: Fix Aerohive HiveAP-330 initramfs image") We can no longer compress the kernel due to size, and the stock bootloader does not support any other types of compression. Since an uncompressed kernel no longer fits in the 8MiB kernel partition at 0x2840000, we need to patch u-boot to autoboot by running variable which isn't set by the bootloader on each autoboot. This commit repartitions the HiveAP, requiring a new COMPAT_VERSION, and uses the DEVICE_COMPAT_MESSAGE to guide the user to patch u-boot, which changes the variable run on boot to be `owrt_boot`; the user can then set the value of that variable appropriately. The following has been documented in the device's OpenWrt wiki page: <https://openwrt.org/toh/aerohive/hiveap-330>. Please look there first/too for more information. The from-stock and upgrade from a previous installation now becomes: 0) setup a network with a dhcp server and a tftp server at serverip (192.168.1.101) with the initramfs image in the servers root directory. 1) Hook into UART (9600 baud) and enter U-Boot. You may need to enter a password of administrator or AhNf?d@ta06 if prompted. If the password doesn't work. Try reseting the device by pressing and holding the reset button with the stock OS. 2) Once in U-Boot, set the new owrt_boot and tftp+boot the initramfs image: Use copy and paste! # fw_setenv owrt_boot 'setenv bootargs \"console=ttyS0,$baudrate\";bootm 0xEC040000 - 0xEC000000' # save # dhcp # setenv bootargs console=ttyS0,$baudrate # tftpboot 0x1000000 192.168.1.101:openwrt-mpc85xx-p1020-aerohive_hiveap-330-initramfs-kernel.bin # bootm 3) Once openwrt booted: carefully copy and paste this into the root shell. One step at a time # 3.0 install kmod-mtd-rw from the internet and load it opkg update; opkg install kmod-mtd-rw insmod mtd-rw i_want_a_brick=y # 3.1 create scripts that modifies uboot cat <<- "EOF" > /tmp/uboot-update.sh . /lib/functions/system.sh cp "/dev/mtd$(find_mtd_index 'u-boot')" /tmp/uboot cp /tmp/uboot /tmp/uboot_patched ofs=$(strings -n80 -td < /tmp/uboot | grep '^ [0-9]* setenv bootargs.*cp\.l' | cut -f2 -d' ') for off in $ofs; do printf "run owrt_boot; " | dd of=/tmp/uboot_patched bs=1 seek=${off} conv=notrunc done md5sum /tmp/uboot* EOF # 3.2 run the script to do the modification sh /tmp/uboot-update.sh # verify that /tmp/uboot and /tmp/uboot_patched are good # # my uboot was: (is printed during boot) # U-Boot 2009.11 (Jan 12 2017 - 00:27:25), Build: jenkins-HiveOS-Honolulu_AP350_Rel-245 # # d84b45a2e8aca60d630fbd422efc6b39 /tmp/uboot # 6dc420f24c2028b9cf7f0c62c0c7f692 /tmp/uboot_patched # 98ebc7e7480ce9148cd2799357a844b0 /tmp/uboot-update.sh <-- just for reference # 3.3 this produces the /tmp/u-boot_patched file. mtd write /tmp/uboot_patched u-boot 3) scp over the sysupgrade file to /tmp/ and run sysupgrade to flash OpenWrt: sysupgrade -n /tmp/openwrt-mpc85xx-p1020-aerohive_hiveap-330-squashfs-sysupgrade.bin 4) after the reboot, you are good to go. Other notes: - Note that after this sysupgrade, the AP will be unavailable for 7 minutes to reformat flash. The tri-color LED does not blink in any way to indicate this, though there is no risk in interrupting this process, other than the jffs2 reformat being reset. - Add a uci-default to fix the compat version. This will prevent updates from previous versions without going through the installation process. - Enable CONFIG_MTD_SPLIT_UIMAGE_FW and adjust partitioning to combine the kernel and rootfs into a single dts partition to maximize storage space, though in practice the kernel can grow no larger than 16MiB due to constraints of the older mpc85xx u-boot platform. - Because of that limit, KERNEL_SIZE has been raised to 16m. - A .tar.gz of the u-boot source for the AP330 (a.k.a. Goldengate) can be found here[2]. - The stock-jffs2 partition is also removed to make more space -- this is possible only now that it is no longer split away from the rootfs. - the console-override is gone. The device will now get the console through the bootargs. This has the advantage that you can set a different baudrate in uboot and the linux kernel will stick with it! - due to the repartitioning, the partition layout and names got a makeover. - the initramfs+fdt method is now combined into a MultiImage initramfs. The separate fdt download is no longer needed. - added uboot-envtools to the mpc85xx target. All targets have uboot and this way its available in the initramfs. [1]: https://bugs.openwrt.org/index.php?do=details&task_id=4110 [2]: magnet:?xt=urn:btih:e53b27006979afb632af5935fa0f2affaa822a59 Tested-by: Martin Kennedy <hurricos@gmail.com> Signed-off-by: Martin Kennedy <hurricos@gmail.com> (rewrote parts of the commit message, Initramfs-MultiImage, dropped bootargs-override, added wiki entry + link, uboot-envtools) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ksmbd: add out-of-tree moduleRosen Penev2022-02-192-0/+84
| | | | | | | | | | | | | ksmbd is an upstream linux alternative to Samba which is lighterweight and more performant, especially on underpowered devices. Moving it here from the packages feed as it is now an upstream kernel module. Also easier to update as version updates can be coordinated better The next LTS kernel (5.15) has this included. A depend on kernel < 5.15 will need to be added later. Signed-off-by: Rosen Penev <rosenp@gmail.com>