WIFI não funciona após o suspend [Resolvido]

Olá a todos! Recentemente fiz uma instalação do Linux Mint 19 Xfce 64 bits em um velho notebook CCE Win. O WIFI parava de funcionar após o SUSPEND. Após ler as documentações e as postagens internet afora, eu consegui chegar a uma solução.

[ Hits: 1.885 ]

Por: Marcos Antonio Mello Estevão em 31/07/2018


Uma pequena introdução



O Linux utiliza um mecanismo de gerencia o as funções de hardware. Este mecanismo conversa com o hardware do computador por uma camada de abstração chamada HAL (Hardware Abstraction Layer), que é parte componente dos subsistemas do Linux.

As ferramentas pm-utils (Power Manager Utils) e systemd (System and Service Manager) fazem parte do conjunto de softwares da freedesktop.org e são as responsáveis por executar a função sleep, que é composto pelas operações SUSPEND, HIBERNATE, HYBRID_SUSPEND e HYBRID_HIBERNATE. Todas tem a função que restaura a volta ao sistema (RESUME|THAW|POST).

Por exemplo, se o usuário fechar a tampa do notebook (LID CLOSE ACTION), o sistema irá executar uma das funções sleep que está configurada para esta ação. Ao abrir a tampa, o sistema irá executar a função de RESUME.

Porém as ferramentas pm-util e systemd tem suas particularidades.

O pm-utils trabalha com os flags suspend, hibernate, resume e thaw.

O systemd trabalha com pre e post. O pre é o momento anterior ao sleep e post e o momento posterior ao sleep, quando ocorre o evento wakeup. Fica mais ou menos assim:

    LID FECHADO ------(pre)----->  SLEEP ------------> LID ABERTO -----(post)-----> WAKEUP

Solução

Descobri que ocorre um problema com os módulos do adaptador WIFI, me obrigando a derrubar os módulos e levantá-los em seguida. Para corrigir este problema bastava escrever um script, que seria executado assim que a função RESUME fosse executada. Porém, para isso, é necessário saber qual mecanismo é utilizado pelo sistema para fazer o sleep.

As distribuições mais recentes do Linux utilizam o systemd para isso. Os ambientes gráficos mais populares são integrados ao systemd. Não sei se a ferramenta systemd é dependente da pm-utils, mas é interessante incluir a solução nos dois casos. Para isso teremos que identificar o nome do módulo do WIFI.

Como identificar os módulos do WIFI

Para identificar o nome do módulo do WIFI execute como superusuário o comando a seguir:

# lshw -C network

Separei o fragmento que nos interessa da saída do comando:

  *-usb                     
       description: Wireless interface
       product: 802.11 bg WLAN
       vendor: Ralink
       physical id: 3
       bus info: usb@1:3
       logical name: wlx0019dba00811
       version: 0.01
       serial: 00:19:db:a0:08:11
       capabilities: usb-2.00 ethernet physical wireless
       configuration: broadcast=yes driver=rt73usb driverversion=4.15.0-20-generic firmware=1.7 ip=192.168.1.6 link=yes maxpower=300mA multicast=yes speed=480Mbit/s wireless=IEEE 802.11

Podemos ver que em description aparece "Wireless interface", que é o nosso adaptador WIFI. A informação que procuramos é o nome do módulo de driver, informação que está em configuration.

       configuration: broadcast=yes driver=rt73usb driverversion=4.15.0-20-generic firmware=1.7 ip=192.168.1.6 link=yes maxpower=300mA multicast=yes speed=480Mbit/s wireless=IEEE 802.11

O nome do módulo de driver é o rt73usb.

    Próxima página

Páginas do artigo
   1. Uma pequena introdução
   2. O script wifi-wakeup
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Instalação da placa de rede D-Link DWL-G520 no Slackware

Token de Certificação para Assinatura Digital OAB - Instalação no Ubuntu 14.04/15.04

BIOS, barramentos e dispositivos

Comparando desempenho de distros, arquiteturas ou ambientes gráficos - Método universal

Instalando scanner HP PSC 1500 series e outros no Debian Etch

  
Comentários
[1] Comentário enviado por reginaldoalima em 03/08/2018 - 18:33h

Este deve ser o post de numero 200, que leio sobre como fazer meu wifi funcionar no Debian 9. Estava usando o Ubuntu 18.4 LTS e estou me arrependendo amargamente de ter substituído pelo Debian. já tentei de tudo, inclusive formatar e reinstalar o Debian 9, mas hoje depois de 1 mês estou começando a desistir e retornar para o Ubuntu.

[2] Comentário enviado por ricardogroetaers em 22/08/2018 - 09:20h

Embora eu não tenha conhecimentos para uma análise, parabenizo pelo artigo e pela criação do script que resolveu o problema. Considerando que o problema foi descoberto na versão mais recente do Linux Mint, seria interessante levar ao conhecimento dos desenvolvedores, tanto do problema quanto da solução.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor HostGator.
Linux banner
Linux banner
Linux banner

Artigos

Dicas

Viva o Android

Tópicos

Top 10 do mês

Scripts