Skip to content
Angela edited this page Mar 3, 2021 · 4 revisions

Dependencies / Pre-install Requirements

  • libnotify-bin (notify-send) - Sends the desktop notifications

  • network-manager (nmcli)- Wifi scanning without requiring elevation; this is Gnome-based

    • Minimum version: nmcli 1.14: nmcli --version
    • Recommended version: nmcli 1.30.0
  • iw - Some overlap with nmcli, is used to obtain info about your SSID to check the channel before handoff to nmcli

    • Should work in non-Linux based systems with network-manager & libnotify-bin, but untested

    • Install dependencies on a Debian-based system:

    sudo apt install libnotify-bin network-manager iw

Option 1: Most cross-platform support

(won't run properly via cron without importing user display env, or having an active session)

git clone https://github.com/angela-d/wifi-channel-watcher.git

Done.

Running Wifi Channel Watcher

cd wifi-channel-watcher && ./channel-watcher

(substitute ./ if running via cron: /your/local/path/to/wifi-channel-watcher/channel-watch)


Option 2: systemd required for this approach

  1. After cloning (see steps above), run channel-watch with the installservice argument:
  2.  ./channel-watch installservice
  • This will create a systemd user service (root not required)
  • Additionally, a timer service will be created (systemd style cron)

Terminal output during an install:

Created /home/angela/.config/wifi-channel-watcher/ (first run)

Set cache directory

Checking for systemd...

Found. Creating systemd service directory...

Unit file added.

Timer file added.

Modifying the path to this script (you'll need to modify the service file if you move the repo on your system)...

/storage/wifi-channel-watcher/channel-watch Enabling service...

Created symlink /home/angela/.config/systemd/user/default.target.wants/wifiwatcher.service → /home/angela/.config/systemd> /user/wifiwatcher.service.

Enabling scheduler (default every 10min, see wiki for adjusting)

Created symlink /home/angela/.config/systemd/user/timers.target.wants/wifiwatcher.timer → /home/angela/.config/systemd/user/wifiwatcher.timer.

Starting services...

Service setup complete!

That's it!