As the title says, I keep having to disconnect and reconnect from my wifi in order to get an internet connection (and occasionally restart my computer). The wifi behaves fine when I'm on windows, so I know that this isn't a wifi specific problem.
I have tried 1. Changing my kernel version 2. Turning off power management 3. Turning off IPv6 4. Making IPv6 address resolution link-local only. None of these have worked.
Here's a dmesg output, since I think it has some relevant information.
[ 195.126618] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 195.275334] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 195.347395] wlp2s0: authenticate with c8:a7:0a:ac:99:0c
[ 195.352590] wlp2s0: send auth to c8:a7:0a:ac:99:0c (try 1/3)
[ 195.441115] wlp2s0: send auth to c8:a7:0a:ac:99:0c (try 2/3)
[ 195.471702] wlp2s0: authenticated
[ 195.473159] wlp2s0: associate with c8:a7:0a:ac:99:0c (try 1/3)
[ 195.476875] wlp2s0: RX AssocResp from c8:a7:0a:ac:99:0c (capab=0x431 status=0 aid=5)
[ 195.479962] wlp2s0: associated
[ 195.480066] IPv6: ADDRCONF(NETDEV_CHANGE): wlp2s0: link becomes ready
[ 355.611024] iwlwifi 0000:02:00.0: RF_KILL bit toggled to disable radio.
[ 355.611027] iwlwifi 0000:02:00.0: reporting RF_KILL (radio disabled)
[ 355.624945] wlp2s0: deauthenticating from c8:a7:0a:ac:99:0c by local choice (Reason: 3=DEAUTH_LEAVING)
[ 355.625339] wlp2s0: failed to remove key (1, ff:ff:ff:ff:ff:ff) from hardware (-22)
[ 357.524961] iwlwifi 0000:02:00.0: RF_KILL bit toggled to enable radio.
[ 357.524964] iwlwifi 0000:02:00.0: reporting RF_KILL (radio enabled)
[ 357.691928] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 362.074344] wlp2s0: authenticate with c8:a7:0a:ac:99:0c
[ 362.079865] wlp2s0: send auth to c8:a7:0a:ac:99:0c (try 1/3)
[ 362.085751] wlp2s0: authenticated
[ 362.088816] wlp2s0: associate with c8:a7:0a:ac:99:0c (try 1/3)
[ 362.093717] wlp2s0: RX AssocResp from c8:a7:0a:ac:99:0c (capab=0x431 status=0 aid=9)
[ 362.100118] wlp2s0: associated
[ 362.100181] IPv6: ADDRCONF(NETDEV_CHANGE): wlp2s0: link becomes ready
[ 405.327132] iwlwifi 0000:02:00.0: RF_KILL bit toggled to disable radio.
[ 405.327136] iwlwifi 0000:02:00.0: reporting RF_KILL (radio disabled)
[ 405.327653] wlp2s0: deauthenticating from c8:a7:0a:ac:99:0c by local choice (Reason: 3=DEAUTH_LEAVING)
[ 405.328346] wlp2s0: failed to remove key (1, ff:ff:ff:ff:ff:ff) from hardware (-22)
[ 406.656680] iwlwifi 0000:02:00.0: RF_KILL bit toggled to enable radio.
[ 406.656685] iwlwifi 0000:02:00.0: reporting RF_KILL (radio enabled)
[ 406.776153] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 406.843233] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 411.230147] wlp2s0: authenticate with c8:a7:0a:ac:99:0c
[ 411.234918] wlp2s0: send auth to c8:a7:0a:ac:99:0c (try 1/3)
[ 411.238288] wlp2s0: authenticated
[ 411.239960] wlp2s0: associate with c8:a7:0a:ac:99:0c (try 1/3)
[ 411.243529] wlp2s0: RX AssocResp from c8:a7:0a:ac:99:0c (capab=0x431 status=0 aid=5)
[ 411.250151] wlp2s0: associated
[ 411.250212] IPv6: ADDRCONF(NETDEV_CHANGE): wlp2s0: link becomes ready
[ 1297.041325] iwlwifi 0000:02:00.0: RF_KILL bit toggled to disable radio.
[ 1297.041328] iwlwifi 0000:02:00.0: reporting RF_KILL (radio disabled)
[ 1297.058950] wlp2s0: deauthenticating from c8:a7:0a:ac:99:0c by local choice (Reason: 3=DEAUTH_LEAVING)
[ 1297.059470] wlp2s0: failed to remove key (1, ff:ff:ff:ff:ff:ff) from hardware (-22)
[ 1297.059530] wlp2s0: failed to remove key (2, ff:ff:ff:ff:ff:ff) from hardware (-22)
[ 1299.341944] iwlwifi 0000:02:00.0: RF_KILL bit toggled to enable radio.
[ 1299.341947] iwlwifi 0000:02:00.0: reporting RF_KILL (radio enabled)
[ 1299.451863] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 1299.515951] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 1303.855148] wlp2s0: authenticate with c8:a7:0a:ac:99:0c
[ 1303.861080] wlp2s0: send auth to c8:a7:0a:ac:99:0c (try 1/3)
[ 1303.865100] wlp2s0: authenticated
[ 1303.866870] wlp2s0: associate with c8:a7:0a:ac:99:0c (try 1/3)
[ 1303.871791] wlp2s0: RX AssocResp from c8:a7:0a:ac:99:0c (capab=0x431 status=0 aid=5)
[ 1303.878274] wlp2s0: associated
[ 1303.878356] IPv6: ADDRCONF(NETDEV_CHANGE): wlp2s0: link becomes ready
[ 1305.253997] wlp2s0: deauthenticating from c8:a7:0a:ac:99:0c by local choice (Reason: 3=DEAUTH_LEAVING)
[ 1305.261843] wlp2s0: failed to remove key (2, ff:ff:ff:ff:ff:ff) from hardware (-22)