This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
toggle_radio [2023/08/06 20:40] – [Full Wireless operation] hogwild | toggle_radio [2023/08/06 21:49] (current) – [Wireless SSID-specific operation] -change "wireless" to "WiFi" hogwild | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Turning on/off radio elements from a script ====== | + | ====== Turning on/ |
===== Full Wireless operation ===== | ===== Full Wireless operation ===== | ||
- | If you want to enable/ | + | If you want to enable/ |
+ | |||
+ | \\ | ||
**Toggle:** | **Toggle:** | ||
Line 10: | Line 12: | ||
\\ ''/ | \\ ''/ | ||
- | \\ | + | |
**Force radio off:** | **Force radio off:** | ||
- | \\ \\ ''/ | + | |
- | \\ | + | |
**Force radio on:** | **Force radio on:** | ||
- | \\ \\ ''/ | + | |
- | ===== Wireless chipset (2.4/ | + | ===== Specific |
- | Modern routers come with 2 or more chipsets, there' | + | Modern routers come with two or more chipsets/WiFi interfaces. There is usually |
- | {{: | + | Once you've identified |
- | Do not blindly use this table. Check what it says on your router as it might be different. FOr full chipset operation we refer to the ethX name reference | + | |
- | **Verify**\\ | + | \\ |
- | '' | + | |
- | [ $(wl -i $int radio | grep -Eo [0-1]$) -eq 1 ] && echo "radio $int is off" || echo "radio $int is on"'' | + | |
- | **Toggle**\\ | + | {{: |
- | '' | + | |
- | [ $(wl -i $int radio | grep -Eo [0-1]$) -eq 1 ] && wl -i $int radio on || wl -i $int radio off'' | + | |
- | **Force off**\\ | + | Do not blindly use this table. It is only an example. Router interface names may vary. For full chipset operation, refer to the " |
- | '' | + | |
- | wl -i $int radio off'' | + | |
- | **Force on**\\ | + | \\ |
- | '' | + | |
- | wl -i $int radio on'' | + | |
- | ===== Wireless SSID specific operation ===== | + | For example, using " |
- | 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: | + | **Verify |
- | - Identify the SSID virtual | + | |
- | {{: | + | |
- | Now let's assume you want to turn off wl1.3 which is associated to SSID " | + | |
- | {{: | + | |
- | Let's perform the following:\\ | + | \\ |
- | **Toggle**\\ | + | \\ |
- | '' | + | **Toggle interface state** |
- | [ $(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 ==== | + | \\ |
- | Let's say, as it often happens), a specific | + | **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 | ||
+ | |||
+ | First, identify the SSID virtual interface | ||
+ | |||
+ | Virtual interfaces are always | ||
+ | |||
+ | 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 control " | ||
+ | |||
+ | \\ \\ {{: | ||
+ | |||
+ | \\ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | You could perform the following tasks:\\ | ||
+ | |||
+ | **Toggle interface state**\\ | ||
+ | |||
+ | '' | ||
+ | |||
+ | \\ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | **Force Interface Off** | ||
+ | |||
+ | \\ \\ '' | ||
+ | |||
+ | \\ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | **Force Interface On** | ||
+ | |||
+ | \\ \\ '' | ||
+ | |||
+ | \\ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | |||
+ | ==== WiFi SSID-specific operation ==== | ||
+ | |||
+ | Often, a specific defined SSID operates | ||
+ | |||
+ | You can disable | ||
+ | |||
+ | \\ | ||
+ | |||
+ | **Force Off** | ||
+ | |||
+ | \\ \\ '' | ||
+ | |||
+ | \\ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | **Force On** | ||
+ | |||
+ | \\ \\ '' | ||
+ | |||
+ | \\ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | \\ | ||
- | **Force Off**\\ | ||
- | '' | ||
- | nvram show | grep ssid | grep $SSID | while read line; do wl -i $(echo $line | cut -d" | ||
- | **Force On**\\ | ||
- | '' | ||
- | nvram show | grep ssid | grep $SSID | while read line; do wl -i $(echo $line | cut -d" |