Compare commits
19 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
a10c167f86 | ||
|
88dff7e275 | ||
|
66678f2c3f | ||
|
3b85b0373f | ||
|
29903ab926 | ||
|
23adc4a294 | ||
|
f00bb052ff | ||
|
51fa17e446 | ||
|
03b80c073c | ||
|
fef26edbfd | ||
|
b5d4d54ddd | ||
|
028521e8d5 | ||
|
535ae164e2 | ||
|
3058a3339d | ||
|
fbceaa6d21 | ||
|
f7ae70cfc6 | ||
|
fb72b8bb28 | ||
|
2c1b0dc117 | ||
|
722055e62e |
@ -78,6 +78,7 @@ Releases
|
|||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
|
releases/v2014.3.1
|
||||||
releases/v2014.3
|
releases/v2014.3
|
||||||
|
|
||||||
|
|
||||||
|
40
docs/releases/v2014.3.1.rst
Normal file
40
docs/releases/v2014.3.1.rst
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
Gluon 2014.3.1
|
||||||
|
==============
|
||||||
|
|
||||||
|
This is a bugfix release.
|
||||||
|
|
||||||
|
Bugfixes
|
||||||
|
~~~~~~~~
|
||||||
|
|
||||||
|
* gluon-announced zombie process bug
|
||||||
|
|
||||||
|
gluon-announced was creating zombie processes when answering requests, causing issues
|
||||||
|
with the new status page which is currently in development.
|
||||||
|
|
||||||
|
* fastd peers removed from ``site.conf`` weren't removed correctly from the fastd configuration
|
||||||
|
on firmware upgrades
|
||||||
|
* Expert Mode: setting a password will not remove SSH keys anymore
|
||||||
|
* alfred has been updated to 2014.3.0
|
||||||
|
|
||||||
|
We hope this solves the alfred stability issues noted by several people.
|
||||||
|
|
||||||
|
* ``gluon-ebtables-filter-ra-dhcp`` and ``gluon-ebtables-filter-multicast`` have been fixed
|
||||||
|
to allow DHCPv6 to work
|
||||||
|
|
||||||
|
* Another ath9k patch has been added, which might further improve WLAN stability and performance
|
||||||
|
|
||||||
|
New features
|
||||||
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
|
* Support for static WAN setups instead of (DHCP/Router Advertisement) has been added;
|
||||||
|
configuration is possible on the port config page of the Expert Mode.
|
||||||
|
|
||||||
|
Site changes
|
||||||
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
|
* ``site.conf``
|
||||||
|
|
||||||
|
- The new boolean option ``fastd_mesh_vpn.enabled`` allows
|
||||||
|
enabling the mesh VPN by default. This value is optional;
|
||||||
|
if it isn't specified, the mesh VPN will be disabled.
|
||||||
|
|
@ -94,7 +94,7 @@ Improved ath9k stability
|
|||||||
Multiple bugs in the WLAN driver ath9k have been fixed upstream. This should greatly improve the WLAN stability.
|
Multiple bugs in the WLAN driver ath9k have been fixed upstream. This should greatly improve the WLAN stability.
|
||||||
|
|
||||||
odhcp6c 50 day bug
|
odhcp6c 50 day bug
|
||||||
---------------
|
------------------
|
||||||
An important update for odhcp6c fixes a bug which caused Gluon nodes to lose their IPv6 addresses on br-client after an uptime
|
An important update for odhcp6c fixes a bug which caused Gluon nodes to lose their IPv6 addresses on br-client after an uptime
|
||||||
of 50 days, making the nodes unable perform automated updates (besides other issues).
|
of 50 days, making the nodes unable perform automated updates (besides other issues).
|
||||||
|
|
||||||
|
22
docs/site-example/modules
Normal file
22
docs/site-example/modules
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# This file allows specifying additional repositories to use
|
||||||
|
# when building gluon.
|
||||||
|
#
|
||||||
|
# In most cases, it is not required so don't add it.
|
||||||
|
|
||||||
|
## GLUON_SITE_FEEDS
|
||||||
|
# for each feed name given, add the corresponding PACKAGES_* lines
|
||||||
|
# documented below
|
||||||
|
#GLUON_SITE_FEEDS='my_own_packages'
|
||||||
|
|
||||||
|
## PACKAGES_$feedname_REPO
|
||||||
|
# the git repository from where to clone the package feed
|
||||||
|
#PACKAGES_MY_OWN_PACKAGES_REPO=https://github.com/.../my-own-packages.git
|
||||||
|
|
||||||
|
|
||||||
|
## PACKAGES_$feedname_COMMIT
|
||||||
|
# the version/commit of the git repository to clone
|
||||||
|
#PACKAGES_MY_OWN_PACKAGES_COMMIT=123456789aabcda1a69b04278e4d38f2a3f57e49
|
||||||
|
|
||||||
|
## PACKAGES_$feedname_BRANCH
|
||||||
|
# the branch to check out
|
||||||
|
#PACKAGES_MY_OWN_PACKAGES_BRANCH=my_branch
|
187
docs/site-example/site.conf
Normal file
187
docs/site-example/site.conf
Normal file
@ -0,0 +1,187 @@
|
|||||||
|
-- This is an example site configuration for Gluon v2014.3.x
|
||||||
|
--
|
||||||
|
-- Take a look at the documentation located at
|
||||||
|
-- http://gluon.readthedocs.org/ for details.
|
||||||
|
--
|
||||||
|
-- This configuration will not work as it. You're required to make
|
||||||
|
-- community specific changes to it!
|
||||||
|
{
|
||||||
|
-- Used for generated hostnames, e.g. freifunk-abcdef123456.
|
||||||
|
hostname_prefix = 'freifunk',
|
||||||
|
|
||||||
|
-- Name of the community.
|
||||||
|
site_name = 'Freifunk Lübeck',
|
||||||
|
|
||||||
|
-- Shorthand of the community.
|
||||||
|
site_code = 'ffhl',
|
||||||
|
|
||||||
|
-- Prefixes used within the mesh. Both are required.
|
||||||
|
prefix4 = '10.130.0.0/20',
|
||||||
|
prefix6 = 'fdef:ffc0:3dd7::/64',
|
||||||
|
|
||||||
|
-- Timezone of your community.
|
||||||
|
-- See http://wiki.openwrt.org/doc/uci/system#time.zones
|
||||||
|
timezone = 'CET-1CEST,M3.5.0,M10.5.0/3',
|
||||||
|
|
||||||
|
-- List of NTP servers in your community.
|
||||||
|
-- Must be reachable using IPv6!
|
||||||
|
ntp_servers = {'1.ntp.services.ffhl'},
|
||||||
|
|
||||||
|
-- Wireless regulatory domain of your community.
|
||||||
|
regdom = 'DE',
|
||||||
|
|
||||||
|
-- Wireless configuratoin for 2.4 GHz interfaces.
|
||||||
|
wifi24 = {
|
||||||
|
-- Wireless channel.
|
||||||
|
channel = 1,
|
||||||
|
|
||||||
|
-- ESSID used for client network.
|
||||||
|
ssid = 'luebeck.freifunk.net',
|
||||||
|
|
||||||
|
-- Specifies the channel width in 802.11n and 802.11ac mode.
|
||||||
|
-- Possible values are:
|
||||||
|
-- HT20 (single 20MHz channel),
|
||||||
|
-- HT40- (2x 20MHz channels, secondary below)
|
||||||
|
-- HT40+ (2x 20MHz channels, secondary above)
|
||||||
|
htmode = 'HT20',
|
||||||
|
|
||||||
|
-- Adjust these values!
|
||||||
|
mesh_ssid = 'XX:XX:XX:XX:XX:XX', -- ESSID used for mesh
|
||||||
|
mesh_bssid = 'XX:XX:XX:XX:XX:XX', -- BSSID used for mesh
|
||||||
|
|
||||||
|
-- Bitrate used for multicast/broadcast packets.
|
||||||
|
mesh_mcast_rate = 12000,
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Wireless configuration for 5 GHz interfaces.
|
||||||
|
-- This should be equal to the 2.4 GHz variant, except
|
||||||
|
-- for channel and htmode.
|
||||||
|
wifi5 = {
|
||||||
|
ssid = 'luebeck.freifunk.net',
|
||||||
|
channel = 44,
|
||||||
|
htmode = 'HT20',
|
||||||
|
mesh_ssid = 'XX:XX:XX:XX:XX:XX',
|
||||||
|
mesh_bssid = 'XX:XX:XX:XX:XX:XX',
|
||||||
|
mesh_mcast_rate = 12000,
|
||||||
|
},
|
||||||
|
|
||||||
|
-- The next node feature allows clients to always reach the node it is
|
||||||
|
-- connected to using a known IP address.
|
||||||
|
next_node = {
|
||||||
|
-- anycast IPs of all nodes
|
||||||
|
ip4 = '10.130.0.1',
|
||||||
|
ip6 = 'fdef:ffc0:3dd7::1',
|
||||||
|
|
||||||
|
-- anycast MAC of all nodes
|
||||||
|
mac = '16:41:95:40:f7:dc',
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Refer to http://fastd.readthedocs.org/en/latest/ to better understand
|
||||||
|
-- what these options do.
|
||||||
|
fastd_mesh_vpn = {
|
||||||
|
-- List of crypto-methods to use.
|
||||||
|
methods = {'salsa2012+gmac'},
|
||||||
|
mtu = 1426,
|
||||||
|
backbone = {
|
||||||
|
-- Limit number of connected peers to reduce bandwidth.
|
||||||
|
limit = 2,
|
||||||
|
|
||||||
|
-- List of peers.
|
||||||
|
peers = {
|
||||||
|
burgtor = {
|
||||||
|
key = '657af03e36ff1b8bbe5a5134982a4f110c8523a9a63293870caf548916a95a03',
|
||||||
|
|
||||||
|
-- This is a list, so you might add multiple entries.
|
||||||
|
remotes = {'ipv4 "burgtor.mesh.ffhl.chaotikum.org" port 10000'},
|
||||||
|
},
|
||||||
|
holstentor = {
|
||||||
|
key = '8c660f7511bf101ea1b599fe53af20e1146cd923c9e9d2a3a0d534ee75af9067',
|
||||||
|
remotes = {'ipv4 "holstentor.mesh.ffhl.chaotikum.org" port 10000'},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
autoupdater = {
|
||||||
|
-- Default branch. Don't forget to set GLUON_BRANCH when building!
|
||||||
|
branch = 'stable',
|
||||||
|
|
||||||
|
-- List of branches. You may define multiple branches.
|
||||||
|
branches = {
|
||||||
|
stable = {
|
||||||
|
name = 'stable',
|
||||||
|
|
||||||
|
-- List of mirrors to fetch images from. IPv6 required!
|
||||||
|
mirrors = {'http://1.updates.services.ffhl/stable/sysupgrade'},
|
||||||
|
|
||||||
|
-- Number of good signatures required.
|
||||||
|
-- Have multiple maintainers sign your build and only
|
||||||
|
-- accept it when a sufficient number of them have
|
||||||
|
-- signed it.
|
||||||
|
good_signatures = 2,
|
||||||
|
|
||||||
|
-- List of public keys of maintainers.
|
||||||
|
pubkeys = {
|
||||||
|
'daa19b44bbd7033965e02088127bad9516ba0fea8f34267a777144a23ec8900c', -- Linus
|
||||||
|
'a8dd60765b07330a4bbfdf8406102befca132881a4b65f3efda32cf2d5b362d9', -- Nils
|
||||||
|
'323bd3285c4e5547a89cd6da1f2aef67f1654b0928bbd5b104efc9dab2156d0b', -- NeoRaider
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Bandwidth limiting
|
||||||
|
simple_tc = {
|
||||||
|
mesh_vpn = {
|
||||||
|
ifname = 'mesh-vpn',
|
||||||
|
|
||||||
|
-- You may enable it by default here.
|
||||||
|
enabled = false,
|
||||||
|
|
||||||
|
-- Default upload limit (kbit/s).
|
||||||
|
limit_egress = 200,
|
||||||
|
|
||||||
|
-- Default download limit (kbit/s).
|
||||||
|
limit_ingress = 3000,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
-- These strings are shown in config mode. Some HTML is permissible.
|
||||||
|
--
|
||||||
|
-- msg_welcome: shown at startup
|
||||||
|
-- msg_pubkey: shown when VPN is enabled
|
||||||
|
-- msg_reboot: shown during reboot (after finishing configuration)
|
||||||
|
--
|
||||||
|
-- You may use some variables, e.g.:
|
||||||
|
--
|
||||||
|
-- <%=hostname%> - the node's hostname
|
||||||
|
-- <%=pubkey%> - the fastd public key
|
||||||
|
-- <%=sysconfig.primary_mac%> - the node's primary MAC
|
||||||
|
config_mode = {
|
||||||
|
msg_welcome = [[
|
||||||
|
Willkommen zum Einrichtungsassistenten für deinen neuen Lübecker
|
||||||
|
Freifunk-Knoten. Fülle das folgende Formular deinen Vorstellungen
|
||||||
|
entsprechend aus und sende es ab.
|
||||||
|
]],
|
||||||
|
msg_pubkey = [[
|
||||||
|
Dies ist der öffentliche Schlüssel deines Freifunk-Knotens. Erst nachdem
|
||||||
|
er auf den Servern des Lübecker Freifunk-Projektes eingetragen wurde,
|
||||||
|
kann sich dein Knoten mit dem Lübecker Mesh-VPN zu verbinden. Bitte
|
||||||
|
schicke dazu diesen Schlüssel und den Namen deines Knotens
|
||||||
|
(<em><%=hostname%></em>) an
|
||||||
|
<a href="mailto:keys@luebeck.freifunk.net">keys@luebeck.freifunk.net</a>.
|
||||||
|
]],
|
||||||
|
msg_reboot = [[
|
||||||
|
<p>
|
||||||
|
Dein Knoten startet gerade neu und wird anschließend versuchen,
|
||||||
|
sich anschließend mit anderen Freifunk-Knoten in seiner Nähe zu
|
||||||
|
verbinden. Weitere Informationen zur
|
||||||
|
Lübecker Freifunk-Community findest du auf
|
||||||
|
<a href="https://luebeck.freifunk.net/">unserer Webseite</a>.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Viel Spaß mit deinem Knoten und der Erkundung von Freifunk!
|
||||||
|
</p>
|
||||||
|
]],
|
||||||
|
},
|
||||||
|
}
|
45
docs/site-example/site.mk
Normal file
45
docs/site-example/site.mk
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
## gluon site.mk makefile example
|
||||||
|
|
||||||
|
## GLUON_SITE_PACKAGES
|
||||||
|
# specify gluon/openwrt packages to include here
|
||||||
|
GLUON_SITE_PACKAGES := \
|
||||||
|
gluon-alfred \
|
||||||
|
gluon-announced \
|
||||||
|
gluon-ath9k-workaround \
|
||||||
|
gluon-autoupdater \
|
||||||
|
gluon-config-mode \
|
||||||
|
gluon-ebtables-filter-multicast \
|
||||||
|
gluon-ebtables-filter-ra-dhcp \
|
||||||
|
gluon-luci-admin \
|
||||||
|
gluon-luci-autoupdater \
|
||||||
|
gluon-luci-portconfig \
|
||||||
|
gluon-next-node \
|
||||||
|
gluon-mesh-batman-adv \
|
||||||
|
gluon-mesh-vpn-fastd \
|
||||||
|
gluon-radvd \
|
||||||
|
gluon-status-page \
|
||||||
|
iwinfo \
|
||||||
|
iptables \
|
||||||
|
haveged
|
||||||
|
|
||||||
|
|
||||||
|
## DEFAULT_GLUON_RELEASE
|
||||||
|
# version string to use for images
|
||||||
|
# gluon relies on
|
||||||
|
# opkg compare-versions "$1" '>>' "$2"
|
||||||
|
# to decide if a version is newer or not.
|
||||||
|
DEFAULT_GLUON_RELEASE := 0.3+0-exp$(shell date '+%Y%m%d')
|
||||||
|
|
||||||
|
|
||||||
|
## GLUON_RELEASE
|
||||||
|
# call make with custom GLUON_RELEASE flag, to use your own release version scheme.
|
||||||
|
# e.g.:
|
||||||
|
# $ make images GLUON_RELEASE=23.42+5
|
||||||
|
# would generate images named like this:
|
||||||
|
# gluon-ff%site_code%-23.42+5-%router_model%.bin
|
||||||
|
|
||||||
|
# Allow overriding the release number from the command line
|
||||||
|
GLUON_RELEASE ?= $(DEFAULT_GLUON_RELEASE)
|
||||||
|
|
||||||
|
# Default priority for updates.
|
||||||
|
GLUON_PRIORITY ?= 0
|
@ -1,17 +1,79 @@
|
|||||||
Getting Started
|
Getting Started
|
||||||
===============
|
===============
|
||||||
|
|
||||||
To build Gluon, after checking out the repository change to the source root directory
|
Selecting the right version
|
||||||
to perform the following commands:
|
---------------------------
|
||||||
|
|
||||||
|
Gluon's releases are managed using `Git tags`_. If you're a community getting
|
||||||
|
started with Gluon we recommend to use the latest stable release if Gluon.
|
||||||
|
|
||||||
|
Take a look at the `list of gluon releases`_ and notice the latest release,
|
||||||
|
e.g. *v2014.3*.
|
||||||
|
|
||||||
|
Please keep in mind that a matching site configuration for your community
|
||||||
|
is required. Due to new features being added (or sometimes being removed)
|
||||||
|
the format of the site configuration changes slightly between releases.
|
||||||
|
|
||||||
|
Recent releases (starting with *v2014.3.1*) will come with an example
|
||||||
|
configuration located in *docs/site-example/*.
|
||||||
|
|
||||||
|
.. _Git tags: http://git-scm.com/book/en/Git-Basics-Tagging
|
||||||
|
.. _list of gluon releases: https://github.com/freifunk-gluon/gluon/releases
|
||||||
|
|
||||||
|
Building the image
|
||||||
|
------------------
|
||||||
|
|
||||||
|
.. note:: Make sure you have configured your `Git identity`_.
|
||||||
|
If you neglect this, you'll get strange error messages.
|
||||||
|
|
||||||
|
.. _Git identity: http://git-scm.com/book/en/Getting-Started-First-Time-Git-Setup#Your-Identity
|
||||||
|
|
||||||
|
To build Gluon, first check out the repository. Replace *RELEASE* with the
|
||||||
|
version you'd like to checkout, e.g. *v2014.3*.
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
git clone git://github.com/freifunk-gluon/site-ffhl.git site # Get the Freifunk Lübeck site repository - or use your own!
|
git clone https://github.com/freifunk-gluon/gluon.git gluon -b RELEASE
|
||||||
make update # Get other repositories used by Gluon
|
|
||||||
make # Build Gluon
|
|
||||||
|
|
||||||
When calling make, the OpenWRT build environment is prepared/updated. To rebuild
|
This command will create a directory named *gluon/*.
|
||||||
the images only, just use:
|
It might also tell a scary message about being in a *detached state*.
|
||||||
|
**Don't panic!** Everything's fine.
|
||||||
|
Now, enter the freshly created directory:
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
cd gluon
|
||||||
|
|
||||||
|
It's time to add (or create) your site configuration.
|
||||||
|
So let's create the directory *site/*:
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
mkdir site
|
||||||
|
cd site
|
||||||
|
|
||||||
|
Copy *site.conf* and *site.mk* from *docs/site-example*:
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
cp ../docs/site-example/site.conf .
|
||||||
|
cp ../docs/site-example/site.mk .
|
||||||
|
|
||||||
|
.. note:: On **v2014.3**, take both files from
|
||||||
|
https://github.com/freifunk-gluon/gluon/tree/2014.3.x/docs/site-example
|
||||||
|
|
||||||
|
Edit both files to match your community, then go back to the top-level Gluon
|
||||||
|
directory and build Gluon:
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
make update # Get other repositories used by Gluon
|
||||||
|
make # Build Gluon
|
||||||
|
|
||||||
|
When calling make, the OpenWRT build environment is prepared/updated.
|
||||||
|
In case of errors read the messages carefully and try to fix the stated issues (e.g. install tools not available yet).
|
||||||
|
To rebuild the images only, just use:
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
|
@ -188,4 +188,21 @@ GLUON_PRIORITY
|
|||||||
Examples
|
Examples
|
||||||
--------
|
--------
|
||||||
|
|
||||||
An example configuration is maintained at https://github.com/freifunk-gluon/site-example.
|
site.mk
|
||||||
|
^^^^^^^
|
||||||
|
|
||||||
|
.. literalinclude:: ../site-example/site.mk
|
||||||
|
:language: makefile
|
||||||
|
|
||||||
|
site.conf
|
||||||
|
^^^^^^^^^
|
||||||
|
|
||||||
|
.. literalinclude:: ../site-example/site.conf
|
||||||
|
:language: lua
|
||||||
|
|
||||||
|
modules
|
||||||
|
^^^^^^^
|
||||||
|
|
||||||
|
.. literalinclude:: ../site-example/modules
|
||||||
|
:language: makefile
|
||||||
|
|
||||||
|
5
modules
5
modules
@ -1,13 +1,14 @@
|
|||||||
GLUON_FEEDS='openwrt gluon routing luci'
|
GLUON_FEEDS='openwrt gluon routing luci'
|
||||||
|
|
||||||
OPENWRT_REPO=git://git.openwrt.org/12.09/openwrt.git
|
OPENWRT_REPO=git://git.openwrt.org/12.09/openwrt.git
|
||||||
OPENWRT_COMMIT=b0a05d4f7c194c7db43c3c5f1818449e4ecfe653
|
OPENWRT_COMMIT=80c728365438d670bca4ed30251bfd00d773bae8
|
||||||
|
|
||||||
PACKAGES_OPENWRT_REPO=git://git.openwrt.org/12.09/packages.git
|
PACKAGES_OPENWRT_REPO=git://git.openwrt.org/12.09/packages.git
|
||||||
PACKAGES_OPENWRT_COMMIT=381bbea65989b63e30f43ab87e51b042325bbff3
|
PACKAGES_OPENWRT_COMMIT=381bbea65989b63e30f43ab87e51b042325bbff3
|
||||||
|
|
||||||
PACKAGES_GLUON_REPO=git://github.com/freifunk-gluon/packages.git
|
PACKAGES_GLUON_REPO=git://github.com/freifunk-gluon/packages.git
|
||||||
PACKAGES_GLUON_COMMIT=167e7d5a1ca3648f4bf13a2ba847f979917848b2
|
PACKAGES_GLUON_BRANCH=2014.3.x
|
||||||
|
PACKAGES_GLUON_COMMIT=81022c95d124a62c72a819b48712e13476905edf
|
||||||
|
|
||||||
PACKAGES_ROUTING_REPO=git://github.com/openwrt-routing/packages.git
|
PACKAGES_ROUTING_REPO=git://github.com/openwrt-routing/packages.git
|
||||||
PACKAGES_ROUTING_COMMIT=0e4201a983df967e88e6ce5451f5f5f99bab2370
|
PACKAGES_ROUTING_COMMIT=0e4201a983df967e88e6ce5451f5f5f99bab2370
|
||||||
|
@ -1,73 +0,0 @@
|
|||||||
From: Matthias Schiffer <mschiffer@universe-factory.net>
|
|
||||||
Date: Thu, 24 Jul 2014 03:00:23 +0200
|
|
||||||
Subject: mac80211: add another ath9k patch
|
|
||||||
|
|
||||||
diff --git a/package/mac80211/patches/300-pending_work.patch b/package/mac80211/patches/300-pending_work.patch
|
|
||||||
index ba05bde..6197e0e 100644
|
|
||||||
--- a/package/mac80211/patches/300-pending_work.patch
|
|
||||||
+++ b/package/mac80211/patches/300-pending_work.patch
|
|
||||||
@@ -1,3 +1,21 @@
|
|
||||||
+commit ff354dbdd743e5fe186df8cd17982db19f78231a
|
|
||||||
+Author: Felix Fietkau <nbd@openwrt.org>
|
|
||||||
+Date: Wed Jul 23 15:33:26 2014 +0200
|
|
||||||
+
|
|
||||||
+ ath9k: fix aggregation session lockup
|
|
||||||
+
|
|
||||||
+ If an aggregation session fails, frames still end up in the driver queue
|
|
||||||
+ with IEEE80211_TX_CTL_AMPDU set.
|
|
||||||
+ This causes tx for the affected station/tid to stall, since
|
|
||||||
+ ath_tx_get_tid_subframe returning packets to send.
|
|
||||||
+
|
|
||||||
+ Fix this by clearing IEEE80211_TX_CTL_AMPDU as long as no aggregation
|
|
||||||
+ session is running.
|
|
||||||
+
|
|
||||||
+ Cc: stable@vger.kernel.org
|
|
||||||
+ Reported-by: Antonio Quartulli <antonio@open-mesh.com>
|
|
||||||
+ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|
||||||
+
|
|
||||||
commit 38695a6e5a940e6a524523b88a33916b016fb2a1
|
|
||||||
Author: Felix Fietkau <nbd@openwrt.org>
|
|
||||||
Date: Fri Jul 11 12:06:18 2014 +0200
|
|
||||||
@@ -2990,7 +3008,23 @@ Date: Mon May 19 21:20:49 2014 +0200
|
|
||||||
if (WARN_ON(--txq->pending_frames < 0))
|
|
||||||
txq->pending_frames = 0;
|
|
||||||
|
|
||||||
-@@ -1999,6 +1997,7 @@ static void setup_frame_info(struct ieee
|
|
||||||
+@@ -887,6 +885,15 @@ ath_tx_get_tid_subframe(struct ath_softc
|
|
||||||
+
|
|
||||||
+ tx_info = IEEE80211_SKB_CB(skb);
|
|
||||||
+ tx_info->flags &= ~IEEE80211_TX_CTL_CLEAR_PS_FILT;
|
|
||||||
++
|
|
||||||
++ /*
|
|
||||||
++ * No aggregation session is running, but there may be frames
|
|
||||||
++ * from a previous session or a failed attempt in the queue.
|
|
||||||
++ * Send them out as normal data frames
|
|
||||||
++ */
|
|
||||||
++ if (!tid->active)
|
|
||||||
++ tx_info->flags &= ~IEEE80211_TX_CTL_AMPDU;
|
|
||||||
++
|
|
||||||
+ if (!(tx_info->flags & IEEE80211_TX_CTL_AMPDU)) {
|
|
||||||
+ bf->bf_state.bf_type = 0;
|
|
||||||
+ return bf;
|
|
||||||
+@@ -1999,6 +2006,7 @@ static void setup_frame_info(struct ieee
|
|
||||||
an = (struct ath_node *) sta->drv_priv;
|
|
||||||
|
|
||||||
memset(fi, 0, sizeof(*fi));
|
|
||||||
@@ -2998,7 +3032,7 @@ Date: Mon May 19 21:20:49 2014 +0200
|
|
||||||
if (hw_key)
|
|
||||||
fi->keyix = hw_key->hw_key_idx;
|
|
||||||
else if (an && ieee80211_is_data(hdr->frame_control) && an->ps_key > 0)
|
|
||||||
-@@ -2150,6 +2149,7 @@ int ath_tx_start(struct ieee80211_hw *hw
|
|
||||||
+@@ -2150,6 +2158,7 @@ int ath_tx_start(struct ieee80211_hw *hw
|
|
||||||
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
|
|
||||||
struct ieee80211_sta *sta = txctl->sta;
|
|
||||||
struct ieee80211_vif *vif = info->control.vif;
|
|
||||||
@@ -3006,7 +3040,7 @@ Date: Mon May 19 21:20:49 2014 +0200
|
|
||||||
struct ath_softc *sc = hw->priv;
|
|
||||||
struct ath_txq *txq = txctl->txq;
|
|
||||||
struct ath_atx_tid *tid = NULL;
|
|
||||||
-@@ -2170,11 +2170,13 @@ int ath_tx_start(struct ieee80211_hw *hw
|
|
||||||
+@@ -2170,11 +2179,13 @@ int ath_tx_start(struct ieee80211_hw *hw
|
|
||||||
q = skb_get_queue_mapping(skb);
|
|
||||||
|
|
||||||
ath_txq_lock(sc, txq);
|
|
@ -0,0 +1,81 @@
|
|||||||
|
From: Matthias Schiffer <mschiffer@universe-factory.net>
|
||||||
|
Date: Fri, 3 Oct 2014 01:29:13 +0200
|
||||||
|
Subject: Backport alfred from gluon master
|
||||||
|
|
||||||
|
diff --git a/alfred/Makefile b/alfred/Makefile
|
||||||
|
index c8e73c2..648a5ef 100644
|
||||||
|
--- a/alfred/Makefile
|
||||||
|
+++ b/alfred/Makefile
|
||||||
|
@@ -11,9 +11,9 @@ include $(TOPDIR)/rules.mk
|
||||||
|
# The latest alfred git hash in PKG_REV can be obtained from http://git.open-mesh.org/alfred.git
|
||||||
|
#
|
||||||
|
PKG_NAME:=alfred
|
||||||
|
-PKG_VERSION:=2013.4.0
|
||||||
|
-PKG_RELEASE:=3
|
||||||
|
-PKG_MD5SUM:=3891697e127b1037cfc9349fd96e9993
|
||||||
|
+PKG_VERSION:=2014.3.0
|
||||||
|
+PKG_RELEASE:=0
|
||||||
|
+PKG_MD5SUM:=b8ab5677ed73d817b02b0e4fae10357a
|
||||||
|
|
||||||
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
|
PKG_SOURCE_URL:=http://downloads.open-mesh.org/batman/releases/batman-adv-$(PKG_VERSION)
|
||||||
|
diff --git a/alfred/patches/0001-alfred-adjust-intervals.patch b/alfred/patches/0001-alfred-adjust-intervals.patch
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..e8ffd3a
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/alfred/patches/0001-alfred-adjust-intervals.patch
|
||||||
|
@@ -0,0 +1,15 @@
|
||||||
|
+--- a/alfred.h
|
||||||
|
++++ b/alfred.h
|
||||||
|
+@@ -30,10 +30,10 @@
|
||||||
|
+ #include "list.h"
|
||||||
|
+ #include "packet.h"
|
||||||
|
+
|
||||||
|
+-#define ALFRED_INTERVAL 10
|
||||||
|
++#define ALFRED_INTERVAL 60
|
||||||
|
+ #define ALFRED_IF_CHECK_INTERVAL 60
|
||||||
|
+ #define ALFRED_REQUEST_TIMEOUT 10
|
||||||
|
+-#define ALFRED_SERVER_TIMEOUT 60
|
||||||
|
++#define ALFRED_SERVER_TIMEOUT 180
|
||||||
|
+ #define ALFRED_DATA_TIMEOUT 600
|
||||||
|
+ #define ALFRED_SOCK_PATH "/var/run/alfred.sock"
|
||||||
|
+ #define NO_FILTER -1
|
||||||
|
diff --git a/alfred/patches/0001-alfred-gpsd-add-lm-to-linker-flags-for-libgps.patch b/alfred/patches/0001-alfred-gpsd-add-lm-to-linker-flags-for-libgps.patch
|
||||||
|
deleted file mode 100644
|
||||||
|
index 3be7169..0000000
|
||||||
|
--- a/alfred/patches/0001-alfred-gpsd-add-lm-to-linker-flags-for-libgps.patch
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1,33 +0,0 @@
|
||||||
|
-From dbaaf2b294af120e42a0e95644640b128044a568 Mon Sep 17 00:00:00 2001
|
||||||
|
-From: Simon Wunderlich <sw@simonwunderlich.de>
|
||||||
|
-Date: Wed, 23 Oct 2013 01:17:36 +0200
|
||||||
|
-Subject: [PATCH] alfred-gpsd: add -lm to linker flags for libgps
|
||||||
|
-
|
||||||
|
-Appearently applications using libgps must link -lm themselves. A patch
|
||||||
|
-was submitted [1] to change this unusual behaviour upstream, but was
|
||||||
|
-never applied. Therefore link to -lm to alfred-gpsd too as this should
|
||||||
|
-not hurt anyway.
|
||||||
|
-
|
||||||
|
-[1] https://lists.berlios.de/pipermail/gpsd-dev/2011-August/009451.html
|
||||||
|
-
|
||||||
|
-Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
|
||||||
|
----
|
||||||
|
- gpsd/Makefile | 2 +-
|
||||||
|
- 1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
-
|
||||||
|
-diff --git a/gpsd/Makefile b/gpsd/Makefile
|
||||||
|
-index 9b21652..92e690f 100644
|
||||||
|
---- a/gpsd/Makefile
|
||||||
|
-+++ b/gpsd/Makefile
|
||||||
|
-@@ -49,7 +49,7 @@ ifeq ($(origin LIBGPS_CFLAGS) $(origin LIBGPS_LDLIBS), undefined undefined)
|
||||||
|
- $(error No $(LIBGPS_NAME) development libraries found!)
|
||||||
|
- endif
|
||||||
|
- LIBGPS_CFLAGS += $(shell $(PKG_CONFIG) --cflags $(LIBGPS_NAME))
|
||||||
|
-- LIBGPS_LDLIBS += $(shell $(PKG_CONFIG) --libs $(LIBGPS_NAME))
|
||||||
|
-+ LIBGPS_LDLIBS += $(shell $(PKG_CONFIG) --libs $(LIBGPS_NAME)) -lm
|
||||||
|
- endif
|
||||||
|
- CFLAGS += $(LIBGPS_CFLAGS)
|
||||||
|
- LDLIBS += $(LIBGPS_LDLIBS)
|
||||||
|
---
|
||||||
|
-1.7.10.4
|
||||||
|
-
|
@ -1,49 +0,0 @@
|
|||||||
From: Matthias Schiffer <mschiffer@universe-factory.net>
|
|
||||||
Date: Sat, 18 Jan 2014 21:15:16 +0100
|
|
||||||
Subject: alfred: fix socket fd leak
|
|
||||||
|
|
||||||
diff --git a/alfred/patches/0002-batadv-vis-don-t-leak-socket-fd-in-get_if_mac.patch b/alfred/patches/0002-batadv-vis-don-t-leak-socket-fd-in-get_if_mac.patch
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..2374e25
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/alfred/patches/0002-batadv-vis-don-t-leak-socket-fd-in-get_if_mac.patch
|
|
||||||
@@ -0,0 +1,39 @@
|
|
||||||
+From 449b94ee85a42fbabec550d920002ad07738e733 Mon Sep 17 00:00:00 2001
|
|
||||||
+Message-Id: <449b94ee85a42fbabec550d920002ad07738e733.1390075976.git.mschiffer@universe-factory.net>
|
|
||||||
+From: Matthias Schiffer <mschiffer@universe-factory.net>
|
|
||||||
+Date: Sat, 18 Jan 2014 21:04:05 +0100
|
|
||||||
+Subject: [PATCH] batadv-vis: don't leak socket fd in get_if_mac()
|
|
||||||
+
|
|
||||||
+Leaking an fd every time get_if_mac() is called causes a batadv-vis server
|
|
||||||
+process to hit the open file limit in a matter of hours when there are many
|
|
||||||
+active interfaces and the limit is as low as 1024 (which it is on OpenWRT).
|
|
||||||
+
|
|
||||||
+Reported-by: Jan-Philipp Litza <janphilipp@litza.de>
|
|
||||||
+Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
|
|
||||||
+---
|
|
||||||
+ vis/vis.c | 7 ++++++-
|
|
||||||
+ 1 file changed, 6 insertions(+), 1 deletion(-)
|
|
||||||
+
|
|
||||||
+--- a/vis/vis.c
|
|
||||||
++++ b/vis/vis.c
|
|
||||||
+@@ -97,6 +97,7 @@ static int get_if_mac(char *ifname, uint
|
|
||||||
+ {
|
|
||||||
+ struct ifreq ifr;
|
|
||||||
+ int sock;
|
|
||||||
++ int ret;
|
|
||||||
+
|
|
||||||
+ strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
|
|
||||||
+
|
|
||||||
+@@ -105,7 +106,11 @@ static int get_if_mac(char *ifname, uint
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+- if (ioctl(sock, SIOCGIFHWADDR, &ifr) == -1) {
|
|
||||||
++ ret = ioctl(sock, SIOCGIFHWADDR, &ifr);
|
|
||||||
++
|
|
||||||
++ close(sock);
|
|
||||||
++
|
|
||||||
++ if (ret == -1) {
|
|
||||||
+ fprintf(stderr, "can't get MAC address: %s\n", strerror(errno));
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
@ -1,24 +0,0 @@
|
|||||||
From: Matthias Schiffer <mschiffer@universe-factory.net>
|
|
||||||
Date: Sat, 18 Jan 2014 21:52:09 +0100
|
|
||||||
Subject: alfred: adjust intervals
|
|
||||||
|
|
||||||
diff --git a/alfred/patches/0003-alfred-adjust-intervals.patch b/alfred/patches/0003-alfred-adjust-intervals.patch
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..eb31f91
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/alfred/patches/0003-alfred-adjust-intervals.patch
|
|
||||||
@@ -0,0 +1,14 @@
|
|
||||||
+--- a/alfred.h
|
|
||||||
++++ b/alfred.h
|
|
||||||
+@@ -30,9 +30,9 @@
|
|
||||||
+ #include "list.h"
|
|
||||||
+ #include "packet.h"
|
|
||||||
+
|
|
||||||
+-#define ALFRED_INTERVAL 10
|
|
||||||
++#define ALFRED_INTERVAL 60
|
|
||||||
+ #define ALFRED_REQUEST_TIMEOUT 10
|
|
||||||
+-#define ALFRED_SERVER_TIMEOUT 60
|
|
||||||
++#define ALFRED_SERVER_TIMEOUT 180
|
|
||||||
+ #define ALFRED_DATA_TIMEOUT 600
|
|
||||||
+ #define ALFRED_SOCK_PATH "/var/run/alfred.sock"
|
|
||||||
+ #define NO_FILTER -1
|
|
Loading…
Reference in New Issue
Block a user