diff --git a/Makefile b/Makefile index 7f5fd437..4420b387 100644 --- a/Makefile +++ b/Makefile @@ -179,11 +179,8 @@ include $(INCLUDE_DIR)/target.mk prereq: FORCE +$(NO_TRACE_MAKE) prereq -gluon-tools: FORCE - +$(GLUONMAKE_EARLY) tools/sed/install - +$(GLUONMAKE_EARLY) package/lua/host/install - prepare-tmpinfo: FORCE + @+$(MAKE) -r -s staging_dir/host/.prereq-build OPENWRT_BUILD= QUIET=0 mkdir -p tmp/info $(_SINGLE)$(NO_TRACE_MAKE) -j1 -r -s -f include/scan.mk SCAN_TARGET="packageinfo" SCAN_DIR="package" SCAN_NAME="package" SCAN_DEPS="$(TOPDIR)/include/package*.mk $(TOPDIR)/overlay/*/*.mk" SCAN_EXTRA="" $(_SINGLE)$(NO_TRACE_MAKE) -j1 -r -s -f include/scan.mk SCAN_TARGET="targetinfo" SCAN_DIR="target/linux" SCAN_NAME="target" SCAN_DEPS="profiles/*.mk $(TOPDIR)/include/kernel*.mk $(TOPDIR)/include/target.mk" SCAN_DEPTH=2 SCAN_EXTRA="" SCAN_MAKEOPTS="TARGET_BUILD=1" @@ -204,15 +201,19 @@ feeds: FORCE . $(GLUONDIR)/modules && for feed in $$GLUON_FEEDS; do ln -s ../../../packages/$$feed $(TOPDIR)/package/feeds/module_$$feed; done +$(GLUONMAKE_EARLY) prepare-tmpinfo +gluon-tools: FORCE + +$(GLUONMAKE_EARLY) tools/sed/install + +$(GLUONMAKE_EARLY) package/lua/host/install + config: FORCE - +$(NO_TRACE_MAKE) scripts/config/conf OPENWRT_BUILD=0 + +$(NO_TRACE_MAKE) scripts/config/conf OPENWRT_BUILD= QUIET=0 +$(GLUONMAKE) prepare-tmpinfo ( \ cat $(GLUONDIR)/include/config $(GLUONDIR)/targets/$(GLUON_TARGET)/config; \ echo 'CONFIG_BUILD_SUFFIX="gluon-$(GLUON_TARGET)"'; \ echo '$(patsubst %,CONFIG_PACKAGE_%=m,$(sort $(filter-out -%,$(GLUON_DEFAULT_PACKAGES) $(GLUON_SITE_PACKAGES) $(PROFILE_PACKAGES))))' \ | sed -e 's/ /\n/g'; \ - echo '$(patsubst %,CONFIG_GLUON_LANG_%=y,$(GLUON_LANGS))' \ + echo '$(patsubst %,CONFIG_LUCI_LANG_%=y,$(GLUON_LANGS))' \ | sed -e 's/ /\n/g'; \ ) > $(BOARD_BUILDDIR)/config.tmp scripts/config/conf --defconfig=$(BOARD_BUILDDIR)/config.tmp Config.in @@ -281,8 +282,11 @@ packages: $(package/stamp-compile) prepare-image: FORCE rm -rf $(BOARD_KDIR) mkdir -p $(BOARD_KDIR) - cp $(KERNEL_BUILD_DIR)/vmlinux $(KERNEL_BUILD_DIR)/vmlinux.elf $(BOARD_KDIR)/ - +$(SUBMAKE) -C $(TOPDIR)/target/linux/$(BOARD)/image -f $(GLUONDIR)/include/Makefile.image prepare KDIR="$(BOARD_KDIR)" + $(foreach k, vmlinux vmlinux.elf \ + $(if $(KERNEL_IMAGES),$(KERNEL_IMAGES),$(filter-out dtbs,$(KERNELNAME))), \ + $(CP) $(KERNEL_BUILD_DIR)/$(k) $(BOARD_KDIR)/$(k); \ + ) + +$(SUBMAKE) -C $(TOPDIR)/target/linux/$(BOARD)/image image_prepare KDIR="$(BOARD_KDIR)" prepare: FORCE @$(STAGING_DIR_HOST)/bin/lua $(GLUONDIR)/package/gluon-core/files/usr/lib/lua/gluon/site_config.lua \ @@ -346,7 +350,7 @@ $(eval $(call merge-lists,INSTALL_PACKAGES,DEFAULT_PACKAGES GLUON_DEFAULT_PACKAG package_install: FORCE $(OPKG) update - $(OPKG) install $(PACKAGE_DIR)/libc_*.ipk + $(OPKG) install $(PACKAGE_DIR)/base-files_*.ipk $(PACKAGE_DIR)/libc_*.ipk $(OPKG) install $(PACKAGE_DIR)/kernel_*.ipk $(OPKG) install $(INSTALL_PACKAGES) @@ -354,6 +358,10 @@ package_install: FORCE rm -f $(TARGET_DIR)/usr/lib/opkg/lists/* $(TARGET_DIR)/tmp/opkg.lock +# Remove opkg database when opkg is not intalled + if [ ! -x $(TARGET_DIR)/bin/opkg ]; then rm -rf $(TARGET_DIR)/usr/lib/opkg; fi + + ifeq ($(GLUON_OPKG_CONFIG),1) include $(INCLUDE_DIR)/version.mk endif diff --git a/contrib/lsupgrade.sh b/contrib/lsupgrade.sh index 57485616..7fe11299 100755 --- a/contrib/lsupgrade.sh +++ b/contrib/lsupgrade.sh @@ -26,7 +26,7 @@ fi pushd "$(dirname "$0")/.." >/dev/null -find package packages -name Makefile | while read makefile; do +find ./package packages -name Makefile | while read makefile; do dir="$(dirname "$makefile")" pushd "$dir" >/dev/null @@ -36,7 +36,7 @@ find package packages -name Makefile | while read makefile; do package="$(basename "$dir")" for file in "${SUFFIX}"/*; do - echo "${GREEN}$(basename "${file}")${RESET}" "(${BLUE}${repo}${RESET}/${dirname}/${RED}${package}${RESET}/${SUFFIX})" + echo "${GREEN}$(basename "${file}")${RESET}" "(${BLUE}${repo}${RESET}/${dirname}${dirname:+/}${RED}${package}${RESET}/${SUFFIX})" done popd >/dev/null done | sort diff --git a/docs/conf.py b/docs/conf.py index 0856ed6f..090de523 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -54,9 +54,9 @@ copyright = '2015, Project Gluon' # built documents. # # The short X.Y version. -version = '2014.4+' +version = '2015.1+' # The full version, including alpha/beta/rc tags. -release = '2014.4+' +release = '2015.1+' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/docs/dev/i18n.rst b/docs/dev/i18n.rst index 536baf1a..b51bfdee 100644 --- a/docs/dev/i18n.rst +++ b/docs/dev/i18n.rst @@ -80,9 +80,9 @@ instead). Adding support for new languages -------------------------------- -A list of all languages supported by LuCI can be found in the ``include/package.mk`` file of -the Gluon repository. Adding translations for these languages is straightforward using the ``msginit`` -command. +A list of all languages supported by LuCI can be found in the ``packages/luci/luci.mk`` file after +Gluon's dependencies have been downloaded using ``make update``. Adding translations for these +languages is straightforward using the ``msginit`` command. For other languages, support must be added tu LuCI first, which constitutes completely translating the ``base.pot``. Please contact the upstream LuCI maintainers if you'd like to do this. diff --git a/docs/features/autoupdater.rst b/docs/features/autoupdater.rst index 983027de..fdc511d9 100644 --- a/docs/features/autoupdater.rst +++ b/docs/features/autoupdater.rst @@ -54,7 +54,7 @@ We suggest to have following directory tree accessible via http: sysupgrade/ factory/ -The server should be available via IPv6. +The server must be available via IPv6. Command Line ------------ diff --git a/docs/index.rst b/docs/index.rst index 7387c082..92fb58b7 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -13,6 +13,7 @@ User Documentation user/getting_started user/site + user/x86 user/faq Features @@ -42,58 +43,6 @@ Developer Documentation dev/wan dev/i18n -Supported Devices ------------------ - -* Buffalo - - - WZR-HP-AG300H / WZR-600DHP - - WZR-HP-G450H - -* D-Link - - - DIR-825 (B1) - -* Linksys - - - WRT160NL - -* TP-Link - - - CPE210 (v1) - - CPE220 (v1) - - CPE510 (v1) - - CPE520 (v1) - - TL-MR3020 (v1) - - TL-MR3040 (v1, v2) - - TL-MR3220 (v1) - - TL-MR3420 (v1, v2) - - TL-WA750RE (v1) - - TL-WA801N/ND (v2) - - TL-WA850RE (v1) - - TL-WA901N/ND (v2) - - TL-WDR3500 (v1) - - TL-WDR3600 (v1) - - TL-WDR4300 (v1) - - TL-WR1043N/ND (v1, v2) - - TL-WR703N (v1) - - TL-WR710N (v1) - - TL-WR740N (v1, v3, v4) - - TL-WR741N/ND (v1, v2, v4) - - TL-WR841N/ND (v3, v5, v7, v8, v9) - - TL-WR842N/ND (v1, v2) - - TL-WR941N/ND (v2, v3, v4) - -* Ubiquiti - - - Bullet M2 - - Nanostation M2 - - Picostation M2 - - Rocket M2 - - UniFi AP - - UniFi AP Outdoor - - Releases -------- @@ -106,6 +55,112 @@ Releases releases/v2014.3 +Supported Devices & Architectures +--------------------------------- + +ar71xx-generic +^^^^^^^^^^^^^^ + +* Allnet + + - ALL0315N + +* Buffalo + + - WZR-HP-AG300H / WZR-600DHP + - WZR-HP-G450H + +* D-Link + + - DIR-825 (B1) + - DIR-615 (C1) + +* GL-Inet + + - 6408A (v1) + - 6416A (v1) + +* Linksys + + - WRT160NL + +* Netgear + + - WNDR3700 (v1, v2) + - WNDR3800 + - WNDRMAC (v2) + +* TP-Link + + - CPE210 (v1) + - CPE220 (v1) + - CPE510 (v1) + - CPE520 (v1) + - TL-MR3020 (v1) + - TL-MR3040 (v1, v2) + - TL-MR3220 (v1, v2) + - TL-MR3420 (v1, v2) + - TL-WA701N/ND (v1) + - TL-WA750RE (v1) + - TL-WA801N/ND (v2) + - TL-WA850RE (v1) + - TL-WA860RE (v1) + - TL-WA901N/ND (v2, v3) + - TL-WDR3500 (v1) + - TL-WDR3600 (v1) + - TL-WDR4300 (v1) + - TL-WR1043N/ND (v1, v2) + - TL-WR703N (v1) + - TL-WR710N (v1) + - TL-WR740N (v1, v3, v4) + - TL-WR741N/ND (v1, v2, v4) + - TL-WR743N/ND (v1, v2) + - TL-WR841N/ND (v3, v5, v7, v8, v9) + - TL-WR842N/ND (v1, v2) + - TL-WR941N/ND (v2, v3, v4, v5) + - TL-WR2543N/ND (v1) + +* Ubiquiti + + - Bullet M2 + - Nanostation M2 + - Nanostation M XW + - Loco M XW + - Picostation M2 + - Rocket M2 + - UniFi AP + - UniFi AP Pro + - UniFi AP Outdoor + +ar71xx-nand +^^^^^^^^^^^ + +* Netgear + + - WNDR3700 (v4) + - WNDR4300 (v1) + +mpc85xx-generic +^^^^^^^^^^^^^^^ + +* TP-Link + + - TL-WDR4900 (v1) + +x86-generic +^^^^^^^^^^^ +* x86-generic +* x86-virtualbox +* x86-vmware + +See also: :doc:`user/x86` + +x86-kvm_guest +^^^^^^^^^^^^^ +* x86-kvm + +See also: :doc:`user/x86` + License ------- @@ -118,4 +173,3 @@ Indices and tables * :ref:`genindex` * :ref:`search` - diff --git a/docs/releases/v2015.1.rst b/docs/releases/v2015.1.rst index 8ce3db0f..8e5c8e99 100644 --- a/docs/releases/v2015.1.rst +++ b/docs/releases/v2015.1.rst @@ -1,16 +1,159 @@ -Gluon 2015.1 (in development) -============================= +Gluon 2015.1 +============ -Added (and removed) hardware support -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Added hardware support +~~~~~~~~~~~~~~~~~~~~~~ +Gluon v2015.1 is the first release to officially support hardware +that is not handled by the `ar71xx-generic` OpenWrt target. This also +means that `ar71xx-generic` isn't the default target anymore, the ``GLUON_TARGET`` +variable must be set for all runs of ``make`` and ``make clean`` now. + +ar71xx-generic +^^^^^^^^^^^^^^ + +* Allnet + + - ALL0315N + +* D-Link + + - DIR-615 (C1) + +* GL-Inet + + - 6408A (v1) + - 6416A (v1) + + - WRT160NL + +* Netgear + + - WNDR3700 (v1, v2) + - WNDR3800 + - WNDRMAC (v2) + +* TP-Link + + - TL-MR3220 (v2) + - TL-WA701N/ND (v1) + - TL-WA860RE (v1) + - TL-WA901N/ND (v2, v3) + - TL-WR743N/ND (v1, v2) + - TL-WR941N/ND (v5) + - TL-WR2543N/ND (v1) + +* Ubiquiti + + - Nanostation M XW + - Loco M XW + - UniFi AP Pro + +ar71xx-nand +^^^^^^^^^^^ + +* Netgear + + - WNDR3700 (v4) + - WNDR4300 (v1) + +mpc85xx-generic +^^^^^^^^^^^^^^^ + +* TP-Link + + - TL-WDR4900 (v1) + +x86-generic +^^^^^^^^^^^ +* x86-generic +* x86-virtualbox +* x86-vmware + +x86-kvm_guest +^^^^^^^^^^^^^ +* x86-kvm New features ~~~~~~~~~~~~ +Multilingual config mode +^^^^^^^^^^^^^^^^^^^^^^^^ +All config and expert mode modules contain both English and German texts now. The English +locale should always be enabled in ``site.mk`` (as English is the fallback language), +German can be enabled in addition using the ``GLUON_LANGS`` setting. +The language shown is autmatically determined from the headers sent by the user's +browser. + +Mesh-on-LAN +^^^^^^^^^^^ +Gluon now supports meshing using a node's LAN ports. It can be enabled by +default in `site.conf`, and configured by the user using the `gluon-luci-portconfig` +expert mode package. + +Please note that nodes without the `mesh-on-lan` feature enabled must never be connected +via their LAN ports. + +Extended WLAN configuration +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +The new ``client_disabled`` and ``mesh_disabled`` keys in the ``wifi24`` and ``wifi5`` sections allow +to disable the client and mesh networks by default, which may make sense for images for +special installations. + +The new package `gluon-luci-wifi-config` allows the user to change these settings; in addition, +the WLAN adapters' transmission power can be changed in this package. + +fastd "performance mode" +^^^^^^^^^^^^^^^^^^^^^^^^ +The new package `gluon-luci-mesh-vpn-fastd` allows the user to switch between the `security` and +`performance` VPN settions. In `performance mode`, the method `null` will be prepended to the +method list. + +The new option ``configurable`` in the ``fastd_mesh_vpn`` section of ``site.conf`` must be set to `true` +so firmware upgrades don't overwrite the method list completely (non-`null` methods will still +be overwritten). Adding the `gluon-luci-mesh-vpn-fastd` package enforces this setting. + +Altitude setting in `gluon-config-mode-geo-location` +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +The `gluon-config-mode-geo-location` config mode module +now contains an optional altitude field. + +`gluon-announced` rework +^^^^^^^^^^^^^^^^^^^^^^^^ +The `gluon-announced` package has been reworked to allow querying it from anywhere in the mesh. +In contrast to `gluon-alfred`, it is based on a query-response model (the master multicasts a query, +the nodes respond), while `gluon-alfred` uses periodic announcements. + +For now, we recommend including both `gluon-alfred` and `gluon-announced` in Gluon-based firmwares, +until `gluon-announced` is ready to replace `gluon-alfred` completely, and software like the +ffmap backend has been adjusted accordingly. + +Nested peer groups +^^^^^^^^^^^^^^^^^^ +Nested peer groups for the `fastd-mesh-vpn-fastd` package can now be configured in ``site.conf``, +each with its own peer limit. This allows to add additional constaints, for example to connect +to 2 peers altogether, but only 1 peer in each data center. + +Autoupdater manual branch override +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +When running the updater manually on the command line, the branch to use can now be +overridden using the ``-b`` option. Bugfixes ~~~~~~~~ +Accidental factory reset fix +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Pressing a node's reset button for more than 5 seconds would completely reset a node's +configuration under certain conditions. + +WAN IPv6 issues +^^^^^^^^^^^^^^^ +The WAN port would stop to respond to IPv6 packets sometimes, also breaking IPv6 VPN connectivity. + +WDR4900 WAN MAC address +^^^^^^^^^^^^^^^^^^^^^^^ +The MAC address on the WAN port of the WDR4900 was broken, making this device unusable for `mesh-on-wan` +configurations. Site changes @@ -22,9 +165,88 @@ Site changes to keep the old behaviour, you have to append the hyphen to the ``hostname_prefix`` field of your ``site.conf``. + - ``mesh_vpn_fastd``: The default peer group name ``backbone`` isn't hardcoded anymore, any + group name can be used. Instead, the ``fastd_mesh_vpn`` table must now contain an element ``groups``, + for example:: + + fastd_mesh_vpn = { + methods = {'salsa2012+umac'}, + mtu = 1426, + groups = { + backbone = { + limit = 2, + peers = { + -- ... + } + } + } + } + + - ``config_mode``: The config mode messages aren't configured in ``site.conf`` anymore. Instead, they are + defined language-specific gettext files in the ``i18n`` subdirectory of the site configuration (see + :ref:`site-config-mode-texts`). + + - ``roles``: The display strings for the node roles aren't configured in the ``site.conf`` anymore, but + in the site i18n files. The ``site.conf`` section becomes:: + + roles = { + default = 'foo', + list = { + 'foo', + 'bar', + } + } + + The display string use i18n message IDs like ``gluon-luci-node-role:role:foo`` and ``gluon-luci-node-role:role:bar``. + +* ``site.mk`` + + - ``gluon-mesh-batman-adv-15`` is now the recommended batman-adv version for new Gluon deployments. + + - The packages ``gluon-setup-mode`` and ``gluon-config-mode-core`` must now be + added to ``GLUON_SITE_PACKAGES`` explicitly (to allow replacing them with + community-specific implementations). + + - The new ``GLUON_LANGS`` variable selects the config mode languages to include. It defaults to ``en``, + setting it to ``en de`` will select both the English and German locales. ``en`` must always be + included. + Internals ~~~~~~~~~ +New upgrade script directory +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +The distinction between `initial` and `invariant` scripts has been removed, +all scripts are now run on each upgrade. Instead of having one script directory +per package, all upgrade scripts lie in ``/lib/gluon/upgrade`` now, so it is +possible to define the run order across packages. +Merged package repository +^^^^^^^^^^^^^^^^^^^^^^^^^ +The Gluon-specific packages have been moved to the ``package`` directory of the Gluon +main repository. The ``packages`` repository now only contains packages that will be +submitted to the OpenWrt upstream eventually. Known Issues ~~~~~~~~~~~~ + +Alfred/respondd crashes +^^^^^^^^^^^^^^^^^^^^^^^ + +https://github.com/freifunk-gluon/gluon/issues/177 + +Occasional alfred crashes may still occur. As this is caused by a kernel issue, +we suspect that respondd, which gluon-announced is based on, is affected +in the same way. + + +Ignored TX power offset on Ubiquiti AirMax devices +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +https://github.com/freifunk-gluon/gluon/issues/94 + +The default transmission power setting on many of these devices +is too high. It may be necessary to make manual adjustments, for example +using the ``gluon-luci-wifi-config`` package. The values shown by +``gluon-luci-wifi-config`` generally include the TX power offset +(amplifier and antenna gain) where available, but on many devices +the offset is inaccurate or unavailable. diff --git a/docs/site-example/i18n/de.po b/docs/site-example/i18n/de.po index 271172a4..ce27c813 100644 --- a/docs/site-example/i18n/de.po +++ b/docs/site-example/i18n/de.po @@ -32,4 +32,7 @@ msgstr "" "verbinden. Weitere Informationen zur " "Entenhausener Freifunk-Community findest du auf " "unserer Webseite.
" +"Um zu dieser Konfigurationsseite zurückzugelangen, drücke im normalen " +"Betrieb für drei Sekunden den Reset-Button. Das Gerät wird dann im Config " +"Mode neustarten.
" "Viel Spaß mit deinem Knoten und der Erkundung von Freifunk!
" diff --git a/docs/site-example/i18n/en.po b/docs/site-example/i18n/en.po index bfbbc882..dedc06e1 100644 --- a/docs/site-example/i18n/en.po +++ b/docs/site-example/i18n/en.po @@ -30,4 +30,7 @@ msgstr "" "nearby Freifunk nodes after that. " "Your can find lots of information on the Freifunk Duckburg community on " "our homepage." +"To get back to this configuration interface, press the reset button for " +"3 seconds during normal operation. The device will then reboot into config " +"mode.
" "Have fun with your node and exploring the Freifunk network!
" diff --git a/docs/site-example/site.conf b/docs/site-example/site.conf index d5372512..6cffded8 100644 --- a/docs/site-example/site.conf +++ b/docs/site-example/site.conf @@ -1,4 +1,4 @@ --- This is an example site configuration for Gluon v2014.4 +-- This is an example site configuration for Gluon v2015.1+ -- -- Take a look at the documentation located at -- http://gluon.readthedocs.org/ for details. @@ -89,25 +89,42 @@ fastd_mesh_vpn = { -- List of crypto-methods to use. methods = {'salsa2012+umac'}, + -- enabled = true, + -- configurable = true, + mtu = 1426, - backbone = { - -- Limit number of connected peers to reduce bandwidth. - limit = 2, + groups = { + backbone = { + -- Limit number of connected peers to reduce bandwidth. + limit = 2, - -- List of peers. - peers = { - peer1 = { - key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', + -- List of peers. + peers = { + peer1 = { + key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', - -- This is a list, so you might add multiple entries. - remotes = {'ipv4 "xxx.somehost.invalid" port xxxxxx'}, - }, - peer2 = { - key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', - -- You can also omit the ipv4 to allow both connection via ipv4 and ipv6 - remotes = {'"xxx.somehost2.invalid" port xxxxx'}, + -- This is a list, so you might add multiple entries. + remotes = {'ipv4 "xxx.somehost.invalid" port xxxxxx'}, + }, + peer2 = { + key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', + -- You can also omit the ipv4 to allow both connection via ipv4 and ipv6 + remotes = {'"xxx.somehost2.invalid" port xxxxx'}, + }, }, + + -- Optional: nested peer groups + -- groups = { + -- backbone_sub = { + -- ... + -- }, + -- ... + -- }, }, + -- Optional: additional peer groups, possibly with other limits + -- backbone2 = { + -- ... + -- }, }, }, @@ -140,13 +157,13 @@ }, -- Node roles - -- roles { + -- roles = { -- default = 'node', -- list = { - -- node = 'Normal Node', - -- test = 'Test Node', - -- backbone = 'Backbone Node', - -- service = 'Service Node', + -- 'node', + -- 'test', + -- 'backbone', + -- 'service', -- }, -- }, diff --git a/docs/site-example/site.mk b/docs/site-example/site.mk index 9b0e8476..6a16eb53 100644 --- a/docs/site-example/site.mk +++ b/docs/site-example/site.mk @@ -5,7 +5,7 @@ # The gluon-mesh-batman-adv-* package must come first because of the dependency resolution GLUON_SITE_PACKAGES := \ - gluon-mesh-batman-adv-14 \ + gluon-mesh-batman-adv-15 \ gluon-alfred \ gluon-announced \ gluon-autoupdater \ @@ -20,6 +20,7 @@ GLUON_SITE_PACKAGES := \ gluon-luci-admin \ gluon-luci-autoupdater \ gluon-luci-portconfig \ + gluon-luci-wifi-config \ gluon-next-node \ gluon-mesh-vpn-fastd \ gluon-radvd \ diff --git a/docs/user/getting_started.rst b/docs/user/getting_started.rst index adbec026..885a3887 100644 --- a/docs/user/getting_started.rst +++ b/docs/user/getting_started.rst @@ -38,7 +38,7 @@ Building the images ------------------- To build Gluon, first check out the repository. Replace *RELEASE* with the -version you'd like to checkout, e.g. *v2014.4*. +version you'd like to checkout, e.g. *v2015.1*. :: diff --git a/docs/user/site.rst b/docs/user/site.rst index fdd107b1..bf6c1650 100644 --- a/docs/user/site.rst +++ b/docs/user/site.rst @@ -67,21 +67,19 @@ wifi24 ``htmode``, the adhoc ssid ``mesh_ssid`` used between devices, the adhoc bssid ``mesh_bssid`` and the adhoc multicast rate ``mesh_mcast_rate``. Optionally ``mesh_vlan`` can be used to setup VLAN on top of the 802.11 - ad-hoc interface. The options``mesh_disabled`` and ``client_disabled`` + ad-hoc interface. The options ``mesh_disabled`` and ``client_disabled`` are optional, too. They allow to disable the SSID by default, e.g. for preconfigured node. This only affects first configuraton. Combined in an dictionary, e.g.: :: wifi24 = { - ssid = 'http://kiel.freifunk.net/', + ssid = 'entenhausen.freifunk.net', channel = 11, htmode = 'HT40-', mesh_ssid = 'ff:ff:ff:ee:ba:be', mesh_bssid = 'ff:ff:ff:ee:ba:be', mesh_mcast_rate = 12000, - client_disabled = true, - mesh_disabled = false, }, wifi5 @@ -94,24 +92,40 @@ next_node : package next_node = { ip4 = '10.23.42.1', ip6 = 'fdca:ffee:babe:1::1', - mac = 'ca:ff:ee:ba:be' + mac = 'ca:ff:ee:ba:be:00' } fastd_mesh_vpn - Remote server setup for vpn. + Remote server setup for the fastd-based 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 + 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 + if it is supported at all. You should only set `configurable` to `true` if the + configured peers support both the ``null`` method and methods with encryption. :: fastd_mesh_vpn = { - methods = {'salsa2012+gmac'}, + methods = {'salsa2012+umac'}, + -- enabled = true, + -- configurable = true, mtu = 1426, - backbone = { - limit = 2, - peers = { - ffki_rz = { - key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', - remotes = {'ipv4 "vpn1.entenhausen.freifunk.net" port 10000'}, - }, + groups = { + backbone = { + limit = 2, + peers = { + peer1 = { + key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', + remotes = {'ipv4 "vpn1.entenhausen.freifunk.net" port 10000'}, + }, + } } } } @@ -119,6 +133,9 @@ fastd_mesh_vpn mesh_on_wan : optional Enables the mesh on the WAN port (``true`` or ``false``). +mesh_on_lan : optional + Enables the mesh on the LAN port (``true`` or ``false``). + autoupdater : package Configuration for the autoupdater feature of Gluon. :: @@ -150,15 +167,19 @@ roles : optional ``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 the package ``gluon-luci-node-role`` to ``site.mk``. + + The strings to display in the LuCI interface can be configured per language in the + ``i18n/en.po``, ``i18n/de.po``, etc. files of the site repository using message IDs like + ``gluon-luci-node-role:role:node`` and ``gluon-luci-node-role:role:backbone``. :: roles = { default = 'node', list = { - node = 'Normal Node', - test = 'Test Node', - backbone = 'Backbone Node', - service = 'Service Node', + 'node', + 'test', + 'backbone', + 'service', }, }, @@ -220,6 +241,8 @@ GLUON_LANGS List of languages (as two-letter-codes) to include for the web interface. Should always contain ``en``. +.. _site-config-mode-texts: + Config mode texts ----------------- @@ -284,7 +307,7 @@ This is a non-exhaustive list of site-repos from various communities: * `site-ffgoe