Что вызывает отключение моего устройства Intel 7260 bluetooth, когда я разблокирую его с помощью rfkill?
РЕШЕНИЕ. Проблема заключается в том, что модуль Bluetooth плохо работает с xHCI в Linux. Существует настройка BIOS с надписью "XHCI PRE-BOOT MODE", которая должна быть установлена на "Disabled". Если это не так, то Linux будет обрабатывать модуль Bluetooth так, как если бы он был подключен к шине xHCI вместо шины EHCI, вызывая ошибки связи. ОДНАКО, ЭТО ИСПРАВЛЕНИЕ ОТКЛЮЧИТ USB 3.0 НА ВАШЕЙ СИСТЕМЕ. У меня нет лучшего решения на данный момент, но по крайней мере это работает.
У меня новый ноутбук ASUS UX301LA, и я использую Ubuntu Gnome 13.10 (Saucy). Ядро, кажется, знает об устройстве Bluetooth ноутбука при загрузке, но оно исчезает всякий раз, когда я использую rfkill для разблокировки Bluetooth. Например:
$ sudo rfkill block bluetooth
$ dmesg | tail -5
[ 2024.876537] usb 2-4: new full-speed USB device number 8 using xhci_hcd
[ 2024.894043] usb 2-4: New USB device found, idVendor=8087, idProduct=07dc
[ 2024.894053] usb 2-4: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 2024.908190] Bluetooth: hci0: read Intel version: 370710018002030d00
[ 2024.908271] Bluetooth: hci0: Intel Bluetooth firmware file: intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq
[ 2025.057051] Bluetooth: hci0: Intel Bluetooth firmware patch completed and activated
$ sudo rfkill list
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
1: asus-wlan: Wireless LAN
Soft blocked: no
Hard blocked: no
2: asus-bluetooth: Bluetooth
Soft blocked: yes
Hard blocked: no
3: hci0: Bluetooth
Soft blocked: yes
Hard blocked: no
$ sudo hciconfig -a
hci0: Type: BR/EDR Bus: USB
BD Address: XX:XX:XX:XX:XX:XX ACL MTU: 1021:5 SCO MTU: 96:5
DOWN
RX bytes:568 acl:0 sco:0 events:29 errors:0
TX bytes:390 acl:0 sco:0 commands:29 errors:0
Features: 0xff 0xfe 0x0f 0xfe 0xdb 0xff 0x7b 0x87
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH HOLD SNIFF
Link mode: SLAVE ACCEPT
$ sudo rfkill unblock bluetooth
$ dmesg | tail -1
[ 2391.749122] usb 2-4: USB disconnect, device number 8
$ sudo rfkill list
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
1: asus-wlan: Wireless LAN
Soft blocked: no
Hard blocked: no
2: asus-bluetooth: Bluetooth
Soft blocked: no
Hard blocked: no
$ sudo hciconfig -a
[no output]
РЕДАКТИРОВАТЬ: Bluetooth-устройство отображается как беспроводное USB-устройство Intel 7260, ID 8087:07dc. Единственная найденная мною информация - это ошибка, для которой было выпущено исправление, упомянутое на Launchpad здесь: Поддержка Intel 7260 bluetooth [8087:07dc]
РЕДАКТИРОВАТЬ: я обновил прошивку до новой версии 22.1.7.0 с веб-сайта Intel (Saucy поставляется с 22.0.7.0), и возникает та же проблема.
РЕДАКТИРОВАТЬ: дальнейшее копание в журналах показывает, что Bluetooth-устройство USB полностью отключено, когда я запускаю команду разблокировки:
$ lsusb -d 8087:07dc
Bus 001 Device 007: ID 8087:07dc Intel Corp.
$ rfkill unblock bluetooth
$ lsusb -d 8087:07dc
[no output]
$ dmesg | tail -1
[ 438.284647] usb 1-4: USB disconnect, device number 7
РЕДАКТИРОВАТЬ: Обновление драйвера iwlwifi в (более новый) бэкпорт из ядра 3.13 не помогает. Текущая версия драйвера:
$ modinfo iwlwifi
filename: /lib/modules/3.11.0-15-generic/updates/drivers/net/wireless/iwlwifi/iwlwifi.ko
version: backported from Linux (v3.13-rc8-0-g7e22e91) using backports v3.13-rc8-1-0-gae71bd3
license: GPL
author: Copyright(c) 2003-2013 Intel Corporation <ilw@linux.intel.com>
version: in-tree:d
description: Intel(R) Wireless WiFi driver for Linux
firmware: iwlwifi-100-5.ucode
firmware: iwlwifi-1000-5.ucode
firmware: iwlwifi-135-6.ucode
firmware: iwlwifi-105-6.ucode
firmware: iwlwifi-2030-6.ucode
firmware: iwlwifi-2000-6.ucode
firmware: iwlwifi-5150-2.ucode
firmware: iwlwifi-5000-5.ucode
firmware: iwlwifi-6000g2b-6.ucode
firmware: iwlwifi-6000g2a-5.ucode
firmware: iwlwifi-6050-5.ucode
firmware: iwlwifi-6000-4.ucode
firmware: iwlwifi-3160-7.ucode
firmware: iwlwifi-7260-7.ucode
srcversion: F6C7F0E202757B474065F3B
alias: pci:v00008086d0000095Asv*sd00005490bc*sc*i*
[... trimmed several "alias" lines ...]
alias: pci:v00008086d00004232sv*sd00001201bc*sc*i*
depends: compat,cfg80211
vermagic: 3.11.0-15-generic SMP mod_unload modversions
parm: debug:debug output mask (uint)
parm: swcrypto:using crypto in software (default 0 [hardware]) (int)
parm: 11n_disable:disable 11n functionality, bitmap: 1: full, 2: agg TX, 4: agg RX (uint)
parm: amsdu_size_8K:enable 8K amsdu size (default 0) (int)
parm: fw_restart:restart firmware in case of error (default true) (bool)
parm: antenna_coupling:specify antenna coupling in dB (defualt: 0 dB) (int)
parm: wd_disable:Disable stuck queue watchdog timer 0=system default, 1=disable, 2=enable (default: 0) (int)
parm: nvm_file:NVM file name (charp)
parm: bt_coex_active:enable wifi/bt co-exist (default: enable) (bool)
parm: led_mode:0=system default, 1=On(RF On)/Off(RF Off), 2=blinking, 3=Off (default: 0) (int)
parm: power_save:enable WiFi power management (default: disable) (bool)
parm: power_level:default power save level (range from 1 - 5, default: 1) (int)
РЕДАКТИРОВАТЬ: как Бернхард предложил в ответах, я попытался заставить адаптер с помощью команды echo "on" > /sys/class/bluetooth/hci0/device/../power/control
, В то время как Bluetooth был заблокирован через rfkill, это, похоже, не имеет никакого эффекта, и hciconfig hci0 up
ответил, что устройство все еще заблокировано. Когда Bluetooth был разблокирован с помощью rfkill, /sys/class/bluetooth/hci0
не существует, поэтому попытка включить его вручную не удалась. Я попытался добавить это к /etc/rc.local
также, и не было никакой очевидной разницы по сравнению с простым запуском команд от имени пользователя root на консоли.
РЕДАКТИРОВАТЬ: Я написал разработчикам Wi-Fi Intel, и они выпустили этот невероятно полезный ответ:
Hello,
I am afraid you are asking the wrong people. We are WiFi people and not Bluetooth.
Thanks,
(name removed)
Я попытаюсь взломать драйверы Bluetooth самостоятельно, чтобы посмотреть, смогу ли я получить от них дополнительную информацию для отладки.
Кто-нибудь есть какие-либо предложения, чтобы помочь мне? Кто-нибудь испытывал это раньше? Есть ли пользователи Ubuntu, у которых есть ASUS UX301LA, у которых могут быть какие-либо советы?
Дайте мне знать, какая другая информация может быть полезна, и я опубликую ее. Я просто не хотел перегружать этот первый пост бесполезными данными.
4 ответа
У меня также есть UX301LA, и я сейчас работаю 14.10. Я страдал от той же проблемы, но обнаружил обходной путь, который не идеален, но работает на данный момент.
По сути, кажется, что модуль asus-nb-wmi не полностью совместим с этим оборудованием. Хотя реальная проблема, по-видимому, существует гораздо глубже, блокировка этого модуля предотвращает создание новых записей rfkill, соответствующих WiFi и Bluetooth, а затем состояние по умолчанию после загрузки - при работе как WiFi, так и Bluetooth (даже с использованием USB 3.0). Переключатель F2 остается включенным, когда Bluetooth исчезает, но при выключении (по умолчанию после загрузки) он не отключает Wi-Fi, пока отображается устройство Bluetooth. Недостатком является то, что клавиши Fx перестают работать, когда модуль заблокирован, поскольку они также поддерживаются этим модулем. Чтобы достичь этого эффекта, просто добавьте blacklist asus-nb-wmi
в /etc/modprobe.d/blacklist.conf
Лучшим решением было бы сообщить об ошибке в восходящем потоке или на данный момент изменить источник модуля, чтобы отключить обработку Wi-Fi/ Bluetooth, в то же время обрабатывая другие клавиши Fx.
Та же проблема возникает с моим Lenovo T440s. У меня нет решения на данный момент, но похоже, что на нас повлияла ошибка ядра (обсуждение этого можно найти здесь).
Добавление
echo "on" > /sys/class/bluetooth/hci0/device/../power/control
в /etc/rc.local, кажется, немного помогает, но соединение с моей Bluetooth-мышью все еще нестабильно.
Взгляните на: /usr/share/gnome-bluetooth/pin-code-database.xml
Существует ли ваша мышь (выполните поиск с помощью OUI, который является "Уникальным идентификатором OEM", который является первыми 3 октетами MAC-адреса мыши. Например, если MAC-адрес вашей мыши - AA:BB:CC:DD:EE:FF, тогда OUI - это "AA:BB:CC")?
Если он уже существует, убедитесь, что он выглядит примерно так:
(обратите внимание на двоеточие: "AA: BB: CC *:*" - не пропускайте его).
Если он еще не существует, добавьте его.
Кроме того, не уверен, если это связано, но есть хорошо известная проблема с Intel 7260 WiFi (частые спорадические разъединения). Чтобы обойти проблему WiFi, я обнаружил, что единственное, что работает, это отключение 802.11n:
- Откройте терминал.
- sudo vi /etc/modprobe.d/wifi-disable11n.conf
- Добавьте эту строку: options iwlwifi 11n_disable=1
- Сохраните и перезапустите.
Я просто беру вкладку в темноте, но это будет стоить выстрел (ИМХО).
Я решил свои проблемы, установив новую прошивку с http://ftp.de.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-iwlwifi_0.40_all.deb
Использование acer s7 392, intel wireless 7260 rev6b, kubuntu 13.10, ядро 3.11.0-15-generic