mirror of
https://github.com/OpenSolo/OpenSolo.git
synced 2025-04-30 06:34:38 +02:00
125 lines
3.1 KiB
Bash
Executable File
125 lines
3.1 KiB
Bash
Executable File
#!/bin/sh
|
|
clear
|
|
|
|
echo "Solo Test Script"
|
|
SSHARGS="-o StrictHostKeyChecking=no -o ConnectTimeout=3"
|
|
MAC=`ifconfig -a | grep HWaddr | awk '{print $5}' | tr '[:upper:]' '[:lower:]'`
|
|
DEBUGFSDIR=/sys/kernel/debug/ieee80211/phy0/
|
|
|
|
connectToTF() {
|
|
SSID=$1
|
|
rm -f /tmp/wpa*
|
|
killall wpa_supplicant &> /dev/null
|
|
echo "Connecting"
|
|
cp /etc/wpa_supplicant.conf /tmp/
|
|
wpa_passphrase $SSID sololink > /tmp/wpa_supplicant.conf
|
|
wpa_supplicant -c/tmp/wpa_supplicant.conf -Dnl80211 -B -iwlan0 &> /dev/null
|
|
ifconfig wlan0 10.1.1.10
|
|
ping 10.1.1.1 -c1 -W5 &> /dev/null
|
|
if [ $? -ne 0 ]; then
|
|
echo "Unable to connect"
|
|
echo "********************FAIL************************"
|
|
disconnectFromTF
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
disconnectFromTF() {
|
|
echo "Disconnecting"
|
|
ifconfig wlan0 down
|
|
killall wpa_supplicant
|
|
}
|
|
|
|
if [ "$#" -ne 1 ]; then
|
|
echo "Please specify the SoloLink_TEST network SSID"
|
|
exit 1
|
|
fi
|
|
|
|
TFSSID=$1
|
|
|
|
echo "Initializing system"
|
|
init 2
|
|
sleep 2
|
|
ssh-keygen -R 10.1.1.1 &> /dev/null
|
|
|
|
echo "Attempting to connect to $TFSSID"
|
|
connectToTF $TFSSID
|
|
#ssh $SSHARGS root@10.1.1.1 "iw phy0 set txpower fixed 100"
|
|
#iw phy0 set txpower fixed 100
|
|
|
|
echo "Testing connection"
|
|
PASS=1
|
|
for ant in 1 2; do
|
|
echo "Antenna ${ant}: "
|
|
ifconfig wlan0 down
|
|
iw phy0 set antenna 0x${ant} 0x${ant}
|
|
ifconfig wlan0 10.1.1.10
|
|
sleep 1
|
|
rx=0
|
|
tx=0
|
|
rxWorst=0
|
|
txWorst=0
|
|
rxBest=-200
|
|
txBest=-200
|
|
for i in {1..20}; do
|
|
rxSig=`cat ${DEBUGFSDIR}netdev:wlan0/stations/*/last_signal`
|
|
txSig=`ssh $SSHARGS root@10.1.1.1 "cat ${DEBUGFSDIR}netdev:wlan0-ap/stations/${MAC}/last_signal"`
|
|
if [ $? -ne 0 ]; then
|
|
echo "Unable to connect to read signal value."
|
|
echo "********************FAIL************************"
|
|
PASS=0
|
|
break
|
|
fi
|
|
|
|
echo -n "."
|
|
#echo "$txSig $txWorst $txBest"
|
|
#echo "$rxSig $rxWorst $rxBest"
|
|
rx=$((rx+rxSig))
|
|
tx=$((tx+txSig))
|
|
if [ $rxSig -le $rxWorst ]; then
|
|
rxWorst=$rxSig
|
|
fi
|
|
if [ $txSig -le $txWorst ]; then
|
|
txWorst=$txSig
|
|
fi
|
|
if [ $rxSig -ge $rxBest ]; then
|
|
rxBest=$rxSig
|
|
fi
|
|
if [ $txSig -ge $txBest ]; then
|
|
txBest=$txSig
|
|
fi
|
|
done
|
|
echo ""
|
|
rx=$((rx/20))
|
|
tx=$((tx/20))
|
|
echo "Rx best: ${rxBest} avg: ${rx} worst: $rxWorst"
|
|
echo "Tx best: ${txBest} avg: ${tx} worst: $txWorst"
|
|
|
|
if [ $rx -le -42 ] && [ $rxBest -le -40 ]; then
|
|
echo "********************FAIL************************"
|
|
disconnectFromTF
|
|
#echo "Done"
|
|
#exit
|
|
PASS=0
|
|
break
|
|
fi
|
|
|
|
if [ $tx -le -42 ] && [ $rxBest -le -40 ]; then
|
|
echo "********************FAIL************************"
|
|
disconnectFromTF
|
|
#echo "Done"
|
|
#exit
|
|
PASS=0
|
|
break
|
|
fi
|
|
done
|
|
|
|
if [ $PASS -eq 1 ]; then
|
|
echo "********************PASS************************"
|
|
disconnectFromTF
|
|
fi
|
|
#iw phy0 set txpower fixed 2700
|
|
#ssh $SSHARGS root@10.1.1.1 "iw phy0 set txpower fixed 2700"
|
|
echo "Done"
|
|
|