Использование DualShock 4 и контроллера DualSense через Bluetooth

Использование DualShock 4 и контроллера DualSense через Bluetooth

Так как у меня не было никакого успеха наunix stackexchange, я попробую здесь. Может быть, я нетерпелив, может быть, это не лучший способ просить о помощи, не стесняйтесь, скажите мне!

Некоторое время я использовал контроллер Playstation DualShock 4 через Bluetooth для игр на моем Linux Box. Подробности о Box:

  • Аппаратное обеспечение: Asrock Beebox N3150
  • ОС: Ubuntu Server 20.04.3
  • Программное обеспечение: Kodi + Retroarch

Теперь у меня есть контроллер DualSense. Я могу подключить его по Bluetooth, чтобы использовать его так же, как DS4. Я все еще могу использовать DS4, если сначала отключу контроллер DualSense. Но я не могу заставить 2 контроллера работать одновременно.

Что я пробовал:

  • Тестирую то же самое на другом компьютере (также на базе Ubuntu 20.04) => все работает, я могу играть в многопользовательскую игру на Retroarch
  • Тестирование установки более нового ядра на компьютер, а именно ядра 5.13 (через HWE, как описаноздесь) для того, чтобы получить официальный драйвер hid_playstation, поддерживаемый Sony => это не помогло, хотя я убедился, что использую правильный драйвер для DualSense
  • Тестирование с использованием сначала USB-подключения для авторизации устройства, затем подключение по Bluetooth => никаких улучшений
  • Тестирование с использованием одного контроллера по Bluetooth, другого по USB => работает

Что я подозреваю (гипотеза — я могу ошибаться):

  • Проблема может быть не связана с подключением Bluetooth. Я использовал bluetoothctlсопряжение своих устройств и не столкнулся с проблемами в процессе сопряжения. blueoothctlсообщил мне, что устройство было сопряжено, и светодиод на устройствах перешел от мигания к постоянному цвету
  • Проблема, вероятно, связана с драйвером или с чем-то другим, связанным с взаимодействием с устройством: когда подключен второй контроллер (DualSense или DS4), он остается с фиксированным цветом (серый для DS4, синий для DualSense) в течение некоторого времени (обычно менее 1 минуты), а затем отключается. Так что, я думаю, это означает, что он подключен по Bluetooth, но не получает желаемого ответа через некоторое время.

Может ли кто-нибудь помочь мне исправить эту проблему? Я могу предоставить лог всего необходимого и перейти с ядра 5.4 на ядро ​​5.13 и обратно (но я не уверен, что это нужно, потому что на 5.4 он работает по одному контроллеру за раз).

ОБНОВЛЯТЬ: Чтобы убедиться, что проблема не связана с оборудованием, я купил внешний Bluetooth USB-донгл: TP-link UB500. Я был удивлен, обнаружив, что он не работает из коробки: мне пришлось установить очень последнее ядро ​​(>= 5.15.4), как упоминалосьздесь. Поэтому я пошел сэтот уроки установил 5.15.13. После загрузки необходимых файлов прошивки я смог загрузить новое ядро ​​и ... вернулся к той же точке: я могу связать и DS4, и DualSense с моим новым адаптером Bluetooth, но только первый подключенный производит некоторые входы /var/log/kern.logи распознается как устройство ввода (хотя второй подключен по Bluetooth). Я также пробовал отключить и добавить в черный список новый драйвер hid_playstation, но никакой разницы. Так что я все еще застрял с этой проблемой:

  • Второе устройство подключено по bluetoothctl
  • Второе устройство не видно ни ядру, ни Xorg, ни приложениям конечного пользователя.
  • Конфигурация для второго устройства не создается в /sys/bus/hid/devicesили/sys/devices/virtual/misc/uhid

Связанный контент