22 Commits bcd762d33e ... e233a156cd

Author SHA1 Message Date
  kb-light e233a156cd gluon-web-autoupdater: introduce minute value 6 years ago
  kb-light c9819290fa gluon-autoupdater: introduce uci value gluon.autoupdater.minute 6 years ago
  lemoer 307bf5a678 gluon-core: introduce "gluon" uci package 6 years ago
  kb-light f3f97b71a4 Add new package gluon-web-logging (#1153) 6 years ago
  kb-light 3897ce9f2b lede: do not remove iw connect 6 years ago
  Matthias Schiffer d06427d469 docs: releases/v2017.1.6: mention batman-adv-legacy bugfix 6 years ago
  Matthias Schiffer 86016f25a0 docs: releases/v2017.1.6: add more explanation regarding queue limit change, mention CPE/WBS 210/510 sysupgrade patch 6 years ago
  Matthias Schiffer 5230270424 docs: add preliminary v2017.1.6 release notes 6 years ago
  Matthias Schiffer e63c6ca01f gluon-core: reduce mac80211 fq_codel memory limit to 256KB on devices with 32MB RAM 6 years ago
  Matthias Schiffer d41ba2c6b2 generic: do not attempt to build kmod-usbip 6 years ago
  Matthias Schiffer 823157f2ad modules: update LEDE 6 years ago
  Matthias Schiffer cde3469190 modules: update Gluon packages 6 years ago
  Matthias Schiffer 883c32f2f1 gluon-status-page: suppress "broken pipe" syslog message 6 years ago
  Matthias Schiffer 5c728073aa modules: update LEDE 6 years ago
  Matthias Schiffer e305a8c019 gluon-mesh-batman-adv: increase bridge multicast querier robustness to 9 6 years ago
  Matthias Schiffer da0ecc86eb modules: update LEDE 6 years ago
  Matthias Schiffer 6bd839f361 modules: update LEDE 6 years ago
  kb-light bcd762d33e gluon-web-autoupdater: introduce minute value 6 years ago
  kb-light 7d53aeab39 gluon-autoupdater: introduce uci value gluon.autoupdater.minute 6 years ago
  lemoer 5bdfce4cef gluon-core: introduce "gluon" uci package 6 years ago
  kb-light b48d49f1ea Add new package gluon-web-logging (#1153) 6 years ago
  kb-light dc5f3964bf lede: do not remove iw connect 6 years ago

+ 1 - 0
docs/index.rst

@@ -64,6 +64,7 @@ Several Freifunk communities in Germany use Gluon as the foundation of their Fre
    :caption: Releases
    :maxdepth: 1
 
+   releases/v2017.1.6
    releases/v2017.1.5
    releases/v2017.1.4
    releases/v2017.1.3

+ 70 - 0
docs/releases/v2017.1.6.rst

@@ -0,0 +1,70 @@
+Gluon 2017.1.6 (in development)
+===============================
+
+Bugfixes
+~~~~~~~~
+
+* Only request a single IPv6 address instead of a prefix on the WAN interface
+  (`5db54ba78c3 <https://github.com/freifunk-gluon/gluon/commit/5db54ba78c3e245f06e4a407371608f6cb247b49>`_)
+
+* Fix signal graph on status page when there are many neighbours
+  (packages/`d1e0b6e0bdae <https://github.com/freifunk-gluon/packages/commit/d1e0b6e0bdaea14d8b9425cee6ca83087be1a905>`_)
+
+* Fix config files managed by opkg not being saved on sysupgrades on ar71xx-tiny
+  (LEDE/`17c0362178ca <https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=17c0362178caf837680a4631b8d0de94e5393448>`_,
+  LEDE/`75be005e8bdc <https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=75be005e8bdcbf86f9ad167a8737126dda98a444>`_)
+
+* Fix kernel crash in batman-adv-14
+  (`#1358 <https://github.com/freifunk-gluon/gluon/issues/1358>`_)
+
+  Starting with Gluon v2017.1, respondd could trigger a kernel crash caused by
+  a use-after-free in batman-adv-14, in particular after a gateway disappeared.
+
+  batman-adv-15 is not affected.
+
+* Increase bridge multicast querier timeout ("robustness") to avoid
+  "querier appeared/disappeared" log spam by batman-adv in the presence of
+  an external querier
+  (`e305a8c01917 <https://github.com/freifunk-gluon/gluon/commit/e305a8c019179472dbfc6fccea6c87cf40c08a75>`_)
+
+* Fix "broken pipe" log spam caused by the status page
+  (`883c32f2f1dc <https://github.com/freifunk-gluon/gluon/commit/883c32f2f1dc368626069865c07a5701e3e9bcae>`_)
+
+* Reduce memory limit of WLAN packet queues to 256KB on devices with small RAM
+  (`e63c6ca01f50 <https://github.com/freifunk-gluon/gluon/commit/e63c6ca01f50c96d76e5570faa290617a8a312b4>`_)
+
+  Will hopefully make out-of-memory crashes in busy meshes less likely.
+
+* Improve image validation for TP-Link CPE/WBS 210/510 and make it ready for
+  future images
+  (LEDE/`6577fe2198f5 <https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=6577fe2198f5c75acb1dba789941d96a036f4dae>`_)
+
+  Future OpenWrt/Gluon images will move the image metadata ("support-list") of
+  the CPE/WBS 210/510 images to a different offset. Make sysupgrade ready
+  to allow installing such images.
+
+  This change was also backported to Gluon v2016.2.x to allow direct updates
+  to future Gluon master versions without installing v2017.1.x first.
+
+* Sporadic segfaults of busybox (ash) when running shell scripts on ar71xx
+  have disappeared with the latest updates
+  (`#1157 <https://github.com/freifunk-gluon/gluon/issues/1157>`_)
+
+
+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 Advanced Settings is recommended.
+
+* 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 API (`#522 <https://github.com/freifunk-gluon/gluon/issues/522>`_)
+
+  The current API is inconsistent and will be replaced eventually. The old API will still be supported for a while.
+
+* Frequent reboots due to out-of-memory on weak hardware in larger meshes
+  (`#1243 <https://github.com/freifunk-gluon/gluon/issues/1243>`_)

+ 2 - 2
modules

@@ -2,7 +2,7 @@ GLUON_FEEDS='openwrt gluon routing luci'
 
 LEDE_REPO=https://git.lede-project.org/openwrt/openwrt.git
 LEDE_BRANCH=lede-17.01
-LEDE_COMMIT=01d7a5d7dee247c40a7ecfbd7ba221640752e76f
+LEDE_COMMIT=6577fe2198f5c75acb1dba789941d96a036f4dae
 
 PACKAGES_OPENWRT_REPO=https://github.com/openwrt/packages.git
 PACKAGES_OPENWRT_BRANCH=lede-17.01
@@ -10,7 +10,7 @@ PACKAGES_OPENWRT_COMMIT=82ef2fd773987a72678a32b862f50085c3f57d56
 
 PACKAGES_GLUON_REPO=https://github.com/freifunk-gluon/packages.git
 PACKAGES_GLUON_BRANCH=v2017.1.x
-PACKAGES_GLUON_COMMIT=d1e0b6e0bdaea14d8b9425cee6ca83087be1a905
+PACKAGES_GLUON_COMMIT=8b2f752daca5d8af11f1e1df4eddd301f75fb49a
 
 PACKAGES_ROUTING_REPO=https://github.com/openwrt-routing/packages.git
 PACKAGES_ROUTING_COMMIT=e656a6e0e69dd45b7caa24775bc86b6eb5dcfe7f

+ 3 - 3
package/gluon-core/files/etc/hotplug.d/ieee80211/01-gluon-core-codel-memusage

@@ -1,8 +1,8 @@
 #!/bin/sh
-if [ "${ACTION}" = "add" ]; then
 
+if [ "${ACTION}" = 'add' ]; then
 	RAM=$(awk '/MemTotal/ {print $2}' /proc/meminfo)
-	if [ "$RAM" -lt $((48*1024)) ]; then
-		echo "fq_memory_limit 1048576" > "/sys/kernel/debug/ieee80211/$DEVICENAME/aqm"
+	if [ "$RAM" -le $((32*1024)) ]; then
+		echo 'fq_memory_limit 262144' > "/sys/kernel/debug/ieee80211/$DEVICENAME/aqm"
 	fi
 fi

+ 1 - 1
package/gluon-mesh-batman-adv/luasrc/lib/gluon/upgrade/320-gluon-mesh-batman-adv-client-bridge

@@ -18,7 +18,7 @@ uci:section('network', 'interface', 'client', {
 	peerdns = not (site.dns and site.dns.servers),
 	sourcefilter = false,
 	keep_ra_dnslifetime = true,
-	robustness = 3,
+	robustness = 9,
 	query_interval = 2000,
 	query_response_interval = 500,
 })

+ 1 - 1
package/gluon-status-page-api/files/lib/gluon/status-page/www/cgi-bin/dyn/neighbours-nodeinfo

@@ -8,6 +8,6 @@ badrequest() {
 
 echo 'Access-Control-Allow-Origin: *'
 
-batctl if | cut -d: -f1 | grep -qxF "$QUERY_STRING" || badrequest
+( batctl if | cut -d: -f1 | grep -qxF "$QUERY_STRING" ) 2>/dev/null || badrequest
 
 exec /usr/bin/gluon-neighbour-info -s neighbour -i "$QUERY_STRING" -d ff02::2:1001 -p 1001 -r nodeinfo

+ 1 - 1
package/gluon-status-page-api/files/lib/gluon/status-page/www/cgi-bin/dyn/stations

@@ -8,7 +8,7 @@ badrequest() {
 
 echo 'Access-Control-Allow-Origin: *'
 
-batctl if | cut -d: -f1 | grep -qxF "$QUERY_STRING" || badrequest
+( batctl if | cut -d: -f1 | grep -qxF "$QUERY_STRING" ) 2>/dev/null || badrequest
 
 CMD="exec /lib/gluon/status-page/providers/stations '$QUERY_STRING'"
 

+ 2 - 2
patches/lede/0003-base-files-disable-reset-button-handling.patch

@@ -6,7 +6,7 @@ This conflicts with our reset button usage.
 
 diff --git a/package/base-files/files/etc/rc.button/reset b/package/base-files/files/etc/rc.button/reset
 deleted file mode 100755
-index 4265767437e8eda3c758fe7f7941d7f608c95782..0000000000000000000000000000000000000000
+index 2403122ad21d1abd568337908c9d58060e87bf08..0000000000000000000000000000000000000000
 --- a/package/base-files/files/etc/rc.button/reset
 +++ /dev/null
 @@ -1,31 +0,0 @@
@@ -32,7 +32,7 @@ index 4265767437e8eda3c758fe7f7941d7f608c95782..00000000000000000000000000000000
 -		echo "REBOOT" > /dev/console
 -		sync
 -		reboot
--	elif [ "$SEEN" -gt 5 -a -n "$OVERLAY" ]
+-	elif [ "$SEEN" -ge 5 -a -n "$OVERLAY" ]
 -	then
 -		echo "FACTORY RESET" > /dev/console
 -		jffs2reset -y && reboot &

+ 1 - 1
patches/lede/0014-procd-remove-procd-nand-package.patch

@@ -12,7 +12,7 @@ as a separate package.
 Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
 
 diff --git a/package/base-files/Makefile b/package/base-files/Makefile
-index 3fcf20a84433eb1a41e970cd010cc414bb180fad..0813f2ae76e2a6b83b5d077b61010d13c1a50fee 100644
+index 40963d5bd4a7fce5834c4cd6aa6d5454662c063e..685e3c4061528e2b28054cce53258889b48c05b2 100644
 --- a/package/base-files/Makefile
 +++ b/package/base-files/Makefile
 @@ -19,7 +19,9 @@ PKG_BUILD_DEPENDS:=usign/host

+ 5 - 5
patches/lede/0015-base-files-always-use-staged-sysupgrade.patch

@@ -325,7 +325,7 @@ index 0000000000000000000000000000000000000000..4e2aa3a23c3bab07a795762a30a4d4f7
 +	exec /bin/busybox ash -c "$COMMAND"
 +fi
 diff --git a/package/base-files/files/sbin/sysupgrade b/package/base-files/files/sbin/sysupgrade
-index c095ca81c50c71021af2dc04a561ac22f6b7442b..2d67371ef74b4b970076a069e97f4fd6a1e0bc95 100755
+index 71c7faa6dbc485ff33e776ff087e1aca58cfb0b0..fa08f4194daa0ee74758b9f49a23fe8dcb4b933d 100755
 --- a/package/base-files/files/sbin/sysupgrade
 +++ b/package/base-files/files/sbin/sysupgrade
 @@ -1,4 +1,7 @@
@@ -374,7 +374,7 @@ index c095ca81c50c71021af2dc04a561ac22f6b7442b..2d67371ef74b4b970076a069e97f4fd6
  	cat <<-EOF
  		-b|--create-backup and -r|--restore-backup do not perform a firmware upgrade.
  		Do not specify both -b|-r and a firmware image.
-@@ -136,14 +136,13 @@ sysupgrade_pre_upgrade="fwtool_pre_upgrade"
+@@ -155,14 +155,13 @@ sysupgrade_pre_upgrade="fwtool_pre_upgrade"
  
  include /lib/upgrade
  
@@ -390,7 +390,7 @@ index c095ca81c50c71021af2dc04a561ac22f6b7442b..2d67371ef74b4b970076a069e97f4fd6
  		return 0
  	}
  	run_hooks "$CONFFILES" $sysupgrade_init_conffiles
-@@ -184,8 +183,33 @@ type platform_check_image >/dev/null 2>/dev/null || {
+@@ -203,8 +202,33 @@ type platform_check_image >/dev/null 2>/dev/null || {
  	exit 1
  }
  
@@ -425,7 +425,7 @@ index c095ca81c50c71021af2dc04a561ac22f6b7442b..2d67371ef74b4b970076a069e97f4fd6
  		if [ $FORCE -eq 1 ]; then
  			echo "Image check '$check' failed but --force given - will update anyway!"
  			break
-@@ -211,6 +235,7 @@ elif ask_bool $SAVE_CONFIG "Keep config files over reflash"; then
+@@ -230,6 +254,7 @@ elif ask_bool $SAVE_CONFIG "Keep config files over reflash"; then
  	[ $TEST -eq 1 ] || do_save_conffiles
  	export SAVE_CONFIG=1
  else
@@ -433,7 +433,7 @@ index c095ca81c50c71021af2dc04a561ac22f6b7442b..2d67371ef74b4b970076a069e97f4fd6
  	export SAVE_CONFIG=0
  fi
  
-@@ -218,28 +243,18 @@ if [ $TEST -eq 1 ]; then
+@@ -237,28 +262,18 @@ if [ $TEST -eq 1 ]; then
  	exit 0
  fi
  

+ 1 - 1
patches/lede/0018-base-files-sysupgrade-cleanup.patch

@@ -245,7 +245,7 @@ index 4e2aa3a23c3bab07a795762a30a4d4f701081934..cc8047d988e39ca9ba27d2588744aad4
 +# Exec new shell from ramfs
 +exec /bin/busybox ash -c "$COMMAND"
 diff --git a/package/base-files/files/sbin/sysupgrade b/package/base-files/files/sbin/sysupgrade
-index 2d67371ef74b4b970076a069e97f4fd6a1e0bc95..200a0e520b5df8bcc208f4d8fd731756e94294fb 100755
+index fa08f4194daa0ee74758b9f49a23fe8dcb4b933d..347860d00af27a61152703320bb210d30726db83 100755
 --- a/package/base-files/files/sbin/sysupgrade
 +++ b/package/base-files/files/sbin/sysupgrade
 @@ -1,7 +1,5 @@

+ 2 - 2
patches/lede/0019-base-files-add-support-for-staged-sysupgrades-from-failsafe-mode.patch

@@ -45,10 +45,10 @@ index 3147cdc5a68a69cef6b1af6618a4e2367a143c2c..728c63b2e8aebf970cd7dff0d15518cc
  
  boot_hook_add failsafe failsafe_netlogin
 diff --git a/package/base-files/files/sbin/sysupgrade b/package/base-files/files/sbin/sysupgrade
-index 200a0e520b5df8bcc208f4d8fd731756e94294fb..809e789f9f436aaeb47a906d46c94d5952583e5a 100755
+index 347860d00af27a61152703320bb210d30726db83..4a133a65e0960619b9cd0d722b6c27ac7894de5b 100755
 --- a/package/base-files/files/sbin/sysupgrade
 +++ b/package/base-files/files/sbin/sysupgrade
-@@ -251,8 +251,16 @@ run_hooks "" $sysupgrade_pre_upgrade
+@@ -270,8 +270,16 @@ run_hooks "" $sysupgrade_pre_upgrade
  
  install_bin /sbin/upgraded
  v "Commencing upgrade. All shell sessions will be closed now."

+ 2 - 2
patches/lede/0036-ar71xx-add-support-for-TP-Link-Archer-C25-v1.patch

@@ -90,10 +90,10 @@ index 170c6f01b4310c4d6c261e9ba97af8786b21c93b..fc7d862c2911e96f76622cbed23e9986
  		name="archer-c5"
  		;;
 diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
-index 21ad2a617db2fe4ff5801aba3a7fae5ba103570a..e65f6e2f7594ba373fbc9a26620859b9005c8532 100755
+index d2dc88127c02746cdecc4ced28f33548f35d037c..6258713dd0e3325ab109689f0ed3b51e27c41f89 100755
 --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
 +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
-@@ -206,6 +206,7 @@ platform_check_image() {
+@@ -214,6 +214,7 @@ platform_check_image() {
  	ap121f|\
  	ap132|\
  	ap90q|\

+ 2 - 2
patches/lede/0042-ar71xx-add-support-for-TP-Link-TL-WR1043N-v5.patch

@@ -96,10 +96,10 @@ index fc7d862c2911e96f76622cbed23e99863814da63..8f8158bac8a28db4f4f15ce5c37f48a2
  		name="tl-wr2543n"
  		;;
 diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
-index e65f6e2f7594ba373fbc9a26620859b9005c8532..e748a2559cdb3a0ca6618429b0f613a656e39388 100755
+index 6258713dd0e3325ab109689f0ed3b51e27c41f89..774e3c8964ef724d1efbae56434aeaa9f1c298a4 100755
 --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
 +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
-@@ -261,6 +261,7 @@ platform_check_image() {
+@@ -269,6 +269,7 @@ platform_check_image() {
  	tew-712br|\
  	tew-732br|\
  	tew-823dru|\

+ 2 - 0
targets/generic

@@ -2,6 +2,8 @@ config '# CONFIG_TARGET_ROOTFS_INITRAMFS is not set'
 
 config 'CONFIG_ALL_NONSHARED=y'
 
+config '# CONFIG_PACKAGE_usbip is not set' # fails to build
+
 config 'CONFIG_BUSYBOX_CUSTOM=y'
 config 'CONFIG_BUSYBOX_CONFIG_SHA256SUM=y'
 config '# CONFIG_BUSYBOX_CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set'