View previous topic :: View next topic |
Author |
Message |
tbart Apprentice
Joined: 31 Oct 2004 Posts: 151
|
Posted: Sat Feb 17, 2018 12:20 am Post subject: [solved] Intel Bluetooth 8087:0a2b (Intel 8265) disappearing |
|
|
Hi there!
I have a strange problem:
This is a Thinkpad T470s (though I found at least the T460s to have the same wifi/bluetooth device, probably a lot more notebooks have it, Lenovo Y520, Dell Precision 5520m, etc..).
I am unable to get bluetooth working. The device shortly appears after either unblocking with rfkill or using the keyboard shortcut with the bluetooth sign.
This is kernel 4.15.1-gentoo.
The wifi device (don't know whether this is relevant):
Code: |
3a:00.0 Network controller: Intel Corporation Wireless 8265 / 8275 (rev 78)
Subsystem: Intel Corporation Dual Band Wireless-AC 8265
Flags: bus master, fast devsel, latency 0, IRQ 130
Memory at dc100000 (64-bit, non-prefetchable) [size=8K]
Capabilities: [c8] Power Management version 3
Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [40] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Device Serial Number 00-e1-8c-ff-ff-9f-97-82
Capabilities: [14c] Latency Tolerance Reporting
Capabilities: [154] L1 PM Substates
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi
|
The USB device that appears shortly:
Code: |
Bus 001 Device 031: ID 8087:0a2b Intel Corp.
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 224 Wireless
bDeviceSubClass 1 Radio Frequency
bDeviceProtocol 1 Bluetooth
bMaxPacketSize0 64
idVendor 0x8087 Intel Corp.
idProduct 0x0a2b
bcdDevice 0.10
iManufacturer 0
iProduct 0
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 177
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 224 Wireless
bInterfaceSubClass 1 Radio Frequency
bInterfaceProtocol 1 Bluetooth
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 224 Wireless
bInterfaceSubClass 1 Radio Frequency
bInterfaceProtocol 1 Bluetooth
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0000 1x 0 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0000 1x 0 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 224 Wireless
bInterfaceSubClass 1 Radio Frequency
bInterfaceProtocol 1 Bluetooth
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0009 1x 9 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0009 1x 9 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 2
bNumEndpoints 2
bInterfaceClass 224 Wireless
bInterfaceSubClass 1 Radio Frequency
bInterfaceProtocol 1 Bluetooth
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0011 1x 17 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0011 1x 17 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 3
bNumEndpoints 2
bInterfaceClass 224 Wireless
bInterfaceSubClass 1 Radio Frequency
bInterfaceProtocol 1 Bluetooth
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0019 1x 25 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0019 1x 25 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 4
bNumEndpoints 2
bInterfaceClass 224 Wireless
bInterfaceSubClass 1 Radio Frequency
bInterfaceProtocol 1 Bluetooth
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0021 1x 33 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0021 1x 33 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 5
bNumEndpoints 2
bInterfaceClass 224 Wireless
bInterfaceSubClass 1 Radio Frequency
bInterfaceProtocol 1 Bluetooth
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0031 1x 49 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0031 1x 49 bytes
bInterval 1
|
rfkill before:
Code: | localhost ~ # rfkill list
0: tpacpi_bluetooth_sw: Bluetooth
Soft blocked: yes
Hard blocked: no
1: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
|
rfkill after using unblock all at least twice:
Code: | localhost ~ # rfkill unblock all && sleep 2 && rfkill list
0: tpacpi_bluetooth_sw: Bluetooth
Soft blocked: no
Hard blocked: no
1: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
22: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
|
(If just used once, hci0 and tpacpi_bluetooth_sw remain soft blocked)
That just looks about right, but after some time, I'm back at square one (tpacpi_bluetooth_sw softblocked, no hci0)
dmesg shows this:
Code: | [ 5101.168619] usb 1-7: new full-speed USB device number 28 using xhci_hcd
[ 5101.298550] Bluetooth: hci0: Bootloader revision 0.0 build 26 week 38 2015
[ 5101.298736] usb 1-7: USB disconnect, device number 28
[ 5103.311499] Bluetooth: hci0: command 0xfc0d tx timeout
[ 5111.695363] Bluetooth: hci0: Reading Intel boot parameters failed (-110)
|
sometimes (different command)
Code: |
[ 5081.406057] usb 1-7: new full-speed USB device number 25 using xhci_hcd
[ 5081.536519] usb 1-7: USB disconnect, device number 25
[ 5083.536002] Bluetooth: hci0: command 0xfc05 tx timeout
[ 5083.536019] Bluetooth: hci0: Reading Intel version information failed (-110)
|
and rarely
Code: |
[ 4159.923341] usb 1-7: new full-speed USB device number 20 using xhci_hcd
[ 4160.051498] Bluetooth: hci0: Bootloader revision 0.0 build 26 week 38 2015
[ 4160.052496] Bluetooth: hci0: Device revision is 16
[ 4160.052500] Bluetooth: hci0: Secure boot is enabled
[ 4160.052502] Bluetooth: hci0: OTP lock is enabled
[ 4160.052504] Bluetooth: hci0: API lock is enabled
[ 4160.052505] Bluetooth: hci0: Debug lock is disabled
[ 4160.052508] Bluetooth: hci0: Minimum firmware build 1 week 10 2014
[ 4160.056340] usb 1-7: USB disconnect, device number 20
[ 4160.058671] Bluetooth: hci0: Found device firmware: intel/ibt-12-16.sfi
[ 4160.058704] Bluetooth: hci0: sending frame failed (-19)
[ 4162.094297] Bluetooth: hci0: command 0xfc09 tx timeout
[ 4170.157898] Bluetooth: hci0: Failed to send firmware header (-110)
|
That seems legit, sending firmware to a device that disappears is somewhat.. problematic to say the least!
These errors just seem to be variations of race conditions depending on when the device disappears.
Other people seem to be able to get it working:
https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_T460s (no mention whatsoever, but marked as working)
https://ubuntuforums.org/showthread.php?t=2354736&p=13618690#post13618690 (Missing firmware was the problem, that's not the case here, obviously)
I am pretty clueless. Could this be some power saving issue? Where should I try to change things?
The kernel says USB disconnect, this really looks low-level, so I don't think anything more than kernel or firmware should be relevant..
Which parts of the kernel config could be of interest?
Code: | localhost ~ # grep CONFIG_BT /usr/src/linux/.config
CONFIG_BT=m
CONFIG_BT_BREDR=y
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
# CONFIG_BT_BNEP is not set
CONFIG_BT_HIDP=m
CONFIG_BT_HS=y
CONFIG_BT_LE=y
# CONFIG_BT_LEDS is not set
# CONFIG_BT_SELFTEST is not set
CONFIG_BT_DEBUGFS=y
CONFIG_BT_INTEL=m
CONFIG_BT_HCIBTUSB=m
# CONFIG_BT_HCIBTUSB_BCM is not set
# CONFIG_BT_HCIBTUSB_RTL is not set
# CONFIG_BT_HCIBTSDIO is not set
# CONFIG_BT_HCIUART is not set
# CONFIG_BT_HCIBCM203X is not set
# CONFIG_BT_HCIBFUSB is not set
# CONFIG_BT_HCIDTL1 is not set
# CONFIG_BT_HCIBT3C is not set
# CONFIG_BT_HCIBLUECARD is not set
# CONFIG_BT_HCIBTUART is not set
# CONFIG_BT_HCIVHCI is not set
# CONFIG_BT_MRVL is not set
# CONFIG_BT_ATH3K is not set
# CONFIG_BTRFS_FS is not set |
lsmod:
Code: | localhost ~ # lsmod | egrep "(bt.*|blue.*|iwl.*|Used)"
Module Size Used by
btusb 40960 0
btintel 16384 1 btusb
bluetooth 405504 2 btintel,btusb
ecdh_generic 24576 1 bluetooth
iwlmvm 266240 0
mac80211 430080 1 iwlmvm
iwlwifi 176128 1 iwlmvm
cfg80211 319488 3 iwlmvm,iwlwifi,mac80211
rfkill 24576 5 bluetooth,thinkpad_acpi,cfg80211
|
I'll see whether it works in the preinstalled spyware with a GUI.
Last edited by tbart on Sun Feb 18, 2018 2:54 pm; edited 1 time in total |
|
Back to top |
|
|
roarinelk Guru
Joined: 04 Mar 2004 Posts: 520
|
Posted: Sun Feb 18, 2018 1:54 pm Post subject: |
|
|
try with the kernel bt stack completely builtin instead of modular. I do have a system with this bt+wifi device, and it works quite flawlessly this way. You probably also need to add the 2 firmware files to the in-kernel firmware list as well (intel/ibt-12-16.sfi and intel/ibt-12-16.ddc ). |
|
Back to top |
|
|
tbart Apprentice
Joined: 31 Oct 2004 Posts: 151
|
Posted: Sun Feb 18, 2018 2:53 pm Post subject: |
|
|
Thanks, but that did not help either.
It works with sysresccd on kernel 4.9.60.
I went through all the hoops to get to the same kernel version (as it is not in portage anymore) and still it wouldn't work.
So I went back to searching in user space.
And guess what, it is no kernel problem. I have an enlightenment desktop with (e)connman which works perfectly (for wired/wifi). However, it also takes control of bluetooth, and it's disabled by default. So whenever connman sees a new bluetooth device it disables it at once. No mention whatsoever in the logs, this is kinda mean.
So, to solve this, either enable bluetooth in econnman (the GUI), do it on the CLI:
Code: | localhost ~ # connmanctl
connmanctl> enable bluetooth
Enabled bluetooth |
or disable connman's bluetooth handling altogether:
Code: | localhost ~ # grep OPTS /etc/conf.d/connman
CONNMAN_OPTS="-P bluetooth" |
and restart connman
Code: | localhost ~ # /etc/init.d/connman restart |
Strangely though, it works with connman in the disabled/default config and the thinkpad_acpi module not loaded (or not loaded before the firmware download has finished! But then only once, till the first disabling event; enabling again does not work anymore). It seems connman somehow needs the ACPI control, though an rfkill interface is available before as well..
Now the hotkey also works as intended.
Thanks everyone for watching/helping! |
|
Back to top |
|
|
cgw n00b
Joined: 04 Oct 2012 Posts: 3
|
Posted: Tue Nov 21, 2023 6:12 pm Post subject: 5 years later... |
|
|
5 years later (!) I just ran into the same problem. After finding dozens of forum posts suggesting rmmod/modprobe, power cycling, etc I finally found the one that has the right answer! Connman was to blame. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|