Pisound + tinker board 2

Hi, is it possible to connect pisound to a tinker board 2 ?
As I can see, I need to change pins in a dts file. What else should I do to make it work ?

Check out Pisound on Tinker Board! - it details what’s required (the device tree changes and the kernel module). We haven’t tried the tinker board 2.

I ve installed pisound modules, and I’m getting fully correct dmesg(like in an attached forum), I see pisound in aplay -l and arecord -l, can run aplay and arecord. But there is no any signal on pins, I’ve probed all of them with oscillograph.

What can be the reason? How to identify the problem ?

Please post the entire contents of dmesg and how are you testing audio?

Full dmesg attached. I’m probing pins to see if there is a clock signal.

What command do you run to produce audio? Does it give any errors?

running speaker-test, no any errors

What command line are you using?

I’m using bash shell

What command do you execute for speaker-test, including all the arguments?

just “speaker-test”
I do not need to specify card and device, because pisound is only availiable

Try speaker-test -D hw:pisound -c 2 -r 48000

still no clock signal, just kind of garbage everywhere

after about 5-10 seconds fails with

Write error: -5,Input/output error xrun_recovery failed: -5,Input/output error Transfer failed: Input/output error

in dmesg:
[ 684.076198] rockchip-i2s ff880000.i2s: reset

The next thing I’d look at is whether the old overlay for tinkerboard S needs any updating for the tinker board 2, and whether the OSR gpio pins get the correct values according to the selected sampling rate, check out this diff:

Maybe there’s some tinkerboard kernel / device developer community that could take a look at the overlay.

OSR GPIO hi/lo values according to the selected sampling rate are correct. I’ll ask tinker board developers

Have you meet this problem?

Write error: -5,Input/output error 
xrun_recovery failed: -5,Input/output error 
Transfer failed: Input/output error

Do you have any ideas what is the reason? How can I debug this problem deeper?

This means there was no communication or some misconfiguration of the I²S stream, check the tinkerboard’s kernel module responsible for configuring the I²S peripheral, reference it to the datasheet if the configured values make sense. Pisound is the clock and frame sync provider, so the host system should be configured as the consumer of those things.

Check out Pisound on Jetson Nano - #13 by gtrainavicius - Jetson Nano - NVIDIA Developer Forums for some more insights into the pins used by Pisound.


arecord -D hw:pisound -c 2 -r 48000 -f S16_LE
Recording WAVE 'stdin' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
RIFF$?WAVEfmt ???data?arecord: pcm_read:2145: read error: Input/output error

Problem with recording. Any ideas regarding this ?

It’s because of the same reason. Maybe dmesg gives some more information.