Open basilbasilikum opened 2 years ago
@basilbasilikum can you share the output of 'alsa-info', it's not clear what hardware you are using. Thanks!
Can you also add a 'blacklist snd-sof-pci-intel-cnl', boot and then do a manual 'modprobe snd-sof-pci-intel-cnl' that would help check if there's something blocking
better yet, add dynamic debug by copying this file sof-dyndbg.conf.txt as /etc/modprobe.d/sof-dyndbg.conf
alsa-info.sh
: http://alsa-project.org/db/?f=d613e748b059dc93e8c761432a6be7e93f1d393c
I will try 'blacklist snd-sof-pci-intel-cnl' and sof-dyndbg.conf.txt
and report back.
With blacklist snd-sof-pci-intel-cnl
, and sudo modprobe snd-sof-pci-intel-cnl
after boot, the command completed and exited without errors but immediately after exit the system hangs.
I have enabled dynamic debugging, but not sure how to get the logs file when it crash because:
I will try enabling dynamic debugging and boot without blacklist snd-sof-pci-intel-cnl
and try to record the screen as it boots later today when I get home.
ok, so
00:1f.3 Multimedia audio controller [0401]: Intel Corporation Cannon Lake PCH cAVS [8086:a348] (rev 10)
means a standard platform
{ PCI_DEVICE(0x8086, 0xa348), /* CNL-H */
.driver_data = (unsigned long)&cfl_desc},
Please make sure you remove the dsp_driver option, that will select snd-hda-intel only.
I am not aware of any specific issues with that platform, quite surprising.
https://youtu.be/OA8kGVxzN10 here is a video of the boot with dynamic debugging and without dsp_driver
nor blacklist snd-sof-pci-intel-cnl
I am not aware of any specific issues with that platform, quite surprising.
Could it be because it's specific to Dell or certain hardware more specific than just the platform? Or it's just a coincidence that #3838 is also on a Dell?
Try this blacklist snd-sof-pci-intel-cnl reboot dmesg -C dmesg -w > log.txt in another terminal sudo modprobe snd-sof-pci-intel-cnl
if this hangs again, reboot and check what the log says. If there are any issues please attach the file. thanks!
The log.txt
came out empty, probably because the file wasn't written to disk before the system hanged.
However, I tried using another PC to connect to the laptop via SSH to execute the dmesg
commands and had some results: https://pastebin.com/KPQrp0Ka
@basilbasilikum no real smoking gun, but the last thing that happens is to deal with a capture stream:
[ 45.642275] snd_sof:sof_pcm_open: sof-audio-pci-intel-cnl 0000:00:1f.3: pcm: open stream 0 dir 1
This typically happens when PulseAudio or PipeWire try to start streams on startup. Can you disable both and try just booting the kernel, with no streams in use. Thanks!
Does running systemctl --user disable pipewire-pulse.socket
, systemctl --user disable pipewire-pulse.socket
, systemctl --user disable pipewire.socket
and systemctl --user disable pipewire.service
as non-root user, and boot without blacklist snd-sof-pci-intel-cnl
suffice?
So apparently even if the services are disabled, they'll still start on boot. So I booted with blacklist snd-sof-pci-intel-cnl
, and then stopped the services, then only I run sudo modprobe snd-sof-pci-intel-cnl
. I have done this for 10+ boots, so far it still hasn't crash yet. But might be too soon to tell. I will loop it overnight later to be sure.
My current /etc/modprobe.d/blacklist_snd.conf
:
blacklist snd-sof-pci-intel-cnl
The command I run after every boot:
systemctl --user stop pipewire-pulse.service pipewire-pulse.socket pipewire.service pipewire.socket && sleep 9 && sudo modprobe snd-sof-pci-intel-cnl
I have looped the actions (reboot, stop all pipewire services/sockets, modprobe snd-sof-pci-intel-cnl) every five minutes for 10 hours, and I can confirm that if pipewire is stopped before modprobing, it will indeed not hang. If I don't stop pipewire before modprobing, it will hang.
@basilbasilikum thanks for the tests, what happens if you restart PipeWire e.g. 10s after the 'sudo modprobe snd-sof-pci-intel-cnl'
FWIW we have a similar sighting on a different platform, so chances are you were the first reporter of a problem we missed in our validation.
It still hangs after PipeWire is started.
Thanks @basilbasilikum, this really helps.
Sorry one more question @basilbasilikum. When you start pipewire, is the entire device stuck, or just the terminal where you issued the systemctl command? In the latter case, can you e.g. open another terminal and see the dmesg log?
The entire device is stuck, even REISUB doesn't work. So I can't see the dmesg log on that device. I can try using SSH from another device to get the dmesg log like before later.
Here's the dmesg log: https://pastebin.com/tq6Ych5X
10 seconds after I start PipeWire, it hangs.
Just to be clear, I connected to the device from another via SSH before I start PipeWire, and ran dmesg -C
then dmesg -w
before starting PipeWire. SSH does not work after it hangs.
Thanks @basilbasilikum. I think we'll have to try to reproduce this on our side to see what happens, this is a weird issue indeed.
Very similar to #2066 and probably also #3838
On Fedora 36, with clean install, some boots will hang (will not get to login screen, or even if it does, it hangs shortly after).
If
options snd-intel-dspcfg dsp_driver=1
is added to/etc/modprobe.d
, it'll boot fine with sound, but no mic.sudo journalctl -b -1 --no-hostname
after a force reboot is here, but probably not of any use because it's truncated and new lines are not added to disk.Here is a video of the boot without
rhgb quiet
, there are more lines in here than thejournalctl
log.lspci -nn
:rpm -qa alsa\* | sort
:uname -r
:Laptop is Dell Inspiron 15 7590.
Also reported to https://bugzilla.redhat.com/show_bug.cgi?id=2127312
Tried to use v2.2 from https://github.com/thesofproject/sof-bin, but still the same.