Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Bluetooth woes on Realtek RTL8821AE
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Networking & Security
View previous topic :: View next topic  
Author Message
Lophophora
n00b
n00b


Joined: 02 Oct 2006
Posts: 27

PostPosted: Tue Jul 26, 2016 9:39 am    Post subject: Bluetooth woes on Realtek RTL8821AE Reply with quote

Hi all,

A couple of weeks back I did a fresh gentoo installation on my new box and while on general it runs well, I've still not managed to set bluetooth to run. I've got a Realtek RTL8821AE PCI mini card:

Quote:
01:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8821AE 802.11ac PCIe Wireless Network Adapter
Subsystem: Realtek Semiconductor Co., Ltd. RTL8821AE 802.11ac PCIe Wireless Network Adapter
Flags: bus master, fast devsel, latency 0, IRQ 122
I/O ports at e000 [size=256]
Memory at df000000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Endpoint, MSI 00
Kernel driver in use: rtl8821ae


I've followed the gentoo bluetooth guide:
https://wiki.gentoo.org/wiki/Bluetooth
But when I run hciconfig -a, my adaptor is shown as down:
Quote:
hci0: Type: BR/EDR Bus: USB
BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
DOWN
RX bytes:42 acl:0 sco:0 events:3 errors:0
TX bytes:9 acl:0 sco:0 commands:3 errors:0
Features: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
Packet type: DM1 DH1 HV1
Link policy:
Link mode: SLAVE ACCEPT

and I get the following error message when I try to wake it:
Quote:
hciconfig hci0 up
Can't init device hci0: No such file or directory (2)


Here's my kernel .config file:
http://pastebin.com/zvCKr7FH

and the contents of my make.conf file, in case it helps:
Quote:
# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
CFLAGS="-march=broadwell -O2 -pipe"
CXXFLAGS="${CFLAGS}"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.
CHOST="x86_64-pc-linux-gnu"
# These are the USE and USE_EXPAND flags that were used for
# buidling in addition to what is provided by the profile.
USE="-gnome -kde -minimal -qt4 alsa bindist bluetooth consolekit dbus jpeg lock
nls policykit session ssl startup-notification thunar udev udisks unicode X"
CPU_FLAGS_X86="mmx sse sse2"
MAKEOPTS="-j9"
PORTDIR="/usr/portage"
DISTDIR="${PORTDIR}/distfiles"
PKGDIR="${PORTDIR}/packages"
INPUT_DEVICES="evdev"
VIDEO_CARDS="intel i965"

GENTOO_MIRRORS="http://mirror.bytemark.co.uk/gentoo/ http://www.mirrorservice.or
g/sites/distfiles.gentoo.org/"

LINGUAS="en_GB"


Thanks in advance for your help!
Back to top
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 30905
Location: here

PostPosted: Tue Jul 26, 2016 9:56 am    Post subject: Reply with quote

Log of dmesg:
Code:
$ dmesg | grep -i bluetooth

_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
Lophophora
n00b
n00b


Joined: 02 Oct 2006
Posts: 27

PostPosted: Tue Jul 26, 2016 11:24 am    Post subject: Reply with quote

Thanks, I need to learn to look at dmesg more often! It seems like the firmware isn't loading:

Quote:
dmesg | grep -i bluetooth
[ 0.160970] Bluetooth: Core ver 2.21
[ 0.161143] Bluetooth: HCI device and connection manager initialized
[ 0.161232] Bluetooth: HCI socket layer initialized
[ 0.161320] Bluetooth: L2CAP socket layer initialized
[ 0.161410] Bluetooth: SCO socket layer initialized
[ 0.816716] Bluetooth: HCI UART driver ver 2.3
[ 0.816718] Bluetooth: HCI UART protocol H4 registered
[ 0.817603] Bluetooth: RFCOMM socket layer initialized
[ 0.817611] Bluetooth: RFCOMM ver 1.11
[ 0.817620] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 0.817624] Bluetooth: HIDP socket layer initialized
[ 1.658412] usb 1-11: Product: Bluetooth Radio
[ 1.669757] Bluetooth: hci0: rtl: examining hci_ver=06 hci_rev=000a lmp_ver=06 lmp_subver=8821
[ 1.669759] Bluetooth: hci0: rtl: loading rtl_bt/rtl8821a_fw.bin
[ 1.669767] bluetooth hci0: Direct firmware load for rtl_bt/rtl8821a_fw.bin failed with error -2
[ 1.669768] Bluetooth: hci0: Failed to load rtl_bt/rtl8821a_fw.bin


does anyone have experience with Realtek? Can I use non-kernel firmware?

Thanks!
Back to top
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 30905
Location: here

PostPosted: Tue Jul 26, 2016 11:59 am    Post subject: Reply with quote

Lophophora wrote:
Thanks, I need to learn to look at dmesg more often! It seems like the firmware isn't loading:

You have installed linux-firmware package?

Lophophora wrote:
Can I use non-kernel firmware?

Difference between driver and firmware.
_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
Lophophora
n00b
n00b


Joined: 02 Oct 2006
Posts: 27

PostPosted: Tue Jul 26, 2016 3:50 pm    Post subject: Reply with quote

Hi,

I just installed linux-firmware & restarted but I still get the same error. Is there some configuration I need to do?
Back to top
View user's profile Send private message
Logicien
Veteran
Veteran


Joined: 16 Sep 2005
Posts: 1555
Location: Montréal

PostPosted: Tue Jul 26, 2016 4:50 pm    Post subject: Reply with quote

From your .config, any Bluetooth option you enable is in the kernel image [Y]. If your kernel probe the Bluetooth devices before the real root partition is mounted, the firmware files needed will not be available. This can lead to a probe fail unless you put the firmware files in the kernel image too or in an initramfs.

What I do for the kernel configuration is to put everything not mandatory to be in the kernel image as modules. Bluetooth support is not mandatory to be in the kernel image unless an option have only this choice in which case, I accept it. So, because modules are in the root filesystem like firmware files, when the kernel load a module, the firmware file are available too if they are emerged. You can see the problem I am talking about in the output
Quote:
[ 1.669759] Bluetooth: hci0: rtl: loading rtl_bt/rtl8821a_fw.bin
[ 1.669767] bluetooth hci0: Direct firmware load for rtl_bt/rtl8821a_fw.bin failed with error -2
[ 1.669768] Bluetooth: hci0: Failed to load rtl_bt/rtl8821a_fw.bin


Support in the kernel image need to have the firmware files in the image too and modules in intiramfs need to have the firmware files in the initramfs too. This is a rule of thumb for me. In plus, for Bluetooth, I enable every option of the section.

Your wifi module do not have any parameter for Bluetooth coexistence. I never had any trouble with Wifi/Bluetooth mini-Pci devices.
_________________
Paul
Back to top
View user's profile Send private message
Lophophora
n00b
n00b


Joined: 02 Oct 2006
Posts: 27

PostPosted: Tue Jul 26, 2016 6:38 pm    Post subject: Reply with quote

Thanks for your help! I'm afraid it wasn't a module vs built in the kernel issue. I recompiled my kernel and loaded the following modules at boot-time:
Quote:

hidp
rfcomm
bluetooth
btcoexist
rtl_pci
rtl8821ae
rtlwifi
hci_uart
btrtl
btusb
btintel


I still get the same error messages, i.e.:
Quote:

dmesg | grep -i bluetooth
[ 1.650312] usb 1-11: Product: Bluetooth Radio
[ 5.321796] Bluetooth: Core ver 2.21
[ 5.321807] Bluetooth: HCI device and connection manager initialized
[ 5.321809] Bluetooth: HCI socket layer initialized
[ 5.321811] Bluetooth: L2CAP socket layer initialized
[ 5.321814] Bluetooth: SCO socket layer initialized
[ 5.455858] Bluetooth: hci0: rtl: examining hci_ver=06 hci_rev=000a lmp_ver=06 lmp_subver=8821
[ 5.455859] Bluetooth: hci0: rtl: loading rtl_bt/rtl8821a_fw.bin
[ 5.455869] bluetooth hci0: Direct firmware load for rtl_bt/rtl8821a_fw.bin failed with error -2
[ 5.455870] Bluetooth: hci0: Failed to load rtl_bt/rtl8821a_fw.bin
[ 13.353061] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 13.353064] Bluetooth: HIDP socket layer initialized
[ 13.364653] Bluetooth: RFCOMM socket layer initialized
[ 13.364657] Bluetooth: RFCOMM ver 1.11
[ 13.423580] Bluetooth: HCI UART driver ver 2.3
[ 13.423581] Bluetooth: HCI UART protocol H4 registered
[ 91.607166] Bluetooth: hci0: rtl: examining hci_ver=06 hci_rev=000a lmp_ver=06 lmp_subver=8821
[ 91.607183] Bluetooth: hci0: rtl: loading rtl_bt/rtl8821a_fw.bin
[ 91.607222] bluetooth hci0: Direct firmware load for rtl_bt/rtl8821a_fw.bin failed with error -2
[ 91.607224] Bluetooth: hci0: Failed to load rtl_bt/rtl8821a_fw.bin


Could you please elaborate what you mean by this:
Quote:
Your wifi module do not have any parameter for Bluetooth coexistence


Any other ideas?

Thanks in advance!
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Networking & Security All times are GMT
Page 1 of 1

 
Jump to:  
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