Commit graph

36 commits

Author SHA1 Message Date
Vicki Pfau
def8d180cb wifi: Set/clear ath11k debug_mask before/after tracing 2025-01-22 17:48:05 -08:00
Vicki Pfau
7ba4075810 wifi: Fix extract_wifi_trace
Without passing -o, the extraction happens to a predictable file instead of
stdout. This just has it overwrite the dropped tempfile instead.
2025-01-21 18:55:50 -08:00
Vicki Pfau
6596176836 manager/user: Fix set/get_wifi_backend 2025-01-21 18:53:14 -08:00
Vicki Pfau
54351414fa wifi: Add method for generating and capturing an ath11k dump 2025-01-21 16:45:33 -08:00
Vicki Pfau
7b7afffc46 manager: Expose new CaptureDebugTraceOutput method 2025-01-21 16:45:33 -08:00
Vicki Pfau
b71ccfcc92 Use num_enum instead of home-rolled TryFrom definitions 2024-09-19 20:20:17 -07:00
Vicki Pfau
fc9747a114 wifi: Add power management tests 2024-09-03 21:27:37 -07:00
Vicki Pfau
d1f27cc5fc wifi: Remove leftover debug printlns 2024-08-30 22:29:57 -07:00
Vicki Pfau
4c81c92586 wifi: Properly parse all NM config files for backend
Previously there was a half-baked parser that looked for a fixed value in a
fixed place, but this was not robust. This approach is properly robust, in case
various different files set or override it.
2024-08-29 20:12:45 -07:00
Vicki Pfau
d465bc2750 TryFrom on enums should use anyhow::Error as the error type 2024-08-13 22:30:23 -07:00
Vicki Pfau
5ae82fa01f wifi: Update config file filenames 2024-08-12 18:01:59 -07:00
Vicki Pfau
a3503282b8 Unify spelling of Wi-Fi in user-facing strings 2024-08-09 19:13:00 -07:00
Vicki Pfau
90582f5eb6 wifi: Switch from iwconfig to iw, don't hardcode interfaces 2024-08-09 18:56:49 -07:00
Vicki Pfau
674c693180 Fix enum errors containing {v} instead of value 2024-08-08 20:10:40 -07:00
Vicki Pfau
f939767867 wifi: Simplify enums with strum, rename WifiDebugMode::On to Tracing 2024-07-31 21:25:16 -07:00
Vicki Pfau
89a757b7fc wifi: Add enum round-trip tests 2024-05-23 19:39:06 -07:00
Vicki Pfau
936bdb220c wifi: Add WifiDebugMode::from_str and WifiPowerManagement::from_str 2024-05-13 18:55:38 -07:00
Vicki Pfau
f4247de8c1 lib: Export some modules as pub 2024-05-08 16:52:45 -07:00
Vicki Pfau
eb5fbc8e39 systemd: Add methods for enabling, disabling, masking, and unmasking 2024-04-30 22:09:37 -07:00
Vicki Pfau
e3122059e5 wifi: Fix test not running 2024-04-16 17:51:52 -07:00
Vicki Pfau
f3d8e97633 wifi: Move more logic out of the manager 2024-04-15 19:43:23 -07:00
Vicki Pfau
5b612fb7a2 wifi: Fix setup_iwd_config(false) if it hasn't been called with true prior 2024-04-11 17:08:07 -07:00
Vicki Pfau
b962bbf548 Fix clippy warnings, and an actual bug with FanControl::try_from<u32> 2024-04-05 15:30:15 -07:00
Vicki Pfau
cf962b26c5 Fix test build warnings 2024-04-04 18:38:39 -07:00
Vicki Pfau
cb04cd2cf4 manager: Improve error logging 2024-04-04 18:08:21 -07:00
Vicki Pfau
85f68b4c54 wifi: Add Wifi backend tests 2024-04-04 18:08:21 -07:00
Vicki Pfau
05031b3ee1 wifi: Cleanup and prepare for tests 2024-04-04 18:08:21 -07:00
Vicki Pfau
35e520712d Realign enums that had UnsupportedFeature to start at 0 2024-04-04 18:08:21 -07:00
Vicki Pfau
36c34fcbda Run cargo fmt 2024-04-04 18:08:21 -07:00
Vicki Pfau
9431ae9474 wifi: Remove get_wifi_backend_from_script
The script does exactly the same thing as what the _from_conf function did
2024-04-04 18:08:21 -07:00
Vicki Pfau
853ce3dd84 systemd: Add new module for interacting with systemd 2024-04-04 18:08:21 -07:00
Vicki Pfau
b0628fc7b9 Add support to get/set WiFi back-end
This change implements the ability to get and set the WiFi back-end,
by leveraging a new script created for that purpose.

The idea is to be able to use 'wpa_supplicant' (which is the default
back-end in NetworkManager upstream) when 'iwd' (the default in
SteamOS) does not work for some reason.

This change interacts with another feature of steamos-manager, which
is to set debug mode for WiFi.  Handling debug mode complicates things
substantially because those methods write config for 'iwd' and restart
the daemons/systemd units, with many interdependencies.

Instead of trying to implement all at once and attempt feature-parity
between back-ends on this aspect from the start, as a first step the
operations are just declared incompatible.  As a result, if
WifiDebugMode=on the back-end cannot be changed, and conversely the
WifiDebugMode cannot be turned on when the back-end is
'wpa_supplicant'.

Co-authored-by: Manuel A. Fernandez Montecelo <mafm@igalia.com>
2024-04-04 18:08:21 -07:00
Vicki Pfau
452690adee Kill UnsupportedFeature 2024-04-04 18:08:21 -07:00
Vicki Pfau
8ae6c98554 process: Make API less fiddly 2024-04-04 18:08:13 -07:00
Vicki Pfau
69e6477053 manager: Implement new API 2024-04-04 18:08:13 -07:00
Vicki Pfau
309f2acc1b wifi: Split out from manager 2024-04-02 18:20:09 -07:00