Da ich keinen Erfolg hatte aufUnix-Stack-Austausch, ich versuche es hier. Vielleicht bin ich ungeduldig, vielleicht ist das nicht der richtige Weg, um Hilfe zu bitten, sagen Sie es mir ruhig!
Seit einiger Zeit verwende ich einen Playstation DualShock 4 Controller über Bluetooth, um Spiele auf meiner Linux-Box zu spielen. Details zur Box:
- Hardware: Asrock Beebox N3150
- Betriebssystem: Ubuntu Server 20.04.3
- Software: Kodi + Retroarch
Jetzt habe ich einen DualSense-Controller. Ich kann ihn über Bluetooth koppeln und ihn auf die gleiche Weise wie den DS4 verwenden. Ich kann den DS4 immer noch verwenden, wenn ich zuerst den DualSense-Controller trenne. Aber ich kann die beiden Controller nicht gleichzeitig zum Laufen bringen.
Was ich versucht habe:
- Teste das Gleiche auf einem anderen Computer (ebenfalls basierend auf Ubuntu 20.04) => es funktioniert, ich kann ein Multiplayer-Spiel auf Retroarch spielen
- Testen der Installation eines neueren Kernels auf der Box, nämlich des 5.13-Kernels (über HWE wie beschriebenHier), um den offiziellen hid_playstation-Treiber zu erhalten, der von Sony unterstützt wird => es hat nicht geholfen, obwohl ich sichergestellt habe, dass ich den richtigen Treiber für den DualSense verwende
- Beim Testen zuerst eine USB-Verbindung verwenden, um das Gerät zu autorisieren, dann eine Verbindung über Bluetooth herstellen => keine Verbesserung
- Testen mit einem Controller über Bluetooth, dem anderen über USB => es funktioniert
Was ich vermute (Hypothese – ich kann mich irren):
- Das Problem hängt möglicherweise nicht mit der Bluetooth-Verbindung zusammen. Ich habe
bluetoothctl
meine Geräte immer gepaart und dabei keine Probleme festgestellt.blueoothctl
sagte mir, dass das Gerät gepaart war und die LED an den Geräten von Blinken auf eine feste Farbe umgeschaltet wurde - Das Problem hängt wahrscheinlich mit dem Treiber oder anderen Dingen zusammen, die mit der Kommunikation mit dem Gerät zusammenhängen: Wenn der zweite Controller (entweder DualSense oder DS4) angeschlossen ist, behält er für einige Zeit (normalerweise weniger als 1 Minute) eine feste Farbe (grau für DS4, blau für DualSense) und schaltet sich dann ab. Ich vermute also, dass es bedeutet, dass es über Bluetooth verbunden ist, aber nach einiger Zeit nicht die gewünschte Antwort erhält.
Kann mir jemand helfen, dieses Problem zu beheben? Ich kann ein Protokoll von allem bereitstellen, was benötigt wird, und zwischen Kernel 5.4 und 5.13 hin- und herwechseln (aber ich bin nicht sicher, ob das nötig ist, da es unter 5.4 immer nur mit einem Controller gleichzeitig funktioniert).
AKTUALISIEREN: Um sicherzustellen, dass das Problem nicht hardwarebezogen ist, habe ich einen externen Bluetooth-USB-Dongle gekauft: TP-Link UB500. Ich war überrascht, dass er nicht sofort funktionierte: Ich musste wie erwähnt einen sehr aktuellen Kernel (>= 5.15.4) installierenHier. Also ging ich mitdieses Tutorialund 5.15.13 installiert. Nachdem ich die erforderlichen Firmware-Dateien heruntergeladen hatte, konnte ich den neuen Kernel starten und ... kam wieder an den gleichen Punkt: Ich kann sowohl meinen DS4 als auch DualSense mit meinem neuen Bluetooth-Adapter koppeln, aber nur der erste angeschlossene Adapter meldet sich an /var/log/kern.log
und wird als Eingabegerät erkannt (obwohl der zweite über Bluetooth verbunden ist). Ich habe auch versucht, den neuen hid_playstation-Treiber zu deaktivieren und auf die schwarze Liste zu setzen, aber es hat überhaupt keinen Unterschied gemacht. Ich stecke also immer noch mit diesem Problem fest:
- Das zweite Gerät ist gemäß bluetoothctl verbunden
- Das zweite Gerät wird weder vom Kernel noch von Xorg oder Endbenutzeranwendungen erkannt
- Es wird keine Konfiguration für das zweite Gerät in
/sys/bus/hid/devices
oder in/sys/devices/virtual/misc/uhid