Unable to pair bluetooth keyboard after system-upgrade to 40

Today I made an upgrade to Fedora Asahi Remix 40 as soon as the official release announcement.

Everything goes well except for Bluetooth. I failed to connect my HHKB Type S. So I removed it and performed a re-pair.

Usually, when you are trying to pair a keyboard, the agent will show a PIN code to verify the connection, and then you can go whatever next. However, the agent didn’t show any PIN code and directly jumped to Failed to pair: org.bluez.Error.AuthenticationFailed instead.

I have tried it on both KDE desktop and Hyprland.

Does anyone encounter this issue too? Please help. Many thanks!

power on
[bluetooth]# [CHG] Controller F4:D4:88:5F:07:79 PowerState: off-enabling
[bluetooth]# hci0 class of device changed: 0x7c0000
[bluetooth]# [CHG] Controller F4:D4:88:5F:07:79 Class: 0x007c0000 (8126464)
[bluetooth]# hci0 new_settings: powered bondable ssp br/edr le secure-conn
[bluetooth]# Changing power on succeeded
[bluetooth]# [CHG] Controller F4:D4:88:5F:07:79 PowerState: on
[bluetooth]# [CHG] Controller F4:D4:88:5F:07:79 Powered: yes
[bluetooth]# agent on
[bluetooth]# Agent registered
[bluetooth]# scan on
[bluetooth]# SetDiscoveryFilter success
[bluetooth]# Discovery started
[bluetooth]# pair CD:10:AE:03:6C:C5
Attempting to pair with CD:10:AE:03:6C:C5
[bluetooth]# Failed to pair: org.bluez.Error.AuthenticationFailed
[bluetooth]# [DEL] Device CD:10:AE:03:6C:C5 HHKB-Hybrid_1

same here with fresh install on M1 Macbook Pro.

mrinal@lnx]~% uname -a       
Linux lnx 6.8.9-402.asahi.fc40.aarch64+16k #1 SMP PREEMPT_DYNAMIC Wed May  8 18:05:42 UTC 2024 aarch64 GNU/Linux
bluetooth]# show
Controller BC:D0:74:5F:D3:B7 (public)
	Manufacturer: 0x000f (15)
	Version: 0x0b (11)
	Name: lnx
	Alias: lnx
	Class: 0x007c0000 (8126464)
	Powered: yes
	PowerState: on
	Discoverable: yes
	DiscoverableTimeout: 0x000000b4 (180)
	Pairable: yes
	UUID: Message Notification Se.. (00001133-0000-1000-8000-00805f9b34fb)
	UUID: A/V Remote Control        (0000110e-0000-1000-8000-00805f9b34fb)
	UUID: OBEX Object Push          (00001105-0000-1000-8000-00805f9b34fb)
	UUID: Message Access Server     (00001132-0000-1000-8000-00805f9b34fb)
	UUID: PnP Information           (00001200-0000-1000-8000-00805f9b34fb)
	UUID: IrMC Sync                 (00001104-0000-1000-8000-00805f9b34fb)
	UUID: Vendor specific           (00005005-0000-1000-8000-0002ee000001)
	UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
	UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
	UUID: Phonebook Access Server   (0000112f-0000-1000-8000-00805f9b34fb)
	UUID: Device Information        (0000180a-0000-1000-8000-00805f9b34fb)
	UUID: Audio Sink                (0000110b-0000-1000-8000-00805f9b34fb)
	UUID: Generic Access Profile    (00001800-0000-1000-8000-00805f9b34fb)
	UUID: Handsfree Audio Gateway   (0000111f-0000-1000-8000-00805f9b34fb)
	UUID: Audio Source              (0000110a-0000-1000-8000-00805f9b34fb)
	UUID: OBEX File Transfer        (00001106-0000-1000-8000-00805f9b34fb)
	UUID: Handsfree                 (0000111e-0000-1000-8000-00805f9b34fb)
	Modalias: usb:v1D6Bp0246d054B
	Discovering: yes
	Roles: central
	Roles: peripheral
Advertising Features:
	ActiveInstances: 0x00 (0)
	SupportedInstances: 0x08 (8)
	SupportedIncludes: tx-power
	SupportedIncludes: appearance
	SupportedIncludes: local-name
	SupportedSecondaryChannels: 1M
	SupportedSecondaryChannels: 2M
[bluetooth]# pair EA:F4:05:A4:92:3B 
Attempting to pair with EA:F4:05:A4:92:3B
[bluetooth]# Failed to pair: org.bluez.Error.AuthenticationFailed

Same here since I upgraded yesterday:

〉uname -a
Linux ku 6.8.9-402.asahi.fc40.aarch64+16k #1 SMP PREEMPT_DYNAMIC Wed May  8 18:05:42 UTC 2024 aarch64 GNU/Linux

I am using a USB mouse that was working yesterday, can’t connect to it. I can trust, but not connect (and not pair if I forget the device). I have two such mouse, one at work and one at home, same issue with both. I also tried with hyprland and gnome, same issue.

Downgrading to kernel 6.8.8-400 fixed the issue for me for the keyboard and mouse.

1 Like

Update:
Can confirmed as the root cause. While it is recommended to upgrade all things to the latest version before you perform a system upgrade, the package manager failed to recognize the difference between 6.8.8-400.asahi.fc40 and 6.8.8-400.asahi.fc39. So you have to manually install it after upgrading to 40.


Maybe this is the reason. Though I upgraded to Fedora 40, the kernel version stays in fc39:

sudo dnf install kernel-16k-6.8.8-400.asahi.fc40.aarch64
Last metadata expiration check: 0:01:44 ago on 2024年05月10日 星期五 09时56分04秒.
allow_vendor_change is disabled. This option is currently not supported for downgrade and distro-sync commands
Dependencies resolved.
==========================================================================================================================================================================================
 Package                                    Architecture              Version                                  Repository                                                            Size
==========================================================================================================================================================================================
Installing:
 kernel-16k                                 aarch64                   6.8.8-400.asahi.fc40                     copr:copr.fedorainfracloud.org:group_asahi:kernel                    225 k
 kernel-16k-core                            aarch64                   6.8.8-400.asahi.fc40                     copr:copr.fedorainfracloud.org:group_asahi:kernel                     21 M
 kernel-16k-modules                         aarch64                   6.8.8-400.asahi.fc40                     copr:copr.fedorainfracloud.org:group_asahi:kernel                     53 M
 kernel-16k-modules-core                    aarch64                   6.8.8-400.asahi.fc40                     copr:copr.fedorainfracloud.org:group_asahi:kernel                     36 M
Removing:
 kernel-16k                                 aarch64                   6.8.8-400.asahi.fc39                     @copr:copr.fedorainfracloud.org:group_asahi:kernel                     0
 kernel-16k-core                            aarch64                   6.8.8-400.asahi.fc39                     @copr:copr.fedorainfracloud.org:group_asahi:kernel                   155 M
 kernel-16k-modules                         aarch64                   6.8.8-400.asahi.fc39                     @copr:copr.fedorainfracloud.org:group_asahi:kernel                    52 M
 kernel-16k-modules-core                    aarch64                   6.8.8-400.asahi.fc39                     @copr:copr.fedorainfracloud.org:group_asahi:kernel                    35 M
Removing dependent packages:
 kernel-16k-modules-extra                   aarch64                   6.8.8-400.asahi.fc39                     @copr:copr.fedorainfracloud.org:group_asahi:kernel                   1.3 M

Transaction Summary
==========================================================================================================================================================================================
Install  4 Packages
Remove   5 Packages

Installing.

3 Likes

When I try to install the older kernel version kernel-16k-6.8.8-400.asahi.fc40.aarch64 dnf install gets stuck on Running scriptlet:.

The solution is not working for me…

Oops - after rebooting into the older kernel I can confirm that Hanchin’s solution is working. I opened this issue in Asahilinux kernel upstream.

This is fixed in kernel-16k-6.8.9-403.asahi

3 Likes

From this thread:

sudo dnf --refresh offline-upgrade download
sudo dnf offline-upgrade reboot

I can confirm that Bluetooth pairing is now working on kernel-16k-6.8.9-403.asahi - but I don’t understand why sudo dnf update doesn’t work for downloading the latest kernel; why do we have to do the offline-upgrade?

who said dnf upgrade won’t work? offline-upgrade is inherently safer so it should be recommened / used in examples.

hmm… I’m not sure why dnf update (alias for upgrade, apparently) didn’t work for me. Perhaps it was because I didn’t use the --refresh flag? Anyways, I appreciate your help, Janne - Asashilinux F40 is working great for me now and I am so thankful to everyone who makes Asahilinux Fedora Remix possible!

Yes, if you don’t use --refresh and you are running the command soon after the release you might have stale cached metadata. That will get refreshed in time, but it’s normal not to see updates immediately if you don’t use that flag.