I found a fairly jenky work around. If while NetworkManager is off or crashed I use the hardware key combo to turn off wifi it does so. Then NetworkManager will start up. However it will attempt to enable wifi itself. So the next move is while it's starting up right after NetworkManager has turned the wifi chip back on you need to utilize the key combo again to manually disable wifi.
Then if I wait for a bit I can turn on wifi via hardware chip and it will crash in about a minute with the following in the logs:
```
Dec 22 13:21:03 nebraska NetworkManager[24469]: <info> WiFi hardware radio set enabled
Dec 22 13:21:03 nebraska NetworkManager[24469]: <info> WWAN hardware radio set disabled
Dec 22 13:21:03 nebraska NetworkManager[24469]: <info> WiFi now enabled by radio killswitch
Dec 22 13:21:03 nebraska NetworkManager[24469]: <info> (wlp2s0): supplicant interface state: starting -> ready
Dec 22 13:21:03 nebraska NetworkManager[24469]: <info> (wlp2s0): device state change: unavailable -> disconnected (reason 'supplicant-available') [20 30 42]
Dec 22 13:21:03 nebraska NetworkManager[24469]: <info> Device 'wlp2s0' has no connection; scheduling activate_check in 0 seconds.
Dec 22 13:21:19 nebraska NetworkManager[24469]: <info> WiFi now disabled by radio killswitch
Dec 22 13:21:19 nebraska NetworkManager[24469]: <info> (wlp2s0): device state change: disconnected -> unavailable (reason 'none') [30 20 0]
Dec 22 13:25:50 nebraska NetworkManager[24469]: <info> WiFi now enabled by radio killswitch
Dec 22 13:25:50 nebraska NetworkManager[24469]: <info> (wlp2s0): supplicant interface state: starting -> ready
Dec 22 13:25:50 nebraska NetworkManager[24469]: <info> (wlp2s0): device state change: unavailable -> disconnected (reason 'supplicant-available') [20 30 42]
Dec 22 13:25:50 nebraska NetworkManager[24469]: <info> Device 'wlp2s0' has no connection; scheduling activate_check in 0 seconds.
Dec 22 13:25:52 nebraska NetworkManager[24469]: <info> (wlp2s0): supplicant interface state: ready -> inactive
Dec 22 13:26:18 nebraska NetworkManager[24469]: <info> (wlp2s0): supplicant interface state: inactive -> scanning
Dec 22 13:26:50 nebraska systemd[1]: NetworkManager.service: Main process exited, code=dumped, status=11/SEGV
Dec 22 13:26:50 nebraska systemd[1]: NetworkManager.service: Unit entered failed state.
Dec 22 13:26:50 nebraska systemd[1]: NetworkManager.service: Failed with result 'core-dump'.
Dec 22 13:26:51 nebraska systemd[1]: NetworkManager.service: Service hold-off time over, scheduling restart.
Dec 22 13:26:51 nebraska systemd[1]: Stopped Network Manager.
Dec 22 13:26:51 nebraska systemd[1]: Starting Network Manager...
```
My first thought is that I might have a wireless chip that's unsupported. However that doesn't seem to be the case given I'm running a certified laptop. I'm still doing some investigation but now I seem to be able to get NetworkManager to "stay up". Even if now I can't connect to wifi.
I found a fairly jenky work around. If while NetworkManager is off or crashed I use the hardware key combo to turn off wifi it does so. Then NetworkManager will start up. However it will attempt to enable wifi itself. So the next move is while it's starting up right after NetworkManager has turned the wifi chip back on you need to utilize the key combo again to manually disable wifi.
Then if I wait for a bit I can turn on wifi via hardware chip and it will crash in about a minute with the following in the logs:
``` 24469]: <info> WiFi hardware radio set enabled 24469]: <info> WWAN hardware radio set disabled 24469]: <info> WiFi now enabled by radio killswitch 24469]: <info> (wlp2s0): supplicant interface state: starting -> ready 24469]: <info> (wlp2s0): device state change: unavailable -> disconnected (reason 'supplicant- available' ) [20 30 42] 24469]: <info> Device 'wlp2s0' has no connection; scheduling activate_check in 0 seconds. 24469]: <info> WiFi now disabled by radio killswitch 24469]: <info> (wlp2s0): device state change: disconnected -> unavailable (reason 'none') [30 20 0] 24469]: <info> WiFi now enabled by radio killswitch 24469]: <info> (wlp2s0): supplicant interface state: starting -> ready 24469]: <info> (wlp2s0): device state change: unavailable -> disconnected (reason 'supplicant- available' ) [20 30 42] 24469]: <info> Device 'wlp2s0' has no connection; scheduling activate_check in 0 seconds. 24469]: <info> (wlp2s0): supplicant interface state: ready -> inactive 24469]: <info> (wlp2s0): supplicant interface state: inactive -> scanning service: Main process exited, code=dumped, status=11/SEGV service: Unit entered failed state. service: Failed with result 'core-dump'. service: Service hold-off time over, scheduling restart.
Dec 22 13:21:03 nebraska NetworkManager[
Dec 22 13:21:03 nebraska NetworkManager[
Dec 22 13:21:03 nebraska NetworkManager[
Dec 22 13:21:03 nebraska NetworkManager[
Dec 22 13:21:03 nebraska NetworkManager[
Dec 22 13:21:03 nebraska NetworkManager[
Dec 22 13:21:19 nebraska NetworkManager[
Dec 22 13:21:19 nebraska NetworkManager[
Dec 22 13:25:50 nebraska NetworkManager[
Dec 22 13:25:50 nebraska NetworkManager[
Dec 22 13:25:50 nebraska NetworkManager[
Dec 22 13:25:50 nebraska NetworkManager[
Dec 22 13:25:52 nebraska NetworkManager[
Dec 22 13:26:18 nebraska NetworkManager[
Dec 22 13:26:50 nebraska systemd[1]: NetworkManager.
Dec 22 13:26:50 nebraska systemd[1]: NetworkManager.
Dec 22 13:26:50 nebraska systemd[1]: NetworkManager.
Dec 22 13:26:51 nebraska systemd[1]: NetworkManager.
Dec 22 13:26:51 nebraska systemd[1]: Stopped Network Manager.
Dec 22 13:26:51 nebraska systemd[1]: Starting Network Manager...
```
My first thought is that I might have a wireless chip that's unsupported. However that doesn't seem to be the case given I'm running a certified laptop. I'm still doing some investigation but now I seem to be able to get NetworkManager to "stay up". Even if now I can't connect to wifi.