-
Notifications
You must be signed in to change notification settings - Fork 5.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
5.10.63 causes 1000s of lines of errors relating to hdmi-audio-codec hdmi-audio-codec.2.auto: ASoC: error at snd_soc_dai_startup on i2s-hifi: -19 #4575
Comments
I submitted a RFC patch last year, but it wasn't accepted because the issue must be solved differently: More recent discussion: |
I find it odd that under the older kernel, I do not see this problem. To me something changed between those two kernel commits. I verified this on a separate RPi4 connected to a different monitor.
I can run a bisect but before I do that work/time I wanted to get some feedback. Thanks. |
A bisect would be useful. #4538 would be my first guess (although I'm only seeing the usual couple of dmesg entries with a kernel with that in). |
I will git it a shot but I am having an issue getting the bisect to track the rpi/5.10.y branch. It seems to be using another branch.
When I built this commit the boot process froze. Usually I see 4x raspberry pi logos when booting, but this kernel was 4 tux logos. Am I some how jumping branches? |
Yes, the upstream merge commits (e.g. Someone with more knowledge may know a better way. |
Google has failed me. Running |
My workaround has been to write a script to revert all of the commits in question, cherry-pick the originals, and bisect through the cherry-picks. |
@pelwell - Do you have some code you can share for this case? Alternatively, how can I just get an ordered list of the all commits between those two points? I could manually do the bisect with simple checkouts and manually notes. EDIT: no, this doesn't work either.
There are not 9,119 commits between the last-good and HEAD staying on the branch. |
I updated the first post in this Issue just now to detail further breakage. Note that reverting the PR @popcornmix called out (assuming I did it correctly, see these two patches and provide feedback), did not fix the issue. 0001-Revert-drm-vc4-hdmi-Actually-check-for-the-connector.patch.txt |
There are a few commits in the range that don't want to revert without intervention, but fortunately I think we can ignore them. Try this:
There are 344 commits that have been reverted and reapplied (git branch -vv should show us to be 688 commits ahead of upstream) , so we can:
|
|
Sorry, yes -- it's muscle memory for me. The full version is:
|
https://github.com/graysky2/linux-1/tree/try |
Log
|
That commit from my branch maps to 17a5544 0001-Revert-drm-vc4-hdmi-Remove-the-DDC-probing-for-statu.patch When I reverted it from HEAD, the bug is resolved:
|
Ping @mripard |
Do you have a prebuilt image (or some way to generate one) I can grab to reproduce this bug ? |
I don't... it's just Arch ARM + kodi-rpi package. If it is helpful for you, I could tar it up and you could just extract that tarball to prepared SD card. Let me know. |
@graysky2 I'm not seeing this issue with LibreELEC running kodi on 5.10.63. I assume you have one hdmi display connected? And to HDMI0 (next to power)? |
I am happy to spin up a fresh instance and create an image. I never used Yes, one HDMI connected to HDMI0 but not 4kp60. The monitor is 1080p HDTV. |
As I test, I took the uSD card from the RPi4 connected to the HDTV on which I see this bug and moved it to another RPi4 which is connected to a different monitor, all other settings were the same, I do not see the bug. When I put the uSD back into the original RPi4 connected to the HDTV and boot, I see the bug. This is consistent with @popcornmix experience and hypothesis that it is my-setup-specific. Very annoying. |
If it's display specific I'd expect it's related to edid or hotplug behaviour. |
Or capture the EDID and post it here for analysis and testing with. |
Yes and Yes. Just need some time. |
One thing worth testing too would be to double-check the cables and connectors. Before that patch was merged, it was relying on fetching the EDID as the primary mean to detect whether the display was connected or not. If this doesn't work anymore, it hints at the fact that the hotplug detect line stays (or is read) low for some reason |
@mripard - Connections are tight. Is there a test to verify that fetching was successful? |
I'd try to swap things around :) You have the setup A with a Pi4, cable and TV that doesn't work, and a setup B with a Pi4, cable and monitor that works. I'd try to test Pi4 B with the cable B on the display A. If it still doesn't work, it's an issue related to the TV. |
I extracted the EDID from the monitor that did not exhibit the bug and placed it on the setup exhibiting the bug. Booting with it fixes the bug. Here is the EDID from the "good" monitor:
Here is the EDID extracted from the HDTV causing the bug:
EDIT: I should mention that booting with the EDID "good" from the other monitor renders the TV not outputing anything. It indicates "invalid mode." |
@mripard @popcornmix - I think the experiment swapping the EDIDs was a bit of a red herring. Turns out that if I simply extract the EDID from the HDTV and load it via For the record, on the RPi4 setup that originally triggered this bug:
|
I removed
The bug is not triggered if I keep
|
I meant |
I see. I am glad that I can suppress (fix?) the bug with the addition of |
Hi, I can confirm this issue which is also happening to me, however it is not thousands of lines, its about less than 50 I verified that the Fake KMS driver works fine, or at least the old way, where turning off monitors has no effect. My situation is a little different so I wanted to explain my experience in full detail in hopes that its helpful. I might not be useful for debugging as I have never played with the kernel for the Pi 4 before. for context my Pi 4 is set up like so:
I upgraded to 5.10.63 from (I think) 5.10.17 from early this year using The first reboot after upgrading, everything seemed fine. One of the monitors turns itself off after enough time with no signal, we commonly have both monitors off at the end of the day. Turning them back on, or turning only one of them off is when unusual behavior is noticed. for me during a normal boot, both monitors come up with native resolution, but when I login the desktop environment switches to KDE, where I have monitor 1 set to 768p, so that both are the same resolution. It almost seems like a new feature, that the desktop virtual space adapts to whichever monitor is on, but has issues in how its currently implemented. If I toggle one monitor at a time after booting with both on, it seems to adjust itself fine, but...... If both monitors are turned off, and then back on, monitor 1 goes back to its native resolution, not "remembering" that I had set it to 768p. re-applying the intended resolution fixes that. Sometimes the virtual desktop spaces end up overlapping, which I also have to re-adjust. (probably related to the resolution change, as the pixel offset for the second virtual desktop space seems to be the same) If I boot with only monitor 1 on, I get the error lines described here, about 30-50 times, and its worth noting that audio still works (when turning monitor 2 on after boot)
if I boot with only monitor 2 on, I get a different set of errors, and this sequence repeats about 20 times in the same second and then stops (ending up about the same length as the other case). I also seem to get this when toggling between monitors. Note that audio still works after this as well.
if I boot headless, and then turn them on, there will be no graphics whatsoever, and both monitors show "no signal". However, I can still use Also, when booting headless (both monitors off), the If I were to connect to the VNC server when it is headless, I will get a virtual desktop at minimum resolution which is not associated with any of the physical displays, as they would still show "no signal". Toggling any of the monitors changes the virtual desktop space, and this is equally reflected in a VNC connection, except if I boot headless at first like I described. I'm fine with using FKMS driver for now, but it would be nice to force hotplug like you have described for both my monitors. Is that addition to kernel command line for all monitors, or is "HDMI-A-1" a tag of some kind? any documentation for |
This is standard linux/kms, rather than pi specific. Here is a good description: If you are trying to boot with monitor powered off (and the monitor does not support reading the edid in this state) |
Thanks for the link I tried providing the edid for each monitor from a file, placing them in /usr/lib/firmware/edid like the wiki example Right now the only change is adding to the end of cmdline
When I boot with all monitors on, no errors whatsoever, however if I boot with monitors off, in kernel log I get these messages looped 20 times like I said before
One last strange thing, now that I have this change in cmdline, the first monitor changes mode to native 1080p when I change from desktops to TTY with I have some lines in config.txt that I believe handled this for FKMS, but if I understood what I read here correctly, the KMS driver does not read from config.txt at all, so I would have to use
I don't remember if mode changes between TTY and desktops on FKMS...will have to double check... |
You can add to the end of the |
Thanks again I found official docs for |
This is still happening on an RPi 3B running Linux
|
Did this ever get resolved / understood? [ 39.363725] hdmi-audio-codec hdmi-audio-codec.2.auto: ASoC: error at snd_soc_dai_startup on i2s-hifi: -19 |
@jc-kynesim does I think if you are just getting a small number of those messages, then it's a known harmless issue. If you can drive audio from X and not outside X then I'd expect this is a higher level issue (e.g. pulse audio related). |
No that line doesn't appear to change anything. |
This is what I see on a "working fine" system:
|
Fair enough - then its just that I have a few more (for whatever reason) than you do. It would be nice if we had none as they are somewhat distracting, but it is unlikely to be the cause of any of my woes. |
Raspberry Pi 4 Model B Rev 1.5 Standard OS deployment build with only network interface attached and the error still occur: 17.323700] hdmi-audio-codec hdmi-audio-codec.4.auto: ASoC: error at snd_soc_dai_startup on i2s-hifi: -19 |
Latest rpi-update kernel (and rpi-5.15/6.0/6.1 trees) should avoid this error spam. |
I currently still have those errors.
I have a tv connected via hdmi but I don't use its speakers nor the output jack onboard, I use instead an USB PCM2704 for a better audio quality. I have # https://alsa.opensrc.org/MultipleCards#Reordering_the_driver_for_a_particular_card
# 08bb:27c4 Texas Instruments PCM2704C stereo audio DAC
# 1395:0025 Sennheiser Communications Headset [PC 8]
# 046d:0836 Logitech webcam mic
#options snd_bcm2835 enable_hdmi=0 enable_headphones=0 ## TAKES SLOTS 1 + 2,3 = HDMI[1,2]
options snd-usb-audio index=3,4,5 vid=0x08bb,0x1395,0x046d pid=0x27c4,0x0025,0x0836
|
That's not latest rpi-update kernel (which you need to run rpi-update for). That version should report: |
Ops, forgive me 🙏🏻 I didn't know that tool and I'm afraid to update the kernel with it, I'll wait for the next kernel package update 👍🏻 |
I was so brave to rpi-update and there are no more messages in dmesg! Great work! ;) |
Just to add my own experience, I saw these same errors as well but they went away after an rpi-update. |
I have the same error, but this error cancel the session opening of user "pi" and go back to the login screen in loop.
|
fixed, the problem was a full sdcard... |
Having this problem since I updated 2-3 days ago my raspberry pi 400. Running Ubuntu 22.10 on it. |
in general you should get support from Ubuntu forums since you're using their kernel the problem with the displays is separate from the errors that you posted, which is HDMI audio only thing I can recommend is look at the discussion above about kernel command line property "video" so you can manually set the resolution and "force enable" for the display if I remember correctly, the problem I had was the display had to be connected and powered on before booting the raspberry pi, otherwise it was never detected. if you can confirm that current behavior then setting the video property in kernel command line will likely fix it. |
The message is typically harmless. I'll close this as issue no longer occurs on RPiOS. |
Describe the bug
Downgrading to 5.10.59-1 fixes both issues. There are only 5 lines in dmesg displaying that error.
That kernel is based on this commit: 22201d4
To reproduce
Expected behaviour
Actual behaviour
System
Copy and paste the results of the raspinfo command in to this section. Alternatively, copy and paste a pastebin link, or add answers to the following questions:
vcgencmd version
)?uname -a
)?Linux treetop 5.10.63-1-ARCH #1 SMP PREEMPT
Logs
If applicable, add the relevant output from
dmesg
or similar.Additional context
Add any other relevant context for the problem.
The text was updated successfully, but these errors were encountered: