Исправление таймаута прошивки Bluetooth на Intel AX200 в Linux
Полное руководство по решению проблемы команды 0xfc05 timeout для Intel AX200 Bluetooth на Linux 6.12+. Проверено на ALT Linux Gnome, Ubuntu, Debian и Fedora. Актуально на апрель 2026 года.
Описание проблемы
После обновления ядра или свежей установки Linux на компьютере с адаптером Intel AX200 Bluetooth перестает работать. В логах ядра видны ошибки:
Bluetooth: hci0: command 0xfc05 tx timeout
Bluetooth: hci0: Reading Intel version command failed (-110)Интерфейс HCI остается в состоянии DOWN с адресом `00:00:00:00:00:00`, хотя модули загружены и прошивки установлены.
Почему это происходит?
Начиная с ядра 6.12.x, изменилась логика инициализации Intel Bluetooth адаптеров. Стандартные параметры модуля `btusb`, которые работали на 6.11 и ниже, больше не совместимы с новыми версиями. Требуются специальные флаги для предотвращения таймаутов при загрузке прошивки.
Решение очень простое — нужно изменить параметры модуля в файле конфигурации.
Быстрое решение (30 секунд)
Если вы спешите, выполните эти две команды:
sudo tee /etc/modprobe.d/btusb.conf << 'EOF'
options btusb disable_scofix=Y
options btusb reset=Y
options btusb max_isoc_frames=4
EOF
sudo rebootПосле перезагрузки откройте Параметры → Bluetooth и включите выключатель.
Если это не помогло: Прочитайте раздел «Полное решение» ниже.
Полное решение (пошаговое руководство)
Шаг 1: Диагностика
Сначала убедимся, что проблема именно в этом:
# Проверить наличие адаптера
lsusb | grep -i intel
# Проверить статус HCI
hciconfig -a
# Проверить логи ядра на таймауты
dmesg | grep -i "bluetooth\|btusb" | grep -E "timeout|failed"Если видите `0xfc05 tx timeout` — это подтверждает нашу проблему.
Шаг 2: Остановка Bluetooth
sudo service bluetooth stop
sudo killall -9 bluetoothd 2>/dev/null || true
sudo modprobe -r btusb 2>/dev/null || true
sudo modprobe -r bluetooth 2>/dev/null || true
sleep 2Шаг 3: Создание конфигурации
Это ключевой шаг. Создаем файл с параметрами для модуля `btusb`:
sudo tee /etc/modprobe.d/btusb.conf << 'EOF'
# Intel AX200 Bluetooth Fix для Linux 6.12+
options btusb disable_scofix=Y
options btusb reset=Y
options btusb max_isoc_frames=4
EOF
sudo tee /etc/modprobe.d/bluetooth.conf << 'EOF'
# Общие параметры для стабильной работы Bluetooth
options bluetooth disable_esco=Y
options bluetooth enable_hs=Y
EOFШаг 4: Загрузка модулей заново
sudo modprobe bluetooth
sleep 1
sudo modprobe btusb
sleep 2Шаг 5: Запуск Bluetooth сервиса
sudo service bluetooth startШаг 6: Проверка результата
hciconfig -aДолжны увидеть:
hci0: Type: Primary Bus: USB
BD Address: XX:XX:XX:XX:XX:XX ACL MTU: 1021:6 SCO MTU: 64:1
UP RUNNING
RX bytes:... acl:0 sco:0 events:... errors:0
TX bytes:... acl:0 sco:0 commands:... errors:0Ключевые признаки успеха:
- BD Address содержит реальный адрес (не 00:00:00:00:00:00)
- Статус UP RUNNING (а не DOWN)
- RX/TX bytes содержат числа больше нуля
- Нет ошибок в логах
Шаг 7: Перезагрузка (рекомендуется)
sudo rebootПосле перезагрузки откройте Параметры → Bluetooth и включите Bluetooth.
Автоматическое решение
Если вы предпочитаете автоматизацию, используйте этот скрипт:
#!/bin/bash
sudo service bluetooth stop
sudo killall -9 bluetoothd 2>/dev/null || true
sudo modprobe -r btusb 2>/dev/null || true
sudo modprobe -r bluetooth 2>/dev/null || true
sleep 2
sudo tee /etc/modprobe.d/btusb.conf << 'EOF'
options btusb disable_scofix=Y
options btusb reset=Y
options btusb max_isoc_frames=4
EOF
sudo tee /etc/modprobe.d/bluetooth.conf << 'EOF'
options bluetooth disable_esco=Y
options bluetooth enable_hs=Y
EOF
sudo modprobe bluetooth
sleep 1
sudo modprobe btusb
sleep 2
sudo service bluetooth start
echo "✅ Bluetooth восстановлен!"
hciconfig -aСохраните как `bluetooth_fix.sh` и запустите:
chmod +x bluetooth_fix.sh
sudo bash bluetooth_fix.shОбъяснение параметров
| Параметр | Значение | Что делает |
| disable_scofix=Y | Y/N | Отключает старый способ обработки SCO пакетов. Нужен для совместимости с новыми ядрами |
| reset=Y | Y/N | Заставляет адаптер перезагружаться при инициализации. Помогает избежать таймаутов |
| max_isoc_frames=4 | 1-N | Ограничивает размер изохронных фреймов. Предотвращает перегруз при передаче данных |
| disable_esco=Y | Y/N | Отключает eSCO (улучшенный SCO). Повышает совместимость со старыми устройствами |
| enable_hs=Y | Y/N | Включает высокоскоростной режим. Улучшает пропускную способность |
Проблемы и решения
Проблема: «command 0xfc05 tx timeout» в логах остается
Возможные причины: Конфиги не применились, прошивки повреждены или проблема на уровне BIOS/UEFI.
Решение:
# 1. Убедитесь, что конфиги созданы
cat /etc/modprobe.d/btusb.conf
# 2. Проверьте, что прошивки целы
ls -lh /lib/firmware/intel/ibt-20-1-3.sfi*
# 3. Если прошивки в .xz (сжатые) - распакуйте
sudo xz -d /lib/firmware/intel/ibt-20-1-3.sfi.xz 2>/dev/null || true
# 4. Переустановите пакеты
sudo apt-get install --reinstall bluez bluez-utils linux-firmware
# 5. Перезагрузитесь
sudo rebootПроблема: HCI интерфейс не обнаруживается
Решение:
# Проверить, видит ли система устройство
lsusb | grep 8087
# Если видит (Bus 001 Device 003: ID 8087:0029) - проблема в инициализации
# Выполнить все шаги выше
# Если НЕ видит - проблема в BIOS
# Перезагрузитесь в BIOS (обычно F2 или Del при загрузке)
# Найдите "Integrated Peripherals" или "Onboard Devices"
# Убедитесь, что Bluetooth включенПроблема: Bluetooth часто отключается
Решение:
# Проверить параметры текущей загрузки
cat /sys/module/btusb/parameters/disable_scofix
# Если нужно увеличить стабильность - измените:
sudo tee /etc/modprobe.d/btusb.conf << 'EOF'
options btusb disable_scofix=Y
options btusb reset=Y
options btusb max_isoc_frames=8
EOF
sudo rebootПроверка успешности
echo "=== ДИАГНОСТИКА BLUETOOTH ===" && \
echo "HCI статус:" && \
hciconfig -a && \
echo "" && \
echo "RFKILL статус:" && \
rfkill list bluetooth && \
echo "" && \
echo "Последние логи:" && \
dmesg | grep -i bluetooth | tail -5Успех, если видите:
- `hci0: Type: Primary Bus: USB ... UP RUNNING`
- `rfkill list bluetooth` показывает `Unblocked`
- Последние логи без ошибок о таймаутах
Совместимость
Это решение проверено и работает на:
- Ubuntu 22.04, 24.04+ (Linux 6.2 — 6.12+)
- ALT Linux Gnome, Workstation, Workstation+
- Debian 12+ (Linux 6.1+)
- Fedora 38+ (Linux 6.2+)
- openSUSE Tumbleweed (Linux 6.12+)
Также может помочь с другими адаптерами Intel (AX210, AX211) и может решить похожие проблемы с другими Intel чипами.
Для продвинутых пользователей
Мониторинг Bluetooth в реальном времени
# Следить за логами демона
journalctl -u bluetooth -f
# В другом терминале - следить за HCI статусом
watch -n 1 hciconfig
# Третий терминал - логи ядра
sudo dmesg -w | grep -i bluetoothОтладка конкретного устройства
# Сканировать доступные устройства
hcitool scan
# Получить информацию об устройстве
hcitool info [MAC_ADDRESS]
# Установить питание
hcitool cmd 0x03 0x0005 0x01
# Проверить соединения
hcitool conБлагодарности и источники
Решение основано на:
- Linux kernel Bluetooth subsystem documentation
- Intel Wireless-Linux GitHub issues
- Опыт сообщества Linux пользователей
- Личное тестирование на ALT Linux и Ubuntu
Лицензия
Эта статья распространяется под лицензией Creative Commons Attribution 4.0 International (CC BY 4.0)
Вы свободны:
- Делиться этой информацией
- Адаптировать под свои нужды
- Использовать в коммерческих целях
При условии: Указание авторства
Версии документа
| Версия | Дата | Изменения |
| 2.0 | Апрель 2026 | Обновлено для ядра 6.12.74, добавлены скрипты, расширена диагностика |
| 1.5 | Октябрь 2024 | Первоначальное исправление для ядра 6.1-6.11 |
| 1.0 | 2023 | Исходное решение |
Последнее обновление: 2 апреля 2026 | Статус: Проверено и работает