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
–