aboutsummaryrefslogtreecommitdiffstats
path: root/target
Commit message (Collapse)AuthorAgeFilesLines
...
* ath79: remove USB port definition for TP-Link TL-WR810N v1Adrian Schmutzler2021-01-151-7/+1
| | | | | | | | The USB port definition is only needed when it is linked to a USB LED. Since there is none for this device, we might as well remove the port definition. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: Add support for Ubiquiti Bullet ACRussell Senior2021-01-155-10/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CPU: Atheros AR9342 rev 3 SoC RAM: 64 MB DDR2 Flash: 16 MB NOR SPI WLAN 2.4GHz: Atheros AR9342 v3 (ath9k) WLAN 5.0GHz: QCA988X Ports: 1x GbE Flashing procedure is identical to other ubnt devices. https://openwrt.org/toh/ubiquiti/common Flashing through factory firmware 1. Ensure firmware version v8.7.0 is installed. Up/downgrade to this exact version. 2. Patch fwupdate.real binary using `hexdump -Cv /bin/ubntbox | sed 's/14 40 fe 27/00 00 00 00/g' | \ hexdump -R > /tmp/fwupdate.real` 3. Make the patched fwupdate.real binary executable using `chmod +x /tmp/fwupdate.real` 4. Copy the squashfs factory image to /tmp on the device 5. Flash OpenWrt using `/tmp/fwupdate.real -m <squashfs-factory image>` 6. Wait for the device to reboot (copied from Ubiquiti NanoBeam AC and modified) Flashing from serial console 1. Connect serial console (115200 baud) 2. Connect ethernet to a network with a TFTP server, through a passive PoE injector. 3. Press a key to obtain a u-boot prompt 4. Set your TFTP server's ip address, with: setenv serverip <tftp-server-address> 5. Set the Bullet AC's ip address, with: setenv ipaddr <bullet-ac-address> 6. Set the boot file, with: setenv bootfile <name-of-initramfs-binary-on-tftp-server> 7. Fetch the binary with tftp: tftpboot 8. Boot the initramfs binary: bootm 9. From the initramfs, fetch the sysupgrade binary, and flash it with sysupgrade. The Bullet AC is identified as a 2WA board by Ubiquiti. As such, the UBNT_TYPE must match from the "Flashing through factory firmware" install instructions to work. Phy0 is QCA988X which can tune either band (2.4 or 5GHz). Phy1 is AR9342, on which 5GHz is disabled. It isn't currently known whether phy1 is routed to the N connector at all. Signed-off-by: Russell Senior <russell@personaltelco.net>
* kernel: drop empty kmod-ledtrig-* packagesSungbo Eo2021-01-1513-35/+29
| | | | | | | | | | | | | | The following four led triggers are enabled in generic config. * kmod-ledtrig-default-on * kmod-ledtrig-heartbeat * kmod-ledtrig-netdev * kmod-ledtrig-timer Drop the packages and remove them from DEVICE_PACKAGES. There's no other package depending on them in this repo. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* treewide: do not disable LED triggers in target configSungbo Eo2021-01-154-4/+0
| | | | | | | Those targets have already enabled some other LED triggers, so enabling a few more won't be a big problem. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* kernel: enable CONFIG_LEDS_TRIGGER_HEARTBEATSungbo Eo2021-01-159-9/+1
| | | | | | | | | | The heartbeat trigger is used by luci-mod-system, which is installed as a part of the standard luci package set. It seems the LED trigger will be required quite often, so let's enable it by default. This increases uncompressed kernel size by about 100 bytes on ath79/generic. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ipq806x: fix Ubiquiti UniFi AC HD partition mapJan Alexander2021-01-151-1/+1
| | | | | | | | | | This fixes a typo in the previously committed partition map that led to the extension of the read-only mtd partition "SSD" into the following partitions. Fixes: 4e46beb31342 ("ipq806x: add support for Ubiquiti UniFi AC HD") Signed-off-by: Jan Alexander <jan@nalx.net>
* kernel: bump 5.4 to 5.4.89John Audia2021-01-158-12/+12
| | | | | | | | | | | | | | All modification made by update_kernel.sh in a fresh clone without existing toolchains. Build system: x86_64 Build-tested: ipq806x/R7800, bcm27xx/bcm2711 Run-tested: ipq806x/R7800 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> Tested-by: Curtis Deptuck <curtdept@me.com> [x86/64]
* bcm4908: prepend kernel images with a custom headerRafał Miłecki2021-01-151-2/+7
| | | | | | It's required for CFE to accept kernel. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: backport brcmstb USB PHY driver changesRafał Miłecki2021-01-1424-0/+3746
| | | | | | This includes BCM4908 support Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* nf-conntrack: allow querying conntrack info in nfqueueEtan Kissling2021-01-141-0/+1
| | | | | | | | | | | This allows libnetfilter_queue to access connection tracking information by requesting NFQA_CFG_F_CONNTRACK. Connection tracking information is provided in the NFQA_CT attribute. CONFIG_NETFILTER_NETLINK_GLUE_CT enables the interaction between nf_queue and nf_conntrack_netlink. Without this option, trying to access connection tracking information results in "Operation not supported". Signed-off-by: Etan Kissling <etan_kissling@apple.com>
* uboot-envtools: add support for Aruba AP-303 and AP-365Jan Alexander2021-01-143-4/+2
| | | | | | | | | Both devices use u-boot env variables to boot OpenWrt from its flash partition. Using u-boot envtools, it is possible to change the bootcmd back to the stock firmware partition directly from OpenWrt without attaching a serial cable or even physically accessing the device. Signed-off-by: Jan Alexander <jan@nalx.net>
* ipq806x: add support for Ubiquiti UniFi AC HDJan Alexander2021-01-145-1/+325
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- SoC: Qualcomm IPQ8064 RAM: 512MB DDR3 Flash: 256MB NAND (Micron MT29F2G08ABBEAH4) 32MB SPI-NOR (Macronix MX25U25635F) WLAN: Qualcomm Atheros QCA9994 4T4R b/g/n Qualcomm Atheros QCA9994 4T4R a/n/ac ETH: eth0 - SECONDARY (Atheros AR8033) eth1 - MAIN (Atheros AR8033) USB: USB-C LED: Dome (white / blue) BTN: Reset Installation ------------ Copy the OpenWrt sysupgrade image to the /tmp directory of the device using scp. Default IP address is 192.168.1.20 and default username and password are "ubnt". SSH to the device and write the bootselect flag to ensure it is booting from the mtd partition the OpenWrt image will be written to. Verify the output device below matches mtd partition "bootselect" using /proc/mtd. > dd if=/dev/zero bs=1 count=1 seek=7 conv=notrunc of=/dev/mtd11 Write the OpenWrt sysupgrade image to the mtd partition labeled "kernel0". Also verify the used partition device using /proc/mtd. > dd if=/tmp/sysupgrade.bin of=/dev/mtdblock12 Reboot the device. Back to stock ------------- Use the TFTP recovery procedure with the Ubiquiti firmware image to restore the vendor firmware. Signed-off-by: Jan Alexander <jan@nalx.net>
* bcm4908: backport BCM4908 integrated switch initial supportRafał Miłecki2021-01-134-0/+225
| | | | | | | Upstream driver supports bridging ports. There is no support for crossbar setup or CPU port(s) yet. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: backport PMB (Power Management Bus) driverRafał Miłecki2021-01-133-0/+502
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: add simple PCIe reset controller supportRafał Miłecki2021-01-121-0/+40
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: backport upstream DTS patchesRafał Miłecki2021-01-129-0/+501
| | | | | | | | | | 1. Netgear R8000P DTS file 2. NAND fix 3. PCIe reset block 4. Integrated switch 5. PMB block Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: initial work on the Broadcom BCM4908 targetRafał Miłecki2021-01-127-0/+623
| | | | | | | | | | | | | | | | | | | | | BCM4906, BCM4908 and BCM49408 are SoCs with 64 bit ARMv8 B53 CPUs. Upstream Linux is slowly getting support for that SoCs family so it makes sense to add target for it. This prepares initial support for: 1. Asus GT-AC5300 BCM4908 based device (4 CPUs) with 1024 MiB RAM, NAND, 8 LAN ports. 2. Netgear R8000P BCM4906 based device (2 CPUs) with 512 MiB RAM, NAND, 4 LAN ports. Flashing info will come later as we learn how to generate proper images. It isn't usable yet (it only produces a bootable kernel) so "source-only" is used. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: enable SRv6 support by enabling lwtunnelNick Hainke2021-01-111-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | Enable the ability to use segment routing based on IPv6. It allows the packet to specify a path that the packet should take through the network. Lwtunnel allow an easy encapsulation of a package. You can just install ip-full package and use it: ip -6 route add 2003::/64 dev eth0 encap seg6 mode encap \ segs 2001::1,2002::2 An IPv6 package looks like this: [IPv6 HDR][IPv6 RH][IPv6 HDR][Data...] Netifd support: https://git.openwrt.org/?p=project/netifd.git; a=commit;h=458b1a7e9473c150a40cae5d8be174f4bb03bd39 Increases imagesize by 24.125 KiB. Therefore, only enable for devices with enough flash. Signed-off-by: Nick Hainke <vincent@systemli.org>
* rockchip: add missing Kconfig symbolsDavid Bauer2021-01-111-0/+5
| | | | | | | | When compiling with CONFIG_ALL_KMODS enabled, compilation might stall due to unset rockchip-specific config symbols. Disable these to avoid stalling this step. Signed-off-by: David Bauer <mail@david-bauer.net>
* kernel: bump 5.4 to 5.4.87John Audia2021-01-086-12/+12
| | | | | | | | | | | | | | | | | | All modification by update_kernel.sh. Build system: x86_64 Build-tested: ipq806x/R7800, bcm27xx/bcm2711 Run-tested: ipq806x/R7800 No dmesg regressions, everything functional Compile-tested [*]: ath79/{generic,tiny}, ipq40xx, octeon, ramips/mt7621, realtek, x86/64. Run-tested [*]: ramips/mt7621 (DIR-878 A1, R6800, RT-AC57U), octeon (EdgeRouter Lite). Signed-off-by: John Audia <graysky@archlinux.us> Tested-by: Stijn Segers <foss@volatilesystems.org> [*]
* realtek: add support for ZyXEL GS1900-8HP v1 and v2Stijn Segers2021-01-084-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ZyXEL GS1900-8HP is an 8 port gigabit switch with PoE+ support. There are two versions on the market (v1 & v2) which share similar specs (same flash size and flash layout, same RAM size, same PoE+ power envelope) but have a different case and board layout that they each share with other GS1900 siblings. The v1 seems to share its PCB and case with non-PoE GS1900-8; as such, adding support for the GS1900-8 would probably be trivial. The v2 seems to share its casing and platform with its already supported bigger brother, the GS1900-10HP - its board looks the same, except for two holes where the GS1900-10 has its SFP ports. Like their 10 port sibling, both devices have a dual firmware layout. Both GS1900-8HP boards have the same 70W PoE+ power budget. In order to manipulate the PoE+, one needs the rtl83xx-poe package [1]. After careful consideration it was decided to go with separate images for each version. Specifications (v1) ------------------- * SoC: Realtek RTL8380M 500 MHz MIPS 4KEc * Flash: Macronix MX25L12835F 16 MiB * RAM: Nanya NT5TU128M8HE-AC 128 MiB DDR2 SDRAM * Ethernet: 8x 10/100/1000 Mbit * PoE+: Broadcom BCM59111KMLG (IEEE 802.3at-2009 compliant, 2x) * UART: 1 serial header with populated standard pin connector on the left side of the PCB, towards the bottom. Pins are labeled: + VCC (3.3V) + TX + RX + GND Specifications (v2) ------------------- * SoC: Realtek RTL8380M 500 MHz MIPS 4KEc * Flash: Macronix MX25L12835F 16 MiB * RAM: Samsung K4B1G0846G 128 MiB DDR3 SDRAM * Ethernet: 8x 10/100/1000 Mbit * PoE+: Broadcom BCM59121B0KMLG (IEEE 802.3at-2009 compliant) * UART: 1 angled serial header with populated standard pin connector accessible from outside through the ventilation slits on the side. Pins from top to bottom are clearly marked on the PCB: + VCC (3.3V) + TX + RX + GND Serial connection parameters for both devices: 115200 8N1. Installation ------------ Instructions are identical to those for the GS1900-10HP and apply both to the GS1900-8HP v1 and v2 as well. * Configure your client with a static 192.168.1.x IP (e.g. 192.168.1.10). * Set up a TFTP server on your client and make it serve the initramfs image. * Connect serial, power up the switch, interrupt U-boot by hitting the space bar, and enable the network: > rtk network on * Since the GS1900-10HP is a dual-partition device, you want to keep the OEM firmware on the backup partition for the time being. OpenWrt can only boot off the first partition anyway (hardcoded in the DTS). To make sure we are manipulating the first partition, issue the following commands: > setsys bootpartition 0 > savesys * Download the image onto the device and boot from it: > tftpboot 0x84f00000 192.168.1.10:openwrt-realtek-generic-zyxel_gs1900-8hp-v{1,2}-initramfs-kernel.bin > bootm * Once OpenWrt has booted, scp the sysupgrade image to /tmp and flash it: > sysupgrade /tmp//tmp/openwrt-realtek-generic-zyxel_gs1900-8hp-v{1,2}-squashfs-sysupgrade.bin Signed-off-by: Stijn Segers <foss@volatilesystems.org> [merge PoE case, keep device definitions separate, change all those hashes in the commit message to something else so they don't get removed when changing the commit ...] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* realtek: remove model prefix from LED label for ZyXEL GS1900Adrian Schmutzler2021-01-081-1/+1
| | | | | | This is used as fixed status LED, so no migration is needed. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* realtek: introduce shared DTSI for GS1900 seriesStijn Segers2021-01-082-208/+153
| | | | | | | | | | | The ZyXEL GS1900-8HP v1, v2 and GS1900-10HP are all built on a similar Realtek RTL8380M platform. Create a common DTSI in preparation for GS1900-8HP support, and switch to the macros defined in rtl838x.dtsi. Signed-off-by: Stijn Segers <foss@volatilesystems.org> [drop redundant includes, use &mdio directly, do not replace SFP ports] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: remove trailing whitespace in MakefilesLeon M. George2021-01-072-2/+2
| | | | | | | | Remove trailing whitespaces in two *.mk files. Signed-off-by: Leon M. George <leon@georgemail.eu> [fix title, add message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* realtek: ZyXEL: spell as done by manufacturerStijn Segers2021-01-072-2/+2
| | | | | | | ZyXEL spells its own name all uppercase with just the Y lowercase. Adapt the realtek target to follow this (other OpenWrt targets already do so). Signed-off-by: Stijn Segers <foss@volatilesystems.org>
* realtek: move memory node to device DTSStijn Segers2021-01-076-5/+25
| | | | | | | | | Move the memory out of the rtl838x.dtsi and into the device family DTSI or device DTS if applicable. This aligns with upstream practice. Signed-off-by: Stijn Segers <foss@volatilesystems.org> [add missing block for dgs-1210-10p, move block below chosen node] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* realtek: remove duplicate '/dts-v1/;' identifierAdrian Schmutzler2021-01-072-2/+0
| | | | | | | The identifier is already present in rtl838x.dtsi, and adding it twice is not only redundant but actually wrong. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* realtek: set PoE power budget for ZyXEL GS1900-10HPStijn Segers2021-01-071-0/+3
| | | | | | | As per the manufacturer's specifications, set the GS1900-10HP PoE power budget to 77W. Signed-off-by: Stijn Segers <foss@volatilesystems.org>
* ath79: make Engenius fakeroot partitions read-onlyMichael Pratt2021-01-072-0/+2
| | | | | | | | | | | | | | | | | | For: - ENH202 v1 - ENS202EXT v1 These boards were committed before it was discovered that for all Engenius boards with a "failsafe" image, forcing the failsafe image to load next boot can be achieved by editing the u-boot environment like: `fw_setenv rootfs_checksum 0` So it's not necessary to delete a partition to boot to failsafe image. Signed-off-by: Michael Pratt <mcpratt@pm.me>
* ath79: move small-flash Engenius boards to tinyMichael Pratt2021-01-079-100/+104
| | | | | | | | | | | | | | | | | | | | | | | | | This moves some of the Engenius boards from generic to tiny: - EAP350 v1 - ECB350 v1 - ENH202 v1 For these, factory.bin builds are already failing on master branch because of the unique situation for these boards: - 8 MB flash - an extra "failsafe" image for recovery - TFTP does not work (barely possible with 600 MTU) - bootloader loads image from a longer flash offset - 1 eraseblock each needed for OKLI kernel loader and fake rootfs - using mtd-concat to make use of remaining space... The manual alternative would be removing the failsafe partition. However this comes with the risk of extremely difficult recovery if a flash ever fails because TFTP on the bootloader is bugged. Signed-off-by: Michael Pratt <mcpratt@pm.me> [improve commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* imx6: disable unrequired pcie host driverKoen Vandeputte2021-01-071-2/+0
| | | | | | | | | | | | | imx6 has it's own pcie host driver so we do not need the one from DW. This fixes following boot error: [ 0.156913] dw-pcie 1ffc000.pcie: IRQ index 1 not found Fixes: 6d5291ff7244 ("imx6: add support for kernel 5.4") Signed-off-by: Tim Harvey <tharvey@gateworks.com> Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* imx6: refresh kernel configKoen Vandeputte2021-01-071-73/+2
| | | | Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* imx6: gw52xx: fix duplicate regulator namingKoen Vandeputte2021-01-071-0/+37
| | | | | | | | | | | 2 regulator descriptions carry identical naming. This leads to following boot warning: [ 0.173138] debugfs: Directory 'vdd1p8' with parent 'regulator' already present! Fix this by renaming the one used for audio. Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ipq806x: add space before SPDX identifier (again)Adrian Schmutzler2021-01-062-2/+2
| | | | | | | | | | | | | | Strictly, an SPDX identifier requires a space between the comment marker and the identifier itself. This has been addressed in b69c21738e29 ("treewide: add space before SPDX identifier"), but some new malformatted identifiers were merged recently. This could have been prevented by using checkpatch.pl earlier. Fixes: 1a775a4fd033 ("ipq806x: add support for TP-Link Talon AD7200") Fixes: 8ddaeaf6424e ("ipq806x: create DTSI for TP-Link AD7200 and C2600") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: improve model name and revision for TP-Link AD7200Adrian Schmutzler2021-01-061-3/+5
| | | | | | | | | | | | | | | | | The TP-Link AD7200 appears with and without the "Talon" model name prefix. Let's use both variants for 'make menuconfig' so everybody can locate the device. Concerning the revision, the TP-Link page lists v1 and v2 with the device currently marked as "End of Life". However, the v2 and latest v1 firmware are byte-identical. Thus, we only need one image for this device and do not need to include the revision in the image name. While at it, remove the useless BOARD_NAME variable which only makes sense in combination with upgrade from legacy stable versions or when custom upgrade scripts are involved. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: create DTSI for TP-Link AD7200 and C2600Adrian Schmutzler2021-01-063-619/+317
| | | | | | | | | | | Both devices share most of their setup except buttons and LEDs, so having a common DTSI removes a lot of duplicate code. In order to have a shared partitioning scheme, device-id and product-info from AD7200 have been merged into a single product-info partition like for C2600. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: clean up DTS file for TP-Link AD7200Adrian Schmutzler2021-01-061-8/+8
| | | | | | | | | | This does several cosmetic adjustments for AD7200's DTS: - Make node name, DT label and label property consistent - Drop wrong and unused spi4 label - Use generic flash@0 node name Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: limit 5GHz channels for UniFi 6 LiteDavid Bauer2021-01-061-0/+1
| | | | | | | | The MT7915 radio currently advertises 2.4GHz channels while the antenna path only supports 5 GHz. Limit the radio to 5GHz channels to prevent users from configuring non-supported channels. Signed-off-by: David Bauer <mail@david-bauer.net>
* realtek: fix build issuesBirger Koblitz2021-01-052-4/+19
| | | | | | | This fixes the build problems for the REALTEK target by adding a proper configuration option for the phy module. Signed-off-by: Birger Koblitz <mail@birger-koblitz.de>
* ipq806x: fix LED names of TP-Link Talon AD2700Daniel Golle2021-01-051-2/+2
| | | | | | | | While the underscore in the name of the USB LEDs was removed from DTS, /etc/board.d/01_leds also has to reflect that change. Fixes: 28fd279e5d ("ipq806x: some corrections for TP-Link Talon AD7200") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ramips: add support for Ubiquiti UniFi 6 LiteDavid Bauer2021-01-059-76/+478
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- MediaTek MT7621AT 256M DDR3 32M SPI-NOR MediaTek MT7603 2T2R 802.11n 2.4GHz MediaTek MT7915 2T2R 802.11ax 5GHz Not Working ----------- - Bluetooth (connected to UART3) UART ---- UART is located in the lower left corner of the board. Pinout is 0 - 3V3 (don't connect) 1 - RX 2 - TX 3 - GND Console is 115200 8N1. Boot ---- 1. Connect to the serial console and connect power. 2. Double-press ESC when prompted 3. Set the fdt address $ fdt addr $(fdtcontroladdr) 4. Remove the signature node from the control FDT $ fdt rm /signature 5. Transfer and boot the OpenWrt initramfs image to the device. Make sure to name the file C0A80114.img and have it reachable at 192.168.1.1/24 $ tftpboot; bootm Installation ------------ 1. Connect to the booted device at 192.168.1.20 using username/password "ubnt". 2. Update the bootloader environment. $ fw_setenv devmode TRUE $ fw_setenv boot_openwrt "fdt addr \$(fdtcontroladdr); fdt rm /signature; bootubnt" $ fw_setenv bootcmd "run boot_openwrt" 3. Transfer the OpenWrt sysupgrade image to the device using SCP. 4. Check the mtd partition number for bs / kernel0 / kernel1 $ cat /proc/mtd 5. Set the bootselect flag to boot from kernel0 $ dd if=/dev/zero bs=1 count=1 of=/dev/mtdblock4 6. Write the OpenWrt sysupgrade image to both kernel0 as well as kernel1 $ dd if=openwrt.bin of=/dev/mtdblock6 $ dd if=openwrt.bin of=/dev/mtdblock7 7. Reboot the device. It should boot into OpenWrt. Below are the original installation instructions prior to the discovery of "devmode=TRUE". They are not required for installation and are documentation only. The bootloader employs signature verification on the FIT image configurations. This way, booting unauthorized image without patching the bootloader is not possible. Manually configuring the bootcmd in the U-Boot envronment won't work, as this is restored to the default value if modified. The bootloader is made up of three different parts. 1. The SPL performing early board initialization and providing a XModem recovery in case the PBL is missing 2. The PBL being the primary U-Boot application and containing the control FDT. It is LZMA packed with a uImage header. 3. A Ubiquiti standalone U-Boot application providing the main boot routine as well as their recovery mechanism. In a perfect world, we would only replace the PBL, as the SPL does not perform checks on the PBLs integrity. However, as the PBL is in the same eraseblock as the SPL, we need to at least rewrite both. The bootloader will only verify integrity in case it has a "signature" node in it's control device-tree. Renaming the signature node to something else will prevent this from happening. Warning: These instructions are based on the firmware intially shipped with the device and potentially brick your device in a way it can only be recovered using a SPI flasher. Only (!) proceed if you understand this! 1. Extract the bootloader from the U-Boot partition using the OpenWrt initramfs image. 2. Split the bootloader into it's 3 components: $ dd if=bootloader.bin of=spl.bin bs=1 skip=0 count=45056 $ dd if=bootloader.bin of=pbl.uimage bs=1 skip=45056 count=143360 $ dd if=bootloader.bin of=ubnt.uimage bs=1 skip=188416 3. Strip the uImage header from the PBL $ dd if=pbl.uimage of=pbl.lzma bs=64 skip=1 4. Decompress the PBL $ lzma -d pbl.lzma --single-stream The decompressed PBL sha256sum should be d8b406c65240d260cf15be5f97f40c1d6d1b6e61ec3abed37bb841c90fcc1235 5. Open the decompressed PBL using your favorite hexeditor. Locate the control FDT at offset 0x4CED0 (0xD00DFEED). At offset 0x4D5BC, the label for the signature node is located. Rename the "signature" string at this offset to "signaturr". The patched PBL sha256sum should be d028e374cdb40ba44b6e3cef2e4e8a8c16a3b85eb15d9544d24fdd10eed64c97 6. Compress the patched PBL $ lzma -z pbl --lzma1=dict=67108864 The resulting pbl.lzma file should have the sha256sum 7ae6118928fa0d0b3fe4ff81abd80ecfd9ba2944cb0f0a462b6ae65913088b42 7. Create the PBL uimage $ SOURCE_DATE_EPOCH=1607909492 mkimage -A mips -O u-boot -C lzma -n "U-Boot 2018.03 [UniFi,v1.1.40.71]" -a 84000000 -e 84000000 -T firmware -d pbl.lzma patched_pbl.uimage The resulting patched_pbl.uimage should have the sha256sum b90d7fa2dcc6814180d3943530d8d6b0d6a03636113c94e99af34f196d3cf2ce 8. Reassemble the complete bootloader $ dd if=patched_pbl.uimage of=aligned_pbl.uimage bs=143360 count=1 conv=sync $ cat spl.bin > patched_uboot.bin $ cat aligned_pbl.uimage >> patched_uboot.bin $ cat ubnt.uimage >> patched_uboot.bin The resulting patched_uboot.bin should have the sha256sum 3e1186f33b88a525687285c2a8b22e8786787b31d4648b8eee66c672222aa76b 9. Transfer your patched bootloader to the device. Also install the kmod-mtd-rw package using opkg and load it. $ insmod mtd-rw.ko i_want_a_brick=1 Write the patched bootloader to mtd0 $ mtd write patched_uboot.bin u-boot 10. Erase the kernel1 partition, as the bootloader might otherwise decide to boot from there. $ mtd erase kernel1 11. Transfer the OpenWrt sysupgrade image to the device and install using sysupgrade. FIT configurations ------------------ In the future, the MT7621 UniFi6 family can be supported by a single OpenWrt image. config@1: U6 Lite config@2: U6 IW config@3: U6 Mesh config@4: U6 Extender config@5: U6 LR-EA (Early Access - GA is MT7622) Signed-off-by: David Bauer <mail@david-bauer.net>
* ipq806x: some corrections for TP-Link Talon AD7200Daniel Golle2021-01-052-48/+45
| | | | | | | | | | Address most comments made by Adrian Schmutzler on the mailing list. The device name is kept as 'TP-Link Talon AD7200' as that seems to be the marketing name TP-Link chose for that device, it also matches the naming scheme for other TP-Link devices (e.g. 'TP-Link Archer C7'). Fixes: 1a775a4fd0 ("ipq806x: add support for TP-Link Talon AD7200") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ipq806x: add support for TP-Link Talon AD7200Gary Cooper2021-01-056-0/+468
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Device hardware: https://deviwiki.com/wiki/TP-LINK_AD7200_(Talon) The Talon AD7200 is basically an Archer C2600 with a third PCIe lane and an 802.11ad radio. It looks like the Archers C2600/5400 but the housing is slightly larger. Specifications -------------- - IPQ8064 dual-core 1400MHz - QCA9988 2.4GHz WiFi - QCA9990 5GHz WiFi - QCA9500 60GHz WiFi - 32MB SPI Flash - 512MiB RAM - 5 GBit Ports (QCA8337) Installation ------------ Installation is possible from the OEM web interface. Sysupgrade is possible. TFTP recovery is possible. - Image: AD7200_1.0_tp_recovery.bin Notes - This will be the first 802.11ad device supported by mainline. Signed-off-by: Gary Cooper <gaco@bitmessage.de>
* ath79: keep DTSI files for D-Link SoC-specificAdrian Schmutzler2021-01-046-8/+62
| | | | | | | | | | | It is good practice to define device tree files based on specific SoCs. Thus, let's not start to create files that are used across different architectures. Duplicate the DTSI file for D-Link DAP-2xxx in order to have one for qca953x and one for qca955x, respectively. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: Fix 02_network setup for D-Link DAP-2660 A1Sebastian Schaper2021-01-041-0/+1
| | | | | | | | | The device is a one-port, but was set up as two-port by the default case in 02_network. Fix it. Signed-off-by: Sebastian Schaper <openwrt@sebastianschaper.net> [commit title/message facelift] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for D-Link DAP-3320 A1Sebastian Schaper2021-01-045-3/+74
| | | | | | | | | | | | | | | | | | | | | Specifications: * QCA9533, 16 MiB Flash, 64 MiB RAM, 802.11n 2T2R * 10/100 Ethernet Port, 802.11af PoE * IP55 pole-mountable outdoor case Installation: * Factory Web UI is at 192.168.0.50 login with 'admin' and blank password, flash factory.bin * Recovery Web UI is at 192.168.0.50 connect network cable, hold reset button during power-on and keep it pressed until uploading has started (only required when checksum is ok, e.g. for reverting back to oem firmware), flash factory.bin After flashing factory.bin, additional free space can be reclaimed by flashing sysupgrade.bin, since the factory image requires some padding to be accepted for upgrading via OEM Web UI. Signed-off-by: Sebastian Schaper <openwrt@sebastianschaper.net>
* ath79: add support for D-Link DAP-2680 A1Sebastian Schaper2021-01-046-2/+113
| | | | | | | | | | | | | | | | | | | | | Specifications: * QCA9558, 16 MiB Flash, 256 MiB RAM, 802.11n 3T3R * QCA9984, 802.11ac Wave 2 3T3R * Gigabit LAN Port (AR8035), 802.11at PoE Installation: * Factory Web UI is at 192.168.0.50 login with 'admin' and blank password, flash factory.bin * Recovery Web UI is at 192.168.0.50 connect network cable, hold reset button during power-on and keep it pressed until uploading has started (only required when checksum is ok, e.g. for reverting back to oem firmware), flash factory.bin After flashing factory.bin, additional free space can be reclaimed by flashing sysupgrade.bin, since the factory image requires some padding to be accepted for upgrading via OEM Web UI. Signed-off-by: Sebastian Schaper <openwrt@sebastianschaper.net>
* ath79: add support for D-Link DAP-2230 A1Sebastian Schaper2021-01-045-0/+73
| | | | | | | | | | | | | | | | | | | | Specifications: * QCA9533, 16 MiB Flash, 64 MiB RAM, 802.11n 2T2R * 10/100 Ethernet Port, 802.11af PoE Installation: * Factory Web UI is at 192.168.0.50 login with 'admin' and blank password, flash factory.bin * Recovery Web UI is at 192.168.0.50 connect network cable, hold reset button during power-on and keep it pressed until uploading has started (only required when checksum is ok, e.g. for reverting back to oem firmware), flash factory.bin After flashing factory.bin, additional free space can be reclaimed by flashing sysupgrade.bin, since the factory image requires some padding to be accepted for upgrading via OEM Web UI. Signed-off-by: Sebastian Schaper <openwrt@sebastianschaper.net>
* ipq806x: consolidate DTS files directorySungbo Eo2021-01-031-0/+0
| | | | | | | | | Commit 29ca10e537ee ("ipq806x: remove support for kernel 4.19") moved DTS files to "files" directory, but after that a new DTS file was added to the former "files-5.4" directory. Move it to the new directory. Fixes: 98b86296e67d ("ipq806x: add support for ASRock G10") Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* mediatek: remove unnecessary execute permission bitSungbo Eo2021-01-031-0/+0
| | | | | | | | | Kernel config does not need to be executable. 644 is enough. Fixes: 25d9df670b85 ("mediatek: add v5.4 support") Signed-off-by: Sungbo Eo <mans0n@gorani.run> [split by targets] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>