#!/bin/bash set -x export PHYNAME_ATH="phy0" export DEVNAME_ATH="mesh0" systemctl stop systemd-timesyncd.service devPath="/sys/class/net/" devPrefix="wlan0" if [ -e "$devPath$devPrefix" ]; then ifconfig wlan0 down iw dev wlan0 del iw phy ${PHYNAME_ATH} interface add ${DEVNAME_ATH} type mp mesh_id mesh fi ifconfig ${DEVNAME_ATH} down #iw reg set US # set US regulatory domain iw dev ${DEVNAME_ATH} set type mp iw phy ${PHYNAME_ATH} set antenna 3 3 # ath9k/AR9280: OK (TX=3 RX=3) iw phy ${PHYNAME_ATH} set retry short 7 long 4 # initialize adapter with default (re-)try limits iw phy ${PHYNAME_ATH} set rts 500 iw phy ${PHYNAME_ATH} set retry short 7 long 4 # initialize adapter with default (re-)try limits iw dev ${DEVNAME_ATH} set power_save off # deactivate power saving mechanism #iw dev ${DEVNAME_ATH} set channel 1 HT40+ # set 2.4GHz channel 1 bandwidth 40MHz #iw dev ${DEVNAME_ATH} set channel 161 HT40+ # set 5GHz channel 149 (5745 MHz) bandwidth 40MHz #wait ifconfig ${DEVNAME_ATH} up #iw dev ${DEVNAME_ATH} set power_save off #iw dev ${DEVNAME_ATH} mesh join mesh #iw dev ${DEVNAME_ATH} mesh freq 5745 HT20 #iw dev ${DEVNAME_ATH} basic-rates 54 #iw dev ${DEVNAME_ATH} mcast-rate 54 iw dev ${DEVNAME_ATH} mesh leave iw dev ${DEVNAME_ATH} mesh join mesh freq 5805 HT40+ basic-rates 54 mcast-rate 54 #äiw dev ${DEVNAME_ATH} mesh join mesh freq 5200 HT40+ basic-rates 54 mcast-rate 54 #iw dev ${DEVNAME_ATH} set txpower fixed 600 iw dev ${DEVNAME_ATH} set txpower fixed 300 #iw dev ${DEVNAME_ATH} mesh join mesh freq 5745 HT40+ #iw dev ${DEVNAME_ATH} set mesh_param mesh_plink_timeout=20 iw dev ${DEVNAME_ATH} set bitrates ht-mcs-5 6 sgi-5 # set further debugfs variables #echo 0 > /sys/kernel/debug/ieee80211/${PHYNAME_ATH}/rc/limit_retry # enforce userspace long/short (re-)try limits on ath9k+RC #echo 1 > /sys/kernel/debug/ieee80211/${PHYNAME_ATH}/rc/limit_retry #echo 10 > /sys/kernel/debug/ieee80211/${PHYNAME_ATH}/rc/max_retry # max. number of tries per MRR chain segment advertised to RC #echo 15 > /sys/kernel/debug/ieee80211/${PHYNAME_ATH}/rc/max_retry #echo 6000 > /sys/kernel/debug/ieee80211/${PHYNAME_ATH}/rc/segment_size # max. minstrel(_ht) MRR chain segment duration in us #echo 1000000 > /sys/kernel/debug/ieee80211/${PHYNAME_ATH}/rc/segment_size #echo 1 > /sys/kernel/debug/ieee80211/${PHYNAME_ATH}/rc/activate_RTS_CTS # RTS/CTS for fallback rate and SMPS frames #echo 30 > /sys/kernel/debug/ieee80211/${PHYNAME_ATH}/ath9k/max_ba_sw_retries # max. number of ath9k SW retries for AMPDU subframes #echo 0 > /sys/kernel/debug/ieee80211/${PHYNAME_ATH}/ath9k/max_ba_sw_retries #echo 1 > /sys/kernel/debug/ieee80211/${PHYNAME_ATH}/ath9k/disable_ani # old kernels -> disable Atheros ANI echo 0 > /sys/kernel/debug/ieee80211/${PHYNAME_ATH}/ath9k/ani # new kernels -> disable Atheros ANI #echo -120 > /sys/kernel/debug/ieee80211/${PHYNAME_ATH}/ath9k/nf_override # set fixed noise floor in dBm echo -110 > /sys/kernel/debug/ieee80211/${PHYNAME_ATH}/ath9k/nf_override #TODO: overwritten individually below # increase max. number of peer links to 50 #iw dev ${DEVNAME_ATH} set mesh_param mesh_max_peer_links=50 # automatically remove inactive links from station list #iw dev ${DEVNAME_ATH} set mesh_param mesh_plink_timeout=20 # timeout in seconds export NODE_MESH_IP=10.0.0.10 ip -4 addr del ${NODE_MESH_IP}/24 dev ${DEVNAME_ATH} ip -4 addr add ${NODE_MESH_IP}/24 broadcast 10.0.0.255 dev ${DEVNAME_ATH} set +x