Slackware - ARMThis forum is for the discussion of Slackware ARM.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I've can't seem to get bluetooth working on 2 different RPi4 revisions and on RPi0W. This is the version information from cpuinfo:
Code:
Hardware : BCM2711
Revision : a03111
Serial : 1000000091328354
Model : Raspberry Pi 4 Model B Rev 1.1
Hardware : BCM2711
Revision : b03114
Serial : 100000009dc116e9
Model : Raspberry Pi 4 Model B Rev 1.4
Hardware : BCM2835
Revision : 9000c1
Serial : 000000009b4bd2c0
#this is a RPi0W
I'm running SlackwareARM 14.2 with an old 5.4.40 SARPIi4 current kernel on the RPi4 and later I discover the same problem also on RPi0W with 5.10.14 RARPi kernel.
I keep on getting this message in the kernel ring buffer:
Code:
brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt failed with error -2
None seem to work (all produce the same message in kernel ring buffer) and hciconfig shows no bluetooth device.
Wifi seems to be working fine but I wanted have the bluetooth working for testing for something I plan to do in the near future.
Has anyone got similar problems ?
Anyone know how to solve it ?
At the time I found the patches for bluez, I was having problems compiling some things and sndwvs kindly provided a (64-bit!) package with the patches already applied in that thread.
BUT be warned! Try the sarpi-hacks first! There are (unconfirmed) reports that although the modified bluez package works with the 400, it might stop the 4 from working.
Mine now finds the bluetooth device and I can attach my headphones, but they drop out after a short, random time period, and the device vanishes again!
Well, 'error -2' means it is not found at the time when kernel bluetooth driver is loading. Common problem for instance when the driver is built into kernel and the firmware is in /lib/firmware. When the kernel loads the drive with firmware is not mounted yet and you get error -2. In your case I assume the kernel driver is a module, not built into kernel? Then the firmware is not in correct location, the driver is looking into brcm subdirectory in your firmware directory, did you place it there? You may need to rename it to satisfy the driver.
At the time I found the patches for bluez, I was having problems compiling some things and sndwvs kindly provided a (64-bit!) package with the patches already applied in that thread.
BUT be warned! Try the sarpi-hacks first! There are (unconfirmed) reports that although the modified bluez package works with the 400, it might stop the 4 from working.
Mine now finds the bluetooth device and I can attach my headphones, but they drop out after a short, random time period, and the device vanishes again!
--
Pete
I've tried the latest sarpi hack ... sarpi4-hacks-4.0-armv7l-1_slackcurrent_28Jan21_sp1.txz built 2 days ago
Quote:
Well, 'error -2' means it is not found at the time when kernel bluetooth driver is loading. Common problem for instance when the driver is built into kernel and the firmware is in /lib/firmware. When the kernel loads the drive with firmware is not mounted yet and you get error -2. In your case I assume the kernel driver is a module, not built into kernel? Then the firmware is not in correct location, the driver is looking into brcm subdirectory in your firmware directory, did you place it there? You may need to rename it to satisfy the driver.
Nor sure but I think it is a module ... but the files are there in the right path /lib/firmware/brcm/
Code:
root@rpi4:~# ls -l /lib/firmware/brcm/
total 17580
-rw-r--r-- 1 root root 54734 Jan 1 2020 BCM-0bb4-0306.hcd
-rw-r--r-- 1 root root 36264 May 1 2019 BCM43430A1.hcd
-rw-r--r-- 1 root root 56759 May 1 2019 BCM4345C0.hcd
-rw-r--r-- 1 root root 269595 Apr 1 2018 bcm4329-fullmac-4.bin
-rw-r--r-- 1 root root 96224 Jan 30 17:49 bcm43xx-0.fw
-rw-r--r-- 1 root root 96224 Aug 17 2016 bcm43xx-0.fw-610.812
-rw-r--r-- 1 root root 180 Jan 30 17:49 bcm43xx_hdr-0.fw
-rw-r--r-- 1 root root 180 Aug 17 2016 bcm43xx_hdr-0.fw-610.812
-rw-r--r-- 1 root root 385067 Jan 30 17:49 brcmfmac43143-sdio.bin
-rw-r--r-- 1 root root 397312 Jan 30 17:49 brcmfmac43143.bin
-rw-r--r-- 1 root root 348160 Jan 30 17:49 brcmfmac43236b.bin
-rw-r--r-- 1 root root 455745 Jan 30 17:49 brcmfmac43241b0-sdio.bin
-rw-r--r-- 1 root root 403855 Jan 30 17:49 brcmfmac43241b4-sdio.bin
-rw-r--r-- 1 root root 408682 Jan 30 17:49 brcmfmac43241b5-sdio.bin
-rw-r--r-- 1 root root 479232 Jan 30 17:49 brcmfmac43242a.bin
-rw-r--r-- 1 root root 253748 Jan 30 17:49 brcmfmac4329-sdio.bin
-rw-r--r-- 1 root root 1509 Jan 1 2020 brcmfmac4330-sdio.Prowise-PT301.txt
-rw-r--r-- 1 root root 222126 Jan 30 17:49 brcmfmac4330-sdio.bin
-rw-r--r-- 1 root root 451566 Jan 30 17:49 brcmfmac4334-sdio.bin
-rw-r--r-- 1 root root 400864 Jan 30 17:49 brcmfmac43340-sdio.bin
-rw-r--r-- 1 root root 1693 Jan 1 2020 brcmfmac43340-sdio.meegopad-t08.txt
-rw-r--r-- 1 root root 569291 Jan 30 17:49 brcmfmac4335-sdio.bin
-rw-r--r-- 1 root root 202107 Jan 30 17:49 brcmfmac43362-sdio.bin
-rw-r--r-- 1 root root 803 Jan 1 2020 brcmfmac43362-sdio.cubietech,cubietruck.txt
-rw-r--r-- 1 root root 803 Jan 1 2020 brcmfmac43362-sdio.lemaker,bananapro.txt
-rw-r--r-- 1 root root 562183 Jan 30 17:49 brcmfmac4339-sdio.bin
-rw-r--r-- 1 root root 875 Jan 1 2020 brcmfmac43430-sdio.AP6212.txt
-rw-r--r-- 1 root root 928 Jan 1 2020 brcmfmac43430-sdio.Hampoo-D2D3_Vi8A1.txt
-rw-r--r-- 1 root root 831 Jan 1 2020 brcmfmac43430-sdio.MUR1DX.txt
-rw-r--r-- 1 root root 400447 Jan 30 17:49 brcmfmac43430-sdio.bin
-rw-r--r-- 1 root root 874 Jan 1 2020 brcmfmac43430-sdio.raspberrypi-rpi.txt
-rw-r--r-- 1 root root 1121 Jan 30 17:49 brcmfmac43430-sdio.txt
-rw-r--r-- 1 root root 989 Jan 1 2020 brcmfmac43430a0-sdio.ONDA-V80\ PLUS.txt
-rw-r--r-- 1 root root 382455 Jan 30 17:49 brcmfmac43430a0-sdio.bin
-rw-r--r-- 1 root root 951 Jan 1 2020 brcmfmac43430a0-sdio.jumper-ezpad-mini3.txt
-rw-r--r-- 1 root root 631467 Jan 30 19:14 brcmfmac43455-sdio.bin
-rw-r--r-- 1 root root 7163 Jan 30 19:14 brcmfmac43455-sdio.clm_blob
-rw-r--r-- 1 root root 2074 Jan 30 19:15 brcmfmac43455-sdio.txt
-rw-r--r-- 1 root root 495898 Jan 30 17:49 brcmfmac43456-sdio.bin
-rw-r--r-- 1 root root 10855 Jan 30 17:49 brcmfmac43456-sdio.clm_blob
-rw-r--r-- 1 root root 2053 Jan 30 17:49 brcmfmac43456-sdio.txt
-rw-r--r-- 1 root root 626140 Jan 30 17:49 brcmfmac4350-pcie.bin
-rw-r--r-- 1 root root 623304 Jan 30 17:49 brcmfmac4350c2-pcie.bin
-rw-r--r-- 1 root root 605388 Jan 30 17:49 brcmfmac4354-sdio.bin
-rw-r--r-- 1 root root 648770 Jan 30 17:49 brcmfmac4356-pcie.bin
-rw-r--r-- 1 root root 2515 Jan 1 2020 brcmfmac4356-pcie.gpd-win-pocket.txt
-rw-r--r-- 1 root root 526383 Jan 30 17:49 brcmfmac4356-sdio.bin
-rw-r--r-- 1 root root 557056 Jan 30 17:49 brcmfmac43569.bin
-rw-r--r-- 1 root root 550333 Jan 30 17:49 brcmfmac43570-pcie.bin
-rw-r--r-- 1 root root 633817 Jan 30 17:49 brcmfmac4358-pcie.bin
-rw-r--r-- 1 root root 595472 Jan 30 17:49 brcmfmac43602-pcie.ap.bin
-rw-r--r-- 1 root root 635449 Jan 30 17:49 brcmfmac43602-pcie.bin
-rw-r--r-- 1 root root 1105361 Jan 30 17:49 brcmfmac4366b-pcie.bin
-rw-r--r-- 1 root root 1120971 Jan 1 2020 brcmfmac4366c-pcie.bin
-rw-r--r-- 1 root root 623448 Jan 30 17:49 brcmfmac4371-pcie.bin
-rw-r--r-- 1 root root 457994 Jan 30 17:49 brcmfmac4373-sdio.bin
-rw-r--r-- 1 root root 479232 Jan 30 17:49 brcmfmac4373.bin
root@rpi4:~#
Are you sure that error -2 is only for file not found ?
The exact message is:
Code:
[ 3.751663] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[ 3.754521] usbcore: registered new interface driver brcmfmac
[ 3.783214] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt failed with error -2
Does that mean I should rename it in rcmfmac43455-sdio.raspberrypi ?
If so exactly which one and what precise name ?
these ate the files that almost match the name in dmesg
Ok so to get the error -2 to dissapear I renamed
brcmfmac43455-sdio.txt
to
brcmfmac43455-sdio.raspberrypi,4-model-b.txt
but still hciconfig shows nothing
I had a spare uSD so I put raspbian on it and the bloetooth seems to work there ... I wonder if it's a kernel problem.
Looks like we need to review the firmware which SARPi distributes for Bluetooth. It's not the same as Raspberry Pi OS. I'll keep you posted.
There is also something wrong in kernel 5.10.11 ... it will not boot properly on my rpi4 .... it starts ok but at some point before reaching init it slows down to snail with no slime pace ... honestly it tool like 3 minutes to eave reach the point where I see going multiuser ... and then still minutes waiting before I give up (even before I get the login prompt).
I did cheat a little and manually install kernel, modules, rc.modules-<kernel version> and hack ... manually doing most of the stuff that doinst would do ... is there something I left out that could cause this ? like not updating config.txt or cmdline.txt or the boot firmware ?
I looked a bit more into this and noticed that there are quite a few files that differ from what I have (sarpi4-boot-firmware-armv7l-1_slackcurrent_13May20_sp1.txz) to the new boot firmware:
I attached the script to quickly check and produce the above output *did not want to produce diff like output)/
The new boot firmware can boot the old kernel ... and also new kernel seems to boot fine with it.
Be warned : update both kernel and boot firmware else you get in trouble old kernel and new boot firmware: no bt device
new kernel and latest SARPi-hack firmware: no bt device
New kernel and raspbian firmware: still no bt device
How do they get it working on raspbian ?
I also found a github project with the brcm firmware and the stuff there does not match with SARPi nor raspbian ... is that stuff any good ?
PS: sorry for calling "Raspberripi OS" "rasbian" ... it may seem that I put something old on my RPI4 but that is not the case I downloaded 2021-01-11-raspios-buster-armhf.zip
Nice to note they don't call it raspbian any more but they still have the debian release name "buster"
One of the patches I pointed to earlier corrects an error in bluez. Bluez looks for firmware in /etc/firmware rather than /lib/firmware. One of the three patches is to fix that. The other two are specifically for the chip used in the 400.
One of the patches I pointed to earlier corrects an error in bluez. Bluez looks for firmware in /etc/firmware rather than /lib/firmware. One of the three patches is to fix that. The other two are specifically for the chip used in the 400.
--
Pete
Ok but I don't want to recompile so I will link /etc/firmware to /lib/firmware and hopefully bluez will find the firmware
Code:
root@rpi4:/etc# ls -ld /etc/firmware
lrwxrwxrwx 1 root root 15 Jan 31 10:12 /etc/firmware -> ../lib/firmware/
root@rpi4:/etc#
Restarted rc.bluetooth and still nothing
Full reboot and still no bt device
The other thing worth trying is to replace the /lib/firmware/brcm folder with the one from Raspbian. That is what got mine to at least load initially. Sarpi-hacks should do this, but if it didn't work for you, try going back to the original firmware supplied for the device.
There is also something wrong in kernel 5.10.11 ... it will not boot properly on my rpi4 .... it starts ok but at some point before reaching init it slows down to snail with no slime pace ... honestly it tool like 3 minutes to eave reach the point where I see going multiuser ... and then still minutes waiting before I give up (even before I get the login prompt).
I have no idea or answer to what the problem is for you here. Right now I have 3 Slackware ARM current installations - (2 on sd card and 1 on SSD) all running kernel 5.10.11 - which I use for various purposes, but none as a desktop system, and they all boot very quickly and work as expected. In fact, I've noticed a slight speed increase in Slackware ARM operations since Christmas 2020, which is probably due to MoZes updating pkgs and/or making things better and/or streamlining, etc.
Quote:
Originally Posted by louigi600
The new boot firmware can boot the old kernel ... and also new kernel seems to boot fine with it.
Be warned : update both kernel and boot firmware else you get in trouble old kernel and new boot firmware: no bt device
new kernel and latest SARPi-hack firmware: no bt device
New kernel and raspbian firmware: still no bt device
How do they get it working on raspbian ?
Back in 2019 I created a LQ post regarding RPi3/RPi4 Bluetooth. Every once in a while it breaks and the problems users are experiencing recently can be attributed to this. Obviously the RPi guys keep on top of their own hardware/software and fix any issues that may arise. I usually wait until there is a problem before looking into it and trying to solve it. I don't use RPi onboard wireless or Bluetooth and when there is a need for it I have my own plug-in USB devices for these purposes. These USB devices are infinitely more reliable, generally better supported under Slackware ARM (depending on the device in question), and not usually 'headache-inducing' like the RPi's onboard Cypress wireless combo shizzle can be at times.
I suspect something has changed in kernel 5.10.x that worked fine in kernel 5.4.x. That's what I'll be looking into initially.
Quote:
Originally Posted by louigi600
I also found a github project with the brcm firmware and the stuff there does not match with SARPi nor raspbian ... is that stuff any good ?
wlan0: error fetching interface information: Device not found
Wifi is working now that I removed all files from /lib/firmware/brcm and then reinstalled sarpi-hacks.
Note that I don't know if what I did there will also work for Bluetooth. I also don't know if it's everything I should have done ex. if I should have done a complete sarpi & kernel reinstall. Going to do that now.
I suspect I should have done a diff with raspbian config.txt but even with
Code:
# Uncomment to enable Bluetooth LE
dtoverlay=pi3-miniuart-bt
enable_uart=1
I still don't see any hci device. Maybe there's a missing dependency in kernel that moved and importing the previous config looses it.
I will examine the lsmod output from raspbian and slackwareARM and see if I can catch something.
I looked at the differences in kernel config between raspbian and SARPi-current for RPi4
Code:
davide@nuc8i5:/tmp/rpi4-bt-issue$ zdiff raspbian.config.gz slackwarearm.config.gz |grep BT
< # CONFIG_BT_SELFTEST is not set
> # CONFIG_BT_MSFTEXT is not set
> # CONFIG_BT_SELFTEST is not set
> # CONFIG_BT_FEATURE_DEBUG is not set
< # CONFIG_BT_HCIBTSDIO is not set
> CONFIG_BT_HCIBTSDIO=m
> # CONFIG_BT_HCIUART_RTL is not set
< CONFIG_BT_WILINK=m
davide@nuc8i5:/tmp/rpi4-bt-issue$
This might be a little more comprehensible:
Code:
davide@nuc8i5:/tmp/rpi4-bt-issue$ comm -23 <(zcat raspbian.config.gz |sort) <(zcat slackwarearm.config.gz |sort) | grep BT
# CONFIG_BT_HCIBTSDIO is not set
CONFIG_BT_WILINK=m
davide@nuc8i5:/tmp/rpi4-bt-issue$ comm -13 <(zcat raspbian.config.gz |sort) <(zcat slackwarearm.config.gz |sort) | grep BT
# CONFIG_BT_FEATURE_DEBUG is not set
# CONFIG_BT_HCIUART_RTL is not set
# CONFIG_BT_MSFTEXT is not set
CONFIG_BT_HCIBTSDIO=m
davide@nuc8i5:/tmp/rpi4-bt-issue$
And regarding the modules: (here are the modules that are only loaded in raspbian)
Note that I don't know if what I did there will also work for Bluetooth. I also don't know if it's everything I should have done ex. if I should have done a complete sarpi & kernel reinstall. Going to do that now.
I went back and reinstalled all sarpi packages and kernel-firmware, and once again had the same files in /lib/firmware/brcm that I had before, and no wifi (wlan0 not visible in ifconfig.)
Then I again deleted all files in /lib/firmware/brcm and reinstalled sarpi-hacks, and now have functioning wifi again.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.