-
Notifications
You must be signed in to change notification settings - Fork 299
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug]: ReSpeaker 4-Mic Array Driver does not work with 64bit Raspbian kernel 5.15.84-v8+ #332
Comments
Same as #327 - read #327 (comment) |
Thanks for the response. I tried using the suggested branch (v5.9) but got exactly the same behaviour (as the v5.9 branch is the default I assume I was using that one anyway). I also attempted to use your version (https://github.com/HinTak/seeed-voicecard) at v5.9, and got the same errors. For reference the full output of install.sh follows. It's complaining about unknown modules and a missing
|
After further playing around I noticed that the install script wasn't using the source from the git repo to build the module, but what was already present in /lib/modules/. So instead I just did a |
Glad to know. |
I'm seeing this issue as reported by an Adafruit customer and reproduced it myself. The problem is that the current Bullseye release uses kernel 6.1.28-v8+, but the kernel headers are not available. There is no /lib/modules/6.1.28-v8+/build link off to a /usr/src/linux-headers-6.1.28-v8+. The headers are available for the 6.1.21* kernels in /usr/src. Would it make sense to rollback to the a 6.1.21 kernel by changing /boot/config.txt or is there easy way to install the src files specific to the 6.1.28-v8 kernel when they are not available via apt?
|
See https://github.com/HinTak/RaspberryPi-Dev/blob/master/Downgrading-Pi-Kernel.md for manually downgrading the kernel with matching kernel headers, and how to lock the version against the auto- upgrade bits in the seeed studio driver's install script. (And the url for past versions of kernels) |
@HinTak - While rolling back to and pinning to an earlier kernel is a reasonable work around this problem is different than previous kernel compatibility issues. The problem is being caused by Bullseye updating the 32-bit OS to a 64-bit kernel so the headers are not being installed. @alexcorvis84 did most of the heavy lifting over the last few days and came up with some work arounds with @makermelissa: adafruit/Raspberry-Pi-Installer-Scripts#247 `Raspberry Pi recently made a breaking change where all 32-bit installs are automatically updated to a 64-bit install once you do an apt update/upgrade. I was planning on testing the BrainCraft HAT more thoroughly soon. Here are some things you may wish to try:
See https://github.com/adafruit/Raspberry-P ... issues/247 for more related details.` |
@mikeysklar I think you are mistaken. It is not a 32-bit vs 64-bit issue, but you seem to have gotten your 6.1.28 kernel from an unusual place? The official repo from which apt gets packages is: |
It doesn't help that I mistyped the kernel version. I'm running the same default update as everyone else on Bullseye which is the new 64-bit kernel on the 32-bit OS.
|
I think the question is if you manually download and install the arm64 header package, does it work? If it does, then the pi people should get that to accompany the 64-bit kernel package, instead of somehow having a 64-bit kernel but 32-bit kernel headers. |
The x86 people have had it working okay for years, 64-bit kernel with bi-arch userspace. So if the pi switch to a 64-bit kernel, they should switch to 64-bit kernel headers too. Regardless of what userspace does. |
Describe the bug
To Reproduce
Steps to reproduce the behavior:
sudo ./install.sh
step.sudo ./install.sh
./var/lib/dkms/seeed-voicecard/0.3/build/make.log
.Expected behavior
Driver is built and installed correctly.
Platform
Relevant log output
The text was updated successfully, but these errors were encountered: