Respeaker 4 Mic Array - Raspberry Pi 2B Rev 1.1 Mic Issues

I was recently bought a Respeaker 4 Mic Array for Christmas, and have been attempting to use it with a Raspberry Pi 2B Rev 1.1.

The install of drivers completed successfully, and I have managed to get the working so the connection to the board seems to be working, however I have not yet managed to get the microphones working.

First, the ac108 was not recognised at all by the Raspberry Pi, the output of arecord -L was:
</s><i> </i>null Discard all samples (playback) or generate zero samples (capture) pulse PulseAudio Sound Server <e>

I noticed in the boot up of the raspberry pi that the seeed-voicecard.service was not being started due to an issue :
</s><i> </i>pi@raspberrypi:~ $ dmesg | grep seeed [ 3.371837] systemd[1]: Found dependency on seeed-voicecard.service/start [ 3.434067] systemd[1]: Breaking ordering cycle by deleting job seeed-voicecard.service/start [ 3.798699] snd_soc_seeed_voicecard: loading out-of-tree module taints kernel. [ 65.104551] seeed-voicecard soc:sound: ac10x-codec0 <-> 3f203000.i2s mapping ok <e>

So I fixed this by starting the service myself:
</s><i> </i>pi@raspberrypi:~ $ sudo systemctl start seeed-voicecard.service pi@raspberrypi:~ $ <e>

This then allowed the ac108 to appear in the arecord options:
</s><i> </i>pi@raspberrypi:~ $ arecord -L null Discard all samples (playback) or generate zero samples (capture) pulse PulseAudio Sound Server default playback ac108 sysdefault:CARD=seeed4micvoicec seeed-4mic-voicecard, Default Audio Device dmix:CARD=seeed4micvoicec,DEV=0 seeed-4mic-voicecard, Direct sample mixing device dsnoop:CARD=seeed4micvoicec,DEV=0 seeed-4mic-voicecard, Direct sample snooping device hw:CARD=seeed4micvoicec,DEV=0 seeed-4mic-voicecard, Direct hardware device without any conversions plughw:CARD=seeed4micvoicec,DEV=0 seeed-4mic-voicecard, Hardware device with all software conversions <e>

However this does not match the tutorial output and the arecord test command fails as so:

</s><i> </i>pi@raspberrypi:~ $ arecord -Dac108 -f S32_LE -r 16000 -c 4 hello.wav Recording WAVE 'hello.wav' : Signed 32 bit Little Endian, Rate 16000 Hz, Channels 4 arecord: set_params:1297: Unable to install hw params: ACCESS: RW_INTERLEAVED FORMAT: S32_LE SUBFORMAT: STD SAMPLE_BITS: 32 FRAME_BITS: 128 CHANNELS: 4 RATE: 16000 PERIOD_TIME: 125000 PERIOD_SIZE: 2000 PERIOD_BYTES: 32000 PERIODS: 4 BUFFER_TIME: 500000 BUFFER_SIZE: 8000 BUFFER_BYTES: 128000 TICK_TIME: 0 <e>

What else should I adjust to get the arecord working? Also, enabling the seeed-voicecard.service via systemctl has not fixed the issue of the ac108 appearing, I have to start the service automatically to get it to appear each time, which harms its potential usage as part of an automatic home assistant.

I hope there will be some way to get the array to work with the RasPi 2B (as it is advertised), otherwise I will be launching a complaint with amazon and requesting a refund. Any help with this will be greatly appreciated.

Hello, I have exactly the same issues on my pi3B.

Did you or someone found a solution?

Hi there,

the led is controlled through SPI. it does not relate with sound card driver.

we generate a image with driver install and you can download and give a try. if it works, the hardware is good and something wrong with the installation process. thanks.

<LINK_TEXT text=“ … 8000207913”></LINK_TEXT>