Commit Graph

44 Commits

Author SHA1 Message Date
Adrian Schmutzler aca1223f06 bsp: use mainline/QCA driver and firmware for ath10k WiFi
OpenWrt offers two variants of ath10k driver and firmware, the
"normal" mainline/QCA variant and the "CT" variant [1]
developed as fork by Candela Technologies.
Both deviate from each other with respect to their feature set,
level of support and system impact (i.e. memory consumption).

Since the 19.07 release, OpenWrt has made the "CT" variant its
default for supporting (almost) all ath10k chips. [2]
However, for this firmware the CT driver/firmware introduces a number
of (potential) drawbacks:

- CT memory consumption seems to be higher. (This still needs to be
  verified for the new kmod-ath10k-ct-smallbuffers variant.) This
  is particularly a problem on several ath10k devices with 64 MB RAM,
  where the devices run into OOM regularly (i.e. C60 v1/v2). [3]
- Though CT has active support, it is still just a fork effectively
  maintained by one person.
- With CT driver/firmware there are frequent reports that the
  combination of AP and 802.11s is not working. [4] While this issue
  couldn't be reproduced in recent tests, it still is explicitly
  not supported, and there is no interest to change that at the
  moment. [5]

Due to these reasons, it seems more appropriate for us to use the
mainline/QCA variant of ath10k driver and firmwares. This patch
applies that to all affected devices.

Note that currently the mainline driver also benefits from a local
patch in OpenWrt that reduces the memory footprint. This patch has
been removed in master, so we will need to keep it locally when using
a 20.xx OpenWrt release. [6]

[1] https://github.com/greearb/ath10k-ct.git
[2] 61b5b4971e
[3] 1ac627024d
[4] https://github.com/freifunk-berlin/firmware/issues/696
    https://forum.openwrt.org/t/ath10k-ct-and-802-11s-mesh-not-working-on-archer-c7/13877
[5] https://github.com/openwrt/openwrt/pull/2341#issuecomment-580904873
[6] 1e27befe63

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Reviewed-by: Fabian Bläse <fabian@blaese.de>
Tested-by: Fabian Bläse <fabian@blaese.de>
2020-04-02 13:06:40 +02:00
Fabian Bläse 44e9376a37 kernel: Reduce memory usage by reducing squashfs fragment cache size
Reducing the amount of squashfs fragments cached in memory might reduce
memory usage, especially for systems with very little memory and
big squashfs blocksizes.

Because only ar71xx-tiny contains 32/4 (memory/flash) devices, the
reduction of the fragment cache is only applied to the ar71xx bsp.

Signed-off-by: Fabian Bläse <fabian@blaese.de>
Reviewed-by: Robert Langhammer <rlanghammer@web.de>
Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-04-02 13:06:31 +02:00
Adrian Schmutzler cabb8eca74 bsp: remove rssileds package for all devices
The rssileds package has never been working for our firmware, and
most probably there is no way to make it work with the current
frequent status changes of WiFi interfaces.

So, the package is just wasted space on the flash, particularly for
the "tiny" TP-Link WA850RE v1. Despite, it has a dependency on
libiwinfo, which we plan to remove as well.

Consequently, this patch removes the package for all devices. As the
package is selected per-device, we also have to remove it per-device.

The choice of devices is based on which of them includes the package
in OpenWrt 19.07.2.

The script for disabling rssileds is kept as well, as the manual
removal of the package is prone to have it overlooked for newly added
devices or when OpenWrt changes the setting for existing ones.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Reviewed-by: Fabian Bläse <fabian@blaese.de>
2020-03-15 22:04:52 +01:00
Fabian Bläse 7046d5b563 build: remove iwinfo and libiwinfo to save space
The iwinfo utility is not used anywhere, so it can be removed.
This saves an additional xy KiB of space in the compressed binary,
which allows building our firmware with OpenWRT 19.07.2 for
non-LZMA 4 MiB flash devices.

Signed-off-by: Fabian Bläse <fabian@blaese.de>
Reviewed-by: Robert Langhammer <rlanghammer@web.de>
2020-03-15 22:04:49 +01:00
Fabian Bläse 99cd4f4027 ar71xx: Use OpenWRT default for squashfs blocksize
Previously, the squashfs blocksize has been increased to 512 bytes,
to increase compression efficiency, because the OpenWRT default blocksize
has been only 256 bytes.

Since OpenWRT 18.06 the blocksize has been increased to 1024 bytes for
devices with a small flash. Because increased blocksize gives us additional
headroom for devices with only 4 MiB flash, our own 512 byte override is removed.

The default blocksize for the other targets in our firmware is 256, which is lower
than our current override. Therefore it is not changed in this commit.

Signed-off-by: Fabian Bläse <fabian@blaese.de>
Reviewed-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Reviewed-by: Robert Langhammer <rlanghammer@web.de>
2020-03-15 22:04:47 +01:00
Fabian Bläse 2184d226ad Replace wpad-mini with hostapd-mini
A wpa_supplicant is not necessary for our firmware,
because it does not connect to encrypted WiFi networks.

Therefore it is possible to use the smaller hostapd-mini
instead of the combined wpad-mini packages.

Some user might use an unsupported setup, where an encrypted
wifi is used for wan uplink. This is not possible anymore.

Signed-off-by: Fabian Bläse <fabian@blaese.de>
Reviewed-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Reviewed-by: Robert Langhammer <rlanghammer@web.de>
2020-03-15 22:04:46 +01:00
Fabian Bläse 68f9bae58f bsp: Adjust configs for updated OpenWRT defaults
The bsp .config only contain configuration, which differs from
the OpenWRT defaults. With OpenWRT 19.07, some defaults were
changed, so overriding them isn't necessary anymore.

This includes the switch from ath10k to ath10k-ct, which is now
default in OpenWRT. Our previous setup used the ct driver, but the
non-ct firmware for some devices. All devices are now reverted to
the OpenWRT default, which uses the ct variant for both the firmware
and the driver. According to some reports, the ct driver breaks
802.11s mesh for some devices, therefore these changes should be tested
before release if possible.

Signed-off-by: Fabian Bläse <fabian@blaese.de>
Reviewed-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-03-15 22:04:42 +01:00
Fabian Bläse bcec4e6a20 bsp/ar71xx: Build ath10k-firmware-qca9888-ct as module
The qca9888-ct firmware is used as a device package for the
C60v1 and C60v2. It doesn't get built however, as it isn't selected
anywhere.

To be able to use the firmware, it is now configured to be built as a module.

Fixes: #129
Signed-off-by: Fabian Bläse <fabian@blaese.de>
Reviewed-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2019-12-10 10:03:30 +01:00
Adrian Schmutzler 1e963f5f39 Add support for Archer C60 v2
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Reviewed-by: Christian Dresel <fff@chrisi01.de>
2019-11-19 22:21:42 +01:00
Fabian Bläse 3b746e022e Add support for TP-Link Archer C7 v5
Signed-off-by: Fabian Bläse <fabian@blaese.de>
[freifunk@adrianschmutzler.de: Added Portorder]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Reviewed-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2019-06-22 21:55:17 +02:00
Adrian Schmutzler f6b4fc26dc bsp: Remove explicit pull of LED trigger packages
These packages are pulled automatically by OpenWrt where needed.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Reviewed-by: Fabian Bläse <fabian@blaese.de>
Reviewed-by: Robert Langhammer <rlanghammer@web.de>
2019-06-15 12:32:17 +02:00
Adrian Schmutzler a60557e3f1 bsp: Remove packages for traffic shaping
We use simple-tc for traffic shaping. If those packages are
actually dependencies of other packages, they should be added
there.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Reviewed-by: Fabian Bläse <fabian@blaese.de>
Reviewed-by: Robert Langhammer <rlanghammer@web.de>
2019-06-15 12:31:58 +02:00
Adrian Schmutzler 6c76e14b51 bsp: Remove unused package nls-base
Looks like we do not need this package.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Reviewed-by: Fabian Bläse <fabian@blaese.de>
Reviewed-by: Robert Langhammer <rlanghammer@web.de>
2019-06-15 12:31:31 +02:00
Adrian Schmutzler cbc2f7159f bsp: Remove uboot-envtools for 4/32 devices
In OpenWrt 18.06.2, tiny devices have increased in size so that
another packages removal is requires.

Fixes #122.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Reviewed-by: Tim Niemeyer <tim@tn-x.org>
Reviewed-by: Christian Dresel <fff@chrisi01.de>
2019-02-10 22:45:54 +01:00
Adrian Schmutzler 3ab75a084b Add support for TP-Link CPE210 v3
This device is still in PR state in OpenWrt, since ar71xx target
is deprecated and thus lacking reviewers.
It worked nicely for me anyway, so I include the current state of
the PR (has not changed for months).

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Reviewed-by: Christian Dresel <fff@chrisi01.de>
2019-01-29 22:24:17 +01:00
Adrian Schmutzler 8f322c253a Add support for TP-Link CPE210 v2
With our dynamic resetting of WiFi interfaces, the rssileds
of OpenWrt do not work correctly. This disables them as a
workaround, since they otherwise create about 20 % CPU load.

Since the MACH file for all CPE210/510 is the same, no adjustment
of the OpenWrt-tiny patch is needed.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Reviewed-by: Christian Dresel <fff@chrisi01.de>
2019-01-29 22:23:46 +01:00
Adrian Schmutzler d0d6f5335f Add support for Archer C60 v1
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Reviewed-by: Fabian Bläse <fabian@blaese.de>
2019-01-29 00:57:33 +01:00
Adrian Schmutzler 5f357277b1 bsp: Reorder ar71xx files
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Reviewed-by: Fabian Bläse <fabian@blaese.de>
2019-01-29 00:57:11 +01:00
Fabian Bläse 87bbed1306 Remove USB support for tl-mr3020
USB support is removed because of very limited flash.
This allows building for tl-mr3020 again.

USB support has no known use case for this firmware.
Most usb devices would require additional drivers anyway.

Signed-off-by: Fabian Bläse <fabian@blaese.de>
Reviewed-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2018-12-02 13:56:13 +01:00
Tim Niemeyer 6b4b515b2a OpenWrt: Save space
- make USB optional
- remove uboot-env tools for mr3020

Signed-off-by: Tim Niemeyer <tim@tn-x.org>
[fabian@blaese.de: Don't strip libs]
Signed-off-by: Fabian Bläse <fabian@blaese.de>
Reviewed-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2018-10-24 18:33:48 +02:00
Tim Niemeyer 65d6a2c505 OpenWrt: Use the tiny target and update names
Signed-off-by: Tim Niemeyer <tim@tn-x.org>
[fabian@blaese.de: Add missing ATH79 MACHs]
Signed-off-by: Fabian Bläse <fabian@blaese.de>
Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2018-10-24 18:03:55 +02:00
Christian Dresel 7b0add8c70 Add support for Unifi AC Mesh
This is the correct firmware for the Unifi AC Mesh I have only
tested at Unifi AC Mesh and not at Unifi AC lite But my information
is, that both have the same Hardware

Signed-off-by: Christian Dresel <fff@chrisi01.de>
Reviewed-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-12-23 13:14:06 +01:00
Adrian Schmutzler 915c6f063e Add TL-WR1043N v5
This is based on the LEDE pull request as on 2017-10-17.

Tested successfully on device (including flashing factory
image, no TFTP).

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Tested-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Reviewed-by: Tim Niemeyer <tim@tn-x.org>
2017-11-03 22:47:53 +01:00
Fabian Bläse d788f843b6 Support batman-adv meshing over 802.11s
Signed-off-by: Fabian Bläse <fabian@blaese.de>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Reviewed-by: Christian Dresel <fff@chrisi01.de>
2017-10-16 21:14:11 +02:00
Tim Niemeyer 4d4aa50ffb Add support for TP-Link C25
Signed-off-by: Tim Niemeyer <tim@tn-x.org>
Reviewed-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Tested-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-08-20 13:58:36 +02:00
Tim Niemeyer 4d3f09ca3a buildscript: update lede to 17.01.2
Signed-off-by: Tim Niemeyer <tim@tn-x.org>
Reviewed-by: Tobias Klaus <tk+ff@meskal.net>
Tested-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2017-07-28 07:33:10 +02:00
Adrian Schmutzler aa22b8809c Add support for WR841N v12
This patch adds support for the WR841N v12. For TFTP recovery, the
image name has to be wr841nv11_tp_recovery.bin (with 11, not 12)!

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Tested-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Reviewed-by: Tobias Klaus <tk+ff@meskal.net>
2017-06-02 23:20:07 +02:00
Fabian Bläse da71f7f339 Add support for tl-wa901nd-v2
Signed-off-by: Fabian Blaese <fabian@blaese.de>
Reviewed-by: Tim Niemeyer <tim@tn-x.org>
Reviewed-by: Tobias Klaus <tk+ff@meskal.net>
2017-05-30 18:29:01 +02:00
Tim Niemeyer 7fb918403e bsp/ar71xx: use ath10k-ct for archer c7
This enables ad-hoc mode for 5 GHz wireless.

Fixes #2

Signed-off-by: Tim Niemeyer <tim@tn-x.org>
Reviewed-by: Christian Dresel <fff@chrisi01.de>
Reviewed-by: Steffen Pankratz <kratz00@gmx.de>
2017-04-08 11:58:04 +02:00
Christian Dresel 9cd2738b36 Add support for wr1043 v4
Dieses Patch fügt den Support für den WR1043 v4 hinzu. Dieses Patch
baut auf den LEDE Patch auf und darf erst nach dem LEDE Patch
applied werden.

Signed-off-by: Christian Dresel <fff@chrisi01.de>
Reviewed-by: Jan Kraus <mayosemmel@gmail.com>
Reviewed-by: Tim Niemeyer <tim@tn-x.org>
2017-02-18 13:55:42 +01:00
Tim Niemeyer 33b0fb5e81 bsp: move archerc7 to ar71xx
Signed-off-by: Tim Niemeyer <tim@tn-x.org>
Reviewed-by: Christian Dresel <fff@chrisi01.de>
Reviewed-by: Jan Kraus <mayosemmel@gmail.com>
2017-02-18 13:55:34 +01:00
Tim Niemeyer b793d5a01c bsp/ar71xx/.config: reconfigure for smaller images
Signed-off-by: Tim Niemeyer <tim@tn-x.org>
Reviewed-by: Christian Dresel <fff@chrisi01.de>
Reviewed-by: Jan Kraus <mayosemmel@gmail.com>
2017-02-18 13:55:30 +01:00
Tim Niemeyer b2427e605d ar71xx: use per device images
Signed-off-by: Tim Niemeyer <tim@tn-x.org>
Reviewed-by: Christian Dresel <fff@chrisi01.de>
Reviewed-by: Jan Kraus <mayosemmel@gmail.com>
2017-02-18 13:55:26 +01:00
Tim Niemeyer 65f1c3e326 bsp/*/.config: refresh configs
Signed-off-by: Tim Niemeyer <tim@tn-x.org>
Reviewed-by: Christian Dresel <fff@chrisi01.de>
Reviewed-by: Jan Kraus <mayosemmel@gmail.com>
2017-02-18 13:55:09 +01:00
Tim Niemeyer 9be699dbf9 bsp/*/.config: remove obsolete config parts
Signed-off-by: Tim Niemeyer <tim@tn-x.org>
Reviewed-by: Christian Dresel <fff@chrisi01.de>
Reviewed-by: Tobias Klaus <tk+ff@meskal.net>
2017-02-16 21:31:30 +01:00
Tim Niemeyer 2bd50f3b87 fff-wireless: new package to configure wifi
Signed-off-by: Tim Niemeyer <tim@tn-x.org>
Reviewed-by: Jan Kraus <mayosemmel@gmail.com>
Reviewed-by: Christian Dresel <fff@chrisi01.de>
2016-06-11 09:41:14 +02:00
Tim Niemeyer af80123aa2 fff-nodewatcher: remove busybox httpd
- remove httpd from .config
- remove httpd startup from rc.local
- add crawldata path creation in nodewatcher

Signed-off-by: Tim Niemeyer <tim@tn-x.org>
Reviewed-by: Tobias Klaus <tk+ff@meskal.net>
Tested-by: Christian Dresel <fff@chrisi01.de>
Reviewed-by: Christian Dresel <fff@chrisi01.de>
Reviewed-by: Jan Kraus <mayosemmel@gmail.com>
2016-04-05 23:27:34 +02:00
Tim Niemeyer ec380f7918 bsp/*/.config: refresh configs
Signed-off-by: Tim Niemeyer <tim@tn-x.org>
Reviewed-by: Tobias Klaus <tk+ff@meskal.net>
Tested-by: Christian Dresel <fff@chrisi01.de>
Reviewed-by: Christian Dresel <fff@chrisi01.de>
Reviewed-by: Jan Kraus <mayosemmel@gmail.com>
2016-04-05 23:27:32 +02:00
Jan Kraus da1199a55b added buildrelease() for release process
also changed image comparing at sysupgrade to sha256 and added the related tool

Signed-off-by: Jan Kraus <mayosemmel@gmail.com>

Reviewed-by: Tim Niemeyer <tim@tn-x.org>
Reviewed-by: Tobias Klaus <tk+ff@meskal.net>
2016-04-05 23:26:49 +02:00
Tim Niemeyer 40d33f9e7c bsp/*/.config: update
Signed-off-by: Tim Niemeyer <tim.niemeyer@mastersword.de>
Reviewed-by: Steffen Pankratz <kratz00@gmx.de>
2015-12-30 16:14:01 +01:00
Tim Niemeyer aad3ba8403 nodewatcher: move to separate package
- remove template parameter NETMON_IP (it's always the same)
- add new fff-nodewatcher package
- move nodewatcher, configurator, syncHostname to fff-nodewatcher
- fff-base selects fff-nodewatcher

Signed-off-by: Tim Niemeyer <tim.niemeyer@mastersword.de>
Reviewed-by: Steffen Pankratz <kratz00@gmx.de>
2015-12-30 08:01:32 +01:00
Tim Niemeyer 95584de639 bsp/default: add micrond
With micrond it is possible that every package has its own crontab.

Signed-off-by: Tim Niemeyer <tim.niemeyer@mastersword.de>
Reviewed-by: Steffen Pankratz <kratz00@gmx.de>
2015-12-30 08:01:32 +01:00
Tim Niemeyer 2044316349 bsp/*/.config: regenerate using buildscript
Signed-off-by: Tim Niemeyer <tim.niemeyer@mastersword.de>
Reviewed-by: Steffen Pankratz <kratz00@gmx.de>
2015-12-10 14:17:32 +01:00
Tim Niemeyer 5fc79ebbf2 bsp: merge all 2.4GHz only ar71xx to one bsp
Signed-off-by: Tim Niemeyer <tim.niemeyer@mastersword.de>
Reviewed-by: Steffen Pankratz <kratz00@gmx.de>
2015-12-10 14:17:32 +01:00