Skip to content
Snippets Groups Projects
Commit ab712fae authored by Helge Jung's avatar Helge Jung
Browse files

new package 'ffpb-wifi-blackout-workaround'

parent 07930712
No related branches found
No related tags found
No related merge requests found
include $(TOPDIR)/rules.mk
PKG_NAME:=ffpb-wifi-blackout-workaround
PKG_VERSION:=1
PKG_RELEASE:=$(GLUON_VERSION).$(GLUON_SITE_CODE)-$(GLUON_RELEASE).$(GLUON_CONFIG_VERSION)
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
include $(INCLUDE_DIR)/package.mk
define Package/ffpb-wifi-blackout-workaround
SECTION:=ffpb
CATEGORY:=workarounds
TITLE:=WiFi-Blackout workaround
DEPENDS:=+busybox
endef
define Package/ffpb-wifi-blackout-workaround/description
Disables ANI when the "stable" firmware branch is used.
endef
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
endef
define Build/Configure
endef
define Build/Compile
endef
define Package/ffpb-wifi-blackout-workaround/install
$(CP) ./files/* $(1)/
endef
$(eval $(call BuildPackage,ffpb-wifi-blackout-workaround))
#!/bin/sh
#
# "ANI-thing is better than no WiFi"-Workaround
#
# In order to avoid further WiFi-Blackouts that *might* be caused by a buggy
# ANI feature in the ath9k kernel module, we disable ANI for nodes using the
# "stable" firmware branch until it got fixed in OpenWRT completely.
# Don't need to do anything, unless the script gets triggered by an "ifup"
# event.
[[ "$ACTION" != "ifup" ]] && exit 0;
[[ "$INTERFACE" != "mesh_radio0" && "$INTERFACE" != "client" ]] && exit 0;
# Test whether disabling ANI is applicable or not
if [ ! -e "/sys/kernel/debug/ieee80211/phy0/ath9k/ani" ] ; then
logger -s -t ath9k-disable-ani -p local0.notice \
"Not an ath9k device with ANI. Aborting."
exit 0
fi
# Load helper functions and determine the current branch
. /lib/functions.sh
config_load autoupdater
# Test whether this devices has the stable or the testing firmware
config_get fw_branch "settings" "branch"
new_ani_state=1
log_msg="Current firmware branch is: ${fw_branch}"
if [ "$fw_branch" == "stable" ] ; then
new_ani_state=0
log_msg="${log_msg} (disabling ANI)"
else
log_msg="${log_msg} (enabling ANI)"
fi
# enable/disable feature
logger -s -t ath9k-disable-ani -p local0.info $log_msg
/bin/echo ${new_ani_state} > /sys/kernel/debug/ieee80211/phy0/ath9k/ani
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment