我使用的是戴尔 Latitude E7270,BIOS 是最新的(2017 年 9 月),运行的是 ubuntu 16.04.1。我首先将原版 16.04.1 内核升级到主线 4.11.7-041107-generic,没有出现问题,然后我升级到内核 4.12.10-041210-generic,结果 Wifi 和蓝牙都停止工作了。所以我安装了最新的固件(不知道更新之前到底是什么)。
sudo dpkg -i linux-firmware_1.167_all.deb
(Lecture de la base de données... 1877982 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de linux-firmware_1.167_all.deb ...
Dépaquetage de linux-firmware (1.167) sur (1.167) ...
Paramétrage de linux-firmware (1.167) ...
update-initramfs: Generating /boot/initrd.img-4.12.10-041210-generic
update-initramfs: Generating /boot/initrd.img-4.11.7-041107-generic
update-initramfs: Generating /boot/initrd.img-4.4.0-93-generic
从http://mirrors.kernel.org/ubuntu/pool/main/l/linux-firmware/。
重启后,Wifi 开始恢复工作,但蓝牙仍然处于关闭状态:
uname -a; lspci -nnk | grep -iA2 net; lsusb; dmesg | grep -i bluetooth; dmesg | grep -i firmware; lsmod | grep bluetooth
Linux mypc 4.12.10-041210-generic #201708300614 SMP Wed Aug 30 10:16:40 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection I219-LM [8086:156f] (rev 21)
Subsystem: Dell Ethernet Connection I219-LM [1028:06db]
Kernel driver in use: e1000e
Kernel modules: e1000e
01:00.0 Network controller [0280]: Intel Corporation Wireless 8260 [8086:24f3] (rev 3a)
Subsystem: Intel Corporation Wireless 8260 [8086:0050]
Kernel driver in use: iwlwifi
Bus 002 Device 002: ID 0bc2:61b6 Seagate RSS LLC
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 8087:0a2b Intel Corp.
Bus 001 Device 003: ID 0a5c:5805 Broadcom Corp.
Bus 001 Device 002: ID 0bda:5686 Realtek Semiconductor Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
[ 3.753864] Bluetooth: Core ver 2.22
[ 3.753874] Bluetooth: HCI device and connection manager initialized
[ 3.753876] Bluetooth: HCI socket layer initialized
[ 3.753878] Bluetooth: L2CAP socket layer initialized
[ 3.753881] Bluetooth: SCO socket layer initialized
[ 3.761490] Bluetooth: HCI UART driver ver 2.3
[ 3.761491] Bluetooth: HCI UART protocol H4 registered
[ 3.761491] Bluetooth: HCI UART protocol BCSP registered
[ 3.761500] Bluetooth: HCI UART protocol LL registered
[ 3.761501] Bluetooth: HCI UART protocol ATH3K registered
[ 3.761501] Bluetooth: HCI UART protocol Three-wire (H5) registered
[ 3.761522] Bluetooth: HCI UART protocol Intel registered
[ 3.761533] Bluetooth: HCI UART protocol Broadcom registered
[ 3.761534] Bluetooth: HCI UART protocol QCA registered
[ 3.761534] Bluetooth: HCI UART protocol AG6XX registered
[ 3.761535] Bluetooth: HCI UART protocol Marvell registered
[ 4.684487] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 4.684489] Bluetooth: BNEP filters: protocol multicast
[ 4.684491] Bluetooth: BNEP socket layer initialized
[ 5.008318] Bluetooth: hci0: Bootloader revision 0.0 build 2 week 52 2014
[ 5.015600] Bluetooth: hci0: Device revision is 5
[ 5.015602] Bluetooth: hci0: Secure boot is enabled
[ 5.015602] Bluetooth: hci0: OTP lock is enabled
[ 5.015603] Bluetooth: hci0: API lock is enabled
[ 5.015604] Bluetooth: hci0: Debug lock is disabled
[ 5.015605] Bluetooth: hci0: Minimum firmware build 1 week 10 2014
[ 5.017591] Bluetooth: hci0: Found device firmware: intel/ibt-11-5.sfi
[ 5.168505] Bluetooth: hci0: Failed to send firmware data (-38)
[ 7.172835] Bluetooth: hci0 command 0xfc05 tx timeout
[ 7.172836] Bluetooth: hci0: Reading Intel version information failed (-110)
[ 0.342425] ACPI: [Firmware Bug]: BIOS _OSI(Linux) query ignored
[ 1.657608] [drm] Finished loading DMC firmware i915/skl_dmc_ver1_26.bin (v1.26)
[ 3.854841] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-8000C-30.ucode failed with error -2
[ 3.854929] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-8000C-29.ucode failed with error -2
[ 3.854941] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-8000C-28.ucode failed with error -2
[ 3.861080] iwlwifi 0000:01:00.0: loaded firmware version 27.455470.0 op_mode iwlmvm
[ 5.015605] Bluetooth: hci0: Minimum firmware build 1 week 10 2014
[ 5.017591] Bluetooth: hci0: Found device firmware: intel/ibt-11-5.sfi
[ 5.168505] Bluetooth: hci0: Failed to send firmware data (-38)
bluetooth 540672 14 btrtl,hci_uart,btintel,btqca,bnep,btbcm,btusb
ecdh_generic 24576 1 bluetooth
因此看起来 intel/ibt-11-5.sfi 是罪魁祸首,但我找不到任何较新的英特尔蓝牙固件。
任何想法 ?
编辑:
干净启动后,在终端运行此命令可修复蓝牙:
sudo modprobe -r btusb
sudo modprobe btusb
这将附加到 dmesg:
[ 527.599582] usbcore: deregistering interface driver btusb
[ 542.659674] usbcore: registered new interface driver btusb
[ 542.660139] Bluetooth: hci0: Bootloader revision 0.0 build 2 week 52 2014
[ 542.665299] Bluetooth: hci0: Device revision is 5
[ 542.665300] Bluetooth: hci0: Secure boot is enabled
[ 542.665301] Bluetooth: hci0: OTP lock is enabled
[ 542.665301] Bluetooth: hci0: API lock is enabled
[ 542.665302] Bluetooth: hci0: Debug lock is disabled
[ 542.665303] Bluetooth: hci0: Minimum firmware build 1 week 10 2014
[ 542.665455] Bluetooth: hci0: Found device firmware: intel/ibt-11-5.sfi
[ 544.470541] Bluetooth: hci0: Waiting for firmware download to complete
[ 544.471154] Bluetooth: hci0: Firmware loaded in 1769079 usecs
[ 544.471255] Bluetooth: hci0: Waiting for device to boot
[ 544.482452] Bluetooth: hci0: Device booted in 10961 usecs
[ 544.482545] Bluetooth: hci0: Found Intel DDC parameters: intel/ibt-11-5.ddc
[ 544.486308] Bluetooth: hci0: Applying Intel DDC parameters completed
[ 544.548301] Bluetooth: RFCOMM TTY layer initialized
[ 544.548312] Bluetooth: RFCOMM socket layer initialized
[ 544.548322] Bluetooth: RFCOMM ver 1.11
但是每次重启后我都需要手动 modprobe。有没有什么办法可以修复这个问题,让它在启动后立即运行?
答案1
添加...btusb
/etc/modules
gksudo gedit /etc/modules
这将导致btusb
在启动时加载。