Failed full-system upgrade - "rtl8761b-fw.bin exists"

I’m having this issue trying to perform a full-system upgrade:

sudo pacman -Syu
[sudo] password for xxxx: 
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 community is up to date
 multilib is up to date
 endeavouros is up to date
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...

Packages (211)
...
Total Installed Size:  5173.06 MiB
Net Upgrade Size:        77.10 MiB

:: Proceed with installation? [Y/n] y
(211/211) checking keys in keyring                           [--------------------------------] 100%
(211/211) checking package integrity                         [--------------------------------] 100%
(211/211) loading package files                              [--------------------------------] 100%
(211/211) checking for file conflicts                        [--------------------------------] 100%
error: failed to commit transaction (conflicting files)
linux-firmware: /usr/lib/firmware/rtl_bt/rtl8761b_fw.bin exists in filesystem (owned by rtl8761b-fw)
Errors occurred, no packages were upgraded.

It seems that rtl8761b-fw.bin is a Bluetooth 5.0 driver that I had to manually install 6 months ago to get a cheap Amazon BT 5.0 dongle to work. I don’t know if I’ll still it yet, but I’m not sure how to fix. Any help appreciated.

  • Ben

It’s an AUR package most likely. Try updating with yay.

That is a tough one.

It is possible that firmware has been added to linux-firmware and you need to remove the AUR package before updating.

It is also possible that what is in linux-firmware won’t work.

Since it is only BT support, I would try removing the AUR package first and see if it works without it after rebooting.

1 Like

So, there is an AUR package when I search yay:

yay 8761
2 aur/rtl8761usb-dkms 20201202-3 (+1 0.09) 
    Realtek bluetooth modules for RTL8761 usb based devices (DKMS)
1 aur/rtl8761usb 20201202-3 (+1 0.03) 
    Realtek bluetooth modules for RTL8761 usb based devices

but I installed it manually (don’t remember how though), through some modprobe-ing. :confused:

I don’t think so, it is owned by the package rtl8761b-fw

yay doesn’t report an “installed” package though.

I know I did it manually because no drivers were provided when I bought it, so I had to Google it forever and find it.

Like you said you probably just used modprobe to load the module.

That is because of how you are using it. That isn’t how you check for installed packages. Try:

yay -Qs 8761

You can save a copy of the file before you remove package if you want to.

I believe I used some steps in this (everything listed before 2021):

(1) https://bbs.archlinux.org/viewtopic.php?id=260125

and this:

(2) Readme file for “mpow_MPBH456AB_driver+for+Linux.tgz”
Readme.pdf (18.1 KB)


yay -Qs 8761 lists this:

yay -Qs 8761
local/rtl8761b-fw 20200816-1
    Realtek bluetooth firmware for RTL8761B based devices

That topic says this in the end:

there’s a package in the AUR for this chip - rtl8761b-fw

My guess is that package isn’t there anymore but was at the time.

y’all…

In ~October 2020, when I manually installed this driver, that Feb 2021 suggestion did not exist yet. So I could not have installed it via that method.

Regardless, I still need a way to fix my kernel, how should I continue? I don’t mind uninstalling that original package, but I don’t know how to do that.

I think you installed the firmware using a different method most likely?

Maybe? I had another kid since then so my dad brain is still scrambled

I’ll let @dalto give you advice to remove the file and update just so i don’t send you down a bad path. :laughing:

First, save a copy of the file, just in case. Then you simply remove the package. Like this:

cp /usr/lib/firmware/rtl_bt/rtl8761b_fw.bin ~/.
sudo pacman -R rtl8761b-fw

Does this copy it to / or what is it called?

That copies it to your home directory.

I was going to say that first but wasn’t sure if that’s where it went. If you were to say /home instead would that not work also?

Edit: Or i need user also