Como não tive sucesso emtroca de pilha unix, eu tento aqui. Talvez eu esteja impaciente, talvez essa não seja a boa maneira de pedir ajuda, fique à vontade para me contar!
Há algum tempo eu uso um controle Playstation DualShock 4 via Bluetooth para jogar na minha Linux Box. Detalhes sobre a caixa:
- Equipamento: Asrock Beebox N3150
- SO: Servidor Ubuntu 20.04.3
- Programas: Kodi + Retroarca
Agora tenho um controlador DualSense. Posso emparelhá-lo via Bluetooth para usá-lo da mesma forma que o DS4. Ainda posso usar o DS4 se desconectar primeiro o controlador DualSense. Mas não consigo fazer os 2 controladores funcionarem ao mesmo tempo.
O que eu tentei:
- Testando a mesma coisa em outro computador (também baseado no Ubuntu 20.04) => funciona, posso jogar um jogo multiplayer no Retroarch
- Testando para instalar um kernel mais recente na caixa, ou seja, o kernel 5.13 (através do HWE conforme descritoaqui) para obter o driver hid_playstation oficial suportado pela Sony => não ajudou, embora eu tenha garantido que estava usando o driver correto para o DualSense
- Testando usando primeiro uma conexão USB para autorizar o dispositivo e depois conectar via Bluetooth => sem melhorias
- Testando usando um controlador via Bluetooth e outro via USB => funciona
O que eu suspeito (hipótese - posso estar errado):
- O problema pode não estar relacionado à conexão Bluetooth. Eu costumava
bluetoothctl
emparelhar meus dispositivos e não encontrei nenhum problema no processo de emparelhamento.blueoothctl
me disse que o dispositivo estava emparelhado e o LED nos dispositivos deixou de piscar para fixar a cor - O problema provavelmente está ligado ao driver, ou a qualquer outra coisa relacionada à comunicação com o dispositivo: quando o segundo controlador (seja DualSense ou DS4) está conectado, ele fica com uma cor fixa (cinza para o DS4, azul para o DualSense ) por algum tempo (geralmente menos de 1 minuto) e depois desligue. Acho que significa que está conectado por Bluetooth, mas não obtém a resposta desejada depois de algum tempo.
Alguém pode me ajudar a corrigir esse problema? Posso fornecer o log do que for necessário e ir e voltar do kernel 5.4 para o 5.13 (mas não tenho certeza se é necessário porque funciona com um controlador por vez no 5.4).
ATUALIZAR: Para garantir que o problema não esteja relacionado ao hardware, comprei um dongle USB bluetooth externo: TP-link UB500. Fiquei surpreso ao descobrir que não funcionou imediatamente: tive que instalar um kernel muito recente (>= 5.15.4) conforme mencionadoaqui. Então eu fui comeste tutoriale instalado 5.15.13. Depois de baixar os arquivos de firmware necessários, pude inicializar no novo kernel e... voltei ao mesmo ponto: posso emparelhar meu DS4 e DualSense com meu novo adaptador Bluetooth, mas apenas o primeiro conectado produz alguns logins /var/log/kern.log
e é reconhecido como dispositivo de entrada (embora o segundo esteja conectado por Bluetooth). Também tentei desabilitar e colocar na lista negra o novo driver hid_playstation, mas não houve diferença alguma. Então, ainda estou preso com este problema:
- O segundo dispositivo está conectado de acordo com bluetoothctl
- O segundo dispositivo não é visto nem pelo kernel nem pelo Xorg ou pelos aplicativos do usuário final
- Nenhuma configuração para o segundo dispositivo é criada em
/sys/bus/hid/devices
ou em/sys/devices/virtual/misc/uhid