Skip to content

feat: per-interface Wi-Fi scoping for multi-radio systems#375

Merged
cachebag merged 16 commits intodevelopmentfrom
v2.x
Apr 25, 2026
Merged

feat: per-interface Wi-Fi scoping for multi-radio systems#375
cachebag merged 16 commits intodevelopmentfrom
v2.x

Conversation

@cachebag
Copy link
Copy Markdown
Owner

This PR adds per-interface Wi-Fi scoping for multi-radio systems and bumps to 3.0.

Added

  • WifiDevice, list_wifi_devices(), wifi_device_by_interface()
  • WifiScope via nm.wifi("wlan1")scan / list_networks / list_access_points / connect / connect_to_bssid / disconnect / set_enabled / forget all pinned to one radio
  • set_wifi_enabled(interface, bool) for per-radio enable/disable (uses Device.Autoconnect + Device.Disconnect(), independent of the global wireless killswitch)
  • WifiInterfaceNotFound, NotAWifiDevice errors
  • examples/multi_wifi.rs

Breaking changes

  • connect, connect_to_bssid, disconnect, scan_networks, list_networks take an interface: Option<&str> argument (None = previous behavior)
  • set_wifi_enabled now requires (interface, bool)
  • Removed deprecated wifi_enabled(), wifi_hardware_enabled(), no-arg set_wifi_enabled(bool) — use wifi_state() / set_wireless_enabled()
  • disconnect now correctly only deactivates active connections owned by the targeted device (was deactivating every active connection)

Migration

Old New
nm.connect(ssid, creds) nm.connect(ssid, None, creds)
nm.connect_to_bssid(ssid, bssid, creds) nm.connect_to_bssid(ssid, bssid, None, creds)
nm.disconnect() nm.disconnect(None)
nm.scan_networks() / nm.list_networks() add (None)
nm.set_wifi_enabled(true) nm.set_wireless_enabled(true)
nm.wifi_enabled() / wifi_hardware_enabled() nm.wifi_state()

@cachebag cachebag self-assigned this Apr 25, 2026
@cachebag cachebag added feature New feature or request nmrs-gui Changes to nmrs-gui nmrs Changes to nmrs api-surface Public API design, re-exports, and semver-relevant changes wifi WiFi connection management dbus D-Bus types, signatures, or NM D-Bus API labels Apr 25, 2026
@cachebag cachebag merged commit 0e6c238 into development Apr 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api-surface Public API design, re-exports, and semver-relevant changes dbus D-Bus types, signatures, or NM D-Bus API feature New feature or request nmrs Changes to nmrs nmrs-gui Changes to nmrs-gui wifi WiFi connection management

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant