GL-B1300 in Mesh - How do I change the channel?

I’m running two GL-B1300 devices in Mesh mode. The GUI doesn’t have an option to change the 2.4 GHZ channel, and my wifi monitor indicates it’s using the same channel as my neighbors wifi (Channel 5).

Is it possible to manually change the channel so I’m not in conflict with my neighbors wifi?

Please issue these command at main router.

# target channel
CHANNEL=11

# set channel on main router
uci set wireless.wifi0.channel=$CHANNEL
uci set wireless.wifi0.htmode=HT20
uci set wireless.@wifi-iface[0].disablecoext=0
uci commit wireless

# for sync 2.4G channel; 5G is used for mesh backhaul and it doesn't need to sync.
cat >/tmp/config_sync/2sync/wireless <<EOF
uci set wireless.wifi0.channel=$CHANNEL
uci set wireless.wifi0.htmode=HT20
uci set wireless.@wifi-iface[0].disablecoext=0
uci commit wireless
EOF

/usr/sbin/config_sync_change_trigger.sh wireless

# restart main router wifi
wifi

Above command also set htmode to HT20 which is commonly better than HT40. And this will be included in next firmware update.

Everything appears to have worked, although the wifi command returned several error messages (see below). Here is the script I created, and below that the output when I ran it.

(I copied the commands into a shell script I called changeChannel.sh):


root@kidsRouter:~# cat changeChannel.sh
#!/bin/ash -x

target channel

CHANNEL=9

set channel on main router

uci set wireless.wifi0.channel=$CHANNEL
uci set wireless.wifi0.htmode=HT20
uci set wireless.@wifi-iface[0].disablecoext=0
uci commit wireless

for sync 2.4G channel; 5G is used for mesh backhaul and it doesn’t need to sync.

cat >/tmp/config_sync/2sync/wireless <<EOF
uci set wireless.wifi0.channel=$CHANNEL
uci set wireless.wifi0.htmode=HT20
uci set wireless.@wifi-iface[0].disablecoext=0
uci commit wireless
EOF

/usr/sbin/config_sync_change_trigger.sh wireless

restart main router wifi

wifi

Here is what I got when I ran the script:


root@kidsRouter:~# ./changeChannel.sh

  • CHANNEL=9
  • uci set wireless.wifi0.channel=9
  • uci set wireless.wifi0.htmode=HT20
  • uci set wireless.@wifi-iface[0].disablecoext=0
  • uci commit wireless
  • cat
  • /usr/sbin/config_sync_change_trigger.sh wireless
  • wifi
    /etc/rc.common: eval: line 1: =: not found
    killall: iface-mgr: no process killed
    cat: can’t open ‘/sys/class/net/ath0/address’: No such file or directory
    cat: can’t open ‘/sys/class/net/ath01/address’: No such file or directory
    sh: bad number
    Interface doesn’t accept private ioctl…
    stafwd (8BE0): Invalid argument
    Error for wireless request “Set ESSID” (8B1A) :
    SET failed on device ath0 ; Invalid argument.
    sh: 0: unknown operand
    sh: 0: unknown operand
    OK
    Interface doesn’t accept private ioctl…
    setHwaddr (8BE4): Device or resource busy
    sh: bad number
    Interface doesn’t accept private ioctl…
    stafwd (8BE0): Invalid argument
    Error for wireless request “Set ESSID” (8B1A) :
    SET failed on device ath01 ; Invalid argument.
    sh: 0: unknown operand
    sh: 0: unknown operand
    OK
    Interface doesn’t accept private ioctl…
    setHwaddr (8BE4): Device or resource busy
    cat: can’t open ‘/sys/class/net/ath1/address’: No such file or directory
    cat: can’t open ‘/sys/class/net/ath11/address’: No such file or directory
    sh: bad number
    Interface doesn’t accept private ioctl…
    stafwd (8BE0): Invalid argument
    Error for wireless request “Set ESSID” (8B1A) :
    SET failed on device ath1 ; Invalid argument.
    sh: 0: unknown operand
    sh: 0: unknown operand
    OK
    Interface doesn’t accept private ioctl…
    setHwaddr (8BE4): Device or resource busy
    sh: bad number
    Interface doesn’t accept private ioctl…
    stafwd (8BE0): Invalid argument
    Error for wireless request “Set ESSID” (8B1A) :
    SET failed on device ath11 ; Invalid argument.
    sh: 0: unknown operand
    sh: 0: unknown operand
    OK
    Interface doesn’t accept private ioctl…
    setHwaddr (8BE4): Device or resource busy
    Command failed: Not found
    /etc/rc.common: line 1: can’t create : nonexistent directory