Mantendo o bluetooth ativado em modo suspensão do Fedora

· 2 minutes

Introdução

Recentemente comprei um novo teclado bluetooth para utilizar no meu setup, após alguns meses utilizando o Logitech MX Mechanical Mini optei pelo Keychron K3 Pro K3X-H3, e estou curtindo bastante o teclado por todas as suas funcionalidades.

Mas depois que inicei a utilizar ele junto ao Fedora (sistema operacional que utilizo na minha máquina pessoal), sempre que o sistema operacional entrava em modo de suspensão o teclado perdia a conexão com o notebook. Para utilizar o mesmo novamente era necessário desligar o bluetooth do notebook e ativar o mesmo novamente, assim o teclado conseguia se conectar novamente.

Imaginei que poderia ser devido a alguma configuração específica pois utilizo um adaptador bluetooth via USB (Orico Blueooth 4.0 USB Adapter).

Solução

Pesquisando um pouco sobre o problema acabei encontrando nesse site as configurações para manter essa conexão ativa mesmo após o notebook entrar em modo de suspensão. Como era uma postagem um pouco antiga, resolvi dar uma chance a solução e experimentar na versão mais recente do Fedora.

Estou deixando documentado aqui os passos que realizei para realizar essa configuração, relembrando que atualmente estou utilizando a última versão do Fedora 44 Workstation Edition.

Utilizando o editor de preferência, vamos editar o arquivo /etc/default/grub, definindo o valor da variável GRUB_ENABLE_BLSCFG para true:

> sudo vim /etc/default/grub
...
GRUB_ENABLE_BLSCFG=true
...

Após isso é necessário reiniciar o sistema para que a configuração seja aplicada.

Na minha situação tenho apenas um kernel sendo utilizado então realizei o passo para aplicar para em todos os kernels disponíveis, e assim evitar algum problema caso eu venha a utilizar mais de um no futuro (mas também é possível aplicar essa configuração apenas para um kernel específico):

> sudo grubby --update-kernel=ALL --args="btusb.enable_autosuspend=0"

Reinicie o sistema novamente.

Para checar se a configuração foi aplicada com sucesso, execute os comandos abaixo, a saída esperada será algo semelhante:

> cat /etc/default/grub
...
GRUB_CMDLINE_LINUX="rhgb quiet btusb.enable_autosuspend=0"
...

> cat /proc/cmdline | grep btusb
BOOT_IMAGE=(hd0,gpt2)/vmlinuz-7.0.8-200.fc44.x86_64 root=UUID=<redacted> ro rootflags=subvol=root rhgb quiet btusb.enable_autosuspend=0

Depois de aplicar as configurações acima, foi possível utilizar o teclado sem ligar/desligar o bluetooth mesmo após o notebook ter entrado em modo de suspensão.

Créditos ao site: communicode.io