1

I have a I2S mems microphone from adafruit. Now I am following the guide at https://github.com/nejohnson2/rpi-i2s#compile-the-i2s-module

Now after I have mounted the debugfs I attempt to look for the given module:

$ sudo mount -t debugfs debugs /sys/kernel/debug
$ sudo cat /sys/kernel/debug/asoc/platforms
3f203000.i2s
snd-soc-dummy

However, if I run this code I merely get the following result:

sudo mount -t debugfs debugs /sys/kernel/debug
mount: debugs is already mounted or /sys/kernel/debug busy

sudo cat /sys/kernel/debug/asoc/platforms
cat: /sys/kernel/debug/asoc/platforms: No such file or directory

So am I missing something here. I have another PI which has the same mic and the same wiring and there I can use the microphone without problems.

Any help is much appreciated.

Update:

I did follow the Adafruit tutorial and in dmesg I do see the Hello world output from the my_loader module.

Here is the output of dmesg in a gist.

  • It did take more than 15 minutes. The module seemed to compile OK and in dmesg the "Hello World" message does show up. It is only today that I did check the /sys/kernel/debug/asoc/platforms resource and figured out that there is no *.i2s present. – Besi Nov 12 at 13:23
  • 1
    @Besi Did you follow official adafruit guide [link]learn.adafruit.com/adafruit-i2s-mems-microphone-breakout/… ? I successfully compiled and installed the module following adafruit guide. – jonny789 Nov 12 at 14:27
  • @jonny789 yes I did follow this tutorial and I could compile the module and it's showing up in dmesg like joan pointed out. – Besi Nov 12 at 17:41
  • 1
    I do have components dais and snd_rpi_sipmle_card inside the /sys/kernel/debug/asoc directory. – Besi Nov 20 at 13:23
  • 1
    @jonny789 I did initially follow the guide but it was updated in November 2019. I'll add an answer outlining procedure. – Besi Nov 20 at 13:26
1

I did some more research and did manage to get the MEMS mic working.

Apparently the guide was updated after I did setup my RaspberryPi using the guide which Johnny789 did point out in a comment.

https://learn.adafruit.com/adafruit-i2s-mems-microphone-breakout/raspberry-pi-wiring-and-test

This page (Raspberry Pi Wiring & Test) was last updated on Nov 19, 2019.

In the Adafruit forum I did find the relevant information:

OK, I got this working. The guide page has been updated:
https://learn.adafruit.com/adafruit-i2s-mems-microphone-breakout/raspberry-pi-wiring-and-test.
Please try going through it again. You may need to start all the way from a fresh
OS image since things may be in a weird state. I used Raspbian Lite
2019-04-08 on a Pi Zero w.

The main changes were:

  • need to install more packages: bison, flex, libssl-dev
  • the script pauses here, just press enter to continue: Code coverage for fuzzing (KCOV) [N/y/?] (NEW)
  • this didn't work but didn't matter: sudo cat /sys/kernel/debug/asoc/platforms

I did not use a fresh OS and did just install it ontop of the old stuff. I did however delete any previous linux-source files along with the i2s-audio folder:

cd 
rm -fr linux* # this took quite long
rm -fr rpi-i2s-audio/

Also the author mentioned that /sys/kernel/debug/asoc/platforms wasn't available either but that it did not matter to get it working.

Update: In order to know which I2S Platform to use you may use the following command:

sudo cat /sys/kernel/debug/asoc/components | uniq
20203000.i2s
snd-soc-dummy

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.