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.
Also:
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.