Olá, eu gostaria de ajuda de alguém para investigar por que o teclado Jiaxi modelo WB-8022 infelizmente não parea com o sistema operacionais GNU/Linux, ou simplesmente Linux.
Considerações antes de dedicar alguns esforço para esse problema…
consigo parear esse teclado no dualboot com o Windows 10 no mesmo notebook, então me parece que o problema não é o dispositivo bluetooth integrado
testei parear usando um dongle bluetooth USB, mas continua a falhar
usei o utilitário (essa é classificação correta?) bluetoothctl para parear, até consigo obter sucesso, mas o sistema não responde ao pressionamento das teclas. Alguns segundos depois, o teclado adormece e “nehum sinal de vida mais tem”, a não ser que eu repita novamente todo o processamento de pareamento com um novo endereço MAC (confira o vídeo anexado a postagem)
consigo parear o teclado Logitech K380 através do bluetoothctl sem dificuldade, aliás, foi a única forma que consegui parear com o GNU/Linux, a interface gráfica congela em uma das etapas de pareamento
já consegui parear o teclado além do computador/notebook: smarthphone Android e iOS e SmartTV
existem outros dois tópicos que debateram sobre esse mesmo problema aqui no fórum (tópico 1 e tópico 2), mas sem nenhuma solução. O tópico 2 oferece uma alternativa para sanar o problema, mas não funcionou comigo;
por favor, não tenho intenção de promover o anúncio do teclado - comprei o teclado no Aliexpress (esse é o anúncio) e tem uma avaliação com fotos que mostra o teclado pareado com sucesso no GNU/Linux (não sei qual distribuição, mas o desktop manager é o GNOME, o mesmo que uso). Para acessar essa avaliação, deslize a página do anúncio e acesse “Ver mais”. De qualquer forma, estou enviando uma captura de tela por aqui mesmo da avaliação do usuário com as fotos.
Anexos
Clique/toque para exibir ou colapsar...
Avaliação do teclado no Aliexpress mostrando pareamento bem sucedido com o GNU/Linux
Ele chega a pedir algum pin ao parear nos aparelhos que você teve sucesso?
Abre uma outra janela do terminal com o comando
sudo dmesg --follow
ou
sudo journalctl -f
e tenta conectar o teclado algumas vezes, depois envia a saída aqui caso seja muito grande você pode utilizar algum serviço de paste como pastebin e afins.
Aug 10 19:12:52 archlinux-mat sudo[3640]: pam_unix(sudo:session): session closed for user root
Aug 10 19:12:53 archlinux-mat sudo[3807]: pam_systemd_home(sudo:account): New sd-bus connection (system-bus-pam-systemd-home-3807) opened.
Aug 10 19:12:53 archlinux-mat sudo[3807]: mat : TTY=pts/0 ; PWD=/home/mat ; USER=root ; COMMAND=/usr/bin/journalctl -f
Aug 10 19:12:53 archlinux-mat sudo[3807]: pam_unix(sudo:session): session opened for user root(uid=0) by mat(uid=1000)
Aug 10 19:12:55 archlinux-mat wpa_supplicant[469]: wlan0: CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-69 noise=-114 txrate=0
Aug 10 19:13:02 archlinux-mat wpa_supplicant[469]: wlan0: CTRL-EVENT-SIGNAL-CHANGE above=0 signal=-75 noise=-114 txrate=0
Aug 10 19:13:14 archlinux-mat sudo[3807]: pam_unix(sudo:session): session closed for user root
Aug 10 19:13:42 archlinux-mat sudo[3849]: pam_systemd_home(sudo:account): New sd-bus connection (system-bus-pam-systemd-home-3849) opened.
Aug 10 19:13:42 archlinux-mat sudo[3849]: mat : TTY=pts/0 ; PWD=/home/mat ; USER=root ; COMMAND=/usr/bin/journalctl -f
Aug 10 19:13:42 archlinux-mat sudo[3849]: pam_unix(sudo:session): session opened for user root(uid=0) by mat(uid=1000)
Aug 10 19:13:47 archlinux-mat wpa_supplicant[469]: wlan0: CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-63 noise=-111 txrate=0
Aug 10 19:15:19 archlinux-mat rtkit-daemon[572]: Successfully made thread 1194 of process 1169 owned by '1000' high priority at nice level 0.
Aug 10 19:15:19 archlinux-mat rtkit-daemon[572]: Supervising 7 threads of 4 processes of 1 users.
Aug 10 19:15:19 archlinux-mat rtkit-daemon[572]: Supervising 6 threads of 3 processes of 1 users.
Aug 10 19:15:19 archlinux-mat rtkit-daemon[572]: Supervising 6 threads of 3 processes of 1 users.
Aug 10 19:15:19 archlinux-mat rtkit-daemon[572]: Successfully made thread 1194 of process 1169 owned by '1000' RT at priority 20.
Aug 10 19:15:19 archlinux-mat rtkit-daemon[572]: Supervising 7 threads of 4 processes of 1 users.
Aug 10 19:15:22 archlinux-mat wpa_supplicant[469]: wlan0: CTRL-EVENT-SIGNAL-CHANGE above=0 signal=-77 noise=-111 txrate=0
Aug 10 19:15:27 archlinux-mat sudo[4126]: pam_systemd_home(sudo:account): New sd-bus connection (system-bus-pam-systemd-home-4126) opened.
Aug 10 19:15:27 archlinux-mat sudo[4126]: mat : TTY=pts/0 ; PWD=/home/mat ; USER=root ; COMMAND=/usr/bin/journalctl -f
Aug 10 19:15:27 archlinux-mat sudo[4126]: pam_unix(sudo:session): session opened for user root(uid=0) by mat(uid=1000)
Aug 10 19:15:51 archlinux-mat wpa_supplicant[469]: wlan0: CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-69 noise=-112 txrate=0
Aug 10 19:18:00 archlinux-mat bluetoothd[418]: src/device.c:set_wake_allowed_complete() Set device flags return status: Invalid Parameters
Aug 10 19:18:00 archlinux-mat kernel: Bluetooth: hci0: Bad flag given (0x1) vs supported (0x0)
Aug 10 19:18:16 archlinux-mat wpa_supplicant[469]: wlan0: CTRL-EVENT-SIGNAL-CHANGE above=0 signal=-75 noise=-112 txrate=0
Aug 10 19:18:28 archlinux-mat wpa_supplicant[469]: wlan0: CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-69 noise=-114 txrate=0
Observação
Tentei parear novamente o teclado WB-8022 enquanto executei o segundo comando. O primeiro, pelo que percebi, retém as informações na memória, independente se não estiver executando no momento ou não - mas me corriga, por favor, se eu estiver super errado.
Respondendo a sua pergunta
Com o Logitech K380, é necessário um pin para completar o pareamento no Windows e no iOS.
Mas com WB-8022, em todos os dispositivos que ele funcionou, não precisou inserir um pin, apesar de no manual do teclado mostrar que isso é um passo necessário.
O conteúdo do arquivo /etc/bluetooth/input.conf é...
# Configuration file for the input service
# This section contains options which are not specific to any
# particular interface
[General]
# Set idle timeout (in seconds) before the connection will be disconnect and
# the input device is removed.
# Defaults: 0 (disabled)
#IdleTimeout=0
# Enable HID protocol handling in userspace input profile
# Defaults to true (Use UHID instead of kernel HIDP)
#UserspaceHID=true
# Limit HID connections to bonded devices
# The HID Profile does not specify that devices must be bonded, however some
# platforms may want to make sure that input connections only come from bonded
# device connections. Several older mice have been known for not supporting
# pairing/encryption.
# Defaults to true for security.
#ClassicBondedOnly=true
# LE upgrade security
# Enables upgrades of security automatically if required.
# Defaults to true to maximize device compatibility.
#LEAutoSecurity=true
Observação
Eu fiz o pareamento do teclado novamente, desde que eu estou enviando o conteúdo do arquivo em uma outra sessão, depois de ter desligado e ligado novamente o notebook.
Infelizmente, ainda não consigo parear, bad_at_usernames.
Estou enviando as saídas dos comandos que você sugeriu anteriormente mais uma vez, porém com as recentes alterações que você recomendou.
sudo journactl -f
Aug 12 09:16:14 archlinux-mat kernel: ath10k_pci 0000:02:00.0: [ 7] BadDLLP
Aug 12 09:16:24 archlinux-mat sudo[2766]: pam_unix(sudo:session): session closed for user root
Aug 12 09:17:12 archlinux-mat systemd[1042]: Started VTE child process 3135 launched by kgx process 2648.
Aug 12 09:17:12 archlinux-mat systemd[1]: Starting Cleanup of Temporary Directories...
Aug 12 09:17:12 archlinux-mat systemd[1]: systemd-tmpfiles-clean.service: Deactivated successfully.
Aug 12 09:17:12 archlinux-mat systemd[1]: Finished Cleanup of Temporary Directories.
Aug 12 09:17:12 archlinux-mat systemd[1]: run-credentials-systemd\x2dtmpfiles\x2dclean.service.mount: Deactivated successfully.
Aug 12 09:17:43 archlinux-mat sudo[3151]: pam_systemd_home(sudo:auth): New sd-bus connection (system-bus-pam-systemd-home-3151) opened.
Aug 12 09:17:46 archlinux-mat sudo[3151]: mat : TTY=pts/0 ; PWD=/home/mat ; USER=root ; COMMAND=/usr/bin/journalctl -f
Aug 12 09:17:46 archlinux-mat sudo[3151]: pam_unix(sudo:session): session opened for user root(uid=0) by mat(uid=1000)
Aug 12 09:17:49 archlinux-mat sudo[3158]: pam_systemd_home(sudo:auth): New sd-bus connection (system-bus-pam-systemd-home-3158) opened.
Aug 12 09:17:51 archlinux-mat sudo[3158]: mat : TTY=pts/1 ; PWD=/home/mat ; USER=root ; COMMAND=/usr/bin/dmesg --follow
Aug 12 09:17:51 archlinux-mat sudo[3158]: pam_unix(sudo:session): session opened for user root(uid=0) by mat(uid=1000)
Aug 12 09:19:29 archlinux-mat rtkit-daemon[570]: Successfully made thread 1219 of process 1194 owned by '1000' high priority at nice level 0.
Aug 12 09:19:29 archlinux-mat rtkit-daemon[570]: Supervising 7 threads of 4 processes of 1 users.
Aug 12 09:19:29 archlinux-mat rtkit-daemon[570]: Supervising 6 threads of 3 processes of 1 users.
Aug 12 09:19:29 archlinux-mat rtkit-daemon[570]: Supervising 6 threads of 3 processes of 1 users.
Aug 12 09:19:29 archlinux-mat rtkit-daemon[570]: Successfully made thread 1219 of process 1194 owned by '1000' RT at priority 20.
Aug 12 09:19:29 archlinux-mat rtkit-daemon[570]: Supervising 7 threads of 4 processes of 1 users.
Aug 12 09:19:29 archlinux-mat rtkit-daemon[570]: Successfully made thread 1219 of process 1194 owned by '1000' high priority at nice level 0.
Aug 12 09:19:29 archlinux-mat rtkit-daemon[570]: Supervising 7 threads of 4 processes of 1 users.
Aug 12 09:19:30 archlinux-mat rtkit-daemon[570]: Supervising 6 threads of 3 processes of 1 users.
Aug 12 09:19:30 archlinux-mat rtkit-daemon[570]: Supervising 6 threads of 3 processes of 1 users.
Aug 12 09:19:30 archlinux-mat rtkit-daemon[570]: Successfully made thread 1219 of process 1194 owned by '1000' RT at priority 20.
Aug 12 09:19:30 archlinux-mat rtkit-daemon[570]: Supervising 7 threads of 4 processes of 1 users.
Aug 12 09:19:30 archlinux-mat gdm-password][3213]: pam_systemd_home(gdm-password:auth): New sd-bus connection (system-bus-pam-systemd-home-3213) opened.
Aug 12 09:19:31 archlinux-mat gdm-password][3213]: gkr-pam: unlocked login keyring
Aug 12 09:19:32 archlinux-mat systemd[1042]: Started dbus-:[email protected].
Aug 12 09:19:32 archlinux-mat NetworkManager[415]: <info> [1723465172.0839] agent-manager: agent[904dbb7f7286bcb6,:1.62/org.gnome.Shell.NetworkAgent/1000]: agent registered
Ao executar esse comando, o seguinte erro aparece no terminal:
bluetoothd[3758]: Bluetooth daemon 5.76
bluetoothd[3758]: src/main.c:parse_config() parsing /etc/bluetooth/main.conf
D-Bus setup failed: Name already in use
bluetoothd[3758]: src/main.c:main() Unable to get on D-Bus
E me desculpe, me expressei errado: o teclado pareia (como sempre acontece ao tentar realizar o pareamento e conexão através do bluetoothctl), porém o sistema não reage a nenhum pressionamento de qualquer tecla.
Na verdade, o stderr enviado na última mensagem minha é o comando executado com previlégio de administrador.
O stderr abaixo é da execução do comando sem o sudo:
bluetoothd[3393]: Bluetooth daemon 5.76
bluetoothd[3393]: src/main.c:parse_config() parsing /etc/bluetooth/main.conf
D-Bus setup failed: Request to own name refused by policy
bluetoothd[3393]: src/main.c:main() Unable to get on D-Bus
Capture os logs do bluetooth com o comando abaixo aberto em uma janela do terminal
sudo btmon --write ~/hcitrace.snoop | tee ~/hcitrace.txt
Enquanto tenta conectar o teclado algumas vezes e poste o conteúdo do hcitrace.txt ou hcitrace.snoop
Uma possível solução seria desativar o ertm.
Isso resolveu alguns casos de controles xbox que mesmo após pareado não mostra entrada, sei que isso e um teclado mais não custa tentar.
Você pode desativar temporariamente com o comando abaixo e ver se o teclado começa a responder.
sudo bash -c "echo Y > /sys/module/bluetooth/parameters/disable_ertm"
Eu testei a recomendação de desativar o parâmetro ertm, mas o mesmo comportamento persistiu: teclado pareia, conecta, porém pressionar as teclas não desencadeia nenhuma ação no sistema operacional.
Os logs dos arquivos estão disponíveis novamente no Google Drive através desse link. O conteúdo de um é enorme e outro não entendi como se faz para “lê-lo”.
Destacando novamente: obrigado pela insistência em tentar resolver esse meu problema, .
O teclado utiliza bluetooth low energy tente restringir o adaptador bluetooth a usar só esse modo
Para isso Adicione ControllerMode = le no arquivo /etc/bluetooth/input.conf após [General]
# Configuration file for the input service
# This section contains options which are not specific to any
# particular interface
[General]
ControllerMode = le
Reinicie e veja se o teclado da algum sinal de vida
Desculpe na verdade essa linha era para ser adicionada em /etc/bluetooth/main.conf talvez você encontre nesse arquivo algo parecido com isso
# Restricts all controllers to the specified transport. Default value
# is "dual", i.e. both BR/EDR and LE enabled (when supported by the HW).
# Possible values: "dual", "bredr", "le"
#ControllerMode = dual
Nesse caso e só substituir o #ControllerMode = dual para ControllerMode = le
# Possible values: "dual", "bredr", "le"
ControllerMode = le
No caso dessa linha não existir no arquivo adicione o ControllerMode = le após o [General] e desfaça as alterações no /etc/bluetooth/input.conf
reinicie logo em seguida
EDIT: outro parâmetro que pode ser alterado e o JustWorksRepairing para always (padrão e never)
# Specify the policy to the JUST-WORKS repairing initiated by peer
# Possible values: "never", "confirm", "always"
# Defaults to "never"
JustWorksRepairing = always
Desfiz a alteração do arquivo input.conf. > modifiquei o parâmetro ControllerMode no arquivo main.conf como você pediu > reiniciei o notebook. = o teclado Logitech K380 não pareava mais com o notebook e o mesmo comportamento com o teclado Jiaxi persiste;
Abri novamente o arquivo main.conf > modifiquei o parâmetro JustWorkRepairing como você pediu > Reiniciei o notebook = o mesmo comportamento do “experimento” 1. persiste;
Abri novamente o arquivo main.conf, voltei o parâmetro ControllerMode para o padrão (valor dual) > reiniciei o notebook = o teclado Logitech K380 voltou a parear com o notebook, teclado Jiaxi continua com o mesmo comportamento
Sério, eu agradeço mesmo a sua paciência por chegar até aqui. Se as suas possibilidades esgotaram ou se quiser encerrar o meu problema nesse momento, eu compreenderei perfeitamente.
Embora aparentemente não tivemos nenhum avanço até esse ponto, eu estou impressionado com as suas habilidades.