Merge pull request #188 from sigmaSd/fallback

Always fallback if multiple channels are not supproted
This commit is contained in:
Lakindu Akash 2021-09-29 14:46:18 +05:30 committed by GitHub
commit 77597638e4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1573,32 +1573,38 @@ if [[ $NO_VIRT -eq 0 ]]; then
echo "DONE" echo "DONE"
fi fi
# Find interface frequency and channel
WIFI_IFACE_FREQ=$(iw dev ${WIFI_IFACE} link | grep -i freq | awk '{print $2}')
WIFI_IFACE_CHANNEL=$(ieee80211_frequency_to_channel ${WIFI_IFACE_FREQ})
echo -n "${WIFI_IFACE} is already associated with channel ${WIFI_IFACE_CHANNEL} (${WIFI_IFACE_FREQ} MHz)"
# If the frequency is not explicitly set, set one automatically
if is_wifi_connected ${WIFI_IFACE} && [[ $FREQ_BAND_SET -eq 0 ]]; then if is_wifi_connected ${WIFI_IFACE} && [[ $FREQ_BAND_SET -eq 0 ]]; then
WIFI_IFACE_FREQ=$(iw dev ${WIFI_IFACE} link | grep -i freq | awk '{print $2}')
WIFI_IFACE_CHANNEL=$(ieee80211_frequency_to_channel ${WIFI_IFACE_FREQ})
echo -n "${WIFI_IFACE} is already associated with channel ${WIFI_IFACE_CHANNEL} (${WIFI_IFACE_FREQ} MHz)"
if is_5ghz_frequency $WIFI_IFACE_FREQ; then if is_5ghz_frequency $WIFI_IFACE_FREQ; then
FREQ_BAND=5 FREQ_BAND=5
else else
FREQ_BAND=2.4 FREQ_BAND=2.4
fi fi
if [[ $WIFI_IFACE_CHANNEL -ne $CHANNEL ]]; then
if ( get_adapter_info ${IFACE} | grep "#channels <= 2" -q )
then
echo -e "\nmultiple channels supported"
else
echo -e "\nmultiple channels not supported",
echo -e "\nfallback to channel ${WIFI_IFACE_CHANNEL}"
CHANNEL=$WIFI_IFACE_CHANNEL
fi
else
echo "channel------------------ ${CHANNEL}"
fi
elif is_wifi_connected ${WIFI_IFACE} && [[ $FREQ_BAND_SET -eq 1 ]]; then elif is_wifi_connected ${WIFI_IFACE} && [[ $FREQ_BAND_SET -eq 1 ]]; then
echo "Custom frequency band set with ${FREQ_BAND}Mhz with channel ${CHANNEL}" echo "Custom frequency band set with ${FREQ_BAND}Mhz with channel ${CHANNEL}"
fi fi
# If the access point channel is the same as the interface channel, do:
# - Make sure that the adapter support multiple channels
# - Otherwise fallback to the same interface channel
if [[ $WIFI_IFACE_CHANNEL -ne $CHANNEL ]]; then
if ( get_adapter_info ${IFACE} | grep "#channels <= 2" -q )
then
echo -e "\nmultiple channels supported"
else
echo -e "\nmultiple channels not supported",
echo -e "\nfallback to channel ${WIFI_IFACE_CHANNEL}"
CHANNEL=$WIFI_IFACE_CHANNEL
fi
else
echo "channel------------------ ${CHANNEL}"
fi
VIRTDIEMSG="Maybe your WiFi adapter does not fully support virtual interfaces. VIRTDIEMSG="Maybe your WiFi adapter does not fully support virtual interfaces.
Try again with --no-virt." Try again with --no-virt."