burak

Members
  • Posts

    2
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

burak's Achievements

  1. Yes it is not a hardware problem, or it is in an indirect way... Your legacy kernel works with it because it,kernel, does modify your settings on the ALSA layer probably. I don't want to go into details that I am not confident. However, I have used the same I2S microphone with NanoPi NEO which is another H3 board. Simply, your mic doesn't support S16_LE, if you read its datasheet you can see that it sends 24 bit data, last 6 bits are nulls. However, I couldn't manage to set my I2S driver to 24 bits, logic analyzer showed that clocks are not properly set for that mode -- since I am not a kernel expert, I couldn't dive into registers and fix this --. So, I modified my devicetree file as well as sun4i-i2s.c file with @codekipper 's patches and some others combined with my educated guesses. When I run `arecord` I do use `S16_LE`. However, on my devicetree file, there is a override for this and it is set to 32 bits. This way you can use your mics. Since you're trying to use 16-bit at the moment, alsa thinks there is a saturation on the data, mic sends 18 bit data in a 24bit package. This is the issue that you're facing.
  2. It might be that your armbian starts on "virtual read-only" mode. Check that first please. Normally, it should be printed on the screen when you boot your board. In that case all changes are gone after a reboot. You need to run `armbian-config` and disable virtual read-only mode.