aboutsummaryrefslogtreecommitdiffstats
path: root/target
Commit message (Collapse)AuthorAgeFilesLines
...
* ipq40xx: nvmem cells for EZVIZ CS-W3-WD1200G EUPChristian Lamparter2021-12-043-6/+34
| | | | | | | | | | introduce nvmem pre-cal + mac-address cells for both Wifis and ethernet on the EZVIZ CS-W3-WD1200G EUP. This is one of the few devices in which the correct mac adress is already at the right place for Wifi, so no separate nvmem cell is needed. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: unbreak EZVIZ CS-W3-WD1200G EUP on 5.10Christian Lamparter2021-12-042-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with current images, the device is no longer booting. It gets stuck in the bootloader with "Config not available" and drops to the uboot shell. |flash_type: 0 |Hit any key to stop autoboot: 0 |SF: Detected MX25L12805D with page size 4 KiB, total 16 MiB |Config not availabale |(IPQ40xx) # This is because the default bootcmd "bootipq" will only read the first four MiB of the kernel image. With 5.10 the gzip'd kernel is slightly larger. So the part of the FIT image which had the configuration is cut off. Hence it can't find it. To update the bootcmd, you have to attach the serial console again and enter the following commands into the boot prompt: # setenv bootcmd "sf probe; sf read 84000000 180000 600000; bootm" # saveenv # run bootcmd This will allow booting kernels with up to six MiB. This also allows us to drop the DEVICE_DTS_CONFIG hack we had to use. Note: uboot doesn't support LZMA. It fails with: "Unimplemented compression type 3" Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* gemini: only provide squashfs image for storlink-derivatesChristian Lamparter2021-12-041-0/+1
| | | | | | | | | The itian sq201, raidsonic ib-4220-b and storlink sl93512r can't boot from ext4. This is because the rootfstype in the device-tree bootargs is set to "squashfs,jffs2". (And ext4 was not designed for raw NOR flash chips). Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* mvebu: next backport mvnet MQPrio offloadKabuli Chana2021-12-034-0/+395
| | | | | | linux-next MQPrio patches adding TC traffic shaping offload Signed-off-by: Kabuli Chana <newtownBuild@gmail.com>
* ath79: add Embedded Wireless Balin PlatformCatrinel Catrinescu2021-12-033-0/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | Add the Embedded Wireless "Balin" platform, it is in ar71xx too SoC: QCA AR9344 or AR9350 RAM: DDR2-RAM 64MBytes Flash: SPI-NOR 16MBytes WLAN: 2 x 2 MIMO 2.4 & 5 GHz IEEE802.11 a/b/g/n Ethernet: 3 x 10/100 Mb/s USB: 1 x USB2.0 Host/Device bootstrap-pin at power-up PCIe: MiniPCIe - 1 x lane PCIe 1.2 Button: 1 x Reset-Button UART: 1 x Normal, 1 x High-Speed JTAG: 1 x EJTAG LED: 1 x Green Power/Status LED GPIO: 10 x Input/Output multiplexed The module comes already with the current vanilla OpenWrt firmware. To update, use "sysupgrade -n --force <image>" image directly in vendor firmware. This resets the existing configurations back to default! Signed-off-by: Catrinel Catrinescu <cc@80211.de> [indent, led function+color properties, fix partition unit-address, re-enable pcie port, mention button+led in commit message] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: sysupgrade: drop disabled UBI to UBI logicBjørn Mork2021-12-031-22/+2
| | | | | | | | | | | | | | | | The commented out code is not required, as the comment indicates. The purpose of this code seems to be to avoid issues caused by partially overwriting an existing UBI partition, where some of the erase counters would be reset but not the unmodified ones. This problem has been solved in a more generic way by the UBI EOF marker. This ensures that any old PEBs after the marker are properly initialized. It is therefore unnecessary to erase the whole partition before flashing a new OpenWrt factory image. Signed-off-by: Bjørn Mork <bjorn@mork.no>
* ipq806x: sysupgrade: drop unnecessary UBI to UBI logicBjørn Mork2021-12-031-17/+1
| | | | | | | | | | | | | The purpose of this code seems to be to avoid issues caused by partially overwriting an existing UBI partition, where some of the erase counters would be reset but not the unmodified ones. This problem has been solved in a more generic way by the UBI EOF marker. This ensures that any old PEBs after the marker are properly initialized. It is therefore unnecessary to erase the whole partition before flashing a new OpenWrt factory image. Signed-off-by: Bjørn Mork <bjorn@mork.no>
* kirkwood: sysupgrade: drop unnecessary UBI to UBI logicBjørn Mork2021-12-031-18/+1
| | | | | | | | | | | | | The purpose of this code seems to be to avoid issues caused by partially overwriting an existing UBI partition, where some of the erase counters would be reset but not the unmodified ones. This problem has been solved in a more generic way by the UBI EOF marker. This ensures that any old PEBs after the marker are properly initialized. It is therefore unnecessary to erase the whole partition before flashing a new OpenWrt factory image. Signed-off-by: Bjørn Mork <bjorn@mork.no>
* mvebu: sysupgrade: drop unnecessary UBI to UBI logicBjørn Mork2021-12-031-18/+1
| | | | | | | | | | | | | | | | | | The recent changes to the maximum kernel size for Mamba and Venom highlighted the fact that the old Mamba kernel size has been hardcoded in linksys_get_root_magic() even for devices with a different kernel/rootfs split. The purpose of this code seems to be to avoid issues caused by partially overwriting an existing UBI partition, where some of the erase counters would be reset but not the unmodified ones. This problem has been solved in a more generic way by the UBI EOF marker. This ensures that any old PEBs after the marker are properly initialized. It is therefore unnecessary to erase the whole partition before flashing a new OpenWrt factory image. Signed-off-by: Bjørn Mork <bjorn@mork.no>
* mediatek: mt7623: switch to BPi-R2 to generic eMMC sysugpradeDaniel Golle2021-12-021-16/+3
| | | | | | | Make use of new functions in emmc.sh to implement sysupgrade on the BananaPi BPi-R2. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: mt7622: switch to generic eMMC sysupgradeDaniel Golle2021-12-022-18/+5
| | | | | | | Use functions in newly introduced emmc.sh for sysupgrade of the BananaPi BPi-R64. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ipq40xx: add support for GL.iNet GL-B2200TruongSinh Tran-Nguyen2021-12-028-2/+422
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds supports for the GL-B2200 router. Specifications: - SOC: Qualcomm IPQ4019 ARM Quad-Core - RAM: 512 MiB - Flash: 16 MiB NOR - SPI0 - EMMC: 8GB EMMC - ETH: Qualcomm QCA8075 - WLAN1: Qualcomm Atheros QCA4019 2.4GHz 802.11b/g/n 2x2 - WLAN2: Qualcomm Atheros QCA4019 5GHz 802.11n/ac W2 2x2 - WLAN3: Qualcomm Atheros QCA9886 5GHz 802.11n/ac W2 2x2 - INPUT: Reset, WPS - LED: Power, Internet - UART1: On board pin header near to LED (3.3V, TX, RX, GND), 3.3V without pin - 115200 8N1 - UART2: On board with BLE module - SPI1: On board socket for Zigbee module Update firmware instructions: Please update the firmware via U-Boot web UI (by default at 192.168.1.1, following instructions found at https://docs.gl-inet.com/en/3/troubleshooting/debrick/). Normal sysupgrade, either via CLI or LuCI, is not possible from stock firmware. Please do use the *gl-b2200-squashfs-emmc.img file, gunzipping the produced *gl-b2200-squashfs-emmc.img.gz one first. What's working: - WiFi 2G, 5G - WPA2/WPA3 Not tested: - Bluetooth LE/Zigbee Credits goes to the original authors of this patch. V1->V2: - updates *arm-boot-add-dts-files.patch correctly (sorry, my mistake) - add uboot-envtools support V2->V3: - Li Zhang updated official patch to fix wrong MAC address on wlan0 (PCI) interface V3->V4: - wire up sysupgrade Signed-off-by: Li Zhang <li.zhang@gl-inet.com> [fix tab and trailing space, document what's working and what's not] Signed-off-by: TruongSinh Tran-Nguyen <i@truongsinh.pro> [rebase on top of master, address remaining comments] Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com> [remove redundant check in platform.sh] Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* base-files: add eMMC sysupgrade supportEnrico Mioso2021-12-021-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Adds generic support for sysupgrading on eMMC-based devices. Provide function emmc_do_upgrade and emmc_copy_config to be used in /lib/upgrade/platform.sh instead of redundantly implementing the same logic over and over again. Similar to generic sysupgrade on NAND, use environment variables CI_KERNPART, CI_ROOTPART and newly introduce CI_DATAPART to indicate GPT partition names to be used. On devices with more than one MMC block device, CI_ROOTDEV can be used to specify the MMC device for partition name lookups. Also allow to select block devices directly using EMMC_KERN_DEV, EMMC_ROOT_DEV and EMMC_DATA_DEV, as using GPT partition names is not always an option (e.g. when forced to use MBR). To easily handle writing kernel and rootfs make use of sysupgrade.tar format convention which is also already used for generic NAND support. Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com> Signed-off-by: Daniel Golle <daniel@makrotopia.org> CC: Li Zhang <li.zhang@gl-inet.com> CC: TruongSinh Tran-Nguyen <i@truongsinh.pro>
* ipq40xx: add MikroTik LHGG-60ad outdoor 802.11ad (60GHz) dishAlexander Couzens2021-12-027-3/+286
| | | | | | | | | | | | | | | | | | | | | | | | | | | | LHGG-60ad is IPQ4019 + wil6210 based. Specification: - Qualcomm IPQ4019 (717 MHz) - 256 MB of RAM (DDR3L) - 16 MB (SPI NOR) of flash - 1x Gbit ethernet, 802.3af/at POE IN connected through AR8035. - WLAN: wil6210 802.11ad PCI card - No USB or SD card ports - UART disabled - 8x LEDs Biggest news is the wil6210 PCI card. Integration for its configuration and detection has already been taken care of when adding support for TP-Link Talon AD7200. However, signal quality is much lower than with stock firmware, so probably additional board-specific data has to be provided to the driver and is still missing at the moment. Signed-off-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Alexander Couzens <lynxis@fe80.eu> Signed-off-by: Daniel Golle <daniel@makrotopia.org> [Fix Ethernet Interface] Signed-off-by: Nick Hainke <vincent@systemli.org>
* sunxi: update nanopi neo air that use brcmfmac43430a0Michel Promonet2021-12-021-1/+1
| | | | | | | | Update wifi firmware used for nanopi neo air, with cypress-firmware-43430-sdio there is no wifi detected, as brcmfmac-firmware-43430a0-sdio allow to acces to wifi. Signed-off-by: Michel Promonet <michel.promonet@free.fr>
* bcm4908: sysupgrade: refactor handling different firmware formatsRafał Miłecki2021-12-021-32/+76
| | | | | | | | | | This results in setting format specific data (format info, extract commands) in a single function. It should help maintaining sysupgrade code. This change has been tested on Asus GT-AC5300 and Netgear R8000P. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm53xx: sysupgrade: refactor handling different firmware formatsRafał Miłecki2021-12-021-165/+123
| | | | | | | | | | | | | | | | | | List of supported formats grew over time and implementation got a bit messy. There are multiple functions with format-specific parameters and commands. Refactor it by making platform_identify() setup all required info right after detecting firmware format. This simplifies formats handling in platform_other_check_image() and platform_do_upgrade() a lot. This has been tested on: 1. SmartRG SR400ac (TRX): non-NAND sysupgrade 2. Netgear R8000 (CHK): NAND aware and standard sysupgrade-s 3. D-Link DIR-885L (Seama): NAND aware and standard sysupgrade-s 4. Luxul XWR-3150 (LXL): NAND aware and standard sysupgrade-s Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm53xx: sysupgrade: simplify extracting image from Seama sealRafał Miłecki2021-12-021-15/+3
| | | | | | Use "oseama extract" which supports now writing to stdout. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* lantiq: xway_legacy: disable unused switchesAleksander Jan Bajkowski2021-11-301-8/+0
| | | | | | | | | | | | | | | | | | | | | The xway_legacy subtarget only supports 5 devices. Most compiled switch drivers are unused by any of these devices. The same drivers are compiled into the xway subtarget. They were probably copied from there when creating this subtarget. Switches used by devices: Arcadyan ARV4518PWR01 Realtek RTL8306SD Arcadyan ARV4518PWR01A Realtek RTL8306SD Arcadyan ARV4520PW Infineon ADM6996I Arcadyan ARV4525PW only PHY(IC+ IP101A) Arcadyan ARV452CQW Realtek RTL8306 The CONFIG_ETHERNET_PACKET_MANGLE symbol has also been disabled, as it is only needed by the driver for AR8216. Reduces kernel size by 19.9 kB. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
* mpc85xx: Fix HiveAP-330 nvmem mac loaderMartin Kennedy2021-11-301-48/+54
| | | | | | | | | | | | | | | | We actually need to enclose the whole section of partitions in a `partitions { ... }` to assign it a `compatible = "fixed-partitions"; otherwise the partition referred to by `hwinfo` won't be registered when bringing up MTD partitions, for example as per: - <https://forum.openwrt.org/t/tp-link-c2600-missing-default-mac-mtd-partition-in-snapshot/103945/6> - commit e2b03c16eb44 ("ipq806x: add missing enclosing partitions block for TP-Link C2600")' Fixes: 8ec21d6bb210 ("mpc85xx: convert mtd-mac-address to nvmem implementation") Signed-off-by: Martin Kennedy <hurricos@gmail.com> [minor beautification] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* bcm4908: Deactivate pci featureHauke Mehrtens2021-11-291-1/+1
| | | | | | | | | | | This target does not activate CONFIG_PCI kernel configuration option, do not activate the PCI feature. This will deactivate some PCI drivers which are not building without PCI support in the kernel. If PCI_SUPPORT or PCIE_SUPPORT are activated in the kernel configuration the feature flag will be automatically set by the build system again. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Deactivate B53 symbols in generic configurationHauke Mehrtens2021-11-298-21/+10
| | | | | | | | | Deactivate all the symbols of the B53 DSA driver in the generic kernel configuration. Multiple targets are now using this drivers and they only need some of the options. This fixes the bcm4908 build which didn't deactivate all of the options. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* sunxi: remove kmod-rtc-sunxi for unsupported devicesChukun Pan2021-11-291-10/+10
| | | | | | | | | | | | | | | | From driver source: { .compatible = "allwinner,sun4i-a10-rtc", .data = &data_year_param[0] }, { .compatible = "allwinner,sun7i-a20-rtc", .data = &data_year_param[1] }, The rtc-sunxi module only supports allwinner a10 and a20 SoCs, other SoCs in the cortexa7 and cortexa53 subtarget using the CONFIG_RTC_DRV_SUN6I driver which is compiled into the kernel binary, so remove this package for these unsupported devices. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
* realtek: netgear-gigabit: Add gpio-restart nodeSander Vanheule2021-11-281-0/+6
| | | | | | | | | | | | | | | | The Netgear GS110TPP v1 switch cannot reliably perform cold reboots using the system's internal reset controller. On this device, and the other supported Netgear switches, internal GPIO line 13 is connected to the system's hard reset logic. Expose this GPIO on all systems to ensure restarts work properly. Cc: Raylynn Knight <rayknight@me.com> Cc: Michael Mohr <akihana@gmail.com> Cc: Stijn Segers <foss@volatilesystems.org> Cc: Stijn Tintel <stijn@linux-ipv6.be> Signed-off-by: Sander Vanheule <sander@svanheule.net> Tested-by: Bjørn Mork <bjorn@mork.no>
* realtek: Enable gpio-restart driverSander Vanheule2021-11-281-0/+1
| | | | | | | | Add the gpio-restart driver to the realtek build. This way devices, which cannot reliably perform resets using the SoC's internal reset logic, can use a GPIO line to drive the SoC's hard reset input. Signed-off-by: Sander Vanheule <sander@svanheule.net>
* realtek: add missing GPIO irq propertiesSander Vanheule2021-11-281-0/+4
| | | | | | | | | The internal GPIO controller on RTL838x is also an IRQ controller, which requires the 'interrupt-controller' and '#interrupts-cells' properties to be present in the device tree. Reported-by: INAGAKI Hiroshi <musashino.open@gmail.com> Signed-off-by: Sander Vanheule <sander@svanheule.net>
* realtek: use full range of assigned MAC addressesBjørn Mork2021-11-281-3/+6
| | | | | | | | | | Some devices are assigned globally unique MAC addresses for all ports. These are stored by U-Boot in the second U-Boot enviroment ("sysinfo") as a range of start and end address. Use the full range if provided. Signed-off-by: Bjørn Mork <bjorn@mork.no>
* realtek: revert to "standard" management configurationBjørn Mork2021-11-281-9/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The default management interface should be easy to find for users doing "blind" installations without console access. There are already multiple examples in the forum of advanced early adopters having problems locating the management interface after installing OpenWrt. Requiring tagged VLAN configration to access the initial management interface creates unnecessary hassle at best. Errors on the other end are close to impossible to debug without console access, even for advanced users. Less advanced users might have problems with the concept of VLAN tagging. Limiting management access to a single arbitrary port among up to 52 possible LAN ports makes this even more difficult, for no reason at all. Users might have reasons to use a different port for management. And they might even have difficulties using the OpenWrt selected one. The port might be the wrong type for their management link (e.g copper instead of fibre). Or they might depend on PoE power from a device which they can't reconfigure. User expectations will be based on - OpenWrt defaults for other devices - stock firmware default for the device in question - common default behaviour of similar devices All 3 cases point to a static IP address accessible on the native VLAN of any LAN port. A switch does not have any WAN port. All ports are LAN ports. This changes the default network configuration in line with these expectations. Cc: John Crispin <john@phrozen.org> Signed-off-by: Bjørn Mork <bjorn@mork.no> Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
* uboot-omap: Remove omap3_overo configurationHauke Mehrtens2021-11-281-1/+1
| | | | | | | | | | | The configs/omap3_overo_defconfig file was removed from upstream U-Boot in commit ed3294d6d1f9 ("arm: Remove overo board"). Remove it in OpenWrt too. If someone needs this please add it also to upstream U-Boot. This fixes the compile of the omap target. Fixes: ffb807ec90d3 ("omap: update u-boot to 2021.07") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Add extra kernel configuration options for omapHauke Mehrtens2021-11-281-0/+2
| | | | | | This fixes the build on omap. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ipq40xx: Add support for Teltonika RUTX10Felix Matouschek2021-11-288-3/+322
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the Teltonika RUTX10. This device is an industrial DIN-rail router with 4 ethernet ports, 2.4G/5G dualband WiFi, Bluetooth, a USB 2.0 port and two GPIOs. The RUTX series devices are very similiar so common parts of the DTS are kept in a DTSI file. They are based on the QCA AP-DK01.1-C1 dev board. See https://teltonika-networks.com/product/rutx10 for more info. Hardware: SoC: Qualcomm IPQ4018 RAM: 256MB DDR3 SPI Flash 1: XTX XT25F128B (16MB, NOR) SPI Flash 2: XTX XT26G02AWS (256MB, NAND) Ethernet: Built-in IPQ4018 (SoC, QCA8075), 4x 10/100/1000 ports WiFi 1: Qualcomm QCA4019 IEEE 802.11b/g/n Wifi 2: Qualcomm QCA4019 IEEE 802.11a/n/ac USB Hub: Genesys Logic GL852GT Bluetooth: Qualcomm CSR8510 (A10U) LED/GPIO controller: STM32F030 with custom firmware Buttons: Reset button Leds: Power (green, cannot be controlled) WiFi 2.4G activity (green) WiFi 5G activity (green) MACs Details verified with the stock firmware: eth0: Partition 0:CONFIG Offset: 0x0 eth1: = eth0 + 1 radio0 (2.4 GHz): = eth0 + 2 radio1 (5.0 GHz): = eth0 + 3 Label MAC address is from eth0. The LED/GPIO controller needs a separate kernel driver to function. The driver was extracted from the Teltonika GPL sources and can be found at following feed: https://github.com/0xFelix/teltonika-rutx-openwrt USB detection of the bluetooth interface is sometimes a bit flaky. When not detected power cycle the device. When the bluetooth interface was detected properly it can be used with bluez / bluetoothctl. Flash instructions via stock web interface (sysupgrade based): 1. Set PC to fixed ip address 192.168.1.100 2. Push reset button and power on the device 3. Open u-boot HTTP recovery at http://192.168.1.1 4. Upload latest stock firmware and wait until the device is rebooted 5. Open stock web interface at http://192.168.1.1 6. Set some password so the web interface is happy 7. Go to firmware upgrade settings 8. Choose openwrt-ipq40xx-generic-teltonika_rutx10-squashfs-nand-factory.ubi 9. Set 'Keep settings' to off 10. Click update, when warned that it is not a signed image proceed Return to stock firmware: 1. Set PC to fixed ip address 192.168.1.100 2. Push reset button and power on the device 3. Open u-boot HTTP recovery at http://192.168.1.1 4. Upload latest stock firmware and wait until the device is rebooted Note: The DTS expects OpenWrt to be running from the second rootfs partition. u-boot on these devices hot-patches the DTS so running from the first rootfs partition should also be possible. If you want to be save follow the instructions above. u-boot HTTP recovery restores the device so that when flashing OpenWrt from stock firmware it is flashed to the second rootfs partition and the DTS matches. Signed-off-by: Felix Matouschek <felix@matouschek.org>
* ipq806x: add support for Cisco Meraki MR42/MR52Matthew Hagan2021-11-289-1/+755
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MR42 and MR52 are two similar IPQ806x based devices from the Cisco Meraki "Cryptid" series. MR42 main features: - IPQ8068 1.4GHz - 512MB RAM - 128MB NAND - 2x QCA9992 (2.4 & 5GHz) - 1x QCA9889 (2.4 & 5GHz) - 1x AR8033 PHY - PoE/AC power MR52 main features: - IPQ8068 1.4GHz - 512MB RAM - 128MB NAND - 2x QCA9994 (2.4 & 5GHz) - 1x QCA9889 (2.4 & 5GHz) - 2x AR8033 PHYs - PoE/AC power (MR42 Only) Installation via diagnostic mode: If you can successfully complete step 1 then you can continue to install via this method without having to open the device. Otherwise please use the standard UART method. Please note that when booting via TFTP, some Ethernet devices, in particular those on laptops, will not connect in time, resulting in TFTP boot not succeeding. In this instance it is advised to connect via a switch. 1. Hold down reset at power on and keep holding, after around 10 seconds if the orange LED changes behaviour to begin flashing, proceed to release reset, then press reset two times. Ensure that the LED has turned blue. Note that flashing will occur on some devices, but it will not be possible to change the LED colour using the reset button. In this case it will still be possible to continue with this install method. 2. Set your IP to 192.168.1.250. Set up a TFTP server serving mr42_u-boot.mbn and openwrt-ipq806x-generic-meraki_mr42-initramfs-fit-uImage.itb, obtained from [1]. 3. Use telnet and connect to 192.168.1.1. Run the following commands to install u-boot. Note that all these commands are critical, an error will likely render the device unusable. Option 3.1: If you are sure you have set up the TFTP server correctly you can run this script on the device. This will download and flash the u-boot image immediately: `/etc/update_uboot.sh 192.168.1.250 mr42_u-boot.mbn` Once completed successfully, power off the device. Option 3.2: If you are unsure the TFTP server is correctly set up you can obtain the image and flash manually: 3.2.1. `cd /tmp` 3.2.2. `tftp-hpa 192.168.1.250 -m binary -c get mr42_u-boot.mbn` 3.2.3. Confirm file has downloaded correctly by comparing the md5sum: `md5sum mr42_u-boot.mbn` 3.2.4. The following are the required commands to write the image. `echo 1 > /sys/devices/platform/msm_nand/boot_layout mtd erase /dev/mtd1 nandwrite -pam /dev/mtd1 mr42_u-boot.mbn echo 0 > /sys/devices/platform/msm_nand/boot_layout` Important: You must observe the output of the `nandwrite` command. Look for the following to verify writing is occurring: `Writing data to block 0 at offset 0x0 Writing data to block 1 at offset 0x20000 Writing data to block 2 at offset 0x40000` If you do not see this then do not power off the device. Check your previous commands and that mr42_u-boot.mbn was downloaded correctly. Once you are sure the image has been written you can proceed to power off the device. 4. Hold the reset button and power on the device. This will immediately begin downloading the appropriate initramfs image and boot into it. Note: If the device does not download the initramfs, this is likely due to the interface not being brought up in time. Changing Ethernet source to a router or switch will likely resolve this. You can also try manually setting the link speed to 10Mb/s Half-Duplex. 5. Once a solid white LED is displayed on the device, continue to the UART installation method, step 6. Standard installation via UART - MR42 & MR52 1. Disassemble the device and connect a UART header. The header pinout is as follows: 1 - 3.3v 2 - TXD 3 - RXD 4 - GND Important: You should only connect TXD, RXD and GND. Connecting 3.3v may damage the device. 2. Set your IP to 192.168.1.250. Set up a TFTP server serving openwrt-ipq806x-generic-meraki_(mr42|mr52)-initramfs-fit-uImage.itb. Separately obtain the respective sysupgrade image. 3. Run the following commands, preferably from a Linux host. The mentioned files, including ubootwrite.py and u-boot images, can be obtained from [1]. `python ubootwrite.py --write=(mr42|mr52)_u-boot.bin` The default for "--serial" option is /dev/ttyUSB0. 4. Power on the device. The ubootwrite script will upload the image to the device and launch it. The second stage u-boot will in turn load the initramfs image by TFTP, provided the TFTP server is running correctly. This process will take about 13 minutes. Once a solid white LED is displayed, the image has successfully finished loading. Note: If the image does not load via TFTP, try again with the Ethernet link to 10Mb/s Half-Duplex. 5. (MR42 only) Do not connect over the network. Instead connect over the UART using minicom or similar tool. To replace u-boot with the network enabled version, please run the following commands. Note that in the provided initramfs images, the u-boot.mbn file is located in /root: If you have not used the provided initramfs, you must ensure you are using an image with "boot_layout" ECC configuration enabled in the Kernel. This will be version 5.10 or higher. If you do not do this correctly the device will be bricked. `insmod mtd-rw i_want_a_brick=1 mtd erase /dev/mtd8 nandwrite -pam /dev/mtd8 /root/mr42_u-boot.mbn` After running nandwrite, ensure you observe the following output: `Writing data to block 0 at offset 0x0 Writing data to block 1 at offset 0x20000 Writing data to block 2 at offset 0x40000` 6. (Optional) If you have no further use for the Meraki OS, you can remove all other UBI volumes on ubi0 (mtd11), including diagnostic1, part.old, storage and part.safe. You must not remove the ubi1 ART partition (mtd12). `for i in diagnostic1 part.old storage part.safe ; do ubirmvol /dev/ubi0 -N $i done` 7. Proceed to flash the sysupgrade image via luci, or else download or scp the image to /tmp and use the sysupgrade command. [1] The mentioned images and ubootwrite.py script can be found in this repo: https://github.com/clayface/openwrt-cryptid [2] The modified u-boot sources for the MR42 and MR52 are available: https://github.com/clayface/U-boot-MR52-20200629 Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
* ipq806x: add gsbi2_i2c labelMatthew Hagan2021-11-281-0/+9
| | | | | | gsbi2_i2c is used by the Meraki MR42 so we need to expose a label here. Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
* ipq806x: backport GMAC_AHB_RESET deassert patchesMatthew Hagan2021-11-282-0/+139
| | | | | | | | | Add backports of the following patches: "net: stmmac: explicitly deassert GMAC_AHB_RESET" and "ARM: dts: qcom: add ahb reset to ipq806x-gmac" Required for Meraki MR42/MR52. Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
* ipq806x: add GSBI nodes to ipq8064-dtsi-addidionsMatthew Hagan2021-11-283-51/+96
| | | | | | | | | Rather than having separate patches for each GSBI node added, this patch consolidates the existing GSBI1 patch into 083-ipq8064-dtsi-additions.patch. In addition, GSBI6 and GSBI7 I2C nodes, required for the MR42 and MR52 respectively, are added. Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
* ipq40xx: add support for MikroTik hAP ac3Robert Marko2021-11-289-5/+392
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the MikroTik RouterBOARD RBD53iG-5HacD2HnD (hAP ac³), a indoor dual band, dual-radio 802.11ac wireless AP with external omnidirectional antennae, USB port, five 10/100/1000 Mbps Ethernet ports and PoE passthrough. See https://mikrotik.com/product/hap_ac3 for more info. Specifications: - SoC: Qualcomm Atheros IPQ4019 - RAM: 256 MB - Storage: 16 MB NOR + 128 MB NAND - Wireless: · Built-in IPQ4019 (SoC) 802.11b/g/n 2x2:2, 3 dBi antennae · Built-in IPQ4019 (SoC) 802.11a/n/ac 2x2:2, 5.5 dBi antennae - Ethernet: Built-in IPQ4019 (SoC, QCA8075) , 5x 1000/100/10 port, passive PoE in, PoE passtrough on port 5 - 1x USB Type A port Installation: 1. Boot the initramfs image via TFTP 2. Run "cat /proc/mtd" and look for "ubi" partition mtd device number, ex. "mtd1" 3. Use ubiformat to remove MikroTik specific UBI volumes * Detach the UBI partition by running: "ubidetach -d 0" * Format the partition by running: "ubiformat /dev/mtdN -y" Replace mtdN with the correct mtd index from step 2. 3. Flash the sysupgrade image using "sysupgrade -n" Signed-off-by: Robert Marko <robimarko@gmail.com> Tested-by: Mark Birss <markbirss@gmail.com> Tested-by: Michael Büchler <michael.buechler@posteo.net> Tested-by: Alex Tomkins <tomkins@darkzone.net>
* kernel: bump 5.4 to 5.4.162John Audia2021-11-2816-42/+43
| | | | | | | | | | | | All patches automatically rebased. Build system: x86_64 Build-tested: ramips/mt7621* *I am hit with the binutils 2.37 bug so I had to revert 7f1edbd41295dff9f2127b169fbc086c0fb2c14e in order to downgrade to 2.35.1 Signed-off-by: John Audia <graysky@archlinux.us>
* kernel: bump 5.4 to 5.4.161John Audia2021-11-2830-118/+64
| | | | | | | | | | | | | | | Removed upstreamed: ath79/patches-5.4/921-serial-core-add-support-for-boot-console-with-arbitr.patch[1] Manually rebased: layerscape/patches-5.4/804-crypto-0016-MLKU-114-1-crypto-caam-reduce-page-0-regs-access-to-.patch octeontx/patches-5.4/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch All other patches automatically rebased. 1. Private email exchange with patch author, Hauke Mehrtens Signed-off-by: John Audia <graysky@archlinux.us>
* gemini: try fis-index-block with 128 KiB sectorsChristian Lamparter2021-11-281-0/+52
| | | | | | | | | | | | | Steven Maddox reported in the OpenWrt bugzilla, that his RaidSonic IB-NAS4220-B was no longer booting with the new OpenWrt 21.02 (uses linux 5.10's device-tree). However, it was working with the previous OpenWrt 19.07 series (uses 4.14). (This is still under investigation.) Bugzilla: https://bugs.openwrt.org/index.php?do=details&task_id=4137 Reported-by: Steven Maddox <s.maddox@lantizia.me.uk> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: utilize nvmem on Netgear EX61X0 v2 SeriesChristian Lamparter2021-11-282-10/+27
| | | | | | | | the Netgear EX6100v2 and EX6150v2 can utilize the nvmem for the pre-calibration and mac-address for both WIFI devices. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ath79: convert TP-Link Archer C7v1/2 Wifis to nvmem-cellsChristian Lamparter2021-11-283-10/+38
| | | | | | | | | | | | | | | For v2, both ath9k (2.4GHz Wifi) and ath10k (5 GHz) driver now pull the (pre-)calibration data from the nvmem subsystem. v1 is slightly different as only the ath9k Wifi is supported. This allows us to move the userspace caldata extraction and mac-address patching for the 5GHZ ath10k supported wifi into the device-tree definition of the device. ath9k's nodes are also changed over to use nvmem-cells over OpenWrt's custom mtd-cal-data property. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* mpc85xx: backport "fix oops when CONFIG_FSL_PMC=n"Christian Lamparter2021-11-281-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Martin Kennedy reported: |Presently, I get this kernel panic on mpc85xx (Aerohive HiveAP 370) |on OpenWrt 'master' which occurs right as the second processor is |initialized: | |[ 0.478804] rcu: Hierarchical SRCU implementation. |[ 0.535569] dyndbg: Ignore empty _ddebug table in a CONFIG_DYNAMIC_DEBUG_CORE build |[ 0.627233] smp: Bringing up secondary CPUs ... |[ 0.681659] kernel tried to execute user page (0) - exploit attempt? (uid: 0) |[ 0.766618] BUG: Unable to handle kernel instruction fetch (NULL pointer?) |[ 0.848899] Faulting instruction address: 0x00000000 |[ 0.908273] Oops: Kernel access of bad area, sig: 11 [#1] |[ 0.972851] BE PAGE_SIZE=4K SMP NR_CPUS=2 P1020 RDB |[ 1.031179] Modules linked in: |[ 1.067640] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.10.80 #0 |[ 1.139507] NIP: 00000000 LR: c0021d2c CTR: 00000000 |[ 1.199921] REGS: c1051cf0 TRAP: 0400 Not tainted (5.10.80) |[...] |[ 1.758220] NIP [00000000] 0x0 |[ 1.794688] LR [c0021d2c] smp_85xx_kick_cpu+0xe8/0x568 |[ 1.856126] Call Trace: |[ 1.885295] [c1051da8] [c0021cb8] smp_85xx_kick_cpu+0x74/0x568 (unreliable) |[ 1.968633] [c1051de8] [c0011460] __cpu_up+0xc0/0x228 |[ 2.029038] [c1051e18] [c0031bbc] bringup_cpu+0x30/0x224 |[ 2.092572] [c1051e48] [c0031f3c] cpu_up.constprop.0+0x180/0x33c |[..] |[ 2.727952] ---[ end trace 9b796a4bafb6bc14 ]--- |[ 3.800879] Kernel panic - not syncing: Fatal exception |[ 3.862353] Rebooting in 1 seconds.. |[ 5.905097] System Halted, OK to turn off power | |I bisected this down to commit 3ae5da5adce9 ("kernel: bump 5.10 to 5.10.80"); |that is, I don't get the panic right before this commit, but I do after. He reported the issue upstream and Xiaoming Ni from huawei came up with the patch (that is on it's way to upstream). While the AP370 is not in Openwrt, this will likely affect other SMP P1020 devices OpenWrt ships with: like the AP330, Enterasys WS-AP3710i, etc. Reported-by: Martin Kennedy <hurricos@gmail.com> Tested-by: Martin Kennedy <hurricos@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: purge clk_ignore_unused bootargChristian Lamparter2021-11-272-2/+2
| | | | | | | | | these flags have been creeping in from the QSDK. All needed clocks should be accounted for, and if a device is broken due to this. It should be looked into. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: update 105-ipq40xx-fix-sleep-clock.patchChristian Lamparter2021-11-271-13/+10
| | | | | | Bjorn Anderson has suggestions which would help to upstream the patch. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* lantiq: set maximum kernel size for P2812HNUF3Mathias Kresin2021-11-271-0/+2
| | | | | | | | | | | The board has a fixed size kernel partition but do not limit the kernel size during image building. Disable image building for both boards as well, since the kernel of the last release as well as master are to big to fit into the 2 MByte kernel partition. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: drop kernel 5.4 supportAleksander Jan Bajkowski2021-11-2734-11702/+0
| | | | | | | | The current state of the kernel 5.4 support is in the openwrt-21.02 branch. No need to keep a not default used kernel in this branch. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl> Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [VRX268/ bthub5]
* lantiq: switch to kernel 5.10Aleksander Jan Bajkowski2021-11-271-1/+1
| | | | | | | Use kernel 5.10 by default. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl> Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [VRX268/ bthub5]
* lantiq: ar7: use okli loader for FRITZ!BoxMathias Kresin2021-11-274-3/+46
| | | | | | | | | | With Kernel 5.10 the ar7 FRITZ!Box are not booting the initramfs nor the sysupgrade image any more. Presumably due to the grown kernel. Use the okli preloader to workaround the bootloader issue. No solution so far for the initramfs. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: bring back okli loaderMathias Kresin2021-11-2719-0/+2004
| | | | | | | | | | | | | Removed due to being unused with 1f7a03a70603, but now required for the ar7 FRITZ!Box. Could be used for the ARV7519RW22 as well, for which the image generation was disabled due to a stock u-boot issue with kernel bigger than 2 MByte. The code is combination of the ath79 and ramips okli loader. Signed-off-by: Mathias Kresin <dev@kresin.me>
* kernel: bump 5.10 to 5.10.82John Audia2021-11-2719-94/+38
| | | | | | | | | | | | | | | | Removed upstreamed: bcm53xx/patches-5.10/033-v5.16-0014-ARM-dts-NSP-Fix-mpcore-mmc-node-names.patch Manually rebased: ipq806x/patches-5.10/086-ipq8064-fix-duplicate-node.patch All other patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B, ipq806x/R7800 Run-tested: bcm2711/RPi4B, ipq806x/R7800 Signed-off-by: John Audia <graysky@archlinux.us>