Jump to content

Recommended Posts

Posted (edited)

Hello again,
 

We're already aware of the existing issues with kernel 6 and the audio on the RK3308B. In this case, it fails again in the latest versions... Alsamixer detects the audio card and even shows it in arecord -L or arecord -l, but when trying to record, the error appears:
 

"arecord: set_params:1416: unable to install hw params"
 

The command applied is:

arecord -c 2 -r 192000 -f S32_LE test.wav
 

Although if I leave it without parameters to see what it does, it throws the same error, even if I specify the hardware... In the previous kernel (I think it was 6.12.11 (with the u-boot issue in the previous post), the audio worked perfectly).

Thanks for all.

Edited by Truenox
Posted

I was able to duplicate this problem. 

Audio output appears to be working in both edge and current branches. 

But,

The "arecord: set_params:1416: unable to install hw params" error occurs in the current branch as well.  This is running kernel 6.12.28

 

the example arecord command you gave appears to work in kernel 6.12.12.  So, the breakage occurred between 6.12.12 and 6.12.28

Posted

I just verified that the arecord command fails also with kernel

6.12.15

 

So, we now know the breakage occurred between 6.12.12 and 6.12.15

 

Posted

Dear @brentr,

It seems to be a common bug that keeps reappearing.
 

And as far as I understand, it's a fix that needs to be applied to the kernel because otherwise, it won't work.
 

Isn't there a way to make an external fix, which the user can install if needed and which can be applied to any kernel?
 

If this bug is hardcoded, I imagine it's impossible and must be modified every time the kernel is compiled...

I'm sorry I can't help much except by reporting the bug.

Thank you for your contribution and the work you do, both to you and the community.

Posted

Further testing shows that Armbian 25.2.x through the current version all run the

arecord -c 2 -r 192000 -f S32_LE test.wav

without error, PROVIDED the 6.12.12 kernel is used.

 

But, any kernel version after 6.12.12 fails.

 

Now I've just got to find out what broke in 6.12.13 🙂

 

Posted

The bug arose with kernel commit:

21cfbeae7d7c54a6cdea4b00096150f438f4fbde

 

ASoC: rockchip: i2s_tdm: Re-add the set_sysclk callback

Committer

Greg Kroah-Hartman<gregkh@linuxfoundation.org>

Author

Detlev Casanova<detlev.casanova@collabora.com>

Author date

1/17/25 8:31 AM

Parent

RISC-V: Mark riscv_v_init() as __init

Child

io_uring/uring_cmd: use cached cmd_op in io_uring_cmd_sock()

Branch

kernel-rockchip64-6.12 (io_uring/uring_cmd: use cached cmd_op in io_uring_cmd_sock())

Follows

test (ASoC: Intel: sof_sdw: Fix DMI match for Lenovo 83JX, 83MC...)

 

ASoC: rockchip: i2s_tdm: Re-add the set_sysclk callback

 

[ Upstream commit 5323186e2e8d33c073fad51e24f18e2d6dbae2da ]

 

In commit

9e2ab4b18ebd ("ASoC: rockchip: i2s-tdm: Fix inaccurate sampling rates"),

the set_sysclk callback was removed as considered unused as the mclk rate

can be set in the hw_params callback.

The difference between hw_params and set_sysclk is that the former is

called with the audio sampling rate set in the params (e.g.: 48000 Hz)

while the latter is called with a clock rate already computed with

sampling_rate * mclk-fs (e.g.: 48000 * 256)

 

For HDMI audio using the Rockchip I2S TDM driver, the mclk-fs value must

be set to 128 instead of the default 256, and that value is set in the

device tree at the machine driver level (like a simple-audio-card

compatible node).

Therefore, the i2s_tdm driver has no idea that another mclk-fs value can

be configured and simply computes the mclk rate in the hw_params callback

with DEFAULT_MCLK_FS * params_rate(params), which is wrong for HDMI

audio.

 

Re-add the set_sysclk callback so that the mclk rate is computed by the

machine driver which has the correct mclk-fs value set in its device tree

node.

 

Fixes: 9e2ab4b18ebd ("ASoC: rockchip: i2s-tdm: Fix inaccurate sampling rates")

Signed-off-by: Detlev Casanova <detlev.casanova@collabora.com>

Link: https://patch.msgid.link/20250117163102.65807-1-detlev.casanova@collabora.com

Signed-off-by: Mark Brown <broonie@kernel.org>

Signed-off-by: Sasha Levin <sashal@kernel.org>

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines