20.04 Контроллер Xbox One не работает по Bluetooth?

Вопрос или проблема

Я пытаюсь подключить контроллер Xbox One к своей системе Ubuntu. Что происходит, когда я пытаюсь сопрячь его по Bluetooth:

  1. Я открываю панель устройств Bluetooth в Ubuntu
  2. Я удерживаю кнопку на верхней части контроллера, пока индикатор не начнет быстро мигать
  3. Я сопрягаю контроллер в Ubuntu

Проблема в том, что, хотя он отображается как подключенный в Ubuntu, индикатор на контроллере не перестает мигать и он не распознается в играх на HTML5.

Может кто-нибудь посоветовать?

Правка: Я на Ubuntu 20.04.3 LTS

  1. Установите драйвер для Xbox: sudo apt install xboxdrv

  2. Включите службы драйвера: sudo systemctl enable xboxdrv.service && sudo systemctl start xboxdrv.service

У меня была аналогичная проблема, и я нашел ресурс, который предложил отключить ERTM, что потребует прав суперпользователя.

После выполнения этих шагов я смог держать контроллер подключенным.

Хотя я не тестировал его глубоко с какими-либо играми на своей системе. (Одна игра, Delver, не работала очень хорошо, но я не уверен, было ли это связано с игрой или вводом.)

Эта команда:

echo 1 > /sys/module/bluetooth/parameters/disable_ertm

Я обнаружил, что не могу запустить ее, используя sudo самостоятельно, поэтому мне пришлось выполнить это, чтобы дать мне возможность запускать с повышенными привилегиями.

sudo -s

И здесь я нашел первоначальную информацию относительно ERTM https://wiki.debian.org/Gamepad

И еще один ресурс, который дал мне советы по sudo! https://www.addictivetips.com/ubuntu-linux-tips/xbox-one-controllers-over-bluetooth-linux/

(Я все еще достаточно нов в терминале, поэтому именно так я узнал об этой функциональности sudo.)

Я следовал этим шагам @ChanganAuto и Помощь с Xbox One Controller и Bluetooth. По какой-то причине это все еще не сработало для меня.

У меня двойная загрузка с Windows. Поэтому я протестировал на установке Windows, чтобы увидеть, может ли контроллер подключиться к Windows (это также можно сделать, протестировав на виртуальной машине). Контроллер Xbox подключился в этой среде по Bluetooth. И после этого, когда я попытался снова на Linux, то это сработало для меня. Не знаю почему, но, возможно, это уникально для тех, кто использует двойную загрузку.

После того как в интернете не нашел решения, я продолжал работать день за днем, настраивая профили Bluetooth и наконец решил проблему. Я здесь, чтобы поделиться своим решением:
Прежде всего, если вы используете контроллер от первого производителя, используйте внешний USB Bluetooth, который должен подключиться без каких-либо настроек. Затем перейдите к решению ниже (это будет работать не только для Xbox, но и для сторонних универсальных Bluetooth-геймпадов, китайских Bluetooth-геймпадов, геймпадов EasySMX с режимом контроллера Nintendo Switch и некоторых Bluetooth-клавиатур).
Редактируйте /etc/bluetooth/input.conf (если не существует, создайте один) и измените параметры, чтобы они соответствовали следующей конфигурации:

# Файл конфигурации для службы ввода

# Этот раздел содержит параметры, которые не специфичны для какого-либо
# конкретного интерфейса
[General]

# Установите таймаут простоя (в минутах) перед отключением соединения
# (по умолчанию 0 - без таймаута)
#IdleTimeout=30

# Включите обработку протоколов HID в профиле ввода пользовательского пространства
# По умолчанию false (HIDP обрабатывается в модуле ядра HIDP)
UserspaceHID=true

# Ограничить подключения HID к связанным устройствам
# Профиль HID не указывает, что устройства должны быть связанными, однако некоторые
# платформа может хотеть удостовериться, что входящие соединения поступают только от связанных
# соединений устройств. Несколько старых мышей известны тем, что не поддерживают
# сопряжение/шифрование.
# По умолчанию true для безопасности.
ClassicBondedOnly=false

# Безопасность LE-обновления
# Включает обновления безопасности автоматически при необходимости.
# По умолчанию true для максимизации совместимости с устройствами.
LEAutoSecurity=false

Теперь ваше устройство будет подключаться, даже если ключ сопряжения не обменивался или Bluetooth-адаптер не смог обменяться ключами.

Ответ или решение

Решение проблемы с подключением контроллера Xbox One через Bluetooth на Ubuntu 20.04

Если вы столкнулись с проблемой подключения контроллера Xbox One к вашему компьютеру с Ubuntu 20.04.3 LTS через Bluetooth, и при этом контроллер не распознается в играх, несмотря на то, что в системе он отображается как подключенный, это может быть вызвано несколькими причинами. Рассмотрим шаги, которые могут помочь вам решить эту проблему.

Шаг 1: Проверка оборудования

  1. Убедитесь в исправности контроллера. Проверьте, корректно ли он работает на другой системе. Это можно сделать, подключив контроллер к Windows или другим устройствам. Если контроллер работает на другой ОС, проблема, скорее всего, связана с конфигурацией Bluetooth на Ubuntu.

  2. Использование внешнего Bluetooth-адаптера. Если ваш компьютер использует встроенный Bluetooth, попробуйте использовать внешний USB Bluetooth-адаптер, который может быть более совместимым с контроллерами Xbox.

Шаг 2: Установка необходимых пакетов

Для правильного функционирования контроллера в Ubuntu может потребоваться установка драйвера. Откройте терминал и введите следующие команды:

sudo apt install xboxdrv
sudo systemctl enable xboxdrv.service && sudo systemctl start xboxdrv.service

Эти команды установят и активируют драйвер для контроллера Xbox.

Шаг 3: Отключение ERTM

Некоторые пользователи сообщают, что отключение ERTM (Enhanced Retransmission Mode) решает проблему с подключением контроллера. Для этого выполните следующие действия:

  1. Откройте терминал и введите команду:
echo 1 > /sys/module/bluetooth/parameters/disable_ertm

Если у вас нет прав суперпользователя, выполните команду через sudo -s, чтобы получить доступ к суперпользователю.

Шаг 4: Настройка конфигурации Bluetooth

Если предыдущие шаги не помогли, вам может понадобиться изменить конфигурацию Bluetooth.

  1. Создайте или отредактируйте файл /etc/bluetooth/input.conf и внесите следующие изменения:
# Configuration file for the input service

[General]
UserspaceHID=true
ClassicBondedOnly=false
LEAutoSecurity=false

Эти изменения помогут устранить проблемы с подключением и могут расширить совместимость с различными Bluetooth-устройствами.

Шаг 5: Повторное соединение

После внесения всех изменений, попробуйте снова подключить контроллер:

  1. Включите контроллер и пере установите соединение с Ubuntu через раздел Bluetooth.
  2. Убедитесь, что индикатор на контроллере прекращает мигать, и проверьте его работоспособность в играх или в тестовых приложениях.

Заключение

Если после выполнения всех вышеуказанных шагов ваш контроллер Xbox One по-прежнему не работает через Bluetooth, вероятно, проблема может быть в несовместимости конкретного Bluetooth-адаптера или специфических настройках вашей системы. В таком случае стоит рассмотреть возможность обновления системы или использования контроллера через USB-кабель.

Следуя этим рекомендациям, вы сможете устранить проблему с подключением контроллера Xbox One к вашей системе Ubuntu 20.04.

Оцените материал
Добавить комментарий

Капча загружается...