Вопрос или проблема
В первую очередь, я использую версию Pop!_OS 22.04 LTS с версией ядра 6.9.3-76060903.
Я не полный новичок в Linux, но и не специалист.
Моя проблема в том, что я не могу заставить Bluetooth работать в Linux; переключатель вкл/выкл движется, но Bluetooth остаётся выключенным, в то время как в Windows 11 он работает практически сразу (я использую два разных загрузочных диска). Чип Wifi/BT — это MediaTek MT7925, интегрированный на материнской плате (Gigabyte X870 Eagle WIFI7).
Wifi работает корректно из коробки, хотя мне это не сильно важно, так как я использую проводное подключение через Ethernet, но я пытаюсь подключить контроллер XBox Elite через Bluetooth, и первый шаг для этого — наличие работающего Bluetooth-соединения.
В dmesg, похоже, есть ошибка относительно BT:
$ sudo dmesg | grep Bluetooth
[ 13.033377] Bluetooth: Core ver 2.22
[ 13.033393] Bluetooth: HCI device and connection manager initialized
[ 13.033395] Bluetooth: HCI socket layer initialized
[ 13.033396] Bluetooth: L2CAP socket layer initialized
[ 13.033399] Bluetooth: SCO socket layer initialized
[ 13.100488] Bluetooth: hci0: Opcode 0x0c03 failed: -16
[ 13.179806] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 13.179809] Bluetooth: BNEP filters: protocol multicast
[ 13.179811] Bluetooth: BNEP socket layer initialized
Я пытался использовать bluetoothctl для включения, но он говорит, что не может найти адаптер по умолчанию:
$ bluetoothctl
Agent registered
[bluetooth]# power on
No default controller available
[bluetooth]# exit
Насколько мне удалось найти с помощью Google, этот чип не такой уж новый, и в моём ядре должны быть драйверы для него. lsusb не показывает никакого оборудования MediaTek, а hcitool dev также ничего не возвращает:
$ hcitool dev
Devices:
Вот hciconfig -a
$ hciconfig -a
hci0: Type: Primary Bus: USB
BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
DOWN
RX bytes:6 acl:0 sco:0 events:1 errors:0
TX bytes:0 acl:0 sco:0 commands:1 errors:1
Features: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
Packet type: DM1 DH1 HV1
Link policy:
Link mode: PERIPHERAL ACCEPT
К сожалению, я недостаточно опытен, чтобы знать, что ещё делать с этого момента, любая помощь будет очень кстати!
Ответ или решение
По вашему вопросу о проблеме с тем, что Bluetooth-аппаратное обеспечение MediaTek MT7925 не определяется в операционной системе Pop!_OS версии 22.04 LTS с ядром 6.9.3-76060903, обращаю ваше внимание на несколько аспектов, которые помогут в диагностике и решении проблемы.
Фон
Вы используете материнскую плату Gigabyte X870 Eagle WIFI7, на которой интегрирован чип Wifi/BT MediaTek MT7925. Судя по вашему описанию, проблема с Bluetooth-соединением возникает исключительно в среде Linux, в то время как в Windows 11 все работает корректно. Это указывает на то, что аппаратное обеспечение, скорее всего, исправно, а проблема может быть связана с драйверами или конфигурацией.
Анализ текущего состояния
Обратим внимание на сообщения системы, полученные из dmesg
:
Bluetooth: hci0: Opcode 0x0c03 failed: -16
Тексты этих сообщений могут указывать на проблемы с инициализацией Bluetooth-адаптера. Ошибка -16 часто связана с ресурсами, которые испрашиваются, но не могут быть выделены.
Вы также упомянули, что команда bluetoothctl
выдает сообщение «No default controller available». Это говорит о том, что система не распознает Bluetooth-адаптер как доступный.
Шаги по устранению неполадок
-
Проверка наличия поддержки драйвера:
Убедитесь, что у вас установлены необходимые пакеты для поддержки Bluetooth. Из командной строки выполните следующую команду:sudo apt install bluez bluetooth
Это установит менеджер Bluetooth и драйверы, если они ещё не установлены.
-
Проверка загрузки модуля ядра:
Убедитесь, что модуль ядра для Bluetooth загружен. Выполните:lsmod | grep bluetooth
Если модуль не загружен, попробуйте вручную его загрузить:
sudo modprobe btusb
-
Перезагрузка службы Bluetooth:
После того, как вы убедились в установленном драйвере, рекомендуется перезагрузить службу Bluetooth:sudo systemctl restart bluetooth
-
Проверка конфигурации BIOS:
В настройках BIOS убедитесь, что Bluetooth-адаптер включен. В некоторых случаях интегрированные устройства могут быть отключены на уровне BIOS. -
Установка дополнительного пакета:
Иногда для работы оборудования требуется специфический пакет или загружаемый модуль. Убедитесь, что у вас есть актуальная версия ядра. Если у вас есть возможность, обновите ядро с помощью:sudo apt update sudo apt upgrade
-
Логи и отладка:
Если вышеуказанные действия не решают вашу проблему, обратите внимание на более детальные логи:journalctl -xe | grep bluetooth
Это поможет вам определить дополнительные сообщения об ошибках, которые могут дать подсказки о том, что именно идет не так.
Заключение
После выполнения вышеприведенных шагов вам стоит еще раз протестировать ваш Bluetooth-адаптер, используя bluetoothctl
. Если проблема сохраняется, возможно, потребуется обратиться к сообществу Pop!_OS или изучить специализированные форумы по проблемам совместимости с конкретным оборудованием MediaTek на Linux.
Не забывайте поддерживать свою систему в актуальном состоянии и регулярно проверять обновления, так как новые версии ядра и драйверов могут решать давно существующие проблемы с совместимостью.