aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ipq40xx: add support for Plasma Cloud PA2200Marek Lindner2020-12-2212-7/+243
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Device specifications: * QCA IPQ4019 * 256 MB of RAM * 32 MB of SPI NOR flash (w25q256) - 2x 15 MB available; but one of the 15 MB regions is the recovery image * 2T2R 2.4 GHz - QCA4019 hw1.0 (SoC) - requires special BDF in QCA4019/hw1.0/board-2.bin with bus=ahb,bmi-chip-id=0,bmi-board-id=20,variant=PlasmaCloud-PA2200 * 2T2R 5 GHz (channel 36-64) - QCA9888 hw2.0 (PCI) - requires special BDF in QCA9888/hw2.0/board-2.bin bus=pci,bmi-chip-id=0,bmi-board-id=16,variant=PlasmaCloud-PA2200 * 2T2R 5 GHz (channel 100-165) - QCA4019 hw1.0 (SoC) - requires special BDF in QCA4019/hw1.0/board-2.bin with bus=ahb,bmi-chip-id=0,bmi-board-id=21,variant=PlasmaCloud-PA2200 * GPIO-LEDs for 2.4GHz, 5GHz-SoC and 5GHz-PCIE * GPIO-LEDs for power (orange) and status (blue) * 1x GPIO-button (reset) * TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX) * 2x gigabit ethernet - phy@mdio3: + Label: Ethernet 1 + gmac0 (ethaddr) in original firmware + used as LAN interface - phy@mdio4: + Label: Ethernet 2 + gmac1 (eth1addr) in original firmware + 802.3at POE+ + used as WAN interface * 12V 2A DC Flashing instructions: The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be used to transfer the factory image to the u-boot when the device boots up. Signed-off-by: Marek Lindner <marek.lindner@kaiwoo.ai> [sven@narfation.org: prepare commit message, rebase, use all LEDs, switch to dualboot_datachk upgrade script, use eth1 as designated WAN interface] Signed-off-by: Sven Eckelmann <sven@narfation.org>
* ipq40xx: add support for Plasma Cloud PA1200Marek Lindner2020-12-2211-6/+228
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Device specifications: * QCA IPQ4018 * 256 MB of RAM * 32 MB of SPI NOR flash (w25q256) - 2x 15 MB available; but one of the 15 MB regions is the recovery image * 2T2R 2.4 GHz - QCA4019 hw1.0 (SoC) - requires special BDF in QCA4019/hw1.0/board-2.bin with bus=ahb,bmi-chip-id=0,bmi-board-id=16,variant=PlasmaCloud-PA1200 * 2T2R 5 GHz - QCA4019 hw1.0 (SoC) - requires special BDF in QCA4019/hw1.0/board-2.bin with bus=ahb,bmi-chip-id=0,bmi-board-id=17,variant=PlasmaCloud-PA1200 * 3x GPIO-LEDs for status (cyan, purple, yellow) * 1x GPIO-button (reset) * 1x USB (xHCI) * TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX) * 2x gigabit ethernet - phy@mdio4: + Label: Ethernet 1 + gmac0 (ethaddr) in original firmware + used as LAN interface - phy@mdio3: + Label: Ethernet 2 + gmac1 (eth1addr) in original firmware + 802.3af/at POE(+) + used as WAN interface * 12V/24V 1A DC Flashing instructions: The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be used to transfer the factory image to the u-boot when the device boots up. Signed-off-by: Marek Lindner <marek.lindner@kaiwoo.ai> [sven@narfation.org: prepare commit message, rebase, use all LEDs, switch to dualboot_datachk upgrade script, use eth1 as designated WAN interface] Signed-off-by: Sven Eckelmann <sven@narfation.org>
* ipq40xx: Change name for openmesh.sh to vendor-free nameSven Eckelmann2020-12-222-5/+5
| | | | | | | | | Other vendors are using functionality similar to the ones OpenMesh used to implement two areas on the flash to store the default image and a fallback image. So just change the name to dualboot_datachk.sh to avoid duplicated code just to have the same script for different vendors. Signed-off-by: Sven Eckelmann <sven@narfation.org>
* ath79: Add support for Plasma Cloud PA300ESven Eckelmann2020-12-226-3/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Device specifications: * Qualcomm/Atheros QCA9533 v2 * 650/600/217 MHz (CPU/DDR/AHB) * 64 MB of RAM * 16 MB of SPI NOR flash (mx25l12805d) - 2x 7 MB available; but one of the 7 MB regions is the recovery image * 2x 10/100 Mbps Ethernet * 2T2R 2.4 GHz Wi-Fi * multi-color LED (controlled via red/green/blue GPIOs) * 1x GPIO-button (reset) * external h/w watchdog (enabled by default) * TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX) * 2x fast ethernet - eth0 + Label: Ethernet 1 + 24V passive POE (mode B) + used as WAN interface - eth1 + Label: Ethernet 2 + 802.3af POE + builtin switch port 2 + used as LAN interface * 12-24V 1A DC * external antennas Flashing instructions: The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be used to transfer the factory image to the u-boot when the device boots up. Signed-off-by: Sven Eckelmann <sven@narfation.org>
* ath79: Add support for Plasma Cloud PA300Sven Eckelmann2020-12-228-1/+283
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Device specifications: * Qualcomm/Atheros QCA9533 v2 * 650/600/217 MHz (CPU/DDR/AHB) * 64 MB of RAM * 16 MB of SPI NOR flash (mx25l12805d) - 2x 7 MB available; but one of the 7 MB regions is the recovery image * 2x 10/100 Mbps Ethernet * 2T2R 2.4 GHz Wi-Fi * multi-color LED (controlled via red/green/blue GPIOs) * 1x GPIO-button (reset) * external h/w watchdog (enabled by default) * TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX) * 2x fast ethernet - eth0 + Label: Ethernet 1 + 24V passive POE (mode B) + used as WAN interface - eth1 + Label: Ethernet 2 + 802.3af POE + builtin switch port 2 + used as LAN interface * 12-24V 1A DC * internal antennas Flashing instructions: The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be used to transfer the factory image to the u-boot when the device boots up. Signed-off-by: Sven Eckelmann <sven@narfation.org>
* ath79: Fix fallback to bootloader cmdline on empty DT bootargsSven Eckelmann2020-12-221-0/+194
| | | | | | | | | | | | | The MIPS code is supposed to fall back to u-boots bootargs whenever the /chosen/bootargs property is missing. But this feature was accidentally disabled when the boot_command_line was initialized with an empty space just to work around problems with early_init_dt_scan_chosen. But this feature is necessary for some boards which have a dualboot mechanism and whose u-boot is calculating the correct partition at runtime without writing this information back to the u-boot-env. Signed-off-by: Sven Eckelmann <sven@narfation.org>
* images: Fix sysupgrade.tar for devices with NOR flashSven Eckelmann2020-12-221-1/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The NOR flash rootfs images stored in a sysupgrade.tar must end with the JFFS2 marker. Otherwise, devices like OpenMesh A42/A62 are not able to calculate the md5sum of the fixed squashfs part and store it inside the u-boot-env. But the commit ee76bd11bbe7 ("images: fix boot failures on NAND with small sub pages") adds up to 1020 0x00 bytes after the 0xdead0de EOF marker. The calculated md5sum will be wrong due do this change and u-boot will fail to boot the newly flashed device with a message like: Validating MD5Sum of 'vmlinux'... Passed! Validating MD5Sum of 'rootfs'... Failed! 583a1b7b54b8601efa64ade42742459b != 8850ee812dfd7638e94083329d5d2781 Data validation failed! and boot the old image again. Since the original change should not change the behavior of NOR images, just check for the deadc0de marker at the end of the squashfs-jffs2 image do avoid the problematic behavior for these images. Fixes: ee76bd11bbe7 ("images: fix boot failures on NAND with small sub pages") Signed-off-by: Sven Eckelmann <sven@narfation.org>
* ipq806x: disable SPC of IPQ8064 on NEC WG2600HP to fix boot issueINAGAKI Hiroshi2020-12-221-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SPC (Standalone Power Collapse) of IPQ8064 on NEC Aterm WG2600HP need to be disabled to fix the boot stucking issue on WG2600HP with kernel 5.4. log: [ 3.036965] cpuidle: enable-method property 'qcom,kpss-acc-v1' found operations [ 3.038007] cpuidle: enable-method property 'qcom,kpss-acc-v1' found operations [ 3.045849] sdhci: Secure Digital Host Controller Interface driver [ 3.052385] sdhci: Copyright(c) Pierre Ossman [ 3.058712] sdhci-pltfm: SDHCI platform and OF driver helper [ 3.065469] NET: Registered protocol family 10 [ 3.070184] Segment Routing with IPv6 [ 3.073141] NET: Registered protocol family 17 [ 3.078157] 8021q: 802.1Q VLAN Support v1.8 [ 3.081149] Registering SWP/SWPB emulation handler [ 3.107125] qcom_rpm 108000.rpm: RPM firmware 3.0.16777371 [ 3.120475] s1a: Bringing 0uV into 1050000-1050000uV [ 3.120747] s1a: supplied by regulator-dummy [ 3.124775] s1b: Bringing 0uV into 1050000-1050000uV [ 3.128969] s1b: supplied by regulator-dummy [ 3.133905] s2a: Bringing 0uV into 800000-800000uV [ 3.138190] s2a: supplied by regulator-dummy [ 3.142693] s2b: Bringing 0uV into 800000-800000uV [ 3.147266] s2b: supplied by regulator-dummy [ (stuck) Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* ath79: add support for Senao Engenius ECB350 v1Michael Pratt2020-12-225-0/+188
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FCC ID: A8J-ECB350 Engenius ECB350 v1 is an indoor wireless access point with a gigabit ethernet port, 2.4 GHz wireless, external antennas, and PoE. **Specification:** - AR7242 SOC - AR9283 WLAN 2.4 GHz (2x2), PCIe on-board - AR8035-A switch RGMII, GbE with 802.3af PoE - 40 MHz reference clock - 8 MB FLASH 25L6406EM2I-12G - 32 MB RAM - UART at J2 (populated) - 2 external antennas - 3 LEDs, 1 button (power, lan, wlan) (reset) **MAC addresses:** MACs are labeled as WLAN and WAN vendor MAC addresses in flash are duplicate phy0 WLAN *:b8 --- eth0 WAN *:b9 art 0x0/0x6 **Installation:** - if you get Failsafe Mode from failed flash: only use it to flash Original firmware from Engenius or risk kernel loop or halt which requires serial cable Method 1: Firmware upgrade page: OEM webpage at 192.168.1.1 username and password "admin" Navigate to "Firmware" 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 0x9f670000` 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 *DISCLAIMER* The Failsafe image is unique to Engenius boards. If the failsafe image is missing or damaged this will not work DO NOT downgrade to ar71xx this way, it can cause kernel loop or halt 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** (unstable / not reliable): rename initramfs to 'vmlinux-art-ramdisk' make available on TFTP server at 192.168.1.101 power board while holding or pressing reset button repeatedly NOTE: for some Engenius boards TFTP is not reliable try setting MTU to 600 and try many times **Format of OEM firmware image:** The OEM software of ECB350 v1 is a heavily modified version of Openwrt Kamikaze. One of the many modifications is to the sysupgrade program. Image verification is performed 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 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. The OEM upgrade script is at /etc/fwupgrade.sh. OKLI kernel loader is required because the OEM software expects the kernel size to be no greater than 1536k and otherwise the factory.bin upgrade procedure would overwrite part of the kernel when writing rootfs. The factory upgrade script follows the original mtd partitions. **Note on PLL-data cells:** The default PLL register values will not work because of the AR8035 switch between the SOC and the ethernet port. For AR724x series, the PLL register for GMAC0 can be seen in the DTSI as 0x2c. Therefore the PLL register can be read from u-boot for each link speed after attempting tftpboot or another network action using that link speed with `md 0x1805002c 1` However the registers that u-boot sets are not ideal and sometimes wrong... the at803x driver supports setting the RGMII clock/data delay on the PHY side. This way the pll-data register only needs to handle invert and phase. for this board no extra adjustements are needed on the MAC side all link speeds functional Signed-off-by: Michael Pratt <mcpratt@pm.me>
* ath79: add support for GL.iNet GL-USB150Chen Minqiang2020-12-223-0/+130
| | | | | | | | | | | | | | | | | | | | | | | | | Add support for the ar71xx supported GL.iNet GL-USB150 to ath79. GL.iNet GL-USB150 is an USB dongle WiFi router, based on Atheros AR9331. Specification: - 400/400/200 MHz (CPU/DDR/AHB) - 64 MB of RAM (DDR2) - 16 MB of FLASH (SPI NOR) - Realtek RTL8152B USB to Ethernet bridge (connected with AR9331 PHY4) - 1T1R 2.4 GHz - 2x LED, 1x button - UART header on PCB Flash instruction: Vendor software is based on openwrt so you can flash the sysupgrade image via the vendor GUI or using command line sysupgrade utility. Make sure to not save configuration over reflash as uci settings differ between versions. Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
* ath79: enable factory.bin and adjust profile of ECB1750Michael Pratt2020-12-224-6/+4
| | | | | | | | | | | | | | | | | factory.bin was not tested for ECB1750... but it was tested on it's sister board ECB1200 The product ID for the header can be verified by inspecting the header of OEM images, or in the u-boot environment. Also: - the LAN LED is controlled directly by the AR8035 switch - the labelled (first increment) MAC for both is ethaddr (eth0) - list packages in alphabetical order - use default sysupgrade.bin recipe Signed-off-by: Michael Pratt <mcpratt@pm.me>
* ath79: create common DTSI for ECB1200 and ECB1750Michael Pratt2020-12-223-265/+139
| | | | | | | | | | | | These boards are sister boards exactly the same hardware except that ECB1200 has: - QCA9557 - 2 RF circuits/antennas per band instead of 3 - a resistor blocking UART RX line Tested-by: sven friedmann <sf.openwrt@okay.ms> Signed-off-by: Michael Pratt <mcpratt@pm.me>
* ath79: add support for Senao Engenius ECB1200Michael Pratt2020-12-226-0/+158
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FCC ID: A8J-ECB1200 Engenius ECB1200 is an indoor wireless access point with a GbE port, 2.4 GHz and 5 GHz wireless, external antennas, and 802.3af PoE. **Specification:** - QCA9557 SOC MIPS, 2.4 GHz (2x2) - QCA9882 WLAN PCIe card, 5 GHz (2x2) - AR8035-A switch RGMII, GbE with 802.3af PoE, 25 MHz clock - 40 MHz reference clock - 16 MB FLASH 25L12845EMI-10G - 2x 64 MB RAM 1538ZFZ V59C1512164QEJ25 - UART at JP1 (unpopulated, RX shorted to ground) - 4 external antennas - 4 LEDs, 1 button (power, eth, wifi2g, wifi5g) (reset) **MAC addresses:** MAC Addresses are labeled as ETH and 5GHZ U-boot environment has the vendor MAC addresses MAC addresses in ART do not match vendor eth0 ETH *:5c u-boot-env ethaddr phy0 5GHZ *:5d u-boot-env athaddr ---- ---- ???? art 0x0/0x6 **Installation:** Method 1: Firmware upgrade page: OEM webpage at 192.168.1.1 username and password "admin" Navigate to "Firmware" 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 (see TFTP recovery) perform a sysupgrade **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 pinout at JP1 **Return to OEM:** If you have a serial cable, see Serial Failsafe instructions Unlike most Engenius boards, this does not have a 'failsafe' image the only way to return to OEM is TFTP or serial access to u-boot **TFTP recovery:** Unlike most Engenius boards, TFTP is reliable here rename initramfs-kernel.bin to 'ap.bin' make the file available on a TFTP server at 192.168.1.10 power board while holding or pressing reset button repeatedly or with serial access: run `tftpboot` or `run factory_boot` with initramfs-kernel.bin then `bootm` with the load address **Format of OEM firmware image:** The OEM software of ECB1200 is a heavily modified version of Openwrt Altitude Adjustment 12.09. This Engenius board, like ECB1750, uses a proprietary header with a unique Product ID. The header for factory.bin is generated by the mksenaofw program included in openwrt. **Note on PLL-data cells:** The default PLL register values will not work because of the 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`. However the registers that u-boot sets are not ideal and sometimes wrong... the at803x driver supports setting the RGMII clock/data delay on the PHY side. This way the pll-data register only needs to handle invert and phase. for this board clock invert is needed on the MAC side all link speeds functional Signed-off-by: Michael Pratt <mcpratt@pm.me>
* scripts/om-fwupgradecfg-gen.sh: Generate checksum over whole squashfsSven Eckelmann2020-12-221-6/+3
| | | | | | | | | | | The rootfs is padded to the full block size by padjffs2 and a 4 byte magic value ("deadc0de") is added to the end. On first boot, the JFFS2 is replacing the "deadc0de" marker when the rootfs_data is initialized. The static part of the rootfs is therefore $rootfs_size - 4 and not $rootfs_size - 262144 - 4. Signed-off-by: Sven Eckelmann <sven@narfation.org>
* scripts/om-fwupgradecfg-gen.sh: Drop block alignment codeSven Eckelmann2020-12-221-5/+1
| | | | | | | The padding and block alignment is handled by the image build script and doesn't need to be duplicated in the fwupgrade.cfg build script. Signed-off-by: Sven Eckelmann <sven@narfation.org>
* ramips: add support for Senao Engenius ESR600HMichael Pratt2020-12-224-7/+199
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FCC ID: A8J-ESR750H Engenius ESR600H is an indoor wireless router with a gigabit switch, 2.4 GHz and 5 GHz wireless, internal and external antennas, and a USB port. **Specification:** - RT3662F MIPS SOC, 5 GHz WMAC (2x2) - RT5392L PCI on-board, 2.4 GHz (2x2) - AR8327 RGMII, 7-port GbE, 25 MHz clock - 40 MHz reference clock - 8 MB FLASH 25L6406EM2I-12G - 64 MB RAM - UART at J12 (unpopulated) - 2 internal antennas (5 GHz) - 2 external antennas (2.4 GHz) - 9 LEDs, 1 button (power, wps, wifi2g, wifi5g, 5 LAN/WAN) - USB 2 port (GPIO controlled power) **MAC addresses:** MAC Addresses are labeled as WAN and WLAN U-boot environment has the the vendor MAC address for ethernet MAC addresses in "factory" are part of wifi calibration data eth0.2 WAN *:13:e7 u-boot-env wanaddr eth0.1 ---- *:13:e8 u-boot-env wanaddr + 1 phy0 WLAN *:14:b8 factory 0x8004 phy1 ---- *:14:bc factory 0x4 **Installation:** Method 1: Firmware upgrade page OEM webpage at 192.168.0.1 username and password "admin" Navigate to Network Setting --> Tools --> Firmware Click Browse and select the factory.dlf image Click Continue to confirm and wait 6 minutes or more... Method 2: Serial console to load TFTP image: (see TFTP recovery) **Return to OEM:** Unlike most Engenius boards, this does not have a 'failsafe' image the only way to return to OEM is serial access to uboot Unlike most Engenius boards, public images are not available... so the only way to return to OEM is to have a copy of the MTD partition "firmware" BEFORE flashing openwrt. **TFTP recovery:** Unlike most Engenius boards, TFTP is reliable here however it requires serial console access (soldering pins to the UART pinouts) build your own image... with 'ramdisk' selected under 'Target Images' rename initramfs-kernel.bin to 'uImageESR-600H' make the file available on a TFTP server at 192.168.99.8 interrupt boot by holding or pressing '4' in serial console as soon as board is powered on `tftpboot 0x81000000` `bootm 0x81000000` perform a sysupgrade **Format of OEM firmware image:** This Engenius board uses the Senao proprietary header with a unique Product ID. The header for factory.bin is generated by the mksenaofw program included in openwrt. .dlf file extension is also required for OEM software to accept it **Note on using OKLI:** the kernel is now too large for the bootloader to handle so OKLI is used via the `kernel-loader` image command recently in master several other ramips boards have the same problem 'Kernel panic - not syncing: Failed to find ralink,rt3883-sysc node' see commit ad19751edc21ae713bd95df6b93be64bd1e0c612 Signed-off-by: Michael Pratt <mcpratt@pm.me>
* toolchain: remove uClibc-ngRosen Penev2020-12-2230-593/+0
| | | | | | | | After musl was introduced, it was desired to remove uClibc-ng. As ARC has no musl support, it was kept around. However, glibc 2.32 includes ARC support. This makes it possible to finally remove it. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* toolchain: remove uClibc-ng config stuffRosen Penev2020-12-222-22/+0
| | | | | | This is in preparation for removing it. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* toolchain: remove uClibc install stuffRosen Penev2020-12-221-28/+3
| | | | | | This is preparation for removing uClibc-ng. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* toolchain: default to glibc for ARCRosen Penev2020-12-221-2/+1
| | | | | | | | glibc 2.32 gained support for the ARC architecture. This is preparation for removing uClibc-ng. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* realtek: use kernel defined haltSander Vanheule2020-12-221-7/+0
| | | | | | | | | If _machine_hang is not defined on MIPS, the kernel will check if the CPU can enter a more power efficient sleep mode. Since the realtek platform supports mips32_r2, this should issue a WAIT instruction instead of a trivial infinite loop. Signed-off-by: Sander Vanheule <sander@svanheule.net>
* hostapd: Use EAPOLv1 (802.1X-2001) if WPA enabledNick Lowe2020-12-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, EAPOLv2 (802.1X-2004) is used by default for legacy clients that are not WPA2 (RSN) capable. These legacy clients are often intolerant to this EAPOL version and fail to connect. hostapd.conf upstream documents for eapol_version the following and that this is a known compatibility issue with version 2: // IEEE 802.1X/EAPOL version // hostapd is implemented based on IEEE Std 802.1X-2004 which defines EAPOL // version 2. However, there are many client implementations that do not handle // the new version number correctly (they seem to drop the frames completely). // In order to make hostapd interoperate with these clients, the version number // can be set to the older version (1) with this configuration value. // Note: When using MACsec, eapol_version shall be set to 3, which is // defined in IEEE Std 802.1X-2010. //eapol_version=2 For the wpa parameter, hostapd.conf upstream documents that this is a bitfield, configured as follows: // Enable WPA. Setting this variable configures the AP to require WPA (either // WPA-PSK or WPA-RADIUS/EAP based on other configuration). For WPA-PSK, either // wpa_psk or wpa_passphrase must be set and wpa_key_mgmt must include WPA-PSK. // Instead of wpa_psk / wpa_passphrase, wpa_psk_radius might suffice. // For WPA-RADIUS/EAP, ieee8021x must be set (but without dynamic WEP keys), // RADIUS authentication server must be configured, and WPA-EAP must be included // in wpa_key_mgmt. // This field is a bit field that can be used to enable WPA (IEEE 802.11i/D3.0) // and/or WPA2 (full IEEE 802.11i/RSN): // bit0 = WPA // bit1 = IEEE 802.11i/RSN (WPA2) (dot11RSNAEnabled) // Note that WPA3 is also configured with bit1 since it uses RSN just like WPA2. // In other words, for WPA3, wpa=2 is used the configuration (and // wpa_key_mgmt=SAE for WPA3-Personal instead of wpa_key_mgmt=WPA-PSK). //wpa=2 For client compatibility therefore: EAPOLv1 (802.1X-2001) should be used by default where WPA is enabled. EAPOLv2 (802.1X-2004) should be used by default where WPA is disabled. To fix this, we can therefore change in the script: set_default eapol_version 0 To the following: set_default eapol_version $((wpa & 1)) This therefore: 1) Sets eapol_version to 1 where WPA has been enabled via wpa bit0 being set. 2) Sets eapol_version to 0 where WPA has been disabled via wpa bit0 being unset. For usual configurations that only have WPA2 enabled, EAPOLv2 is then used. Signed-off-by: Nick Lowe <nick.lowe@gmail.com>
* ramips: unify elecom-*-factory for ELECOM WRC-GHBK2-S/GS/GST devicesINAGAKI Hiroshi2020-12-221-16/+5
| | | | | | | | | Most of Build/elecom-wrc-factory and Build/elecom-wrc-gs-factory are nearly equal, Unify those definitions by using "-N" option of mkhash and splitting the appending text at the end of firmware image for WRC-GS/GST devices. Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* scripts: add -N option to mkhash for printing without newlineINAGAKI Hiroshi2020-12-221-7/+13
| | | | | | Added "-N" option, it allow printing hash(es) without newline. Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* ath79: fix Sitecom WLR-8100 lan port ledsDavide Fioravanti2020-12-221-3/+3
| | | | | | | | | Incorrect values were used for the switch initialization causing the lan port leds to not light up in case of 10Mb or 100Mb connections. This commit fixes this problem and removes unused values. Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
* kernel: move some disabled symbols to genericAleksander Jan Bajkowski2020-12-2227-57/+5
| | | | | | Move some disabled config options found in lantiq target to generic. Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* kernel: bump 5.4 to 5.4.85John Audia2020-12-2223-47/+47
| | | | | | | | | | | | | All modifications made by update_kernel.sh run in a fresh clone without any existing toolchains. Build system: x86_64 Build-tested: ipq806x/R7800, ath79/generic, bcm27xx/bcm2711 Run-tested: ipq806x/R7800 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us>
* Revert "mvebu: fix initramfs/kernel image for CZNIC Turris Omnia"Petr Štetiar2020-12-221-1/+2
| | | | | | | | | | | This reverts commit e401a2a42e6d7c892e1cf7d765fa5ec9b2db3fb3 as at least two users had reported breakage on their devices. References: https://lists.infradead.org/pipermail/openwrt-devel/2020-December/032837.html References: https://github.com/openwrt/openwrt/commit/e401a2a42e6d7c892e1cf7d765fa5ec9b2db3fb3#commitcomment-45189788 Cc: Karel Kočí <karel.koci@nic.cz> Reported-by: Magnus Kroken <mkroken@gmail.com> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* mac80211: fix MAC address allocations when local bit set on base addrPaul Fertser2020-12-221-2/+2
| | | | | | | | | | | | | | | Testing with hwsim reveals two problems: 1. phyX/addresses has two addresses and mac80211_get_addr keeps returning the last one when asked for more; 2. The base address has the local bit set and the operation unsets it. Fix both. Fixes: 866790fd827cb0187353cdf484eb46a9b38fb6ba Reported-by: Zero_Chaos Signed-off-by: Paul Fertser <fercerpav@gmail.com>
* mvebu: gpio-mvebu IRQ index error kernel backportDaniel González Cabanelas2020-12-221-0/+33
| | | | | | | | | Backport the upstream kernel fix 525b0858ff to get rid of the kernel messages: mvebu-gpio xxxxxx.gpio: IRQ index 3 not found Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
* ipq806x: Fix gmac1 (WAN) on Netgear D7800Peter Cardoe2020-12-221-1/+5
| | | | | | | | | | | | | The WAN port on Netgear D7800 is unable to connect to an ISP when the link to the modem is running at less than 1GB. This patch fixes the issue by removing the phy-handle definition and replacing it with a fixed-link definition The WAN port is then able to connect to a modem via a link running at 100Mbs or 10Mbs Fixes: FS#3086 Signed-off-by: Peter Cardoe <peter@cardoe.co.uk>
* mvebu: LS421DE: use the RTC as a wakeup sourceDaniel González Cabanelas2020-12-221-0/+1
| | | | | | | | | | | | | | | | | | | The Buffalo Linkstation LS421DE comes with a Ricoh RS5C372A real time clock. This RTC has the INTRA pin connected to the power management circuit, allowing to wake up the device from the power off state when an alarm is scheduled. Add the "wakeup-source" property in the RTC dts node to allow the use of the alarm. Example of use, the device is powered off and it comes to life after 5 minutes: echo $(expr $(date '+%s') + 60 * 5) > /sys/class/rtc/rtc0/wakealarm poweroff This feature isn't available in the stock firmware. Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
* kernel: rtc: rs5c372: fix alarm supportDaniel González Cabanelas2020-12-222-0/+168
| | | | | | | | | | | | | | The rs5c372 RTC driver has alarm support, but it can't be enabled and only can handle 24 hours in the future spite the chip is 1 week capable. Provide these two patches: - Support alarms up to 1 week - Let the wakealarm to be used as a wakeup source This patch makes the alarm wakeup feature to be available in the Buffallo Linkstation LS421DE (mvebu target) and should also work with any other device if the hardware has the proper capability. Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
* base-files: flush kernel memory cache during sysupgradeHannu Nyman2020-12-222-0/+2
| | | | | | | | | | | Flush kernel memory caches during sysupgrade in order to mitigate the impact from memory consumption spikes in low-RAM devices. This may help to prevent sysupgrade causing a reboot before the actual flashing starts. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* mvebu: LS421DE: fix low performance issueDaniel González Cabanelas2020-12-221-0/+4
| | | | | | | | | | The Buffalo Linkstation LS421DE isn't able to enable the Level 2 cache (AKA Aurora cache). As of result of this, the throughput is about half of the expected, e.g when doing network data transfers. Fix it by adding the broken-idle property in the coherency fabric node. Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
* tegra: image: remove unnecessary assumptions from bootscriptTomasz Maciej Nowak2020-12-222-4/+3
| | | | | | | | | | | 'bootz' expects gziped kernel image anyway, so hard-code it to zImage, and remove root path from 'load' commands, by default the files are searched in root directory. This will make the bootscript static, so the command which modified it when image was created can now be removed. Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
* tegra: image: make bootscript standaloneTomasz Maciej Nowak2020-12-222-5/+4
| | | | | | | Don't hard-code the PTUUID, use U-Boot commands to determine it, as some partitioning tools could rewrite PTUUID when modifying partitions. Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
* uboot-tegra: bump to 2020.04Tomasz Maciej Nowak2020-12-221-2/+2
| | | | | | | | | This fixes error when host GCC >= 10. /usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here collect2: error: ld returned 1 exit status Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
* tegra: sysupgrade: remove check for number of argumentsTomasz Maciej Nowak2020-12-221-2/+0
| | | | | | | | This chunk got mistakenly removed from 30c95c4, since the get_image_dd evaluates only first agument, so that check is useless. Fixes: 30c95c4 ("tegra: sysupgrade: use get_image_dd wrapper") Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
* tcpdump: fix pcap-config issuesRosen Penev2020-12-222-115/+4
| | | | | | | | | | | | | | The patch removes a libpcap check to avoid a problem with libpcap. Fix libpcap instead. Modernize Makefile: Use a normal autoconf bool instead of checking for CONFIG_IPV6. Remove old configure and MAKE_FLAGS hacks. Removing them results in compilation continuing to work without a problem. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* libpcap: fix pcap-configRosen Penev2020-12-221-2/+10
| | | | | | | | | | | | | pcap-config as installed is using OS paths instead of OpenWrt ones. Take fix from libpng and adjust as needed. This problem seems to occur on Arch Linux and not on Debian/Fedora based distros. No idea why. Remove CMAKE_INSTALL as there is now an InstallDev section. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* target/linux: disable CONFIG_CIFS_STATSRosen Penev2020-12-221-1/+1
| | | | | | | | CIFS_STATS is a debugging option. It is not really useful for end users Signed-off-by: Rosen Penev <rosenp@gmail.com> [fixed missing config-4.19 file] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* fs/cifs: update module dependenciesRosen Penev2020-12-221-7/+10
| | | | | | | | | | | 0fdfef9aa7ee68ddd508aef7c98630cfc054f8d6 upstream removed CIFS_SMB311. Kernels 4.19 and above do not have it. Currently only kernels 4.19 and 5.4 are in the tree. The Kconfig file in the kernel has more selection that what is in here. Add the rest and reorder based on upstream ordering. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* pcre: fix paths in config fileRosen Penev2020-12-221-1/+2
| | | | | | | | | The paths are pointing to OS paths, not OpenWrt ones. Use SED line from libpng to fix and adjust accordingly. This may allow certain packages that use the config file to pick up pcre. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* nettle: update to 3.6Rosen Penev2020-12-221-6/+6
| | | | | | | | | | | Updated ABI_VERSION. Switched PKG_BUILD_PARALLEL on as there seems to be no issue anymore. I can't find any information about why it was turned off. Fixed license information. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* binutils: update to 2.35.1Rosen Penev2020-12-221-2/+2
| | | | | | Fixes compilation with musl 1.2.x. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* elfutils: update to 0.180Rosen Penev2020-12-223-6/+6
| | | | | | Refreshed patches. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* tools/pkgconf: update to 1.7.3Rosen Penev2020-12-222-38/+2
| | | | | | Remove upstreamed patch. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* ccache: update to 4.1Rosen Penev2020-12-222-18/+15
| | | | | | | | | | Upstream switched to building with CMake. Adjust accordingly. Reapplied patch as upstream changed the file format. Added HOST_BUILD_PARALLEL for faster compilation. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* hostapd: parse skip_inactivity_poll optionNadim Atiya2020-12-222-3/+5
| | | | | | | | | | | | hostapd.sh does not parse skip_inactivity_poll boolean from /etc/config/wireless despite being mentioned in the documentation [1]. This change fixes this, and by default sets its value to 0 [1]. [1] https://openwrt.org/docs/guide-user/network/wifi/basic Signed-off-by: Nadim Atiya <nadim.atiya@gmail.com> Signed-off-by: Daniel Golle <daniel@makrotopia.org> [fix and reformat commit message, make patch apply]