Pi Zero 2W & Seeed Studio 2 mic hat driver issue with Debian Trixie

Hi folks: I have a raspberry pi zero 2w with a seeed studio 2 mic hat v1 and i have installed Debian Trixie (as I already have all this working on Bookworm).

I am attempting to install the drivers for the mic and i get the following error, any help would be appreciated. Thanks in advance.
P.S I’m using the latest and greatest from HinTak

atticsat@studysat:~ $ git clone https://github.com/HinTak/seeed-voicecard.git
Cloning into 'seeed-voicecard'...
remote: Enumerating objects: 1444, done.
remote: Counting objects: 100% (431/431), done.
remote: Compressing objects: 100% (45/45), done.
remote: Total 1444 (delta 413), reused 386 (delta 386), pack-reused 1013 (from 2                                                                                                            )
Receiving objects: 100% (1444/1444), 1.18 MiB | 1.81 MiB/s, done.
Resolving deltas: 100% (952/952), done.
atticsat@studysat:~ $ cd seeed-voicecard/
atticsat@studysat:~/seeed-voicecard $ git checkout v6.14
Switched to branch 'v6.14'
Your branch is up to date with 'origin/v6.14'.
atticsat@studysat:~/seeed-voicecard $ ls
ac101.c             pulseaudio
ac101_regs.h        README.md
ac108_6mic.state    seeed-2mic-voicecard.dtbo
ac108_asound.state  seeed-2mic-voicecard-overlay.dts
ac108.c             seeed-4mic-voicecard.dtbo
ac108.h             seeed-4mic-voicecard-overlay.dts
ac108_plugin        seeed-8mic-voicecard.dtbo
ac10x.h             seeed-8mic-voicecard-overlay.dts
asound_2mic.conf    seeed-voicecard
asound_4mic.conf    seeed-voicecard.c
asound_6mic.conf    seeed-voicecard.service
builddtbo.sh        sound-compatible-4.18.h
default.pa          tools
dkms.conf           ubuntu-prerequisite.sh
install.sh          uninstall.sh
LICENSE             wm8960_asound.state
Makefile            wm8960.c
patches             wm8960.h
atticsat@studysat:~/seeed-voicecard $ sudo ./install.sh
Hit:1 http://deb.debian.org/debian trixie InRelease
Get:2 http://deb.debian.org/debian trixie-updates InRelease [47.3 kB]
Get:3 http://archive.raspberrypi.com/debian trixie InRelease [54.7 kB]
Hit:4 http://deb.debian.org/debian-security trixie-security InRelease
Get:5 http://archive.raspberrypi.com/debian trixie/main arm64 Packages [342 kB]
Fetched 397 kB in 1s (481 kB/s)
All packages are up to date.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package raspberrypi-kernel-headers
E: Unable to locate package raspberrypi-kernel
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
gcc-aarch64-linux-gnu is already the newest version (4:14.2.0-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package linux-raspi
E: Unable to locate package linux-headers-raspi
E: Unable to locate package linux-image-raspi
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
dkms is already the newest version (3.2.0-1).
git is already the newest version (1:2.47.3-0+deb13u1).
i2c-tools is already the newest version (4.4-2).
libasound2-plugins is already the newest version (1.2.12-2+b1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
grep: /boot/kernel.img: No such file or directory

gzip: stdin: unexpected end of file
dpkg-query: package 'raspberrypi-kernel-headers' is not installed
Use dpkg --contents (= dpkg-deb --contents) to list archive files contents.
grep: /boot/kernel.img: No such file or directory

gzip: stdin: unexpected end of file
Deleting module seeed-voicecard/0.3 completely from the DKMS tree.
Creating symlink /var/lib/dkms/seeed-voicecard/0.3/source -> /usr/src/seeed-voic                                                                                                            ecard-0.3
The kernel is built without module signing facility, modules won't be signed

Building module(s)..........(bad exit status: 2)
Failed command:
make -j4 KERNELRELEASE=6.12.47+rpt-rpi-v8 -C /lib/modules/6.12.47+rpt-rpi-v8/bui                                                                                                            ld M=/var/lib/dkms/seeed-voicecard/0.3/build

Error! Bad return status for module build on kernel: 6.12.47+rpt-rpi-v8 (aarch64                                                                                                            )
Consult /var/lib/dkms/seeed-voicecard/0.3/build/make.log for more information.
mkdir: cannot create directory ‘/etc/voicecard’: File exists
git init
Reinitialized existing Git repository in /etc/voicecard/.git/
git add --all
git commit -m "origin configures"
On branch master
nothing to commit, working tree clean
------------------------------------------------------
Please reboot your raspberry pi to apply all settings
Enjoy!
------------------------------------------------------

Greetings. I have the exact same setup: RPI 2W card with v1 hat on Trixie. I am seeing the exact samme errors during installation.

I’ve looked into the install.sh script. The culprit seems to be twofold:

  1. It is expecting to find kernel headers that are specific to Raspberry, but according to what I’ve read elsewhere, they are not part of the modded Debian image for RPI 2W (Trixie).
  2. It is assuming the running kernel image is found in /boot/kernel.img wheras this seems to be under /boot/firmware now.
    Subsequent errors during the installation are just sideeffects of these 2.

Have anybody been looking into this? There seems to be no mention in any of the Github repo versions.

I will add that there are 1000’s of the Seeed Studio 2 mic V1 boards for sale at Amazon, but nobody will be able to use them with the modern versions of Raspberry OS due to this. Meaning, Seeed Studio are likely to receive negative ratings as a result. (See e.g. seller on Amazon: keyestudio ReSpeaker 2-Mics Pi HAT Smart Voice Dual Microphone Expansion Board Base on wm8960 for Raspberry Pi Zero/3B/2B/B+, Raspberry Pi HAT, Raspberry Pi Expansion Board””)

1 Like

Hi there,

So, Great find and probably saved the day on the Sales RETURNS :grin: end if it’s true what your saying. I will shake the Seeedineers tree and see what falls out when I give them this directly. that’s if they are not already aware and working on a fix?, If it is indeed within their purview it will get handled, rest assured!

HTH
GL :slight_smile: PJ :v:

thanks for the heads up and a possible fix. :+1:

1 Like

The error is caused by missing headers and kernel 6.12 incompatibility. Try this:

  1. Install correct headers: sudo apt install linux-headers-rpi-v8

  2. Use latest code: Switch to the master branch instead of v6.14 before running ./install.sh.

  3. Best Advice: For a stable ReSpeaker experience, back to Debian 12 (Bookworm) where the driver works out-of-the-box.

1 Like

… just a note… this is unacceptable… Seeed software division must support thye products… otherwise seeed products are junk and beetter off in the garbage heap… sorry, but it is true

Hi there,

AND … put that Hammer down :grin: LET’s NOT shoot the messenger

Debian Trixie (Debian 13) has introduced changes that impact compatibility with certain older hardware architectures and specific Raspberry Pi add-ons. It is not so much that the OS is “too new” for general older hardware, but rather that support for specific legacy architectures has been officially dropped or reduced.
You can’t hang it on the seeedineers as NOT being Fortune tellers, fact is if they did make the changes before hand, the legacy portion was dropped , so . NO
it’s not a support or , What software division :face_with_open_eyes_and_hand_over_mouth:

Thanks to @Seeed_Nolan for responding so quickly and not leaving it fly.

Glad there’s a fix and so will Amazon be.. LOL :v:

HTH
GL :slight_smile: PJ :v:

here is a Stance from LINUX forum themselves and more… :+1:

General Hardware Compatibility

  • Legacy Architectures Dropped: Debian Trixie has removed or reduced support for very old architectures, most notably the 32-bit i386 architecture (as a primary install, it can still run as a userland on amd64) and MIPS architectures. If your older hardware falls into these specific categories, it may not be compatible with Trixie.
  • Most Older Hardware Supported: For most other older systems with 64-bit processors, Debian Trixie is compatible and benefits from the newer Linux kernel (version 6.12 LTS), which includes support for a wide range of hardware and drivers. Debian is known for its extensive hardware support.
  • Year 2038 Problem: Trixie introduced a transition to 64-bit time_t values on 32-bit systems (excluding i386) to address the year 2038 problem, which means older third-party software packages not compiled against the new libraries may be incompatible

The new kernel is shaking the old stuff up, if it’s not supported , it’s gone. Kinda , Move or Get run over. AI is part of it. they want to position for easy inclusion.

:v:

1 Like

@Seeed_Nolan Thanks for your feedback on this, it is much appreciated!
As a first attempt, I have followed your best advice and flashed a drive with a fresh Bookworm image and applied the usual updates. All seemed good from the outset, and the install.sh script indeed runs without any hiccups. Also, the driver loads and is visible when listed. But … because unfortunately there is a but … when running arecord I am getting an error:

$ arecord -D “plughw:1,0” -f S16_LE -r 16000 -d 5 -t wav test.wav
Recording WAVE ‘test.wav’ : Signed 16 bit Little Endian, Rate 16000 Hz, Mono
arecord: set_params:1416: Unable to install hw params:
ACCESS: RW_INTERLEAVED
FORMAT: S16_LE
SUBFORMAT: STD
SAMPLE_BITS: 16
FRAME_BITS: 16
CHANNELS: 1
RATE: 16000
PERIOD_TIME: 125000
PERIOD_SIZE: 2000
PERIOD_BYTES: 4000
PERIODS: 4
BUFFER_TIME: 500000
BUFFER_SIZE: 8000
BUFFER_BYTES: 16000
TICK_TIME: 0

Any idea what this is about?
Should I rather try Trixie again and go down the other option you suggested?

2 Likes

the problem with all these codes that are not maintained.. and even some that are… he owners move along into the future without regard to the past… I hope one day AI powered coding will solve this problem. When Linus Torvold dies all hell will break loose

why the hell, with all this AI cant we get spell checking inside a forum… what da?

Gently bumping this for @Seeed_Nolan attention

1 Like

Issue Resolved - ReSpeaker Driver Installation Guide

Hello everyone who has been following this issue!

This issue has now been resolved. Please use the following instructions to install the new V1/V2 drivers, which are perfectly compatible with the latest version of Raspberry Pi.

V2 Driver Installation

git clone https://github.com/Seeed-Studio/seeed-linux-dtoverlays.git
cd seeed-linux-dtoverlays/
make overlays/rpi/respeaker-2mic-v2_0-overlay.dtbo
sudo cp overlays/rpi/respeaker-2mic-v2_0-overlay.dtbo /boot/firmware/overlays/respeaker-2mic-v2_0.dtbo
echo "dtoverlay=respeaker-2mic-v2_0" | sudo tee -a /boot/firmware/config.txt
sudo reboot

V1 Driver Installation

git clone https://github.com/Seeed-Studio/seeed-linux-dtoverlays.git
cd seeed-linux-dtoverlays/
make overlays/rpi/respeaker-2mic-v1_0-overlay.dtbo
sudo cp overlays/rpi/respeaker-2mic-v1_0-overlay.dtbo /boot/firmware/overlays/respeaker-2mic-v1_0.dtbo
echo "dtoverlay=respeaker-2mic-v1_0" | sudo tee -a /boot/firmware/config.txt
sudo reboot

Volume Adjustment

After installing the driver, please use the alsamixer tool to adjust the volume and use the microphone.

alsamixer
1 Like

Wonderful! It works!! Thanks a bunch @DengMingXi777GZ you saved my day, and probably also for a lot of others :slight_smile: This forum rocks!

2 Likes