aboutsummaryrefslogtreecommitdiffstats
path: root/package
Commit message (Collapse)AuthorAgeFilesLines
* iucode-tool: fix compile error with musl libc and USE_CPUID_DEVICEChristian Marangi2022-12-041-0/+29
| | | | | | | | | | | Add patch to fix compilation error with USE_CPUID_DEVICE enabled and musl used as libc. Musl doesn't add limits.h header by default and this is required if USE_CPUID_DEVICE is used. The package currently compile because fortify headers include limits.h by default. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* mac80211: Update to version 5.15.81Hauke Mehrtens2022-12-0328-359/+56
| | | | | | The removed patches were applied upstream. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* uboot-mediatek: bpi-r3: raise CONFIG_LMB_MAX_REGIONS to 64Daniel Golle2022-11-291-6/+8
| | | | | | | | Raise CONFIG_LMB_MAX_REGIONS to 64 as there are going to be more than 8 (the default value) reserved regions to allow supporting offloading Wireless-to-Ethernet traffic on MT7986. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* dnsmasq: add option to expose additional paths to jailDaniel Golle2022-11-272-1/+8
| | | | | | | | | | Add new UCI list 'addn_mount' allowing the expose additional filesystem paths to the jailed dnsmasq process. This is useful e.g. in case of manually configured includes to the configuration file or symlinks pointing outside of the exposed paths as used by e.g. the safe-search package in the packages feed. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* layerscape: Switch LS1012A-FRDM initramfs to gzipPawel Dembicki2022-11-271-1/+1
| | | | | | | | | | At this moment LS1012A-FRDM have uncompressed initramfs image. Error was caused, because gzip extract area overlap image. Let's change loadaddr and enable gzip initramfs images again. Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* ath79: add support for Senao Engenius EAP1750HMichael Pratt2022-11-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FCC ID: A8J-EAP1750H Engenius EAP1750H is an indoor wireless access point with 1 Gb ethernet port, dual-band wireless, internal antenna plates, and 802.3at PoE+ **Specification:** - QCA9558 SOC - QCA9880 WLAN PCI card, 5 GHz, 3x3, 26dBm - AR8035-A PHY RGMII GbE with PoE+ IN - 40 MHz clock - 16 MB FLASH MX25L12845EMI-10G - 2x 64 MB RAM NT5TU32M16FG - UART at J10 populated - 4 internal antenna plates (5 dbi, omni-directional) - 5 LEDs, 1 button (power, eth0, 2G, 5G, WPS) (reset) **MAC addresses:** MAC addresses are labeled as ETH, 2.4G, and 5GHz Only one Vendor MAC address in flash eth0 ETH *:fb art 0x0 phy1 2.4G *:fc --- phy0 5GHz *:fd --- **Serial Access:** the RX line on the board for UART is shorted to ground by resistor R176 therefore it must be removed to use the console but it is not necessary to remove to view boot log optionally, R175 can be replaced with a solder bridge short the resistors R175 and R176 are next to the UART RX pin at J10 **Installation:** 2 ways to flash factory.bin from OEM: Method 1: Firmware upgrade page: OEM webpage at 192.168.1.1 username and password "admin" Navigate to "Firmware Upgrade" page from left pane Click Browse and select the factory.bin image Upload and verify checksum Click Continue to confirm and wait 3 minutes Method 2: Serial to load Failsafe webpage: After connecting to serial console and rebooting... Interrupt uboot with any key pressed rapidly execute `run failsafe_boot` OR `bootm 0x9fd70000` wait a minute connect to ethernet and navigate to "192.168.1.1/index.htm" Select the factory.bin image and upload wait about 3 minutes **Return to OEM:** If you have a serial cable, see Serial Failsafe instructions otherwise, uboot-env can be used to make uboot load the failsafe image ssh into openwrt and run `fw_setenv rootfs_checksum 0` reboot, wait 3 minutes connect to ethernet and navigate to 192.168.1.1/index.htm select OEM firmware image from Engenius and click upgrade **TFTP recovery:** Requires serial console, reset button does nothing rename initramfs to 'vmlinux-art-ramdisk' make available on TFTP server at 192.168.1.101 power board, interrupt boot execute tftpboot and bootm 0x81000000 NOTE: TFTP is not reliable due to bugged bootloader set MTU to 600 and try many times if your TFTP server supports setting block size higher block size is better. **Format of OEM firmware image:** The OEM software of EAP1750H is a heavily modified version of Openwrt Kamikaze. One of the many modifications is to the sysupgrade program. Image verification is performed simply by the successful ungzip and untar of the supplied file and name check and header verification of the resulting contents. To form a factory.bin that is accepted by OEM Openwrt build, the kernel and rootfs must have specific names... openwrt-ar71xx-generic-eap1750h-uImage-lzma.bin openwrt-ar71xx-generic-eap1750h-root.squashfs and begin with the respective headers (uImage, squashfs). Then the files must be tarballed and gzipped. The resulting binary is actually a tar.gz file in disguise. This can be verified by using binwalk on the OEM firmware images, ungzipping then untaring. Newer EnGenius software requires more checks but their script includes a way to skip them, otherwise the tar must include a text file with the version and md5sums in a deprecated format. The OEM upgrade script is at /etc/fwupgrade.sh. OKLI kernel loader is required because the OEM software expects the kernel to be no greater than 1536k and the factory.bin upgrade procedure would otherwise overwrite part of the kernel when writing rootfs. Note on PLL-data cells: The default PLL register values will not work because of the external AR8035 switch between the SOC and the ethernet port. For QCA955x series, the PLL registers for eth0 and eth1 can be see in the DTSI as 0x28 and 0x48 respectively. Therefore the PLL registers can be read from uboot for each link speed after attempting tftpboot or another network action using that link speed with `md 0x18050028 1` and `md 0x18050048 1`. The clock delay required for RGMII can be applied at the PHY side, using the at803x driver `phy-mode`. Therefore the PLL registers for GMAC0 do not need the bits for delay on the MAC side. This is possible due to fixes in at803x driver since Linux 5.1 and 5.3 Signed-off-by: Michael Pratt <mcpratt@pm.me>
* mac80211: subsys: complete patch files for use with git amNick Hainke2022-11-275-4/+47
| | | | | | | Adding proper fields to patch files allowing for `git am` to properly function. Signed-off-by: Nick Hainke <vincent@systemli.org>
* wolfssl: fix Config.in typoTony Butler2022-11-271-1/+1
| | | | | | Fix simple typo `/crytpo/crypto/` in a description string Signed-off-by: Tony Butler <spudz76@gmail.com>
* wolfssl: update to v5.5.3Nick Hainke2022-11-273-53/+3
| | | | | | | | | | | | | | Remove "200-ecc-rng.patch" because it was upstramed by: https://github.com/wolfSSL/wolfssl/commit/e2566bab2122949a6a0bb2276d0a52598794d7d0 Refreshed "100-disable-hardening-check.patch". Fixes CVE 2022-42905. Release Notes: - https://github.com/wolfSSL/wolfssl/releases/tag/v5.5.2-stable - https://github.com/wolfSSL/wolfssl/releases/tag/v5.5.3-stable Signed-off-by: Nick Hainke <vincent@systemli.org>
* ipset: update to 7.16Nick Hainke2022-11-273-96/+3
| | | | | | | | | | | | | Release Notes: https://lore.kernel.org/netfilter-devel/d65fe5d8-d5ea-ef7-102d-aa1d15bb4d69@netfilter.org/T/#u Patch "0001-lib-ipset-fix-printf-warning.patch" replaced upstream by: http://git.netfilter.org/ipset/commit/?id=e39e3466d2d38cdfe83447f391b550e607bc3ce8 Remove upstreamed: - 0002-Fix-IPv6-sets-nftables-translation.patch Signed-off-by: Nick Hainke <vincent@systemli.org>
* kernel/module/iio: add TI am335x ADC driverAlexander Couzens2022-11-241-0/+14
| | | | | | | Add the iio driver for the embedded ADC in the TI Sitara am335x SoCs. Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* lantiq: ltq-tapi: add customer pulse digit timeJonas Albrecht2022-11-182-1/+53
| | | | | | | | | | | | | | | | | | | | | With this patch you can change the pulse digit time by loading the Lantiq FXS driver kernel module called ltq-tapi. This is relevant for old rotaryphones that uses pulsedialing. The default values are: 30-80ms for the low pulse 30-80ms for the high pulse 300ms for minimum Interdigit time this is OK but on some Phones it can be usefull to customize the values If you want to change the values to high and low pulse to 40-90ms and minimum interdigit time to 400ms than change /etc/modules.d/20-ltq-tapi to (without linebrakes): drv_tapi min_digit_low=40 min_digit_high=90 max_digit_low=40 \ max_digit_high=90 min_interdigit=400 Signed-off-by: Jonas Albrecht <plonkbong100@protonmail.com>
* libtracefs: update to 1.6.1Nick Hainke2022-11-181-2/+2
| | | | | | Update to latest version. Signed-off-by: Nick Hainke <vincent@systemli.org>
* lldpd: update to 1.0.16Nick Hainke2022-11-181-2/+2
| | | | | | | Release Notes: https://github.com/lldpd/lldpd/releases/tag/1.0.16 Signed-off-by: Nick Hainke <vincent@systemli.org>
* cypress-firmware: update to v5.10.9-2022_0909Álvaro Fernández Rojas2022-11-171-3/+147
| | | | | | | | | | | | | | | | | | | | | | | | | The following firmwares have been updated: - cyfmac43012-sdio (v13.10.271.266 -> v13.10.271.289) - cyfmac43430-sdio (v7.45.98.118 -> v7.45.98.125) - cyfmac43455-sdio (v7.45.234 -> v7.45.250) - cyfmac4354-sdio (v7.35.349.104 -> v7.35.349.117) - cyfmac4356-pcie (v7.35.180.208 -> v7.35.180.212) - cyfmac4356-sdio (v7.35.349.104 -> v7.35.349.115) - cyfmac4373-sdio (v13.10.246.253 -> v13.10.246.289) - cyfmac4373-usb (v13.10.246.253 -> v13.10.246.289) - cyfmac54591-pcie (v13.35.225 -> v13.35.284) The following firmwares have been added: - cyfmac43439-sdio (v7.95.55) - cyfmac4373-pcie (v13.35.205.66) - cyfmac54591-sdio (v13.35.284) - cyfmac55560-pcie (v18.53.53.4) - cyfmac55572-pcie (v18.53.117.2) - cyfmac55572-sdio (v18.53.117.2) More info: https://github.com/Infineon/ifx-linux-firmware/compare/release-v5.4.18-2021_0812...release-v5.10.9-2022_0909 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* cypress-firmware: fix cyfmac4356-pcie symbolic linksÁlvaro Fernández Rojas2022-11-171-9/+4
| | | | | | | The symbolic link introduced in 22e9d8bc896b is wrong. Fixes: 22e9d8bc896b ("cypress-firmware: use symlink to provide firmware in brcm") Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* uboot-mediatek: optimize MMC eraseDaniel Golle2022-11-174-7/+7
| | | | | | | | | Fix mmc_write_vol hush script used by many boards to avoid timeouts on slow SD cards: Instead of erasing a complete partition, only erase blocks for the to-be-written image when writing to MMC. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* cypress-nvram: consolidate NVRAM packagesKuan-Yi Li2022-11-161-20/+6
| | | | | | | NVRAM packages for the same wireless chip are consolidated into one as they contain only small text files and symlinks. Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
* linux-firmware: broadcom: consolidate NVRAM packagesKuan-Yi Li2022-11-163-31/+79
| | | | | | | NVRAM packages for the same wireless chip are consolidated into one as they contain only small text files and symlinks. Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
* cypress-nvram: disassociate from external source repoKuan-Yi Li2022-11-162-101/+18
| | | | | | | | | | | | Since all NVRAM files in external repo are now upstreamed and to lower future maintenance cost, disassociate the package from external source repo. All upstream pending NVRAM files shall be stored locally from now on. Signed-off-by: Kuan-Yi Li <kyli@abysm.org> [Remove outdated URL, add SPDX-License-Identifier] Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* libmbedtls: use defaults if no build opts selectedGlenn Strauss2022-11-161-2/+3
| | | | | | | use defaults if no build opts selected (allows build with defaults when mbedtls not selected and configured) Signed-off-by: Glenn Strauss <gstrauss@gluelogic.com>
* linux-firmware: offer two versions of firmware for CYW4339Kuan-Yi Li2022-11-154-10/+36
| | | | | | | | | | | | | | | | | | | | | According to commit 6f6c2fb321, AP6335 module used in PICO-PI-IMX7D works only with firmware from `linux-firmware`. However, firmware from `cypress-firmware` suite is directly from the chip company (Infineon) and is actually newer. Instead of dropping the firmware from Infineon, create a package named `brcmfmac-firmware-4339-sdio`, and keep the Infineon version of `cypress-firmware-4339-sdio` around. This gives us devs the option to choose. Also, it means that - packages `brcmfmac-firmware-*` uniformly come from `linux-firmware` - packages `cypress-firmware-*` uniformly come from `cypress-firmware` so hopefully brings more clarity. Tested-by: Lech Perczak <lech.perczak@gmail.com> Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
* linux-firmware: broadcom: use symlink to provide NVRAM for some RPisKuan-Yi Li2022-11-152-4/+13
| | | | | | | | | | This is to align the implementation with upstream `linux-firmware`. Some Raspberry Pi boards do not have dedicated NVRAM in `linux-firmware` source repository, their NVRAM is provided through a symbolic link to NVRAM of another board with an identical wireless design. Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
* cypress-firmware: use symlink to provide firmware in brcmKuan-Yi Li2022-11-151-23/+101
| | | | | | | | | | | | | This is to align the implementation with upstream `linux-firmware`. Instead of moving these firmware files to `brcm` subdirectory and changing their names, leave them in `cypress` subdirectory, keep their names intact and use symbolic links to provide compatibility with Broadcom FullMAC driver. This gives more context to where the firmware comes from. Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
* cypress-nvram: use symlink to provide NVRAM for some RPisKuan-Yi Li2022-11-151-11/+25
| | | | | | | | | | This is to align the implementation with upstream `linux-firmware`. Some Raspberry Pi boards do not have dedicated NVRAM in `linux-firmware` source repository, their NVRAM is provided through a symbolic link to NVRAM of another board with an identical wireless design. Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
* cypress-nvram: remove PROVIDES in NVRAM packagesKuan-Yi Li2022-11-151-6/+1
| | | | | | | | | | | | | | | | | | | | PROVIDES for these packages will cause ambiguity and circular dependency in planned changes. For example, if there is a package `brcmfmac-firmware-43455-sdio-rpi-cm4` that depends on `brcmfmac-firmware-43455-sdio-rpi-4b`, there is no way to tell which one of below packages the system will go for. - package named `brcmfmac-firmware-43455-sdio-rpi-4b` - package named `cypress-nvram-43455-sdio-rpi-4b` that PROVIDES `brcmfmac-firmware-43455-sdio-rpi-4b` When ambiguity is unacceptable, PROVIDES (aliases) shall be removed and packages shall only be used through their exact name. So remove PROVIDES and keep only CONFLICTS. Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
* kernel: modules: package Marvell gigE PHY driverDaniel Golle2022-11-151-0/+34
| | | | | | | | | | | | | | | | | | | Some copper SFP modules come with Marvell's 88E1xxx PHY and need this module to function. Package it, so users can easily install this PHY driver and use e.g. FINISAR CORP. FCLF-8521-3-HC SFP. Without marvell PHY driver: sfp sfp2: module FINISAR CORP. FCLF-8521-3-HC rev A sn XXXXXXX dc XXXXXX mt7530 mdio-bus:1f sfp2: validation with support 0000000,00000000,00000000 failed: -22 sfp sfp2: sfp_add_phy failed: -22 With marvell PHY driver: sfp sfp2: module FINISAR CORP. FCLF-8521-3-HC rev A sn XXXXXXX dc XXXXXX mt7530 mdio-bus:1f sfp2: switched to inband/sgmii link mode mt7530 mdio-bus:1f sfp2: PHY [i2c:sfp2:16] driver [Marvell 88E1111] (irq=POLL) mt7530 mdio-bus:1f sfp2: Link is Up - 1Gbps/Full - flow control rx/tx Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ath79: support Ruckus ZoneFlex 7025Lech Perczak2022-11-131-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ruckus ZoneFlex 7025 is a single 2.4GHz radio 802.11n 1x1 enterprise access point with built-in Ethernet switch, in an electrical outlet form factor. Hardware highligts: - CPU: Atheros AR7240 SoC at 400 MHz - RAM: 64MB DDR2 - Flash: 16MB SPI-NOR - Wi-Fi: AR9285 built-in 2.4GHz 1x1 radio - Ethernet: single Fast Ethernet port inside the electrical enclosure, coupled with internal LSA connector for direct wiring, four external Fast Ethernet ports on the lower side of the device. - PoE: 802.3af PD input inside the electrical box. 802.3af PSE output on the LAN4 port, capable of sourcing class 0 or class 2 devices, depending on power supply capacity. - External 8P8C pass-through connectors on the back and right side of the device - Standalone 48V power input on the side, through 2/1mm micro DC barrel jack Serial console: 115200-8-N-1 on internal JP1 header. Pinout: ---------- JP1 |5|4|3|2|1| ---------- Pin 1 is near the "H1" marking. 1 - RX 2 - n/c 3 - VCC (3.3V) 4 - GND 5 - TX Installation: There are two methods of installation: - Using serial console [1] - requires some disassembly, 3.3V USB-Serial adapter, TFTP server, and removing a single T10 screw, but with much less manual steps, and is generally recommended, being safer. - Using stock firmware root shell exploit, SSH and TFTP [2]. Does not work on some rare versions of stock firmware. A more involved, and requires installing `mkenvimage` from u-boot-tools package if you choose to rebuild your own environment, but can be used without disassembly or removal from installation point, if you have the credentials. If for some reason, size of your sysupgrade image exceeds 13312kB, proceed with method [1]. For official images this is not likely to happen ever. [1] Using serial console: 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 0x9f040000" > 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_zf7025-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_zf7025_fw1_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_zf7025-squashfs-sysupgrade.bin [2] Using stock root shell: 0. Reset the device to factory defaullts. Power-on the device and after it boots, hold the reset button near Ethernet connectors for 5 seconds. 1. Connect the device to the network. It will acquire address over DHCP, so either find its address using list of DHCP leases by looking for label MAC address, or try finding it by scanning for SSH port: $ nmap 10.42.0.0/24 -p22 From now on, we assume your computer has address 10.42.0.1 and the device has address 10.42.0.254. 2. Set up a TFTP server on your computer. We assume that TFTP server root is at /srv/tftp. 3. Obtain root shell. Connect to the device over SSH. The SSHD ond the frmware is pretty ancient and requires enabling HMAC-MD5. $ ssh 10.42.0.254 \ -o UserKnownHostsFile=/dev/null \ -o StrictHostKeyCheking=no \ -o MACs=hmac-md5 Login. User is "super", password is "sp-admin". Now execute a hidden command: Ruckus It is case-sensitive. Copy and paste the following string, including quotes. There will be no output on the console for that. ";/bin/sh;" Hit "enter". The AP will respond with: grrrr OK Now execute another hidden command: !v54! At "What's your chow?" prompt just hit "enter". Congratulations, you should now be dropped to Busybox shell with root permissions. 4. Optional, but highly recommended: backup the flash contents before installation. At your PC ensure the device can write the firmware over TFTP: $ sudo touch /srv/tftp/ruckus_zf7025_firmware{1,2}.bin $ sudo chmod 666 /srv/tftp/ruckus_zf7025_firmware{1,2}.bin Locate partitions for primary and secondary firmware image. NEVER blindly copy over MTD nodes, because MTD indices change depending on the currently active firmware, and all partitions are writable! # grep rcks_wlan /proc/mtd Copy over both images using TFTP, this will be useful in case you'd like to return to stock FW in future. Make sure to backup both, as OpenWrt uses bot firmwre partitions for storage! # tftp -l /dev/<rcks_wlan.main_mtd> -r ruckus_zf7025_firmware1.bin -p 10.42.0.1 # tftp -l /dev/<rcks_wlan.bkup_mtd> -r ruckus_zf7025_firmware2.bin -p 10.42.0.1 When the command finishes, copy over the dump to a safe place for storage. $ cp /srv/tftp/ruckus_zf7025_firmware{1,2}.bin ~/ 5. Ensure the system is running from the BACKUP image, i.e. from rcks_wlan.bkup partition or "image 2". Otherwise the installation WILL fail, and you will need to access mtd0 device to write image which risks overwriting the bootloader, and so is not covered here and not supported. Switching to backup firmware can be achieved by executing a few consecutive reboots of the device, or by updating the stock firmware. The system will boot from the image it was not running from previously. Stock firmware available to update was conveniently dumped in point 4 :-) 6. Prepare U-boot environment image. Install u-boot-tools package. Alternatively, if you build your own images, OpenWrt provides mkenvimage in host staging directory as well. It is recommended to extract environment from the device, and modify it, rather then relying on defaults: $ sudo touch /srv/tftp/u-boot-env.bin $ sudo chmod 666 /srv/tftp/u-boot-env.bin On the device, find the MTD partition on which environment resides. Beware, it may change depending on currently active firmware image! # grep u-boot-env /proc/mtd Now, copy over the partition # tftp -l /dev/mtd<N> -r u-boot-env.bin -p 10.42.0.1 Store the stock environment in a safe place: $ cp /srv/tftp/u-boot-env.bin ~/ Extract the values from the dump: $ strings u-boot-env.bin | tee u-boot-env.txt Now clean up the debris at the end of output, you should end up with each variable defined once. After that, set the bootcmd variable like this: bootcmd=bootm 0x9f040000 You should end up with something like this: bootcmd=bootm 0x9f040000 bootargs=console=ttyS0,115200 rootfstype=squashfs init=/sbin/init baudrate=115200 ethaddr=0x00:0xaa:0xbb:0xcc:0xdd:0xee mtdparts=mtdparts=ar7100-nor0:256k(u-boot),7168k(rcks_wlan.main),7168k(rcks_wlan.bkup),1280k(datafs),256k(u-boot-env) mtdids=nor0=ar7100-nor0 bootdelay=2 filesize=52e000 fileaddr=81000000 ethact=eth0 stdin=serial stdout=serial stderr=serial partition=nor0,0 mtddevnum=0 mtddevname=u-boot ipaddr=192.168.0.1 serverip=192.168.0.2 stderr=serial ethact=eth0 These are the defaults, you can use most likely just this as input to mkenvimage. Now, create environment image and copy it over to TFTP root: $ mkenvimage -s 0x40000 -b -o u-boot-env.bin u-boot-env.txt $ sudo cp u-boot-env.bin /srv/tftp This is the same image, gzipped and base64-encoded: H4sICOLMEGMAA3UtYm9vdC1lbnYtbmV3LmJpbgDt0E1u00AUAGDfgm2XDUrTsUV/pTkFSxZoEk+o lcQJtlNaLsURwU4FikDiBN+3eDNvLL/3Zt5/+vFuud8Pq10dp3V3EV4e1uFDGBXTQeq+9HG1b/v9 NsdheP0Y5mV5U4Vw0Y1f1/3wesix/3pM/dO6v2jaZojX/bJpr6dtsUzHuktDjm//FHl4SnXdxfAS wmN4SWkMy+UYVqsx1PUYci52Q31I3dDHP5vU3ZUhXLX7LjxWN7eby+PVNNxsflfe3m8uu9Wm//xt m9rFLjXtv6fLzfEwm5fVfdhc1mlI6342Pytzldvn2dS1qfs49Tjvd3qFOm/Ta6yKdbPNffM9x5sq Ty805acL3Zfh5HTD1RDHJRT9WLGNfe6atJ2S/XE4y3LX/c6mSzZDs29P3edhmqXOz+1xF//s0y7H t3GL5nDqWT5Ui/Gii7Aoi7HQ81jrcHZY/dXkfLLiJwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8 xy8jb4zOAAAEAA== 7. Perform actual installation. Copy over OpenWrt sysupgrade image to TFTP root: $ sudo cp openwrt-ath79-generic-ruckus_zf7025-squashfs-sysupgrade.bin /srv/tftp Now load both to the device over TFTP: # tftp -l /tmp/u-boot-env.bin -r u-boot-env.bin -g 10.42.0.1 # tftp -l /tmp/openwrt.bin -r openwrt-ath79-generic-ruckus_zf7025-squashfs-sysupgrade.bin -g 10.42.0.1 Verify checksums of both images to ensure the transfer over TFTP was completed: # sha256sum /tmp/u-boot-env.bin /tmp/openwrt.bin And compare it against source images: $ sha256sum /srv/tftp/u-boot-env.bin /srv/tftp/openwrt-ath79-generic-ruckus_zf7025-squashfs-sysupgrade.bin Locate MTD partition of the primary image: # grep rcks_wlan.main /proc/mtd Now, write the images in place. Write U-boot environment last, so unit still can boot from backup image, should power failure occur during this. Replace MTD placeholders with real MTD nodes: # flashcp /tmp/openwrt.bin /dev/<rcks_wlan.main_mtd> # flashcp /tmp/u-boot-env.bin /dev/<u-boot-env_mtd> Finally, reboot the device. The device should directly boot into OpenWrt. Look for the characteristic power LED blinking pattern. # reboot -f After unit boots, it should be available at the usual 192.168.1.1/24. Return to factory firmware: 1. Boot into OpenWrt initramfs as for initial installation. To do that without disassembly, you can write an initramfs image to the device using 'sysupgrade -F' first. 2. Unset the "bootcmd" variable: fw_setenv bootcmd "" 3. Concatenate the firmware backups, if you took them during installation using method 2: $ cat ruckus_zf7025_fw1_backup.bin ruckus_zf7025_fw2_backup.bin > ruckus_zf7025_backup.bin 3. Write factory images downloaded from manufacturer website into fwconcat0 and fwconcat1 MTD partitions, or restore backup you took before installation: # mtd write ruckus_zf7025_backup.bin /dev/mtd1 4. Reboot the system, it should load into factory firmware again. 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. - The 2.4 GHz 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 Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
* uboot-envtools: ath79: add support for Ubiquiti XM devicesLech Perczak2022-11-131-0/+8
| | | | | | | | | | | | | Inspired by commit 9565c5726a34da7c9c953d2293b70fdbfef0e0be, and by facts that all Ubiquiti XM devices share flash layout, and images are mostly compatible between all of them - enable uboot-envtools support for whole XM line. Build tested on: Ubiquiti Airrouter, Bullet-M (7240,7241), Nanobridge-M, Nanostation-M (+ Loco), Picostation-M, Powerbridge-M, Rocket-M. Runtime tested on: Ubiquiti Nanobridge M5 (XM). Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
* ramips: add support for Rostelecom RT-SF-1Mikhail Zhilkin2022-11-131-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rostelecom RT-SF-1 is a wireless WiFi 5 router manufactured by Sercomm company. Device specification -------------------- SoC Type: MediaTek MT7621AT RAM: 256 MiB Flash: 256 MiB, Micron MT29F2G08ABAGA3W Wireless 2.4 GHz (MT7603EN): b/g/n, 2x2 Wireless 5 GHz (MT7615E): a/n/ac, 4x4 Ethernet: 5xGbE (WAN, LAN1, LAN2, LAN3, LAN4) USB ports: 1xUSB3.0 ZigBee: 3.0, EFR32 MG1B232GG Button: 2 buttons (Reset & WPS) LEDs: - 1x Status (RGB) - 1x 2.4G (blue, hardware, mt76-phy0) - 1x 5G (blue, hardware, mt76-phy1) Power: 12 VDC, 1.5 A Connector type: barrel Bootloader: U-Boot Installation ----------------- 1. Remove dots from the OpenWrt factory image filename 2. Login to the router web interface 3. Update firmware using web interface with the OpenWrt factory image 4. If OpenWrt is booted, then no further steps are required. Enjoy! Otherwise (Stock firmware has booted again) proceed to the next step. 5. Update firmware using web interface with any version of the Stock firmware 6. Update firmware using web interface with the OpenWrt factory image Revert to stock --------------- Change bootflag to Sercomm1 in OpenWrt CLI and then reboot: printf 1 | dd bs=1 seek=7 count=1 of=/dev/mtdblock3 Recovery -------- Use sercomm-recovery tool. Link: https://github.com/danitool/sercomm-recovery MAC Addresses ------------- +-----+------------+------------+ | use | address | example | +-----+------------+------------+ | LAN | label | *:72, *:d2 | | WAN | label + 11 | *:7d, *:dd | | 2g | label + 2 | *:74, *:d4 | | 5g | label + 3 | *:75, *:d5 | +-----+------------+------------+ The label MAC address was found in Factory 0x21000 Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
* libmbedtls: disable older RSA ciphersGlenn Strauss2022-11-131-2/+2
| | | | | | disable older RSA ciphers Signed-off-by: Glenn Strauss <gstrauss@gluelogic.com>
* libmbedtls: enable crypto algorithms for hostapGlenn Strauss2022-11-131-6/+6
| | | | | | | | | enable additional crypto algorithms for hostap hostap uses local implementations if not provided by crypto library, so might as well enable in the crypto library for shared use by others. Signed-off-by: Glenn Strauss <gstrauss@gluelogic.com>
* libmbedtls: build option submenuGlenn Strauss2022-11-133-265/+259
| | | | | | menuconfig libmbedtls build option submenu Signed-off-by: Glenn Strauss <gstrauss@gluelogic.com>
* procd: service: pass all arguments to serviceAndrew Ammerlaan2022-11-131-3/+3
| | | | | | | | | Passing all arguments to /etc/init.d/$service restores the behaviour of openwrt 21.02. This is relevant for services such as etherwake which take more then one argument, e.g.: "service etherwake start <list of devices to wake>" Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
* zlib: update to 1.2.13Nick Hainke2022-11-137-339/+18
| | | | | | | | | | | | | | | | | | | | | | Remove "001-neon-implementation-of-adler32.patch" because upstreamed deleted assembler code optimizations: https://github.com/madler/zlib/commit/d0704a820186481da35d08f4b655881e1d32089f Remove upstreamed patches: - 006-fix-CVE-2022-37434.patch - 007-fix-null-dereference-in-fix-CVE-2022-37434.patch Refresh patches: - 002-arm-specific-optimisations-for-inflate.patch - 003-arm-specific-optimisations-for-inflate.patch - 004-attach-sourcefiles-in-patch-002-to-buildsystem.patch Switch to "https github.com" for downloading source files. Release Announcements: https://github.com/madler/zlib/releases/tag/v1.2.13 Signed-off-by: Nick Hainke <vincent@systemli.org>
* kernel: add kmod-hwmon-sht3x supportUwe Kleine-König2022-11-131-0/+15
| | | | | | | The driver supports the temperature and humidity sensors chips SHT3x and STS3x by Sensirion. Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org>
* mt76: move the mt7921 firmware to its own packageAndre Heider2022-11-121-3/+9
| | | | | | | | | It's not just required for the PCI version, but for USB and presumably SDIO as well. Tested with 0e8d:7961 Comfast CF-953AX (MT7921AU). Signed-off-by: Andre Heider <a.heider@gmail.com>
* mt76: update to the latest versionFelix Fietkau2022-11-121-3/+3
| | | | | | 4bf2607362fc wifi: mt76: fix dbdc number of spatial streams limit Signed-off-by: Felix Fietkau <nbd@nbd.name>
* linux-firmware: add rtl8761 bluetooth firmwareQuintin Hill2022-11-121-0/+23
| | | | | | | | | Realtek bluetooth devices need firmware. Add packages for some of these. Tested on a WNDR3700v4 with rtl8761bu firmware. Signed-off-by: Quintin Hill <stuff@quintin.me.uk>
* kernel: support for Realtek USB bluetooth devicesQuintin Hill2022-11-121-2/+3
| | | | | | | | | | | USB adaptors with the RTL8761B chipset are cheap and readily available but so far support is missing in Openwrt. Enable the relevant kernel options and add a module to the kmod-bluetooth package. Increases size of kmod-bluetooth ipk from 279140 bytes to 285320 bytes on my ath79 build. Tested on a WNDR3700v4 with rtl8761bu firmware. Signed-off-by: Quintin Hill <stuff@quintin.me.uk>
* dnsmasq: add support for filter-AAAA/AChen Minqiang2022-11-122-0/+5
| | | | | | | | This add --filter-A and --filter-AAAA options, to remove IPv4 or IPv6 addresses from DNS answers. these options is supported since version 2.87. Co-authored-by: NueXini <nuexini@alumni.tongji.edu.cn> Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
* libnftnl: update to 1.2.4Nick Hainke2022-11-121-2/+2
| | | | | | | Release Announcement: https://lore.kernel.org/netfilter-devel/Y20W+LT%2F+sq%2Fi2rz@salvia/T/#u Signed-off-by: Nick Hainke <vincent@systemli.org>
* linux-firmware: update to 20221109Nick Hainke2022-11-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes: 712460c linux-firmware: Update firmware file for Intel Bluetooth 9462 90d5f7e linux-firmware: Update firmware file for Intel Bluetooth 9462 48954ba linux-firmware: Update firmware file for Intel Bluetooth 9560 0e205fd linux-firmware: Update firmware file for Intel Bluetooth 9560 06b941e linux-firmware: Update firmware file for Intel Bluetooth AX201 ba958ff linux-firmware: Update firmware file for Intel Bluetooth AX201 02bdea2 linux-firmware: Update firmware file for Intel Bluetooth AX211 7044d46 linux-firmware: Update firmware file for Intel Bluetooth AX211 1b99bcd linux-firmware: Update firmware file for Intel Bluetooth AX210 4668ae9 linux-firmware: Update firmware file for Intel Bluetooth AX200 5bdfdba linux-firmware: Update firmware file for Intel Bluetooth AX201 b0f995c amdgpu: update DMCUB firmware for DCN 3.1.6 d991031 rtl_bt: Update RTL8822C BT UART firmware to 0xFFB8_ABD6 fd62f01 rtl_bt: Update RTL8822C BT USB firmware to 0xFFB8_ABD3 b15fc21 WHENCE: mrvl: prestera: Add WHENCE entries for newly updated 4.1 FW images bf5a337 mrvl: prestera: Update Marvell Prestera Switchdev FW to v4.1 4a733c2 iwlwifi: add new FWs from core74_pv-60 release 7d2bb50 qcom: drop split a530_zap firmware file 7d56713 qcom/vpu-1.0: drop split firmware in favour of the mbn file 1431496 qcom/venus-4.2: drop split firmware in favour of the mbn file cf95783 qcom/venus-4.2: replace split firmware with the mbn file 1fe6f49 qcom/venus-1.8: replace split firmware with the mbn file abc0302 linux-firmware: Add firmware for Cirrus CS35L41 on new ASUS Laptop 20d9516 iwlwifi: add new PNVM binaries from core74-44 release 06dbfbc iwlwifi: add new FWs from core69-81 release 05df8e6 qcom: update venus firmware files for VPU-2.0 cd6fcdb qcom: remove split SC7280 venus firmware images 1612706 qcom: update venus firmware file for v5.4 ad9fdba qcom: replace split SC7180 venus firmware images with symlink dae5d46 rtw89: 8852b: update fw to v0.27.32.1 a8e86ec rtlwifi: update firmware for rtl8192eu to v35.7 9aa8db1 rtlwifi: Add firmware v4.0 for RTL8188FU 8f86b5a i915: Add HuC 7.10.3 for DG2 48407ff cnm: update chips&media wave521c firmware. bd31846 brcm: add symlink for Pi Zero 2 W NVRAM file 771968c linux-firmware: Add firmware for Cirrus CS35L41 on ASUS Laptops 6f9620e linux-firmware: Add firmware for Cirrus CS35L41 on Lenovo Laptops 1d18cb9 linux-firmware: Add firmware for Cirrus CS35L41 on HP Laptops e497757 rtw89: 8852b: add initial fw v0.27.32.0 98b5577 iwlwifi: add new FWs from core72-129 release 604026c iwlwifi: update 9000-family firmwares to core72-129 Signed-off-by: Nick Hainke <vincent@systemli.org>
* mt76: update to the latest versionFelix Fietkau2022-11-112-16/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8cc34bdc9ef0 wifi: mt76: mt7921: set MT_DRV_AMSDU_OFFLOAD for USB/SDIO 2182de50a37c wifi: mt76: fix receiving LLC packets on mt7615/mt7915 269df4b01f27 wifi: mt76: fix rx checksum offload on mt7615/mt7915/mt7921 fa4ace8e3b58 ieee80211: add EHT 1K aggregation definitions 176df35e7e80 wifi: mt76: mt7915: improve accuracy of time_busy calculation 94b335fa88e1 wifi: mt76: mt7915: add ack signal support 3365c129f73c wifi: mt76: mt7915: enable use_cts_prot support ad9bd2ba361e wifi: mt76: mt7615: enable use_cts_prot support 68bdcccb0aa7 wifi: mt76: mt7915: fix reporting of TX AGGR histogram 242fece4323f wifi: mt76: mt7921: fix reporting of TX AGGR histogram 75003c69a9bd wifi: mt76: mt7615: rely on mt7615_phy in mt7615_mac_reset_counters 65c70a32f1cf wifi: mt76: move aggr_stats array in mt76_phy b1ddf8bec058 wifi: mt76: mt7915: rework mt7915_dma_reset() 1ad31c3f76f4 wifi: mt76: mt7915: enable full system reset support 6b0668de7a53 wifi: mt76: mt7915: add full system reset into debugfs a5e48378d2a6 wifi: mt76: mt7915: enable coredump support 1e9060420c92 wifi: mt76: mt7915: fix incorrect tx path number configuration 0263711ba362 wifi: mt76: mt7915: fix antenna selection with bad eeprom. 869815e5ef86 wifi: mt76: mt7915: Fix chainmask calculation on mt7915 DBDC fc410557b7e1 wifi: mt76: mt7915: Fix VHT beamforming capabilities with DBDC daa30a31cf70 wifi: mt76: mt7915: don't claim 160MHz support with mt7915 DBDC 80bcecdbc2ff wifi: mt76: connac: update nss calculation in txs 465219c1f56c wifi: mt76: do not run mt76u_status_worker if the device is not running c7db15903e5c wifi: mt76: connac: add mt76_connac_mcu_uni_set_chctx 7a2b1a13b1b0 wifi: mt76: mt7921: add chanctx parameter to mt76_connac_mcu_uni_add_bss signature dece6921e606 wifi: mt76: mt7921: add unified ROC cmd/event support d4da182389b6 wifi: mt76: mt7921: drop ieee80211_[start, stop]_queues in driver 0c3ef988d8dc wifi: mt76: connac: accept hw scan request at a time c477225fd10e mt7615: update cr4 firmware to 20190415154149 413a4bf39513 mt76: mt7915: fix unused-but-set variable f5034abea899 mt76: mt7915: fix format string a9ac73ed8275 wifi: mt76: mt7615: increase eeprom size for mt7663 4a27f23fc4f2 linux-firmware: update firmware for MT7921 WiFi device Signed-off-by: Felix Fietkau <nbd@nbd.name>
* procd: update to git HEADDaniel Golle2022-11-101-3/+3
| | | | | | | | 24f6bc4 jail: correctly check for null pointer 93b2c2d jail: ignore missing .dynamic sect 039b88f sysupgrade: print errno on failure Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: fix mesh airtime link metric estimationFelix Fietkau2022-11-101-0/+36
| | | | | | fix reading the per-packet rate on devices with firmware rate control Signed-off-by: Felix Fietkau <nbd@nbd.name>
* fstools: update to git HEADRafał Miłecki2022-11-101-3/+3
| | | | | | 3affe9e block: try multiple NTFS filesystem implementations Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* hostapd: remove invalid dtim_period option processingFelix Fietkau2022-11-101-2/+1
| | | | | | | | dtim_period is a bss property, not a device one. It is already handled properly in mac80211.sh Fixes: 30c64825c7ed ("hostapd: add dtim_period, local_pwr_constraint, spectrum_mgmt_required") Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ipq40xx: add support for GL.iNet GL-A1300Weiping Yang2022-11-093-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: SOC: Qualcomm IPQ4018 (DAKOTA) ARM Quad-Core RAM: 256 MiB FLASH1: 4 MiB NOR FLASH2: 128 MiB NAND ETH: Qualcomm QCA8075 WLAN1: Qualcomm Atheros QCA4018 2.4GHz 802.11b/g/n 2x2 WLAN2: Qualcomm Atheros QCA4018 5G 802.11n/ac W2 2x2 USB: 1 x USB 3.0 port Button: 1 x Reset button Switch: 1 x Mode switch LED: 1 x Blue LED + 1 x White LED Install via uboot tftp or uboot web failsafe. By uboot tftp: (IPQ40xx) # tftpboot 0x84000000 openwrt-ipq40xx-generic-glinet_gl-a1300-squashfs-nand-factory.ubi (IPQ40xx) # nand erase 0 0x8000000 (IPQ40xx) # nand write 0x84000000 0 $filesize By uboot web failsafe: Push the reset button for 10 seconds util the power led flash faster, then use broswer to access http://192.168.1.1 Afterwards upgrade can use sysupgrade image. Signed-off-by: Weiping Yang <weiping.yang@gl-inet.com>
* mac80211: remove old legacy legacy driversFelix Fietkau2022-11-0911-908/+5
| | | | | | | | | | | Get rid of drivers that are either limited to 802.11b/g or don't even support cfg80211/mac80211. Most of these are either limited to boards that we don't even support anymore because of firmware size, or were only used for custom hacks by a really small number of users in the past. Let's get rid of those to reduce the maintenance effort and the number of useless packages Signed-off-by: Felix Fietkau <nbd@nbd.name>