This shows you the differences between two versions of the page.
Next revision | Previous revisionNext revisionBoth sides next revision | ||
toggle_radio [2022/11/27 16:28] – created rs232 | toggle_radio [2023/08/06 21:40] – [Wireless SSID-specific operation] -clarity, formatting hogwild | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Turning on/off radio elements from script ====== | + | ====== Turning on/ |
===== Full Wireless operation ===== | ===== Full Wireless operation ===== | ||
- | If you want to enable/ | + | If you want to enable/ |
- | **Toggle**\\ | + | \\ |
- | ''/ | + | |
- | **Force off**\\ | + | **Toggle:** |
- | ''/ | + | |
- | **Force | + | \\ ''/ |
- | ''/ | + | |
+ | | ||
+ | |||
+ | **Force | ||
+ | |||
+ | \\ ''/ | ||
+ | |||
+ | | ||
+ | |||
+ | **Force radio on:** | ||
+ | |||
+ | | ||
===== Wireless chipset (2.4/5GHz) specific operation ===== | ===== Wireless chipset (2.4/5GHz) specific operation ===== | ||
- | Modern routers come with 2 or more chipsets, there' | + | Modern routers come with 2 or more chipsets |
+ | |||
+ | Once you' | ||
+ | |||
+ | \\ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Do not blindly use this table. Router interface names may vary. For full chipset operation, refer to the " | ||
+ | |||
+ | \\ | ||
+ | |||
+ | For example, using " | ||
+ | |||
+ | **Verify interface state** | ||
+ | |||
+ | | ||
+ | |||
+ | \\ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | **Toggle interface state** | ||
+ | |||
+ | \\ '' | ||
+ | |||
+ | \\ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | **Force interface off** | ||
+ | |||
+ | | ||
+ | |||
+ | \\ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | **Force interface on** | ||
+ | |||
+ | \\ \\ '' | ||
+ | |||
+ | |||
+ | ===== WiFi SSID-specific operation ===== | ||
+ | |||
+ | In some cases, you might want to just restrict access to only one specific SSID or change settings specific to only one WiFi interface. This can be achieved as follows: | ||
+ | |||
+ | First, identify the SSID virtual interface you want to control. | ||
+ | |||
+ | The full list of WiFi interfaces on your router and all its sub-interfaces can be found in the [[advanced-wireless|Virtual Wireless]] menu. | ||
+ | |||
+ | Virtual interfaces are always defined as: '' | ||
+ | |||
+ | For example, on this router, in the Virtual Wireless menu, we can see the 2.4GHz interface named: " | ||
+ | |||
+ | \\ \\ {{: | ||
+ | |||
+ | \\ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | Now, let's assume you want to turn off wl1.3 which is associated to SSID " | ||
+ | |||
+ | \\ \\ {{: | ||
+ | |||
+ | \\ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | We could perform the following tasks:\\ | ||
+ | |||
+ | **Toggle interface state**\\ | ||
- | {{: | + | '' |
- | Once you have the correct name, you can check the status of your wireless interface as follow: | + | \\ |
- | **Verify**\\ | + | \\ |
- | '' | + | |
- | [ $(wl -i $int radio | grep -Eo [0-1]$) -eq 1 ] && echo "radio $int is off" || echo "radio $int is on"'' | + | |
- | **Toggle**\\ | + | **Force Interface Off** |
- | '' | + | |
- | [ $(wl -i $int radio | grep -Eo [0-1]$) -eq 1 ] && wl -i $int radio on || wl -i $int radio off'' | + | |
- | **Force off**\\ | + | \\ \\ |
- | '' | + | |
- | wl -i $int radio off'' | + | |
- | **Force on**\\ | + | \\ |
- | '' | + | |
- | wl -i $int radio on'' | + | |
- | ===== Wireless SSID specific operation ===== | + | \\ |
- | There might be cases where you don't want to affect the full radio chipset but rather restrict access to a specific SSID. This is achieved as follow: | + | **Force Interface On** |
- | - Identify the SSID virtual interface you want to affect. Remember virtual interfaces are always defined as [ main wireless interface name ] + [.] + [a number 0-3] so e.g. " | + | |
- | {{: | + | |
- | Now let's assume you want to turn off wl1.3 which is associated to SSID " | + | \\ \\ |
- | {{: | + | |
- | Let's perform the following: | ||
- | **Toggle**\\ | + | ==== Wireless SSID specific operation ==== |
- | '' | + | Let's say, as it often happens), a specific SSID you have defined is operational |
- | [ $(wl -i $int radio | grep -Eo [0-1]$) -eq 1 ] && wl -i $int radio on || wl -i $int radio off'' | + | |
**Force Off**\\ | **Force Off**\\ | ||
- | '' | + | '' |
- | wl -i $int radio off'' | + | nvram show | grep ssid | grep $SSID | while read line; do wl -i $(echo $line | cut -d" |
**Force On**\\ | **Force On**\\ | ||
- | '' | + | '' |
- | wl -i $int radio on'' | + | nvram show | grep ssid | grep $SSID | while read line; do wl -i $(echo $line | cut -d" |