aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* build: add UIMAGE_MAGIC to device variablesSander Vanheule2020-11-252-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | Allow a device recipe to specify a custom UIMAGE_MAGIC value, as used by OpenWrt's -M flag for mkimage. This allows to automatically customize the magic bytes in all calls to Build/uImage for this device, similar to the behaviour of UIMAGE_NAME. Since the -M argument is inserted before the user arguments, it can be overriden. The following example would use 0x87654321 for the KERNEL image, but 0x12345678 for the KERNEL_INITRAMFS image: define Device/MyDevice UIMAGE_MAGIC := 0x87654321 KERNEL := ... | uImage lzma KERNEL_INITRAMFS := ... | uImage lzma -M 0x12345678 ... endef Fixes: df8e6be59a1f ("rtl838x: add new architecture") [UIMAGE_MAGIC was not declared as a device variable] Signed-off-by: Sander Vanheule <sander@svanheule.net> [rebase, improve formatting of "Fixes"] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: mt7621: drop custom uImage functionSander Vanheule2020-11-251-21/+10
| | | | | | | | Use the mkimage argument overrides provided by uImage to implement the customisations required for the initramfs, instead of the near-identical custom function. Signed-off-by: Sander Vanheule <sander@svanheule.net>
* build: uImage: separate arguments into individual linesAdrian Schmutzler2020-11-251-4/+9
| | | | | | Having one line per argument increases overview dramatically. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* build: uImage: allow override of default argumentsSander Vanheule2020-11-251-2/+3
| | | | | | | | | | | | | For some build recipes, the argument to Build/uImage is used to sneak in extra arguments for mkimage, whereas this appears to have been intended to specificy the compression method only. Use the first provided word for -C to be backwards compatible with current calls to Build/uImage. Use the rest of the call arguments to override the provided defaults. Only the input file name (-d) and the output file name cannot overriden. Signed-off-by: Sander Vanheule <sander@svanheule.net>
* mvebu: base-files: move additional files to subtargetsTomasz Maciej Nowak2020-11-252-0/+0
| | | | | | | Both of these scripts are only relevant to cortexa9, therefore move them there. Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
* mvebu: sort patchesTomasz Maciej Nowak2020-11-2550-43/+87
| | | | | | | | | | Sort patches according to target/linux/generic/PATCHES. Additionally: - replace hashes in backported patches with the ones from main Linux tree - add descriptions to some patches Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com> [remove 004-add_sata_disk_activity_trigger.patch separately] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mvebu: remove redundant patch for Linksys LED triggerAdrian Schmutzler2020-11-251-39/+0
| | | | | | | | Remove 004-add_sata_disk_activity_trigger.patch, as the trigger is already added in shared dtsi. Suggested-by: Tomasz Maciej Nowak <tmn505@gmail.com> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for TP-Link MR6400 v5Filip Moc2020-11-254-0/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | TL-MR6400v5 is very similar to TL-MR6400v4. Main differences are: - smaller form factor - different LED GPIOs - different switch connections You can flash via tftp recovery: - serve tftp-recovery image as /tp_recovery.bin on 192.168.0.225/24 - connect to any ethernet port - power on the device while holding the reset button - wait at least 8 seconds before releasing reset button Flashing via OEM web interface does not work. LTE module does not support DHCP so it must be configured via QMI. Hardware Specification (v5.0 EU): - SoC: MT7628NN - Flash: Winbond W25Q64JVS (8MiB) - RAM: ESMT M14D5121632A (64MiB) - Wireless: SoC platform only (2.4GHz b/g/n, 2x internal antenna) - Ethernet: 1NIC (4x100M) - WWAN: TP-LINK LTE MODULE (2x external detachable antenna) - Power: DC 9V 0.85A Signed-off-by: Filip Moc <lede@moc6.cz>
* ath79: add support for Senao Engenius EAP300 v2Michael Pratt2020-11-256-1/+185
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FCC ID: A8J-EAP300A Engenius EAP300 v2 is an indoor wireless access point with a 100/10-BaseT ethernet port, 2.4 GHz wireless, internal antennas, and 802.3af PoE. **Specification:** - AR9341 - 40 MHz reference clock - 16 MB FLASH MX25L12845EMI-10G - 64 MB RAM - UART at J1 (populated) - Ethernet port with POE - internal antennas - 3 LEDs, 1 button (power, eth, wlan) (reset) **MAC addresses:** phy0 *:d3 art 0x1002 (label) eth0 *:d4 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 0x9fdf0000` 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 *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, can cause kernel loop or halt The easiest way to return to the OEM software is the Failsafe image If you dont have a serial cable, you can ssh into openwrt and run `mtd -r erase fakeroot` 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 EAP300 v2 is a heavily modified version of Openwrt Kamikaze. One of the many modifications is to the sysupgrade program. Image verification is performed simply by the successful ungzip and untar of the supplied file and name check and header verification of the resulting contents. To form a factory.bin that is accepted by OEM Openwrt build, the kernel and rootfs must have specific names 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. Signed-off-by: Michael Pratt <mcpratt@pm.me> [clarify MAC address section, bump PKG_RELEASE for uboot-envtools] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* lantiq: clean up target/subtarget featuresRui Salvaterra2020-11-255-5/+5
| | | | | | | | | The feature "squashfs" is defined for target and all subtargets individually. Remove the redundant entries in the subtargets. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com> [split patch, adjust commit title/message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* apm821xx: clean up target/subtarget featuresRui Salvaterra2020-11-253-3/+3
| | | | | | | | Move features common to all subtargets to the parent target. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com> [split patch to make it target-specific, adjust commit title/message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add license to TP-Link MR6400 v4's DTSFilip Moc2020-11-251-0/+2
| | | | Signed-off-by: Filip Moc <lede@moc6.cz>
* libusb-compat: removeRosen Penev2020-11-252-239/+0
| | | | | | | No package in base relies on this library. This library will be moved to packages where it is needed. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* linux-firmware: brcm: use RPI 4B NVRAM fileÁlvaro Fernández Rojas2020-11-252-4/+2
| | | | | | Use the dedicated RPI 4B NVRAM file introduced in 20191215. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* prereq-build: add python 3.9 supportRosen Penev2020-11-241-0/+2
| | | | | | Fixes unmet dependency issue. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* cypress-nvram: add proper package conflictsÁlvaro Fernández Rojas2020-11-251-1/+9
| | | | | | There are linux firmware packages for all RPIs NVRAMs. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* cypress-firmware: add proper package conflictsÁlvaro Fernández Rojas2020-11-251-1/+4
| | | | | | | There are linux firmwares packages for 43362, 43430 and 43455 which shouldn't be installed at the same time as Cypress firmwares. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* ath10k-ct-firmware: add conflicts and better providesKarel Kočí2020-11-251-11/+71
| | | | | | | | | | | | | This expands packages to define not only provides but also conflicts. These packages provides same files so they should specify conflicts. Second expansion is that *-ct-htt and *-ct-full-htt firmwares can also provide *-ct variant as that allows explicit dependency on CT variant with various firmware modifications. Signed-off-by: Karel Kočí <karel.koci@nic.cz> [Bump PKG_RELEASE and format PROVIDES/CONFLICTS] Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* exfat: update to 5.10.1Rosen Penev2020-11-241-5/+4
| | | | | | | | | | | | | | | | | | | | | Remove tar hacks and use PKG_BUILD_DIR. Added missing URL. Changelog: d5eb2e1 exfat: remove useless check in exfat_move_file() 8cb2bc3 exfat: use i_blocksize() to get blocksize 4cd0435 exfat: fix misspellings using codespell tool 485d677 exfat: fix use of uninitialized spinlock on error path 03b3db6 exfat: remove 'rwoffset' in exfat_inode_info 90797eb exfat: replace memcpy with structure assignment d144149 exfat: remove useless directory scan in exfat_add_entry() fc67230 exfat: eliminate dead code in exfat_find() 7c25c64 exfat: fix pointer error checking bfea1fb exfat: retain 'VolumeFlags' properly Signed-off-by: Rosen Penev <rosenp@gmail.com>
* opkg: purge package from cache on hash mismatchPaul Spooren2020-11-241-4/+4
| | | | | | | | | | 61b3c62 opkg_verify_integrity: better logging and error conditions f73d42f download: purge cached packages that have incorrect checksum 1c1480e download: factor out the logic for building cache filenames 293b1ce libopkg: factor out checksum and size verification a786e25 download: remove compatibility with old cache naming scheme Signed-off-by: Paul Spooren <mail@aparcar.org>
* tcpdump: patch CVE-2020-8037Jan Pavlinec2020-11-252-1/+48
| | | | | | | | | This PR backports upstream fix for CVE-2020-8037. This fix is only relevant for tcpdump package, tcpdump-mini is not affeted by this issue. Signed-off-by: Jan Pavlinec <jan.pavlinec@nic.cz> [added missing commit description] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* scripts: add size_compare.shPaul Spooren2020-11-241-0/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As package size changes are a continuous topic on the mailing list this scripts helps developers to compare their local package modifications against latest upstream. The script downloads the latest package indexes based on env variables or the `.config` file. The script compares the actual installed size (data.tar.gz) or the IPK package size. An example output is found below: ``` user@dawn:~/src/openwrt/openwrt$ ./scripts/size_compare.sh Compare packages of ath79/tiny/mips_24kc: dropbear busybox iw ubus Checking configuration difference % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 554 100 554 0 0 336 0 0:00:01 0:00:01 --:--:-- 336 --- start config diff --- --- /tmp/config.DDjwVh-LOCAL 2020-11-23 09:08:28.913203068 -1000 +++ /tmp/config.DDjwVh-UPSTREAM 2020-11-23 09:08:36.369240887 -1000 @@ -1,5 +1,9 @@ +CONFIG_ALL_KMODS=y +CONFIG_ALL_NONSHARED=y CONFIG_AUTOREBUILD=y +CONFIG_AUTOREMOVE=y --- 8< --- CONFIG_BINARY_FOLDER="" +CONFIG_BUILDBOT=y +CONFIG_TARGET_ALL_PROFILES=y CONFIG_TARGET_ROOTFS_DIR="" CONFIG_USE_SSTRIP=y CONFIG_USE_UCLIBCXX=y --- end config diff --- Checking installed size Fetching latest package indexes... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 80634 100 80634 0 0 33499 0 0:00:02 0:00:02 --:--:-- 33485 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 54082 100 54082 0 0 24252 0 0:00:02 0:00:02 --:--:-- 24252 Comparing package sizes... Change Local Remote Package +271 51386 51115 base-files +123 705241 705118 bnx2-firmware +86 17209 17123 fstools +22 47989 47967 procd +21 208311 208290 busybox +19 67181 67162 netifd ``` I plan to integrate this script into the CI so we have a summary how sizes change over different architectures. Signed-off-by: Paul Spooren <mail@aparcar.org>
* imagebuilder: fix partition signatureMatthew Gyurgyik2020-11-241-0/+2
| | | | | | | | | When building images with the imagebuilder, the partition signature never changes. The signature is generated by hashing SOURCE_DATE_EPOCH and LINUX_VERMAGIC which are undefined. Prepopulate these variables, as done by the SDK. Signed-off-by: Matthew Gyurgyik <matthew@gyurgyik.io>
* ath10k-ct: update to latest versionÁlvaro Fernández Rojas2020-11-245-22/+22
| | | | | | | | 1d28d17 ath10k-ct: Fix RSSI reporting for wave-1 firmware. 0c2949e ath10k-ct: fwcfg allows configuring dma-burst setting. 13319ff ath10k-ct: stable patches, debugfs crashdump, 5.8 driver Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* uqmi: set plmn only if necessaryMartin Schiller2020-11-242-8/+22
| | | | | | | | | | | | | | | | | Setting the plmn to '0' (auto) will implicitly lead to a (delayed) network re-registration, which could further lead to some timing related issues in the qmi proto handler. On the other hand, if you switch back from manual plmn selection to auto mode you have to set it to '0', because this setting is permanently "saved" in the wwan module. Conclusion: If plmn is configured, check if it's already set euqally in the module. If so, do nothing. Otherwise set it. Signed-off-by: Martin Schiller <ms@dev.tdt.de> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* treewide: update email address of Tomasz Maciej NowakTomasz Maciej Nowak2020-11-245-6/+6
| | | | | | | | | | Replace my o2.pl email address. I'm still available at the old address. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl> [rephrase commit title/message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: bump 5.4 to 5.4.79John Audia2020-11-2446-168/+112
| | | | | | | | | | | | | | | | | | | | | | | Manually rebased patches: ath79/patches-5.4/910-unaligned_access_hacks.patch bcm27xx/patches-5.4/950-0135-spi-spi-bcm2835-Disable-forced-software-CS.patch bcm27xx/patches-5.4/950-0414-SQUASH-Fix-spi-driver-compiler-warnings.patch ipq806x/patches-5.4/093-4-v5.8-ipq806x-PCI-qcom-Use-bulk-clk-api-and-assert-on-error.patch Removed since could be reverse-applied by quilt and found to be included upstream: ipq806x/patches-5.4/096-PCI-qcom-Make-sure-PCIe-is-reset-before-init-for-rev.patch All modifications made by update_kernel.sh 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> [refresh altered targets after rebase] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: move device specific nodes to DTS files for Devolo 1xxxYanase Yuki2020-11-247-26/+51
| | | | | | | | | | | | qca9558_devolo_dvl1xxx.dtsi contains device specific nodes which are inherited for some DTS files and overwritten for others. This is considered confusing, so move the relevant nodes/properties to the devices and only keep the shared stuff in the DTSI. Signed-off-by: Yanase Yuki <dev@zpc.sakura.ne.jp> [clarify commit title/message, move &gmac_config in DTS] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: support for TP-Link EAP225 v3Sander Vanheule2020-11-235-0/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link EAP225 v3 is an AC1350 (802.11ac Wave-2) ceiling mount access point. Serial port access for debricking requires fine soldering. Device specifications: * SoC: QCA9563 @ 775MHz * RAM: 128MiB DDR2 * Flash: 16MiB SPI-NOR * Wireless 2.4GHz (SoC): b/g/n, 3x3 * Wireless 5Ghz (QCA9886): a/n/ac, 2x2 MU-MINO * Ethernet (AR8033): 1× 1GbE, 802.3at PoE Flashing instructions: * ssh into target device and run `cliclientd stopcs` * Upgrade with factory image via web interface Debricking: * Serial port can be soldered on PCB J3 (1: TXD, 2: RXD, 3: GND, 4: VCC) * Bridge unpopulated resistors R225 (TXD) and R237 (RXD). Do NOT bridge R230. * Use 3.3V, 115200 baud, 8n1 * Interrupt bootloader by holding CTRL+B during boot * tftp initramfs to flash via LuCI web interface setenv ipaddr 192.168.1.1 # default, change as required setenv serverip 192.168.1.10 # default, change as required tftp 0x80800000 initramfs.bin bootelf $fileaddr MAC addresses: MAC address (as on device label) is stored in device info partition at an offset of 8 bytes. ath9k device has same address as ethernet, ath10k uses address incremented by 1. From OEM boot log: Using interface ath0 with hwaddr b0:...:3e and ssid "..." Using interface ath10 with hwaddr b0:...:3f and ssid "..." Tested by forum user blinkstar88 Signed-off-by: Sander Vanheule <sander@svanheule.net>
* ath79: support for TP-Link EAP225-Outdoor v1Sander Vanheule2020-11-235-0/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link EAP225-Outdoor v1 is an AC1200 (802.11ac Wave-2) pole or wall mount access point. Debricking requires access to the serial port, which is non-trivial. Device specifications: * SoC: QCA9563 @ 775MHz * Memory: 128MiB DDR2 * Flash: 16MiB SPI-NOR * Wireless 2.4GHz (SoC): b/g/n 2x2 * Wireless 5GHz (QCA9886): a/n/ac 2x2 MU-MIMO * Ethernet (AR8033): 1× 1GbE, PoE Flashing instructions: * ssh into target device with recent (>= v1.6.0) firmware * run `cliclientd stopcs` on target device * upload factory image via web interface Debricking: To recover the device, you need access to the serial port. This requires fine soldering to test points, or the use of probe pins. * Open the case and solder wires to the test points: RXD, TXD and TPGND4 * Use a 3.3V UART, 115200 baud, 8n1 * Interrupt bootloader by holding ctrl+B during boot * upload initramfs via built-in tftp client and perform sysupgrade setenv ipaddr 192.168.1.1 # default, change as required setenv serverip 192.168.1.10 # default, change as required tftp 0x80800000 initramfs.bin bootelf $fileaddr MAC addresses: MAC address (as on device label) is stored in device info partition at an offset of 8 bytes. ath9k device has same address as ethernet, ath10k uses address incremented by 1. From stock ifconfig: ath0 Link encap:Ethernet HWaddr D8:...:2E ath10 Link encap:Ethernet HWaddr D8:...:2F br0 Link encap:Ethernet HWaddr D8:...:2E eth0 Link encap:Ethernet HWaddr D8:...:2E Tested by forum user PolynomialDivision on firmware v1.7.0. UART access tested by forum user arinc9. Signed-off-by: Sander Vanheule <sander@svanheule.net>
* ath79: support for TP-Link EAP245 v1Sander Vanheule2020-11-235-5/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link EAP245 v1 is an AC1750 (802.11ac Wave-1) ceiling mount access point. Device specifications: * SoC: QCA9563 @ 775MHz * RAM: 128MiB DDR2 * Flash: 16MiB SPI-NOR * Wireless 2.4GHz (SoC): b/g/n, 3x3 * Wireless 5Ghz (QCA9880): a/n/ac, 3x3 * Ethernet (AR8033): 1× 1GbE, 802.3at PoE Flashing instructions: * Upgrade the device to firmware v1.4.0 if necessary * Exploit the user management page in the web interface to start telnetd by changing the username to `;/usr/sbin/telnetd -l/bin/sh&`. * Immediately change the malformed username back to something valid (e.g. 'admin') to make ssh work again. * Use the root shell via telnet to make /tmp world writeable (chmod 777) * Extract /usr/bin/uclited from the device via ssh and apply the binary patch listed below. The patch is required to prevent `uclited -u` in the last step from crashing. * Copy the patched uclited programme back to the device at /tmp/uclited (via ssh) * Upload the factory image to /tmp/upgrade.bin (via ssh) * Run `chmod +x /tmp/uclited && /tmp/uclited -u` to install OpenWrt. --- xxd uclited +++ xxd uclited-patched @@ -53796,7 +53796,7 @@ 000d2240: 8c44 0000 0320 f809 0000 0000 8fbc 0010 .D... .......... 000d2250: 8fa6 0a4c 02c0 2821 8f82 87b8 0000 0000 ...L..(!........ -000d2260: 8c44 0000 0c13 45e0 27a7 0018 8fbc 0010 .D....E.'....... +000d2260: 8c44 0000 2402 0000 0000 0000 8fbc 0010 .D..$........... 000d2270: 1040 001d 0000 1821 8f99 8374 3c04 0058 .@.....!...t<..X 000d2280: 3c05 0056 2484 a898 24a5 9a30 0320 f809 <..V$...$..0. .. Debricking: * Serial port can be soldered on PCB J3 (1: TXD, 2: RXD, 3: GND, 4: VCC) * Bridge unpopulated resistors R225 (TXD) and R237 (RXD). Do NOT bridge R230. * Use 3.3V, 115200 baud, 8n1 * Interrupt bootloader by holding CTRL+B during boot * tftp initramfs to flash via the LuCI web interface setenv ipaddr 192.168.1.1 # default, change as required setenv serverip 192.168.1.10 # default, change as required tftp 0x80800000 initramfs.bin bootelf $fileaddr Tested on the EAP245 v1 running the latest firmware (v1.4.0). The binary patch might not apply to uclited from other firmware versions. EAP245 v1 device support was originally developed and maintained by Julien Dusser out-of-tree. This patch and "ath79: prepare for 1-port TP-Link EAP2x5 devices" are based on that work. Signed-off-by: Sander Vanheule <sander@svanheule.net>
* ath79: prepare for 1-port TP-Link EAP2x5 devicesSander Vanheule2020-11-231-0/+135
| | | | | | | | | | | | | | | | | | | | | | | | TP-Link has developed a number of access points based on the AP152 reference board. In the EAP-series of 802.11ac access points, this includes the following devices with one ethernet port: * EAP225 v1/v2 * EAP225 v3 * EAP225-Outdoor v1 * EAP245 v1 Since the only differences between these devices are the ath10k wireless radios and LEDs, a common base is provided for the overlapping support requirements. Hardware commonalities: * SoC: QCA9563-AL3A MIPS 74kc v5.0 @ 775MHz, AHB @ 258MHz * RAM: 128MiB DDR2 @ 650MHz * Flash: 16MiB SPI NOR * Wi-Fi 2.4GHz: provided by SoC * Wi-Fi 5Ghz: ath10k chip on PCIe * Ethernet: AR8033-AL1A, one 1GbE port (802.3at PoE) Signed-off-by: Sander Vanheule <sander@svanheule.net>
* ath79: add QCA956x SERDES init workaroundJulien Dusser2020-11-231-0/+76
| | | | | | | | | | | | | | | | | | | | | | | This commit add a workaround for non working SGMII link observed on some QCA956x SoCs. The workaround originates part from the U-Boot source code from QCA, part from the implementation from TP-Link found in the GPL tarball for the EAP245v1. Extends commit 0d416a8d3b990e3b78628f0e7546527709c877f7 for QCA956x. Note that reset is the same on QCA955x and QCA956x, same register offset and values. Auto calibration is done on u-boot, but always fall back to default value 0x7. Add a DTS entry serdes-cal in case a device require another value. Signed-off-by: Julien Dusser <julien.dusser@free.fr> [Sander Vanheule: Minor code style fixes, Remove hunk adding qca956x-serdes-fixup to a missing DTS, Remove variable err that was only assigned, Rename function to sgmii_serdes_init, Lower priority of serdes call message to pr_debug] Signed-off-by: Sander Vanheule <sander@svanheule.net>
* ath79: ensure QCA956x gmac0 mux selects sgmiiSander Vanheule2020-11-231-0/+35
| | | | | | | | | Some bootloaders do not set up gmac0 properly, leaving it disconnected from the sgmii interface. If the user specificies phy-mode sgmii, then use the gmac-config/device node to ensure the mux is configured correctly. Signed-off-by: Sander Vanheule <sander@svanheule.net>
* mvebu: add initial support for Globalscale ESPRESSObin-UltraVladimir Vid2020-11-236-1/+260
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for Globalscale ESPRESSObin-Ultra. Device uses the same Armada-3720 SoC with extended hardware support. - SoC: Armada-3720 - RAM: 1 GB DDR4 - Flash: 4MB SPI NOR (mx25u3235f) + 8 GB eMMC - Ethernet: Topaz 6341 88e6341 (4x GB LAN + 1x WAN with 30W PoE) - WiFI: 2x2 802.11ac Wi-Fi marvell (88w8997 PCIe+USB) - 1x USB 2.0 port - 1x USB 3.0 port - 1x microSD slot - 1x mini-PCIe slot (USB [with nano-sim slot]) - 1x mini-USB debug UART - 1x RTC Clock and battery - 1x reset button - 1x power button - 4x LED (RGBY) - Optional 1x M.2 2280 slot ** Installation ** Copy dtb from build_dir to bin/ and run tftpserver there: $ cp ./build_dir/target-aarch64_cortex-a53_musl/linux-mvebu_cortexa53/ linux-5.4.65/arch/arm64/boot/dts/marvell/armada-3720-espressobin-ultra.dtb bin/targets/mvebu/cortexa53/ $ in.tftpd -L -s bin/targets/mvebu/cortexa53/ Connect to the device UART via microUSB port on the back side and power on the device. Power on the device and hit any key to stop the autoboot. Set serverip (host IP) and ipaddr (any free IP address on the same subnet), e.g: $ setenv serverip 192.168.1.10 # Host $ setenv ipaddr 192.168.1.15 # Device Ping server to confirm network is working: $ ping $serverip Using neta@30000 device host 192.168.1.15 is alive Tftpboot the firmware: $ tftpboot $kernel_addr_r openwrt-mvebu-cortexa53-globalscale_espressobin-ultra-initramfs-kernel.bin $ tftpboot $fdt_addr_r armada-3720-espressobin-ultra.dtb Set the console and boot the image: $ setenv bootargs $console $ booti $kernel_addr_r - $fdt_addr_r Once the initramfs is booted, transfer openwrt-mvebu-cortexa53-globalscale_espressobin-ultra-squashfs-sdcard.img.gz to /tmp dir on the device. Gunzip and dd the image: $ gunzip /tmp/openwrt-mvebu-cortexa53-globalscale_espressobin-ultra-squashfs-sdcard.img.gz $ dd if=/tmp/openwrt-mvebu-cortexa53-globalscale_espressobin-ultra-squashfs-sdcard.img of=/dev/mmcblk0 && sync Reboot the device. Signed-off-by: Vladimir Vid <vladimir.vid@sartura.hr>
* hostapd: fix patch offsetLeon M. George2020-11-231-1/+1
| | | | | | | Fixes the offset of the patch added in 93bbd998aa696a ("hostapd: enter DFS state if no available channel is found"). Signed-off-by: Leon M. George <leon@georgemail.eu>
* layerscape: enable spi-uart in LS1012A-FRDMPawel Dembicki2020-11-234-1/+76
| | | | | | | | | This patch add missing support of SC16IS740 serial controller, installed on LS1012A-FRDM board. It was required to change RCW bits, because SPI was disabled by default. Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* layerscape: add i2c peripherials on LS1012A-RDBPawel Dembicki2020-11-234-0/+141
| | | | | | | | | | | | LS1012A-RDB equipped in some i2c devices: - 3x GPIO Expander: PCAL9555A (NXP) - Gyro: FXAS21002 (NXP) - Accelerometer: FXOS8700 (NXP) - Current & Power Monitor: INA220 (TI) This patch enables i2c peripherials installed on LS1012A-RDB. Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* kernel: iio: add fxas21002c driver supportPawel Dembicki2020-11-231-0/+50
| | | | | | This patch adds kernel modules for Freescale FXAS21002C 3-axis gyro driver. Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* layerscape: make initramfs kernel fit packedPawel Dembicki2020-11-237-9/+7
| | | | | | | | This will make developing process easier, because dtb will be included into image. Not need to enable initramfs image by default. Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* ramips: phy: at803x: Select SFP interface mode that both sides supports.René van Dorst2020-11-231-16/+35
| | | | | | | | | | | | | | | | Currently sfp_select_interface() return the fastest interface that the sfp modules supports even if the phy don't support that mode. For example an GPON module that support both 2500basex and 1000basex. Currently sfp_select_interface() picks 2500basex instead of 1000basex. So limit the interfaces which both sides supports before calling sfp_select_interface() or return an error if we don't have match. Reviewed-by: John Thomson <git@johnthomson.fastmail.com.au> Tested-by: Braihan Cantera <bcanterac@gmail.com> [MikroTik RB760iGS + Nokia G-010S-A 3FE46541AA SFP] Tested-by: John Thomson <git@johnthomson.fastmail.com.au> [Mikrotik rb760igs + SFP SM/LC, SFP base1000T, SFP+ passive DAC] Signed-off-by: René van Dorst <opensource@vdorst.com>
* linux-firmware: update to 20201118John Audia2020-11-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git log --pretty=oneline --abbrev-commit 20201022..20201118 2ea8667 (tag: 20201118) rtlwifi: v88.2 firmware files for RTL8192CU e850cf3 Merge https://github.com/rjliao-qca/qca-btfw into main 65370db rtw88: RTL8822C: Update firmware to v9.9.4 e371b7c Revert "rtw88: RTL8822C: Update firmware to v9.9.4" 51d2c81 vpdma: Move firmware to ti directory d7a24c9 Merge branch 'master' of https://github.com/shahasit/video-linux-firmware into main 9ee1543 Merge branch 'master' of https://github.com/shahasit/bt-linux-firmware into main 3bcc4c1 amdgpu: update picasso VCN firmware b6b4542 amdgpu: update raven2 VCN firmware 79aa335 amdgpu: update raven VCN firmware c93834e rtw88: RTL8822C: Update firmware to v9.9.4 3ef6c93 rtl_bt: Update RTL8822C BT(USB I/F) FW to 0x099A_281A b503c96 Merge branch 'ath10k-20201023' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/linux-firmware into main 463fdea QCA: Update Bluetooth firmware for QCA6390 8a46c32 qcom : updated venus firmware files for v5.4 d7793e5 QCA : Fixed BT SSR due to command timeout / IO fatal error d842d8c ath11k: QCA6390 hw2.0: add to WLAN.HST.1.0.1-01740-QCAHSTSWPLZ_V2_TO_X86-1 8fb1a6e ath11k: QCA6390 hw2.0: add board-2.bin 34cb5fc ath11k: IPQ8074 hw2.0: add to WLAN.HK.2.1.0.1-01238-QCAHKSWPL_SILICONZ-2 c0a8efd ath11k: IPQ8074 hw2.0: add board-2.bin ac7f5e9 ath11k: IPQ6018 hw1.0: add to WLAN.HK.2.1.0.1-01238-QCAHKSWPL_SILICONZ-2 2594e51 ath11k: IPQ6018 hw1.0: add board-2.bin d8f10d4 ath10k: QCA6174 hw3.0: add firmware-sdio-6.bin version WLAN.RMH.4.4.1-00077 6652297 ath10k: QCA9984 hw1.0: update firmware-5.bin to 10.4-3.9.0.2-00131 36059aa ath10k: QCA9888 hw2.0: update firmware-5.bin to 10.4-3.9.0.2-00131 1e5629d ath10k: QCA6174 hw3.0: update board-2.bin e315d1a ath10k: QCA6174 hw3.0: update firmware-6.bin to WLAN.RM.4.4.1-00157-QCARMSWPZ-1 Signed-off-by: John Audia <graysky@archlinux.us>
* kernel: mtd: parser: cmdline: Fix parsing of part-names with colonsSven Eckelmann2020-11-231-0/+63
| | | | | | | | | | | | | | | | | | | | | | Some devices (especially QCA ones) are already using hardcoded partition names with colons in it. The OpenMesh A62 for example provides following mtd relevant information via cmdline: root=31:11 mtdparts=spi0.0:256k(0:SBL1),128k(0:MIBIB),384k(0:QSEE),64k(0:CDT),64k(0:DDRPARAMS),64k(0:APPSBLENV),512k(0:APPSBL),64k(0:ART),64k(custom),64k(0:KEYS),0x002b0000(kernel),0x00c80000(rootfs),15552k(inactive) rootfsname=rootfs rootwait The change to split only on the last colon between mtd-id and partitions will cause newpart to see following string for the first partition: KEYS),0x002b0000(kernel),0x00c80000(rootfs),15552k(inactive) Such a partition list cannot be parsed and thus the device fails to boot. Avoid this behavior by making sure that the start of the first part-name ("(") will also be the last byte the mtd-id split algorithm is using for its colon search. Fixes: d6a9a92e3217 ("kernel: bump 5.4 to 5.4.69") Signed-off-by: Sven Eckelmann <sven@narfation.org>
* ipq40xx: DTS style updates for OpenMesh devicesSven Eckelmann2020-11-233-47/+18
| | | | | | | | | | | | | | | | | The OpenMesh related files were not updated since a while and the new coding style requirements weren't integrated. This can cause problems for new devices when an author uses these files as starting point. * use SPDX-License-Identifiers instead of full license texts * drop linux,default-trigger with value default-off for LEDs * led nodes with label "abc:xyz" should have name "xyz_abc" * led DT labels for "xyz_abc" should be "led_xyz_abc" * "m25p80@0" flash node should be renamed to "flash@0" * drop unnecessary empty lines Signed-off-by: Sven Eckelmann <sven@narfation.org> [minor commit title and message adjustments] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: move the squashfs feature to the parent targetRui Salvaterra2020-11-235-5/+4
| | | | | | | All subtargets define it. Move it to the parent target and remove it from all subtargets. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* netifd: update to the latest versionFelix Fietkau2020-11-231-3/+3
| | | | | | | 213748a9bcd9 system-linux: implement full device present state management for force-external devices 3abe1fc87151 system-linux: add retry for adding member devices to a bridge Signed-off-by: Felix Fietkau <nbd@nbd.name>
* imagebuilder: fix main entry makefilePaulo Machado2020-11-231-1/+1
| | | | | | | Remove a syntax error from ImageBuider Makefile Acked-by: Paul Spooren <mail@aparcar.org> Signed-off-by: Paulo Machado <pffmachado@yahoo.com>
* hostapd: enable the epoll-based event loopRui Salvaterra2020-11-238-8/+8
| | | | | | Hostapd supports epoll() since 2014. Let's enable it for better performance. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* uhttpd: update to git HEADDaniel Golle2020-11-231-4/+4
| | | | | | f53a639 ubus: fix uhttpd crash Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ramips: add support for TP-Link MR6400 v4Filip Moc2020-11-234-0/+121
| | | | | | | | | | | | | | | | | | | | | | | You can flash via tftp recovery: - serve tftp-recovery image as /tp_recovery.bin on 192.168.0.225/24 - connect to any ethernet port - power on the device while holding the reset button - wait at least 8 seconds before releasing reset button Flashing via OEM web interface does not work. LTE module does not support DHCP so it must be configured via QMI. Hardware Specification (v4.0 EU): - SoC: MT7628NN - Flash: Winbond W25Q64JVS (8MiB) - RAM: ESMT M14D5121632A (64MiB) - Wireless: SoC platform only (2.4GHz b/g/n, 2x internal antenna) - Ethernet: 1NIC (4x100M) - WWAN: TP-LINK LTE MODULE (2x external detachable antenna) - Power: DC 9V 0.85A Signed-off-by: Filip Moc <lede@moc6.cz>