Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 908021 - intel usb bluetooth driver : ID 8087:0a2b : FW download error
Summary: intel usb bluetooth driver : ID 8087:0a2b : FW download error
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-06-07 15:33 UTC by jlm
Modified: 2023-06-13 09:26 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
result of lsinitrd (gentoo-linux-6.3.6-filelist.txt,207.00 KB, text/plain)
2023-06-10 20:39 UTC, jlm
Details
full dmesg (fulldmesg,69.04 KB, text/plain)
2023-06-13 09:22 UTC, jlm
Details

Note You need to log in before you can comment on or make changes to this bug.
Description jlm 2023-06-07 15:33:48 UTC
the initial forum thread :  https://forums.gentoo.org/viewtopic-p-8791829.html#8791829

on boot, I have always in dmesg 
[    7.023968] Bluetooth: hci0: Failed to send firmware data (-38)
[    7.023984] Bluetooth: hci0: Intel reset sent to retry FW download


the bluetooth can only be enabled after boot by doing a `rmmod btusb; modprobe btsub` as root.



[  200.438404] usbcore: deregistering interface driver btusb
[  208.365528] usbcore: registered new interface driver btusb
[  208.366171] Bluetooth: hci0: Bootloader revision 0.0 build 2 week 52 2014
[  208.371187] Bluetooth: hci0: Device revision is 5
[  208.371208] Bluetooth: hci0: Secure boot is enabled
[  208.371218] Bluetooth: hci0: OTP lock is enabled
[  208.371228] Bluetooth: hci0: API lock is enabled
[  208.371235] Bluetooth: hci0: Debug lock is disabled
[  208.371244] Bluetooth: hci0: Minimum firmware build 1 week 10 2014
[  208.371267] Loading firmware: intel/ibt-11-5.sfi
[  208.371897] Bluetooth: hci0: Found device firmware: intel/ibt-11-5.sfi
[  210.364575] Bluetooth: hci0: Waiting for firmware download to complete
[  210.365135] Bluetooth: hci0: Firmware loaded in 1946510 usecs
[  210.365294] Bluetooth: hci0: Waiting for device to boot
[  210.377329] Bluetooth: hci0: Device booted in 11829 usecs
[  210.377336] Bluetooth: hci0: Malformed MSFT vendor event: 0x02
[  210.377359] Loading firmware: intel/ibt-11-5.ddc
[  210.382783] Bluetooth: hci0: Found Intel DDC parameters: intel/ibt-11-5.ddc
[  210.387265] Bluetooth: hci0: Applying Intel DDC parameters completed
[  210.388237] Bluetooth: hci0: Firmware revision 0.0 build 14 week 44 2021
[  210.435026] Bluetooth: MGMT ver 1.22
[  210.529700] Bluetooth: hci0: Bad flag given (0x1) vs supported (0x0)


maybe an issue with dracut not embedding the firmware?

thanks and regards
Comment 1 jlm 2023-06-09 08:07:59 UTC
Linux jlmyoga900 6.3.6-gentoo-dist #1 SMP PREEMPT_DYNAMIC Mon Jun  5 15:10:53 -00 2023 x86_64 Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz GenuineIntel GNU/Linux


sys-kernel/genkernel
sys-kernel/gentoo-kernel-bin
sys-kernel/gentoo-sources
sys-kernel/linux-firmware
sys-kernel/vanilla-sources

at this time no build of vanilla-sources, this is mainly for kernel bug investigation, the package used to update the system is sys-kernel/gentoo-kernel-bin



#emerge --info
Portage 3.0.48.1 (python 3.12.0-beta-2, default/linux/amd64/17.1/desktop, gcc-12, glibc-2.37-r3, 6.3.6-gentoo-dist x86_64)
=================================================================
System uname: Linux-6.3.6-gentoo-dist-x86_64-Intel-R-_Core-TM-_i7-6500U_CPU_@_2.50GHz-with-glibc2.37
KiB Mem:    16275796 total,  10373448 free
KiB Swap:   20553720 total,  20553720 free
Timestamp of repository gentoo: Thu, 08 Jun 2023 16:30:01 +0000
Head commit of repository gentoo: f56b256d5056f511bd2ed164cd75b2049a63075e
Head commit of repository gnunet-overlay: 3c0cbc496aa3bde101f954534adae4c8deedf76d

Head commit of repository brave-overlay: 6bdcab9d6fa2f623b81419953a6de83a553c579e

Head commit of repository guru: e3a9f5ef2abf6fe5599d64f4c3a384de958b1332

Head commit of repository science: e5dcc90b7da028bb7939ab58425b0ef5c92246e8

Head commit of repository src_prepare-overlay: 47737a6aee1500ca390dc8a22dc29b98361fbfc5

Head commit of repository torbrowser: f975132e9e15fb40b8d81ca5507f5790837ded7d

Head commit of repository waebbl: 3e2bd16aec3e607eaf53ae8bc1d3ca9649e2d05d

sh bash 5.2_p15-r3
ld GNU ld (Gentoo 2.40 p5) 2.40.0
ccache version 4.8 [disabled]
app-misc/pax-utils:        1.3.7::gentoo
app-shells/bash:           5.2_p15-r3::gentoo
dev-java/java-config:      2.3.1-r1::gentoo
dev-lang/perl:             5.36.1-r2::gentoo
dev-lang/python:           3.9.16_p3::gentoo, 3.10.12::gentoo, 3.11.4::gentoo, 3.12.0_beta2::gentoo
dev-lang/rust:             1.69.0-r1::gentoo
dev-util/ccache:           4.8-r2::gentoo
dev-util/cmake:            3.26.4-r1::gentoo
dev-util/meson:            1.1.1::gentoo
sys-apps/baselayout:       2.13-r1::gentoo
sys-apps/openrc:           0.47.1::gentoo
sys-apps/sandbox:          2.30-r1::gentoo
sys-devel/autoconf:        2.13-r8::gentoo, 2.71-r6::gentoo
sys-devel/automake:        1.16.5-r1::gentoo
sys-devel/binutils:        2.40-r5::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/clang:           14.0.6-r1::gentoo, 15.0.7-r3::gentoo, 16.0.5::gentoo
sys-devel/gcc:             12.2.1_p20230304::gentoo, 13.1.1_p20230527::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-devel/libtool:         2.4.7-r1::gentoo
sys-devel/lld:             15.0.7::gentoo
sys-devel/llvm:            14.0.6-r2::gentoo, 15.0.7-r3::gentoo, 16.0.5::gentoo
sys-devel/make:            4.4.1-r1::gentoo
sys-kernel/linux-headers:  6.3::gentoo (virtual/os-headers)
sys-libs/glibc:            2.37-r3::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    volatile: True
    sync-rsync-verify-metamanifest: no
    sync-rsync-verify-jobs: 1
    sync-rsync-verify-max-age: 24
    sync-rsync-extra-opts: 

gnunet-overlay
    location: /var/lib/layman/gnunet-overlay
    sync-type: git
    sync-uri: https://github.com/jlmxyz/gnunet-overlay
    masters: gentoo
    priority: 1
    volatile: True

brave-overlay
    location: /var/lib/layman/brave-overlay
    sync-type: git
    sync-uri: https://gitlab.com/jason.oliveira/brave-overlay.git
    masters: gentoo
    priority: 50
    volatile: True

guru
    location: /var/lib/layman/guru
    sync-type: git
    sync-uri: https://anongit.gentoo.org/git/repo/proj/guru.git
    masters: gentoo
    priority: 50
    volatile: True

science
    location: /var/lib/layman/science
    sync-type: git
    sync-uri: https://anongit.gentoo.org/git/proj/sci.git
    masters: gentoo
    priority: 50
    volatile: True

src_prepare-overlay
    location: /var/lib/layman/src_prepare-overlay
    sync-type: git
    sync-uri: https://gitlab.com/src_prepare/src_prepare-overlay.git
    masters: gentoo
    priority: 50
    volatile: True

torbrowser
    location: /var/lib/layman/torbrowser
    sync-type: git
    sync-uri: https://github.com/MeisterP/torbrowser-overlay.git
    masters: gentoo
    priority: 50
    volatile: True

waebbl
    location: /var/lib/layman/waebbl
    sync-type: git
    sync-uri: https://github.com/waebbl/waebbl-gentoo.git
    masters: gentoo
    priority: 50
    volatile: True

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="@FREE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://ftp.free.fr/mirrors/ftp.gentoo.org/ http://gentoo.mirrors.ovh.net/gentoo-distfiles/ ftp://gentoo.mirrors.ovh.net/gentoo-distfiles/ ftp://mirrors.soeasyto.com/distfiles.gentoo.org/ http://mirrors.soeasyto.com/distfiles.gentoo.org/ rsync://mirror.eu.oneandone.net/gentoo/ http://mirror.eu.oneandone.net/linux/distributions/gentoo/gentoo/ ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo ftp://mirror.netcologne.de/gentoo/ rsync://mirror.netcologne.de/gentoo/ http://mirror.netcologne.de/gentoo/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ rsync://ftp.halifax.rwth-aachen.de/gentoo/ http://ftp.halifax.rwth-aachen.de/gentoo/ ftp://ftp.halifax.rwth-aachen.de/gentoo/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo http://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo rsync://ftp-stud.hs-esslingen.de/gentoo/ http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LEX="flex"
MAKEOPTS="-j6"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
SHELL="/bin/bash"
USE="X a52 aac acl acpi alsa amd64 bluetooth branding bzip2 cairo cdda cdr cli crypt cups dbus dri dts dvd dvdr elogind encode exif flac fortran gdbm gif glamor gpm gtk gui iconv icu ipv6 jpeg lcms libnotify libtirpc mad mng mp3 mp4 mpeg multilib ncurses nls nptl ogg opengl openmp pam pango pcre pdf png policykit ppds pulseaudio qt5 readline sdl seccomp sna sound spell split-usr ssl startup-notification svg test-rust tiff truetype udev udisks unicode upower usb vaapi vorbis vulkan wxwidgets x264 xattr xcb xft xml xua xv xvid xvmc zlib" ABI_X86="64" ADA_TARGET="gnat_2021" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="synaptics libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-4 php8-0" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_11" PYTHON_TARGETS="python3_9 python3_10 python3_11 python3_12" RUBY_TARGETS="ruby30 ruby31 ruby32" VIDEO_CARDS="intel i965 iris" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
Comment 2 Mike Gilbert gentoo-dev 2023-06-10 05:09:45 UTC
The dracut bluetooth module includes /lib/firmware/intel/ibt* in the initrd.

Could you attach the output of lsinitrd on the relevant initrd file?
Comment 3 jlm 2023-06-10 20:39:12 UTC
Created attachment 863687 [details]
result of lsinitrd
Comment 4 jlm 2023-06-10 20:40:52 UTC
attached file created by$ lsinitrd /boot/initramfs-6.3.6-gentoo-dist.img

$ cat tmp/gentoo-linux-6.3.6-filelist.txt | grep  ibt-11-5.sfi
output nothing... so the firmware is missing from initrd
Comment 5 Mike Gilbert gentoo-dev 2023-06-11 16:32:46 UTC
I don't see any bluetooth kernel modules included in your initramfs. It's unclear to me how the kernel would be loading the 'btusb.ko' module when it doesn't exist.

It looks like the dracut bluetooth module is not enabled/included either. Probably because it requires systemd, and you appear to be using openrc.
Comment 6 Mike Gilbert gentoo-dev 2023-06-11 22:45:52 UTC
Please attach the full output of dmesg which includes the error.
Comment 7 jlm 2023-06-12 07:49:06 UTC
"dracut bluetooth module is not enabled/included either. Probably because it requires systemd, and you appear to be using openrc." 

since when kernel module depend on uderlying user space? insmod and modprobe are user space tools that use kernel API to perform their job, but 
1) are not related to systemd
2) can be replaced by any tool that use the same API... not included in android for example

a kernel module can't require a user space tool... that's nonsense.
kernel inform user space using hotplug API and running a userspace tool, but saying a kernel module depend on a user space tool...

so the initrd isn't created correctly....
a proof? once booted, I can rmmod and modprobe the btusb.ko kernel module even if systemd isn't installed... kernel modules and associated firmware have nothing to do with the underlying implementation of tools that use kernel API, you can even run a non unix system on top of linux kernel, loading modules etc, which is basically what android is (the kernel is even modified to remove sysV IPC... and implement wakelock concept... but remain a linux kernel)
Comment 8 Mike Gilbert gentoo-dev 2023-06-12 13:15:47 UTC
btusb.ko is not included in your initrd as demonstrated by your lsinitrd output.

If the kernel is loading btusb.ko automatically, it must be doing so from your live root filesystem, where all firmware would also be available.

There isn't sufficient information in this bug report to diagnose the issue. I asked for the full dmesg output; please provide it.
Comment 9 jlm 2023-06-13 09:22:00 UTC
Created attachment 863762 [details]
full dmesg
Comment 10 jlm 2023-06-13 09:24:36 UTC
seems you're right, I didn't noticed the btusb.ko was loaded AFTER the pivotroot....
so the btusb.ko is the one on my root filesystem that has the firmware... so the issue is not in initramfs, but in the kernel.... seems I will have to ask kernel's help....
Comment 11 jlm 2023-06-13 09:26:24 UTC
sorry for the report, I should have seen that it was after pivotroot...
thanks for your help