v2017.1.rst 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. Gluon 2017.1
  2. ============
  3. General changes
  4. ~~~~~~~~~~~~~~~
  5. Gluon 2017.1 is the first release of Gluon based on the LEDE 17.01 branch. The
  6. kernel has been updated from 3.18.x to 4.4.x.
  7. We've used the opportunity to greatly simplify the Gluon build system, removing
  8. many hacks that were required to make the build work with older OpenWrt releases.
  9. The *output/modules* directory is now called *output/packages* and provides a
  10. replacement for the whole repository with target-specific packages of LEDE (in
  11. contrast to packages that are common for all targets of the same architecture).
  12. Another change to the build system makes it necessary that the same *GLUON_RELEASE*
  13. value that is used to build the images is also set for ``make manifest``.
  14. GCC 4.8 or newer is now required to build Gluon.
  15. **Note: There is an issue in all Gluon versions before 2016.2.6 that will
  16. lead to x86 systems losing their configuration when upgrading to Gluon 2017.1!**
  17. Older Gluon versions should be upgraded to 2016.2.6 first before switching to
  18. 2017.1.
  19. Another potential issue mostly affects virtual machines: Gluon 2017.1 images are
  20. bigger than 2016.2.x images on x86. If your virtual harddisk is based on a
  21. 2016.2.x image, it must be resized to 273MB or bigger before upgrading to Gluon
  22. 2017.1. Using qemu, the command
  23. ::
  24. qemu-img resize $IMAGE 273MB
  25. can be used to do this.
  26. Added hardware support
  27. ~~~~~~~~~~~~~~~~~~~~~~
  28. ar71xx-generic
  29. ^^^^^^^^^^^^^^
  30. * TP-Link
  31. - RE450
  32. - WBS210 v1.20
  33. - WBS510 v1.20
  34. * Ubiquiti
  35. - AirGateway LR
  36. - AirGateway PRO
  37. - Rocket M2/M5 Ti
  38. - UniFi AP LR
  39. ar71xx-tiny
  40. ^^^^^^^^^^^
  41. The new *ar71xx-tiny* target has split out of *ar71xx-generic*; all
  42. *ar71xx-generic* devices with only 4MB of flash have been moved to this target.
  43. In contrast to *ar71xx-generic*, *ar71xx-tiny* **does not support opkg anymore**
  44. to save some space.
  45. * TP-Link
  46. - TL-WA730RE v1
  47. - TL-WA7210N v2
  48. x86-generic
  49. ^^^^^^^^^^^
  50. The *x86-kvm* and *x86-xen_domu* targets have been removed; the *x86-generic*
  51. images now support these usecases as well, so no separate targets are needed
  52. anymore.
  53. x86-geode
  54. ^^^^^^^^^
  55. The new *x86-geode* target for hardware based on Geode CPUs has been added.
  56. New features
  57. ~~~~~~~~~~~~
  58. * Localization support has been added to the status page. In addition to German,
  59. there are English and Russian translations now (`#1044 <https://github.com/freifunk-gluon/gluon/issues/1044>`_)
  60. * Add support for making nodes a DNS cache for clients
  61. (`#1000 <https://github.com/freifunk-gluon/gluon/issues/1000>`_)
  62. See also: :doc:`../features/dns-cache`
  63. * Add L2TP via tunneldigger as an alternative VPN system
  64. (`#978 <https://github.com/freifunk-gluon/gluon/issues/978>`_)
  65. L2TP will usually give better performance than fastd as it runs in kernel
  66. space, but it does not provide encryption. Also, tunneling over IPv6 is
  67. currently unsupported by tunneldigger.
  68. It is not possible to include both fastd and tunneldigger in the same
  69. firmware.
  70. * Add source filter package (`#1015 <https://github.com/freifunk-gluon/gluon/issues/1015>`_)
  71. The new package *gluon-ebtables-source-filter* can be used to prevent traffic
  72. using unexpected IP addresses or packet types from entering the mesh.
  73. See also: :doc:`../package/gluon-ebtables-source-filter`
  74. Bugfixes
  75. ~~~~~~~~
  76. * Disabling batman-adv on an interface (for example when an Ethernet link is lost
  77. or before sysupgrades) could lead to a kernel crash in certain configurations
  78. (`#680 <https://github.com/freifunk-gluon/gluon/issues/680>`_)
  79. * A race condition in the network setup scripts could lead to incomplete setup
  80. during boot or when interfaces were added or removed from batman-adv after
  81. Ethernet link changes (`#905 <https://github.com/freifunk-gluon/gluon/issues/905>`_)
  82. The fix also solved the long-standing issue of Ethernet-only nodes (i.e. no
  83. WLAN or VPN mesh) not booting up correctly without an Ethernet mesh link.
  84. * Some fixes in the WLAN stack of LEDE have improved the stability of the ath9k
  85. driver (`#605 <https://github.com/freifunk-gluon/gluon/issues/605>`_)
  86. Site changes
  87. ~~~~~~~~~~~~
  88. site.mk
  89. ^^^^^^^
  90. * The *gluon-legacy* package does not exist anymore
  91. * All *gluon-luci-* packages have been renamed to *gluon-web-*;
  92. *gluon-luci-portconfig* is now called *gluon-web-network*
  93. * The *gluon-next-node* package has been merged into the Gluon core and must not
  94. be specified in *site.mk* anymore
  95. site.conf
  96. ^^^^^^^^^
  97. * The *fastd_mesh_vpn* configuration section has been restructured to allow
  98. sharing more options with tunneldigger. Instead of
  99. .. code-block:: lua
  100. fastd_mesh_vpn = {
  101. mtu = 1280,
  102. configurable = true,
  103. methods = {'salsa2012+umac'},
  104. groups = { ... },
  105. bandwidth_limit = { ... },
  106. }
  107. the configuration must look like this now:
  108. .. code-block:: lua
  109. mesh_vpn = {
  110. mtu = 1280,
  111. fastd = {
  112. configurable = true,
  113. methods = {'salsa2012+umac'},
  114. groups = { ... },
  115. }
  116. bandwidth_limit = { ... },
  117. }
  118. * The *opkg.openwrt* option has been renamed to *opkg.lede*
  119. i18n
  120. ^^^^
  121. * The *escape* function has been removed as it was duplicating the existing
  122. *pcdata* function. All uses of *escape* in i18n templates must be changed to
  123. use *pcdata* instead.
  124. * The *gluon-config-mode:altitude-label* and *gluon-config-mode:altitude-help*
  125. translation IDs have been added to allow adjusting the texts for different
  126. kinds of altitudes that might be expected.
  127. * The optional *gluon-config-mode:novpn* label has been added, which will be
  128. shown in place of *gluon-config-mode:pubkey* when mesh VPN is disabled.
  129. Internals
  130. ~~~~~~~~~
  131. * The LuCI base libraries have been replaced by a stripped-down
  132. version called "gluon-web" (`#1007 <https://github.com/freifunk-gluon/gluon/issues/1007>`_)
  133. Custom packages will need to be adjusted; in particular, all uses of *luci.model.uci*
  134. need to be replaced with *simple-uci*. The Gluon documentation explains the most important
  135. changes required to migrate from LuCI to gluon-web.
  136. * respondd now listens on ``ff05::2:1001`` in addition to ``ff02::2:1001`` for mesh-wide
  137. operation (`#984 <https://github.com/freifunk-gluon/gluon/issues/984>`_)
  138. Eventually, ``ff02::2:1001`` will be available for exchanging information
  139. between neighbouring nodes only; map servers should be moved to ``ff05::2:1001``.
  140. * batman-adv has been updated to version 2017.1
  141. * Directly running make commands in the *lede* directory is supported now. Consequently,
  142. build targets like ``target/linux/clean`` and ``package/NAME/compile`` can't be used
  143. in the Gluon repository root anymore.
  144. The command ``make config`` will set up the LEDE *.config* in the way a normal
  145. Gluon build would, so it's possible to build individual packages for testing
  146. and development afterwards.
  147. * Target definitions have been migrated from a Make-based format to a simpler
  148. shell-based DSL
  149. * Gluon does not pass any custom variables into the LEDE build anymore, so things
  150. like *GLUONDIR*, *GLUON_VERSION*, or *GLUON_SITEDIR* aren't available
  151. to package Makefiles in Gluon 2017.1.
  152. Instead of ``$(GLUONDIR)/package.mk``, ``$(TOPDIR)/../package/gluon.mk`` must
  153. be included in custom packages now.
  154. Known issues
  155. ~~~~~~~~~~~~
  156. * Default TX power on many Ubiquiti devices is too high, correct offsets are unknown (`#94 <https://github.com/freifunk-gluon/gluon/issues/94>`_)
  157. Reducing the TX power in the Advanced Settings is recommended.
  158. * 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>`_)
  159. This may lead to issues in environments where a fixed MAC address is expected (like VMware when promicious mode is disallowed).
  160. * Inconsistent respondd API (`#522 <https://github.com/freifunk-gluon/gluon/issues/522>`_)
  161. The current API is inconsistent and will be replaced eventually. The old API will still be supported for a while.