This is the first of two messages in this thread - this one concerns the L and R Line Out. The second one will concern the Analog Microphone inputs.
My application for the Rock Pi S is audio for music. There is no other compact board with built-in multichannel audio inputs, and it is smaller than all the other boards anyway.
The L and R signals are on pins 26 and 25, the end ones furthest from the LEDs. A scope shows them to have the desired voltages, but no audio signals yet.
I followed the wiki instructions https://wiki.radxa.com/RockpiS/Debian, using the image file rockpis_debian_buster_minimal_arm64_191219_0406-gpt.img.gz :
rockchip-fstab 0.1
rockchip-overlay 2.2
linux-4.4-rockpis-latest 4.4.143-36-rockchip
rockpis-dtbo 4.4
and the xfce stuff. The basic installation already had two ALSA items:
libasound2:arm64 1.1.8-1 arm64 shared library for ALSA applications
libasound2-data 1.1.8-1 all Configuration files and profiles for ALSA drivers
I installed the package jackd, which brought in jackd2 (there are at least two different implemenations of Jack, and this is the second one) and the GUI control program for it: qjackctl. There was still no aplay program, so I installed the alsa-utils package too.
The command aplay xyz.wav caused it to report playing the file via pulseaudio, but there were no output signals.
qjackctl > Connect shows no input or output ports.
aplay -l finds no soundcards.
aplay -L shows:
null
Discard all samples (playback) or generate zero samples (capture)
jack
JACK Audio Connection Kit
pulse
PulseAudio Sound Server
default
Playback/recording through the PulseAudio sound server
I also added the /etc/asound.conf file as described above:
pcm.!default {
type hw
card 1
}
ctl.!default {
type hw
card 1
}
I have no solid understanding of any of this stuff - I am just hoping to get aplay to actually drive the line out pins. Looking around in the machine, using the F3 view function of Midnight Commander to see the contents of some of these items in /proc/asound/ :
Loopback is a symlink to card0/. rockchiprk3308a is a symlink to card1/.
cards:
0 [Loopback ]: Loopback - Loopback
Loopback 1
1 [rockchiprk3308a]: rockchip_rk3308 - rockchip,rk3308-acodec
rockchip,rk3308-acodec
devices:
0: [ 0] : control
16: [ 0- 0]: digital audio playback
17: [ 0- 1]: digital audio playback
24: [ 0- 0]: digital audio capture
25: [ 0- 1]: digital audio capture
32: [ 1] : control
33: : timer
48: [ 1- 0]: digital audio playback
56: [ 1- 0]: digital audio capture
pcm:
00-00: Loopback PCM : Loopback PCM : playback 8 : capture 8
00-01: Loopback PCM : Loopback PCM : playback 8 : capture 8
01-00: dailink-multicodecs rk3308-hifi-0 : : playback 1 : capture 1
timers:
G0: system timer : 4000.000us (10000000 ticks)
G3: HR timer : 0.001us (1000000000 ticks)
P0-0-0: PCM playback 0-0-0 : SLAVE
P0-0-1: PCM capture 0-0-1 : SLAVE
P0-0-2: PCM playback 0-0-2 : SLAVE
P0-0-3: PCM capture 0-0-3 : SLAVE
P0-0-4: PCM playback 0-0-4 : SLAVE
P0-0-5: PCM capture 0-0-5 : SLAVE
P0-0-6: PCM playback 0-0-6 : SLAVE
P0-0-7: PCM capture 0-0-7 : SLAVE
P0-0-8: PCM playback 0-0-8 : SLAVE
P0-0-9: PCM capture 0-0-9 : SLAVE
P0-0-10: PCM playback 0-0-10 : SLAVE
P0-0-11: PCM capture 0-0-11 : SLAVE
P0-0-12: PCM playback 0-0-12 : SLAVE
P0-0-13: PCM capture 0-0-13 : SLAVE
P0-0-14: PCM playback 0-0-14 : SLAVE
P0-0-15: PCM capture 0-0-15 : SLAVE
P0-1-0: PCM playback 0-1-0 : SLAVE
P0-1-1: PCM capture 0-1-1 : SLAVE
P0-1-2: PCM playback 0-1-2 : SLAVE
P0-1-3: PCM capture 0-1-3 : SLAVE
P0-1-4: PCM playback 0-1-4 : SLAVE
P0-1-5: PCM capture 0-1-5 : SLAVE
P0-1-6: PCM playback 0-1-6 : SLAVE
P0-1-7: PCM capture 0-1-7 : SLAVE
P0-1-8: PCM playback 0-1-8 : SLAVE
P0-1-9: PCM capture 0-1-9 : SLAVE
P0-1-10: PCM playback 0-1-10 : SLAVE
P0-1-11: PCM capture 0-1-11 : SLAVE
P0-1-12: PCM playback 0-1-12 : SLAVE
P0-1-13: PCM capture 0-1-13 : SLAVE
P0-1-14: PCM playback 0-1-14 : SLAVE
P0-1-15: PCM capture 0-1-15 : SLAVE
P1-0-0: PCM playback 1-0-0 : SLAVE
P1-0-1: PCM capture 1-0-1 : SLAVE
version:
Advanced Linux Sound Architecture Driver Version k4.4.143-36-rockchip-g55b1ec35291f.
prc/asound/card1/id:
rockchiprk3308a
/proc/asound/card1/pcm0p/info
card: 1
device: 0
subdevice: 0
stream: PLAYBACK
id: dailink-multicodecs rk3308-hifi-0
name:
subname: subdevice #0
class: 0
subclass: 0
subdevices_count: 1
subdevices_avail: 1
I won’t list the full names or contents of the /proc/asound/card1/pcm0p/sub0/ and /proc/asound/card1/pcm0p/sub0/ items, but their hw_params, status and sw_params items are all “closed”.
In /dev/snd/ there are 9 items:
controlC0 symlinked from /dev/snd/by-path/platform-snd_aloop.0
controlC1 symlinked from /dev/snd/by-path/platform-acodec-sound
pcmC0D0c
pcmC0D0p
pcmC0D1c
pcmC0D1p
pcmC1D0c
pcmC1D0p
timer
I can dig up more details if someone points me where to look.
Does anyone have suggestions about how I can get line out working, and ideally have it appear to jack?