From 78934b8128c66a8fa65750dc2f8194e927b50494 Mon Sep 17 00:00:00 2001 From: Phani Pavan Kambhampati <60005847+kphanipavan@users.noreply.github.com> Date: Sat, 14 Jun 2025 12:06:58 +0530 Subject: [PATCH] fix channel detection --- lnxrouter | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/lnxrouter b/lnxrouter index a71e0a6..a9d64a7 100755 --- a/lnxrouter +++ b/lnxrouter @@ -1,6 +1,6 @@ #!/bin/bash -VERSION=0.8.0-unstable0 +VERSION=0.8.0-unstable1 PROGNAME="$(basename "$0")" export LC_ALL=C @@ -664,15 +664,22 @@ can_be_ap() { } can_transmit_to_channel() { - local IFACE CHANNEL_NUM CHANNEL_INFO + local IFACE CHANNEL_NUM CHANNEL_INFO CHANNEL_FREQ_FILTER IFACE=$1 CHANNEL_NUM=$2 + if [[ $FREQ_BAND == "2.4" ]]; then + CHANNEL_FREQ_FILTER="(24)" + elif [[ $FREQ_BAND -eq 5 ]]; then + CHANNEL_FREQ_FILTER="(5[0-8])" + elif [[ $FREQ_BAND -eq 6 ]]; then + CHANNEL_FREQ_FILTER="((59)|(6[0-9])|(70))" + fi if [[ $USE_IWCONFIG -eq 0 ]]; then - CHANNEL_INFO=$(get_adapter_info "${IFACE}" | grep -E " [0-9]+(\.[0-9]+){0,1} MHz \[${CHANNEL_NUM}\]") + CHANNEL_INFO=$(get_adapter_info "${IFACE}" | grep -E " ${CHANNEL_FREQ_FILTER}[0-9]+(\.[0-9]+){0,1} MHz \[${CHANNEL_NUM}\]") [[ -z "${CHANNEL_INFO}" ]] && return 1 - [[ "${CHANNEL_INFO}" == *no\ IR* ]] && return 1 - [[ "${CHANNEL_INFO}" == *disabled* ]] && return 1 + [[ "${CHANNEL_INFO}" == *no\ IR* ]] && return 2 + [[ "${CHANNEL_INFO}" == *disabled* ]] && return 3 return 0 else CHANNEL_NUM=$(printf '%02d' ${CHANNEL_NUM})