Merge remote-tracking branch 'origin/master' into futro

This commit is contained in:
Felix Kaechele 2015-12-10 17:48:38 +01:00
commit 97963965fc
12 changed files with 232 additions and 33 deletions

View File

@ -177,6 +177,9 @@ GLUON_$(1)_MODEL_$(2)_ALIASES += $(3)
endef
export SHA512SUM := $(GLUONDIR)/scripts/sha512sum.sh
prereq: FORCE
+$(NO_TRACE_MAKE) prereq
@ -209,7 +212,12 @@ gluon-tools: FORCE
+$(GLUONMAKE_EARLY) package/lua/host/install package/usign/host/install
early_prepared_stamp := $(GLUON_BUILDDIR)/prepared
early_prepared_stamp := $(GLUON_BUILDDIR)/prepared_$(shell \
( \
$(SHA512SUM) $(GLUONDIR)/modules; \
[ ! -r $(GLUON_SITEDIR)/modules ] || $(SHA512SUM) $(GLUON_SITEDIR)/modules \
) | $(SHA512SUM) )
prepare-early: FORCE
for dir in build_dir dl staging_dir; do \
@ -223,6 +231,7 @@ prepare-early: FORCE
touch $(early_prepared_stamp)
$(early_prepared_stamp):
rm -f $(GLUON_BUILDDIR)/prepared_*
+$(GLUONMAKE_EARLY) prepare-early
$(GLUON_OPKG_KEY): $(early_prepared_stamp) FORCE
@ -253,8 +262,9 @@ MODULE_PREFIX = gluon-$(GLUON_SITE_CODE)-$(PREPARED_RELEASE)
include $(INCLUDE_DIR)/target.mk
build-key: FORCE
ln -sf $(GLUON_OPKG_KEY) $(BUILD_KEY)
ln -sf $(GLUON_OPKG_KEY).pub $(BUILD_KEY).pub
rm -f $(BUILD_KEY) $(BUILD_KEY).pub
cp $(GLUON_OPKG_KEY) $(BUILD_KEY)
cp $(GLUON_OPKG_KEY).pub $(BUILD_KEY).pub
config: FORCE
+$(NO_TRACE_MAKE) scripts/config/conf OPENWRT_BUILD= QUIET=0
@ -304,9 +314,6 @@ clean: FORCE
rm -f $(gluon_prepared_stamp)
export SHA512SUM := $(GLUONDIR)/scripts/sha512sum.sh
download: FORCE
+$(SUBMAKE) tools/download
+$(SUBMAKE) toolchain/download

View File

@ -150,6 +150,11 @@ ar71xx-generic
- UniFi AP Pro
- UniFi AP Outdoor
* Western Digital
- My Net N600
- My Net N750
ar71xx-nand
^^^^^^^^^^^

View File

@ -22,6 +22,15 @@ ar71xx-generic
- TL-WR941ND v6
- TL-WR1043N/ND v3
* Ubiquiti
- airGateway
* Western Digital
- My Net N600
- My Net N750
x86-xen_domu
^^^^^^^^^^^^
@ -35,13 +44,66 @@ x86-64
New features
~~~~~~~~~~~~
Kernel module opkg repository
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
We've not been able to keep ABI compatiblity with the kernel of the official OpenWrt images.
Therefore, Gluon now generates a opkg repository with modules itself.
The repository can be found at `output/modules/` by default, the image output directory has
been moved from `images/` to `output/images/`. See the updated :doc:`../user/getting_started` guide
for information on the handling of the signing keys for this repository.
The `opkg_repo` site.conf option has been replaced to allow specifying this and other additional repositories.
New status page
^^^^^^^^^^^^^^^
The new status page provides a visually pleasing experience, and displays all important information
on a node in a clear manner. It also contains a real-time signal strength graph for all neighbouring
nodes to aid with the alignment of antennas.
802.11s mesh support
^^^^^^^^^^^^^^^^^^^^
Gluon now supports using 802.11s for its mesh links instead of IBSS (Adhoc). This will allow supporting
WLAN hardware which can't to AP and IBSS mode simultaneously in the future (like Ralink/Mediatek).
Note that batman-adv is still used on top of 802.11s (and 802.11s forwarding is disabled), the mesh routing protocol
provided by 802.11s is not used.
Multicast filter extension
^^^^^^^^^^^^^^^^^^^^^^^^^^
The `gluon-ebtables-filter-multicast` package has been extended to filter out multicast
ICMP and ICMPv6 Echo Requests (ping) and Node Information Queries (RFC4620). This prevents
pings to multicast addresses like ff02::1 to cause traffic peaks
(as all nodes and clients would answer such a ping).
French translation
^^^^^^^^^^^^^^^^^^
A French translation for the Config Mode/Expert Mode has been added.
Bugfixes
~~~~~~~~
* Update kernel code for the QCA953x
Might improve stability of the TP-Link TL-WR841N/ND v9.
* Fix model detection on some Netgear WNDR3700v2
The broken devices will identify as "NETGEAR ".
This also breaks the autoupdater, making a manual upgrade necessary.
* Ensure that `odhcp6c` doesn't spawn multiple instances of ``dhcpv6.script``
* Fix support for Buffalo WZR-600DHP
A flashable factory image is generated now. The sysupgrade image is still shared
with the WZR-HP-AG300H.
Site changes
~~~~~~~~~~~~
* ``site.conf``
- New WLAN configuration
@ -167,6 +229,30 @@ Site changes
Internals
~~~~~~~~~
* OpenWrt has been updated to Chaos Calmer
* mac80211 has been backported from OpenWrt trunk r47249 (wireless-testing 2015-07-21)
This allows us to support the TL-WR940N v3/TL-WR941ND v6, which uses a TP9343 (QCA956x) SoC.
* Several packages have been moved from the Gluon repo to the packages repo, removing references to Gluon:
- gluon-cron -> micrond (the crontabs are now read from ``/usr/lib/micron.d`` instead of ``/lib/gluon/cron``)
- gluon-radvd -> uradvd
- gluon-simple-tc -> simple-tc (the config file has been renamed as well)
* Some of the Gluon-specific i18n support code in the build system has been removed, as LuCI now provides
similar facilities
* The C-based `luci-lib-jsonc` library is now used for JSON encoding/decoding instead of the pure Lua `luci-lib-json`
Known Issues
~~~~~~~~~~~~
* Default TX power on many Ubiquiti devices is too high, correct offsets are unknown (`#94 <https://github.com/freifunk-gluon/gluon/issues/94>`_)
Reducing the TX power in the Expert Mode is recommended.
* batman-adv causes stability issues for both alfred and respondd/announced (`#177 <https://github.com/freifunk-gluon/gluon/issues/177>`_)
* The MAC address of the WAN interface is modified even when Mesh-on-WAN is disabled (`#496 <https://github.com/freifunk-gluon/gluon/issues/496>`_)
This may lead to issues in environments where a fixed MAC address is expected (like VMware when promicious mode is disallowed).
* Inconsistent respondd/announced API (`#522 <https://github.com/freifunk-gluon/gluon/issues/522>`_)
The current API is inconsistent and will be replaced in the next release. The old API will still be supported for a while.

View File

@ -95,14 +95,16 @@ wifi24 : optional
This will only affect new installations.
Upgrades will not changed the disabled state.
``ap`` requires a single parameter, a string, named ``ssid`` which sets the interface's ESSID.
``ap`` requires a single parameter, a string, named ``ssid`` which sets the
interface's ESSID.
``mesh`` requires a single parameter, a string, named ``id`` which sets the mesh id.
``ibss`` requires two parametersr: ``ssid`` (a string) and ``bssid`` (a MAC).
An optional parameter ``vlan`` (integer) is supported.
Both ``mesh`` and ``ibss`` accept an optional ``mcast_rate`` (kbit/s) parameter for setting the default multicast datarate.
Both ``mesh`` and ``ibss`` accept an optional ``mcast_rate`` (kbit/s) parameter for
setting the default multicast datarate.
::
wifi24 = {
@ -156,10 +158,10 @@ fastd_mesh_vpn
The `enabled` option can be set to true to enable the VPN by default.
If `configurable` is `false` or unset, the method list will be replaced on updates
with the list in the site configuration. Setting `configurable` to `true` will allow the user to
add the method ``null`` to the front of the method list or remove ``null`` from it,
and make this change survive updates. Settings configurable is necessary for the
If `configurable` is set to `false` or unset, the method list will be replaced on updates
with the list from the site configuration. Setting `configurable` to `true` will allow the user to
add the method ``null`` to the beginning of the method list or remove ``null`` from it,
and make this change survive updates. Setting `configurable` is necessary for the
package `gluon-luci-mesh-vpn-fastd`, which adds a UI for this configuration.
In any case, the ``null`` method should always be the first method in the list
@ -174,14 +176,36 @@ fastd_mesh_vpn
mtu = 1280,
groups = {
backbone = {
limit = 1,
-- Limit number of connected peers from this group
limit = 2,
peers = {
peer1 = {
key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
remotes = {'ipv4 "vpn1.entenhausen.freifunk.net" port 10000'},
-- Having multiple domains prevents SPOF in freifunk.net
remotes = {
'ipv4 "vpn1.entenhausen.freifunk.net" port 10000',
'ipv4 "vpn1.entenhausener-freifunk.de" port 10000',
},
}
}
},
peer2 = {
key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
-- You can also omit the ipv4 to allow both connection via ipv4 and ipv6
remotes = {'"vpn2.entenhausen.freifunk.net" port 10000'},
},
},
-- Optional: nested peer groups
-- groups = {
-- lowend_backbone = {
-- limit = 1,
-- peers = ...
-- },
-- },
},
-- Optional: additional peer groups, possibly with other limits
-- peertopeer = {
-- limit = 10,
-- peers = { ... },
-- },
},
bandwidth_limit = {
@ -207,14 +231,15 @@ autoupdater : package
::
autoupdater = {
branch = 'experimental',
branch = 'stable',
branches = {
stable = {
name = 'stable',
mirrors = {
'http://[fdca:ffee:babe:1::fec1]/firmware/stable/sysupgrade/',
'http://[fdca:ffee:babe:1::fec2]/firmware/stable/sysupgrade/',
'http://autoupdate.entenhausen.freifunk.net/firmware/stable/sysupgrade/',
},
-- Number of good signatures required
good_signatures = 2,
pubkeys = {
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', -- someguy
@ -225,9 +250,9 @@ autoupdater : package
}
roles : optional
Optional role definitions. With this nodes will announce their role inside the mesh.
In the backend this adds the facility to distinguish between normal, backbone and
service nodes or even gateways (if they advertise the role, also). It is up to
Optional role definitions. Nodes will announce their role inside the mesh.
This will allow in the backend to distinguish between normal, backbone and
service nodes or even gateways (if they advertise that role). It is up to
the community which roles to define. See the section below as an example.
``default`` takes the default role which is set initially. This value should be
part of ``list``. If you want node owners to change the role via config mode add
@ -279,7 +304,7 @@ The ``site.mk`` is a Makefile which should define constants
involved in the build process of Gluon.
GLUON_SITE_PACKAGES
Defines a list of packages which should installed in addition
Defines a list of packages which should be installed additionally
to the ``gluon-core`` package.
GLUON_RELEASE
@ -290,7 +315,7 @@ GLUON_PRIORITY
for more information).
GLUON_LANGS
List of languages (as two-letter-codes) to include for the web interface. Should always contain
List of languages (as two-letter-codes) to be included in the web interface. Should always contain
``en``.
.. _site-config-mode-texts:
@ -362,6 +387,7 @@ site-repos in the wild
This is a non-exhaustive list of site-repos from various communities:
* `site-ffa <https://github.com/tecff/site-ffa>`_ (Altdorf, Landshut & Umgebung)
* `site-ffbs <https://github.com/ffbs/site-ffbs>`_ (Braunschweig)
* `site-ffhb <https://github.com/FreifunkBremen/gluon-site-ffhb>`_ (Bremen)
* `site-ffda <https://github.com/freifunk-darmstadt/site-ffda>`_ (Darmstadt)

View File

@ -11,7 +11,7 @@ f.template = "admin/expertmode"
s = f:section(SimpleSection, nil, translate(
'Your node can additionally extend your private network by bridging the WAN interface '
.. 'with a seperate WLAN. This feature is completely independent of the mesh functionality. '
.. 'with a separate WLAN. This feature is completely independent of the mesh functionality. '
.. 'Please note that the private WLAN and meshing on the WAN interface should not be enabled '
.. 'at the same time.'
))

View File

@ -1,12 +1,12 @@
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: PACKAGE VERSION\n"
"PO-Revision-Date: 2015-08-19 23:30+0100\n"
"Last-Translator:Tobias Bernot <tqbs@airmail.cc>\n"
"Language-Team: French\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@ -25,6 +25,7 @@ msgid ""
"the mesh functionality. Please note that the private WLAN and meshing on the "
"WAN interface should not be enabled at the same time."
msgstr ""
"Votre nœud peut étendre votre réseau privé en interfaçant le WAN avec un WLAN séparé. "
"Cette fonction est complètement indépendante de les fonctions de MESH. "
"Il ne faut pas activer la fonction de MESH et de WLAN privé en même temps."
"Votre nœud peut étendre votre réseau privé en interfaçant le WAN avec un "
"WLAN séparé. Cette fonction est complètement indépendante de les fonctions "
"de MESH. Il ne faut pas activer la fonction de MESH et de WLAN privé en même "
"temps."

View File

@ -1,5 +1,5 @@
local ret = {
enabled = uci:get('fastd', 'mesh_vpn', 'enabled') ~= 0,
enabled = uci:get('fastd', 'mesh_vpn') and (uci:get('fastd', 'mesh_vpn', 'enabled') == nil or uci:get_bool('fastd', 'mesh_vpn', 'enabled')),
version = util.readline(io.popen('exec fastd -v')):match('^[^%s]+%s+(.+)'),
}
return ret

View File

@ -252,8 +252,8 @@ define(["lib/helper"], function (Helper) {
table = document.createElement("table")
mkTrafficRow(table, children, "Gesendet", stream, ".traffic.rx")
mkTrafficRow(table, children, "Empfangen", stream, ".traffic.tx")
mkTrafficRow(table, children, "Gesendet", stream, ".traffic.tx")
mkTrafficRow(table, children, "Empfangen", stream, ".traffic.rx")
mkTrafficRow(table, children, "Weitergeleitet", stream, ".traffic.forward")
el.appendChild(table)

View File

@ -0,0 +1,17 @@
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Sat, 28 Nov 2015 22:40:40 +0100
Subject: acx-mac80211: mark as BROKEN to avoid compile failure on mipsel targets
diff --git a/package/kernel/acx-mac80211/Makefile b/package/kernel/acx-mac80211/Makefile
index 1820e7a..fb17a46 100644
--- a/package/kernel/acx-mac80211/Makefile
+++ b/package/kernel/acx-mac80211/Makefile
@@ -30,7 +30,7 @@ include $(INCLUDE_DIR)/package.mk
define KernelPackage/acx-mac80211
SUBMENU:=Wireless Drivers
TITLE:=ACX1xx mac80211 driver
- DEPENDS:=@(PCI_SUPPORT||TARGET_ar7) @!TARGET_cobalt @mipsel +kmod-mac80211
+ DEPENDS:=@(PCI_SUPPORT||TARGET_ar7) @!TARGET_cobalt @mipsel +kmod-mac80211 @BROKEN
FILES:=$(PKG_BUILD_DIR)/acx-mac80211.ko
AUTOLOAD:=$(call AutoLoad,50,mac80211 acx-mac80211)
MAINTAINER:=Florian Fainelli <florian@openwrt.org>

View File

@ -0,0 +1,24 @@
From: Ranlvor <ranlvor@starletp9.de>
Date: Sun, 6 Dec 2015 16:12:55 +0100
Subject: OpenSSL: Added source/old to PKG_SOURCE_URL
OpenSSL moves old versions of the library from http://www.openssl.org/source/
to http://www.openssl.org/source/old/1.0.2/ breaking the old links. That
behavior breaks the OpenWRT-build every time OpenSSL releases a new version.
This patch adds http://www.openssl.org/source/old/1.0.2/ to the PKG_SOURCE_URL
of OpenSSL to avoid breaking the build whenever OpenSSL releases a new
version.
diff --git a/package/libs/openssl/Makefile b/package/libs/openssl/Makefile
index 7f0da8b..039e1ab 100644
--- a/package/libs/openssl/Makefile
+++ b/package/libs/openssl/Makefile
@@ -16,6 +16,7 @@ PKG_BUILD_PARALLEL:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.openssl.org/source/ \
+ http://www.openssl.org/source/old/1.0.2/ \
ftp://ftp.funet.fi/pub/crypt/mirrors/ftp.openssl.org/source \
ftp://ftp.sunet.se/pub/security/tools/net/openssl/source/
PKG_MD5SUM:=38dd619b2e77cbac69b99f52a053d25a

View File

@ -0,0 +1,23 @@
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Tue, 8 Dec 2015 19:51:05 +0100
Subject: Revert "bzip2: extend/fix the Host/Install rule to install libbz2.so files"
This reverts commit f5ebfb02fc5f539e89393b8186f7ecd768402f12.
diff --git a/package/utils/bzip2/Makefile b/package/utils/bzip2/Makefile
index ba47cfb..e1c7b97 100644
--- a/package/utils/bzip2/Makefile
+++ b/package/utils/bzip2/Makefile
@@ -97,10 +97,9 @@ HOST_CONFIGURE_ARGS+= \
--prefix=$(STAGING_DIR_HOST)
define Host/Install
- $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin/ $(STAGING_DIR_HOST)/usr/lib
+ $(INSTALL_DIR) $(STAGING_DIR_HOST)/bin/
$(MAKE) -C $(HOST_BUILD_DIR) PREFIX=$(STAGING_DIR_HOST)/usr/ install
- $(CP) $(HOST_BUILD_DIR)/libbz2.so* $(STAGING_DIR_HOST)/usr/lib/
- $(CP) $(HOST_BUILD_DIR)/libbz2.so.1.0 $(STAGING_DIR_HOST)/usr/lib/libbz2.so
+# $(INSTALL_BIN) $(HOST_BUILD_DIR)/Parser/pgen $(STAGING_DIR_HOST)/bin/pgen2
endef
$(eval $(call HostBuild))

View File

@ -232,3 +232,13 @@ $(eval $(call GluonModel,ALL0315N,all0315n,allnet-all0315n))
$(eval $(call GluonProfile,GLINET))
$(eval $(call GluonModel,GLINET,gl-inet-6408A-v1,gl-inet-6408a-v1))
$(eval $(call GluonModel,GLINET,gl-inet-6416A-v1,gl-inet-6416a-v1))
## Western Digital
# WD MyNet N600
$(eval $(call GluonProfile,MYNETN600))
$(eval $(call GluonModel,MYNETN600,mynet-n600,wd-my-net-n600))
# WD MyNet N750
$(eval $(call GluonProfile,MYNETN750))
$(eval $(call GluonModel,MYNETN750,mynet-n750,wd-my-net-n750))