Wi-Fi quebra após fechar/suspender a tampa do laptop

Wi-Fi quebra após fechar/suspender a tampa do laptop

Tenho um problema em que, ao fechar a tampa do meu laptop (o comportamento definido é suspender), meu wifi quebra completamente. Eu tentei no Arch e no Ubuntu e o mesmo problema ocorre. Tentei reiniciar o NetworkManager sem sucesso. Parece que a interface sem fio está sendo configurada para o estado DOWN, mas nada parece ser capaz de restaurá-la sem reinicializar.

Usando Ubuntu 21.04.

Huawei Matebook 2020 (Ryzen 4500U)

saída de sudo lshw -c network:

*-network                 
       description: Wireless interface
       product: RTL8822CE 802.11ac PCIe Wireless Network Adapter
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:01:00.0
       logical name: wlp1s0
       version: 00
       serial: 80:30:49:37:ce:cf
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=rtw_8822ce driverversion=5.11.0-37-generic firmware=N/A ip=138.38.187.118 latency=0 link=yes multicast=yes wireless=IEEE 802.11
       resources: irq:69 ioport:2000(size=256) memory:d0500000-d050ffff

ATUALIZAÇÃO: Durante todo o dia de ontem, o wifi funcionou conforme o esperado (ou seja, reconectando-se rapidamente após uma suspensão), mas hoje voltou ao problema normal. Não consigo pensar em nada que mudei, então é difícil definir isso.

ATUALIZAÇÃO # 2: Tentei uma solução alternativa colocando um script dentro \lib\systemd\system-sleep do qual é executado como root:

#!/bin/sh
case $1 in
  post)
    ifconfig wlp1s0 up
  ;;
esac

E isso funcionou momentaneamente, porém na segunda vez que acordei meu laptop, ele parou. Inserir manualmente o comando do script resulta no erro: SIOCSIFFLAGS: Operation already in progress.

Observe que esse erro não ocorre se o wifi estiver funcionando e eu desativo manualmente a interface e a reativo novamente, o que indica que o script está pendurado neste comando após a retomada.

informação relacionada