Tumbleweed: No bluetooth after update

Hardware is a 27" iMac running latest Tumbleweed. All was working fine until running “zypper dup” yesterday, 2020-02-20. Now, neither of my Bluetooth adapters show up at all.

Running rfkill -list shows me only ONE of my two Bluetooth adapters, but it’s not reporting as blocked:

0: hci0: Bluetooth        
        Soft blocked: no
        Hard blocked: no
1: phy0: Wireless LAN
        Soft blocked: no
        Hard blocked: no

I’ve got a dual-band Intel wifi card in this system, and the internal Apple bluetooth has also been working. Been using both with zero problems for a while now. Wifi has no issues, so I know the
Intel dual-band card is at least halfway working. Parsing through the journal and DMESG yields:

journalctl -b | egrep -i 'blue|firm|intel'
Feb 21 07:37:30 HOSTNAME kernel: Spectre V2 : Enabling Restricted Speculation for firmware calls
Feb 21 07:37:30 HOSTNAME kernel: smpboot: CPU0: Intel(R) Core(TM) i7 CPU         860  @ 2.80GHz (family: 0x6, model: 0x1e, stepping: 0x5)
Feb 21 07:37:30 HOSTNAME kernel: Performance Events: PEBS fmt1+, Nehalem events, 16-deep LBR, Intel PMU driver.
Feb 21 07:37:30 HOSTNAME kernel: ACPI: [Firmware Bug]: BIOS _OSI(Linux) query ignored
Feb 21 07:37:30 HOSTNAME kernel: intel_idle: MWAIT substates: 0x1120
Feb 21 07:37:30 HOSTNAME kernel: intel_idle: v0.4.1 model 0x1E
Feb 21 07:37:30 HOSTNAME kernel: intel_idle: lapic_timer_reliable_states 0x2
Feb 21 07:37:30 HOSTNAME kernel: intel_pstate: CPU model not supported
Feb 21 07:37:31 HOSTNAME kernel: Btrfs loaded, crc32c=crc32c-intel, assert=on
Feb 21 07:37:32 HOSTNAME kernel: usb 1-1.1.1: Product: Bluetooth USB Host Controller
Feb 21 07:37:37 HOSTNAME kernel: intel ips 0000:00:1f.6: Non-IPS CPU detected.
Feb 21 07:37:37 HOSTNAME kernel: intel ips 0000:00:1f.6: IPS not supported on this CPU
Feb 21 07:37:37 HOSTNAME kernel: Intel(R) Wireless WiFi driver for Linux
Feb 21 07:37:37 HOSTNAME kernel: Copyright(c) 2003- 2015 Intel Corporation
Feb 21 07:37:37 HOSTNAME kernel: snd_hda_intel 0000:00:1b.0: enabling device (0000 -> 0002)
Feb 21 07:37:37 HOSTNAME kernel: snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002)
Feb 21 07:37:37 HOSTNAME kernel: iwlwifi 0000:03:00.0: loaded firmware version 17.3216344376.0 op_mode iwlmvm
Feb 21 07:37:37 HOSTNAME kernel: input: HDA Intel MID Line as /devices/pci0000:00/0000:00:1b.0/sound/card0/input9
Feb 21 07:37:37 HOSTNAME kernel: input: HDA Intel MID Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input10
Feb 21 07:37:37 HOSTNAME kernel: input: HDA Intel MID SPDIF In as /devices/pci0000:00/0000:00:1b.0/sound/card0/input11
Feb 21 07:37:37 HOSTNAME kernel: Bluetooth: Core ver 2.22
Feb 21 07:37:37 HOSTNAME kernel: Bluetooth: HCI device and connection manager initialized
Feb 21 07:37:37 HOSTNAME kernel: Bluetooth: HCI socket layer initialized
Feb 21 07:37:37 HOSTNAME kernel: Bluetooth: L2CAP socket layer initialized
Feb 21 07:37:37 HOSTNAME kernel: Bluetooth: SCO socket layer initialized
Feb 21 07:37:37 HOSTNAME kernel: iTCO_wdt: Intel TCO WatchDog Timer Driver v1.11
Feb 21 07:37:37 HOSTNAME kernel: iwlwifi 0000:03:00.0: Detected Intel(R) Dual Band Wireless AC 7260, REV=0x144
Feb 21 07:37:39 HOSTNAME systemd[1]: Starting Bluetooth service...
Feb 21 07:37:39 HOSTNAME bluetoothd[1307]: Bluetooth daemon 5.52
Feb 21 07:37:39 HOSTNAME bluetoothd[1307]: Starting SDP server
Feb 21 07:37:39 HOSTNAME NetworkManager[1310]: <info>  [1582292259.4953] manager[0x55c08e8580e0]: monitoring kernel firmware directory '/lib/firmware'.
Feb 21 07:37:39 HOSTNAME kernel: Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Feb 21 07:37:39 HOSTNAME kernel: Bluetooth: BNEP filters: protocol multicast
Feb 21 07:37:39 HOSTNAME kernel: Bluetooth: BNEP socket layer initialized
Feb 21 07:37:39 HOSTNAME bluetoothd[1307]: Bluetooth management interface 1.14 initialized
Feb 21 07:37:39 HOSTNAME systemd[1]: Started Bluetooth service.
Feb 21 07:37:39 HOSTNAME systemd[1]: Reached target Bluetooth.
Feb 21 07:37:39 HOSTNAME kernel: Bluetooth: hci0: command 0x0c03 tx timeout
Feb 21 07:37:39 HOSTNAME kernel: Bluetooth: hci0: unexpected event for opcode 0x57d6
Feb 21 07:37:40 HOSTNAME NetworkManager[1310]: <info>  [1582292260.2607] Loaded device plugin: NMBluezManager (/usr/lib64/NetworkManager/1.22.6/libnm-device-plugin-bluetooth.so)
Feb 21 07:37:46 HOSTNAME plasmashell[1832]: org.kde.plasma: invalid metadata "/usr/lib64/qt5/plugins/kio_bluetooth.so"
Feb 21 07:37:46 HOSTNAME kded5[1776]: bluedevil: Created
Feb 21 07:37:47 HOSTNAME kded5[1776]: bluedevil: ObexManager operational changed false
Feb 21 07:37:47 HOSTNAME dbus-daemon[1714]: [session uid=1000 pid=1714] Activating service name='org.bluez.obex' requested by ':1.6' (uid=1000 pid=1776 comm="kded5 ")
Feb 21 07:37:47 HOSTNAME kded5[1776]: bluedevil: Bluetooth operational changed true
Feb 21 07:37:47 HOSTNAME kded5[1776]: bluedevil: Agent registered
Feb 21 07:37:47 HOSTNAME kded5[1776]: bluedevil: Requested default Agent
Feb 21 07:37:47 HOSTNAME dbus-daemon[1714]: [session uid=1000 pid=1714] Successfully activated service 'org.bluez.obex'
Feb 21 07:37:47 HOSTNAME kded5[1776]: bluedevil: ObexManager operational changed true
Feb 21 07:37:47 HOSTNAME kded5[1776]: bluedevil: ObexAgent registered
Feb 21 07:37:48 HOSTNAME kernel: Bluetooth: hci0: BCM: Reset failed (-110)

Dmesg shows about the same things…of note is the last line, the “BCM: Reset failed”.

The Intel card is the Dual Band Wireless-AC 7260 2x2…wifi speed is excellent. The Apple bluetooth adapter is whatever came in this box. I’d be happy if EITHER was working again. Anyone have any clues? Last update apparently broke things.

Hi
I have a Dell system here running the same device, I think it may be firmware missing as I have similar output and bluetooth working on the GNOME Desktop;


Feb 21 08:23:11 waldorf kernel: iwlwifi 0000:01:00.0: Detected Intel(R) Dual Band Wireless AC 7260, REV=0x144
....
Feb 21 08:23:11 waldorf kernel: Bluetooth: hci0: read Intel version: 370710018002030d00
Feb 21 08:23:11 waldorf kernel: Bluetooth: hci0: Intel Bluetooth firmware file: intel/ibt-hw-37.7.10-fw-1.80.2.3.d.bseq
Feb 21 08:23:11 waldorf systemd[1]: Starting Bluetooth service...
Feb 21 08:23:12 waldorf kernel: Bluetooth: hci0: unexpected event for opcode 0xfc2f
Feb 21 08:23:12 waldorf kernel: Bluetooth: hci0: Intel firmware patch completed and activated
Feb 21 08:23:12 waldorf bluetoothd[1399]: Bluetooth daemon 5.52
Feb 21 08:23:12 waldorf systemd[1]: Started Bluetooth service.
Feb 21 08:23:12 waldorf systemd[1]: Reached target Bluetooth.
.....

I don’t see the firmware entry like the above in your output…

You’re right…I don’t either. I do have the exact hardware (looking at dmesg output):

   10.562703] iwlwifi 0000:03:00.0: Detected Intel(R) Dual Band Wireless AC 7260, REV=0x144

…but it is NOT loading that file. What package is providing that file, if I may ask?

I do have the kernel-firmware-intel package loaded, and it’s up to date (20200207), but I’m not seeing the “read Intel version” line either, which would
indicate to me something isn’t right. But even at that…the Apple bluetooth adapter isn’t working any longer either, and I’ve not monkeyed with the hardware in this box in a while, since getting into a 27" iMac is a pain.

If the card wasn’t connected properly, then I’d assume I’d have flaky wifi, since that’s my ONLY wifi connection, but things are stable. And as I said, all of this was working fine yesterday, before the “zypper dup” ran.

Hi
It’s part of kernel-firmware-bluetooth-20200207-1.1.noarch.rpm

That’s where I thought it would be, and I do have that file (and package) loaded. What did you run to get the output you posted first, where it shows

Feb 21 08:23:11 waldorf kernel: Bluetooth: hci0: read Intel version: 370710018002030d00

…that? I do not see that come up in dmesg or in the journalctl output. I’m assuming it’s either one of those two things, but don’t like to assume TOO much. :slight_smile:

Also, do you have the /etc/modprobe.d/50-iwl3945.conf file? Because I modified it to say:

[FONT=arial]options iwl3945 disable_hw_scan=0

…and rebooted, and magically my APPLE bluetooth adapter has returned. Don’t see the Intel adapter, though.

[/FONT]

Hi
I have hw scan disabled for that device…


cat  /etc/modprobe.d/50-iwl3945.conf

options iwl3945 disable_hw_scan=1

But that is nothing to do with the iwlwifi driver that’s for the legacy 3945ABG/BG device… now maybe a mkinitrd might help…

I had it disable too, and set it to 0, rebooted, and the Apple Bluetooth came back. Typically, though, I don’t have to run a mkinitrd after a dup…doesn’t zypper do that?? And the only reason I changed that file was because it was the ONLY one that referenced the iwlxxxx module. An lsmod shows that only iwlwifi is loaded, but I still don’t see the part you saw, about the “Intel read…”, nor the firmware file being loaded. And still only see one adapter.

Granted, I’m happy I see the one…but the slower built-in Apple is for my mouse/keyboard, while the faster one is for audio. Helpful to keep things from stuttering, and amazingly it does work well.

Hi
So one bluetooth (older apple?) device is working and one isn’t (intel?) by changing the non related setting? The mkinitrd command will run after a kernel or bootloader update…

So what do you see from the output of;


lsusb
/sbin/lspci

It would appear so, but it could also be coincidental.

The mkinitrd command will run after a kernel or bootloader update…

Yep…and a kernel update happened earlier this week during the zypper dup.

So what do you see from the output of

lsusb
/sbin/lspci

The lsusb (relevant parts only):

Bus 001 Device 006: ID 05ac:8215 Apple, Inc. Built-in Bluetooth 2.0+EDR HCI

…and the lspci

03:00.0 Network controller: Intel Corporation Wireless 7260 (rev 73)

It’s being SEEN, and as said its working great as a wifi card. Nothing for Bluetooth anymore.

Hi
So I tested here and again no issues…


bluetoothctl list

Controller 00:00:00:00:00:09 waldorf #2 [default] <- usb 2.0 dongle
Controller 00:00:00:00:00:B9 waldorf <- usb on wifi card

rfkill 

ID TYPE      DEVICE      SOFT      HARD
 0 nfc       nfc0   unblocked unblocked
 1 wlan      phy0   unblocked unblocked
 2 bluetooth hci0   unblocked unblocked
 3 bluetooth hci1   unblocked unblocked

Can you try forcing the re-install of the firmware packages;


zypper in -f kernel-firmware-bluetooth kernel-firmware-iwlwifi

Sorry for the delay…out of town traveling, and just have returned. Have reinstalled those packages, and (after I’m finally done for the night), will reboot and see what changes, if anything. Thanks!

…and no change. The Apple bluetooth is the only one showing up.

The thing that strikes me is that I don’t see that 'read Intel…" line in any of my output, neither in dmesg or in journalctl. The Wifi part is working fine, great speed…just no bluetooth. Now, it’s not beyond the realm of possibility that the card went bad somehow (??), and that rendered bluetooth inoperative but wifi working…but not sure how that would happen, nor how the card would work with zero problems for wifi if it was loose or somehow disconnected.

Almost like it’s not loading the firmware at all, because it’s not SEEING the card to load it.

Hi
Is it easy to pull the apple card, see if the other hardware shows up, connect your speaker, then add the apple card back in?

Well, “easy” is a relative thing when it comes to iMac’s. :slight_smile: But no, you can’t remove the Apple card, since it’s built onto the MOBO. To disassemble, it’s prying the glass up, about a dozen screws, monitor removal, and THEN you can see the guts of the system…and God help you if you need to see the back of the motherboard. Nothing difficult, mind you, but about a zillion screws, and 3,400 little wires and connectors. Thankfully, the Intel card is right behind the monitor, but just to get to it is at least 30 minutes. The price you pay for a thin form-factor and no screws showing.

There isn’t a good solution for this, I think…an update broke this I’m sure, so chances are it’ll magically work later on after ANOTHER update. At least I have mouse/keyboard working, which is the big thing, but I’d sure like to know what does that “Intel read…” line.

Hi
So have been through a few kernel cycles and firmware updates, still no change, same error? Only one device hci device seen in rfkill output?

Indeed:

0: hci0: Bluetooth
        Soft blocked: no
        Hard blocked: no
1: phy0: Wireless LAN
        Soft blocked: no
        Hard blocked: no

And upon looking in /lib/firmware, I see a symlink (??)

lrwxrwxrwx 1 root root     24 Feb 15 15:53 iwlwifi-7265D-10.ucode.xz -> iwlwifi-7265-10.ucode.xz

…and I’m not sure why. I didn’t do this, and if I look at dmesg output for “version” I see (related line only)

   10.766153] iwlwifi 0000:03:00.0: loaded firmware **version** 17.3216344376.0 op_mode iwlmvm

Is that what’s on your system as well? And do you have the same symlink? Tempted to remove it and see what happens…not like I can’t re-create a symlink if it dies.

Hi
The test system was purloined by my Son… so can’t check… I would remove the link and see how it goes.

Sorry if this is too basic, but did you try with a liveCD? Maybe LEAP?

Just my 2c

Removed the link; no change.

No, I haven’t, but this WAS working fine before a recent update…then it broke. Even if a live version worked, that’d still leave my original problem.

My mind keeps going back to the “Intel read…” line that malcolmlewis posted, and the fact I don’t have that. To me, that indicates the device isn’t getting recognized
correctly. My knee-jerk reaction (since malcolms is working) would be to suppose that the built-in Apple bluetooth module is somehow causing the second module
to be ignored. But why start all of a sudden???

Hi
In my case the intel one is the primary, the other one is a USB dongle plugged in, as long as sound was connected first it remained active and then could use the bluetooth mouse.

I think your situation is a special use case, since it was working and now not is a regression. Might pay to create a bug report and see if there may be something else lurking (udev changes perhaps)?

openSUSE:Submitting bug reports - openSUSE

I would add a note in the bug about this thread and post back the bug report number too :wink: