Conexão Wi-Fi não é exibida na Central de Controle do Deepin (Realtek RTL8192SE)

Publicado por Eduardo Mozart de Oliveira em 23/09/2021

[ Hits: 1.991 ]

Blog: http://www.eduardomozartdeoliveira.wordpress.com/

 


Conexão Wi-Fi não é exibida na Central de Controle do Deepin (Realtek RTL8192SE)



Após a atualização do Deepin para a versão 20.2.2 (baseado no Debian 10.8) em um notebook Megaware 4129 com adaptador Wi-Fi RTL8192SE embutido, o adaptador Wi-Fi não era exibido na Central de Controle do Deepin (apenas a rede cabeada estava disponível).

É comum em notebooks existirem combinações de teclas de função para habilitar ou desabilitar Wi-Fi, Bluetooth e outras funções, porém, o adaptador estava sendo reconhecido normalmente e estava ativo, conforme o Gerenciador de Dispositivos do Deepin.

Figura 1: Gerenciador de Dispositivos do Deepin
Caso o adaptador Wi-Fi estivesse desligado devido a teclas de função, o adaptador Wi-Fi seria exibido em laranja no Gerenciador de Dispositivos com o prefixo (Desativar) no nome do adaptador Wi-Fi. Também pude confirmar que o adaptador Wi-Fi ("wlan") não possuía nenhum tipo de trava através do comando "rfkill", que exibia o status "Unblocked" (desbloqueado) para travas do adaptador Wi-Fi via Software ou Hardware (teclas de função).

rfkill
ID TYPE      DEVICE      SOFT      HARD
1 bluetooth hci0   unblocked unblocked
2 wlan      phy1   unblocked unblocked


Na saída do Gerenciador de Dispositivos do Deepin, ao selecionar o adaptador Wi-Fi na lista (conforme Figura 1), é exibido o Driver (Módulo) utilizado para prover a interface entre o sistema operacional e o hardware (adaptador Wi-Fi). Ao remover e recarregar o módulo, o adaptador Wi-Fi e ele passou a ser exibido normalmente na Central de Controle e na Barra de tarefas do Deepin.

sudo modprobe -r rtl8192se && modprobe rtl8192se

Porém, notei que, após a reinicialização, novamente o Deepin não reconhecia o adaptador Wi-Fi. Notei também que o LED do Wi-Fi mantinha-se ativo do momento que ligava o computador até a tela de login do Deepin. Após o logon do usuário, o LED do Wi-Fi apagava-se e o adaptador Wi-Fi não era mais reconhecido, porém, ao remover e recarregar o módulo através dos comandos acima, o adaptador Wi-Fi voltava a ser reconhecido normalmente.

Não pude encontrar nenhuma solução definitiva ou pessoas com sintoma similar na Internet, portanto, decidi adotar uma solução de contorno, que é criar um script que realiza a remoção e recarregamento do módulo "rtl8192se" a cada logon de usuário realizado no sistema.

Por padrão, o "modprobe" requer privilégios de superusuário para ser executado, portanto, o script que realiza a monitoração deve ser executado no contexto de superusuário (root) ou devem ser atribuídas permissões para que usuários comuns executem o "modprobe" sem "sudo". Não é recomendado atribuir privilégios para que usuários normais executem o "modprobe" sem "sudo", devido a possibilidade de comprometer a segurança e estabilidade do sistema através do carregamento de módulos nocivos ou desativação não-intencional de módulos essenciais para funcionamento do sistema.

Para executar o script de monitoramento como superusuário (root):

1. No Terminal do Deepin, execute o comando abaixo para editar o Cron do usuário "root".

sudo crontab -e

2. No final do arquivo, adicione a seguinte linha:

@reboot /usr/local/sbin/detect_logon

Dessa forma, estamos configurando o sistema operacional para executar a cada inicialização do sistema o script "/usr/local/sbin/detect_logon".

3. Crie o arquivo "/usr/local/sbin/detect_logon" através do "nano" (ou outro editor de texto de sua preferência) com o seguinte conteúdo:

sudo nano /usr/local/sbin/detect_logon

<file bash detect_logon>
#!/usr/bin/python2.7
# -*- coding: utf-8 -*-

import os, time

Buffer_list=[]
while True:
    users=os.popen("'who | cut -d' ' -f1 | sort | uniq"')
    users=users.read()
    Current_List=users.split('
')
    Current_List=filter(None,Current_List)
    if Current_List:
        if Current_List != Buffer_list:

            if len(Current_List) > len(Buffer_list):

                #HERE YOU ADD THE COMMANDS, inside the triple quotes.
                # add each command in a new line

                # i let you an example for turning the brightness down..
                os.system("'/sbin/modprobe -r rtl8192se && /sbin/modprobe rtl8192se"')


            Buffer_list=Current_List

    time.sleep(0.5)

O script acima, ao ser executado durante a inicialização, irá monitorar as sessões de usuário ativas e executará o comando "modprobe" para remover e recarregar o módulo "rtl8192se".

4. Atribua permissões de execução para o script "detect_logon" através do comando:

sudo chmod +x /usr/local/sbin/detect_logon

5. Reinicie o computador e verifique se o adaptador Wi-Fi está sendo reconhecido normalmente após a reinicialização.

Referências

1. Unix & Linux. Execute root command after a user starts the session. Disponível em: <https://unix.stackexchange.com/questions/149509/execute-root-command-after-a-user-starts-the-session>. Acesso em: 22 de jul. de 2021.

Outras dicas deste autor

VirtualBox não reconhece dispositivos USB do hospedeiro (host)

Desabilitando o NetworkManager no CentOS

Instalando os Serviços de Integração do Hyper-V no CentOS 5.8 e 6.3 e Kernel 2.6.32+

Comando "df -h" retorna 0 em espaço disponível (Avail) após instalação do Ubuntu [Resolvido]

Compilação do M64Py à partir do código-fonte no Debian 10 "Buster"

Leitura recomendada

Alterar hostname no CentOS

Como configurar GMA500 no Ubuntu 9.10 com repositórios do próprio Karmic

Desabilitando roaming profile para logon em domínio Samba

Mostrar ou ocultar ícones na Área de Trabalho do Debian MATE

Configurando cartão e-CNPJ no Firefox

  

Comentários
[1] Comentário enviado por maurixnovatrento em 02/10/2021 - 10:43h


Partindo do Deepin, é só mais um bug como todos os outros. Quando eu usei essa interface não tive essa problema. Mas, deixei de usar por conta de outros bugs. Mas foi uma boa solução.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts