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::
|
||||
:maxdepth: 1
|
||||
|
||||
releases/v2014.3.1
|
||||
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.
|
||||
|
||||
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
|
||||
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
|
||||
===============
|
||||
|
||||
To build Gluon, after checking out the repository change to the source root directory
|
||||
to perform the following commands:
|
||||
Selecting the right version
|
||||
---------------------------
|
||||
|
||||
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!
|
||||
make update # Get other repositories used by Gluon
|
||||
make # Build Gluon
|
||||
git clone https://github.com/freifunk-gluon/gluon.git gluon -b RELEASE
|
||||
|
||||
When calling make, the OpenWRT build environment is prepared/updated. To rebuild
|
||||
the images only, just use:
|
||||
This command will create a directory named *gluon/*.
|
||||
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
|
||||
--------
|
||||
|
||||
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'
|
||||
|
||||
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_COMMIT=381bbea65989b63e30f43ab87e51b042325bbff3
|
||||
|
||||
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_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