thesofproject / linux

Linux kernel source tree
Other
89 stars 129 forks source link

I: [pulseaudio-13.99.1] alsa-util.c: Error opening PCM device hw:sofhdadsp,6: No such file or directory #1879

Closed lkraav closed 4 years ago

lkraav commented 4 years ago

Machine: Dell XPS 13 7390 Ice Lake Kernel: 5.5.7-gentoo+ Alsa-info: http://alsa-project.org/db/?f=e46cd6d581178ee8251c0d54b458cde23441ad11 Pulseaudio: 13.99.1 SOF-firmware: 1.4.2

Something is preventing Pulseaudio from completing profile initialization. Everything is as up to date as can be, as of today. Only error I'm seeing is in issue title. Full pulseaudio debug log below for reference. Any thoughts on what to try next?

leho@papaya pulse $ [-] pulseaudio -vvvv                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
I: [pulseaudio] main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation not permitted                                                                                                                                                                                                                                                                                                                                                                                                                                        
I: [pulseaudio] main.c: setrlimit(RLIMIT_RTPRIO, (9, 9)) failed: Operation not permitted                                                                                                                                                                                                                                                                                                                                                                                                                                        
D: [pulseaudio] core-rtclock.c: Timer slack is set to 50 us.                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
I: [pulseaudio] core-util.c: Failed to acquire high-priority scheduling: No such file or directory                                                                                                                                                                                                                                                                                                                                                                                                                              
I: [pulseaudio] main.c: This is PulseAudio 13.99.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                              D: [pulseaudio] main.c: Compilation host: x86_64-pc-linux-gnu                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
D: [pulseaudio] main.c: Compilation CFLAGS: -O2 -pipe -march=native -Wl,-O1 -Wl,--as-needed -Wall -W -Wextra -Wno-long-long -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing -Wwrite-strings -Wno-unused-parameter -fno-common -fdiagnostics-show-option -fdiagnostics-color=auto                                                                                                                                                                          
D: [pulseaudio] main.c: Running on host: Linux x86_64 5.5.7-gentoo+ thesofproject/sof#14 SMP PREEMPT Mon Mar 2 13:19:30 EET 2020                                                                                                                                                                                                                                                                                                                                                                                                                 D: [pulseaudio] main.c: Found 8 CPUs.                                                                                                                                                                                                                     
I: [pulseaudio] main.c: Page size is 4096 bytes                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 D: [pulseaudio] main.c: Compiled with Valgrind support: yes                                                                
D: [pulseaudio] main.c: Running in valgrind mode: no                                                                                                                                                                                                                                                                                                                                                                                                                                                                            D: [pulseaudio] main.c: Running in VM: no                                                                                  
D: [pulseaudio] main.c: Running from build tree: no                                                                                                                                                                                                                                                                                                                                                                                                                                                                             D: [pulseaudio] main.c: Optimized build: yes                                                                                                                                                                                                              
D: [pulseaudio] main.c: FASTPATH defined, only fast path asserts disabled.                                                                                                                                                                                                                                                                                                                                                                                                                                                      I: [pulseaudio] main.c: Machine ID is 3ca321b6c89b0b95a0d5993d00000028.                                                                                                                                                                                                                                                                                                                                                                                                                                                         
I: [pulseaudio] main.c: Session ID is 1.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        I: [pulseaudio] main.c: Using runtime directory /run/user/1000/pulse.                                                      
I: [pulseaudio] main.c: Using state directory /home/leho/.config/pulse.                                                                                                                                                                                                                                                                                                                                                                                                                                                         I: [pulseaudio] main.c: Using modules directory /usr/lib64/pulse-13.99/modules.                                            
I: [pulseaudio] main.c: Running in system mode: no                                                                                                                                                                                                                                                                                                                                                                                                                                                                              I: [pulseaudio] main.c: System supports high resolution timers                                                             
D: [pulseaudio] memblock.c: Using shared memfd memory pool with 1024 slots of size 64,0 KiB each, total size is 64,0 MiB, maximum usable slot size is 65472                                                                                                                                                                                                                                                                                                                                                                     I: [pulseaudio] cpu-x86.c: CPU flags: CMOV MMX SSE SSE2 SSE3 SSSE3 SSE4_1 SSE4_2                                                                                                                                                                                                                                                                                                                                                                                                                                                
I: [pulseaudio] svolume_mmx.c: Initialising MMX optimized volume functions.                                                                                                                                                                                                                                                                                                                                                                                                                                                     I: [pulseaudio] remap_mmx.c: Initialising MMX optimized remappers.                                                                                                                                                                                        
I: [pulseaudio] svolume_sse.c: Initialising SSE2 optimized volume functions.                                                                                                                                                                                                                                                                                                                                                                                                                                                    I: [pulseaudio] remap_sse.c: Initialising SSE2 optimized remappers.                                                        
I: [pulseaudio] sconv_sse.c: Initialising SSE2 optimized conversions.                                                                                                                                                                                                                                                                                                                                                                                                                                                           I: [pulseaudio] svolume_orc.c: Initialising ORC optimized volume functions.                                                                                                                                                                                                                                                                                                                                                                                                                                                     
D: [pulseaudio] database-gdbm.c: Opened GDBM database '/home/leho/.config/pulse/3ca321b6c89b0b95a0d5993d00000028-device-volumes.x86_64-pc-linux-gnu.gdbm'                                                                                                                                                                                                                                                                                                                                                                       I: [pulseaudio] module-device-restore.c: Successfully opened database file '/home/leho/.config/pulse/3ca321b6c89b0b95a0d5993d00000028-device-volumes'.                                                                                                          
I: [pulseaudio] module.c: Loaded "module-device-restore" (index: #0; argument: "").                                                                                                                                                                                                                                                                                                                                                                                                                                             D: [pulseaudio] database-gdbm.c: Opened GDBM database '/home/leho/.config/pulse/3ca321b6c89b0b95a0d5993d00000028-stream-volumes.x86_64-pc-linux-gnu.gdbm'                                                                                                 
I: [pulseaudio] module-stream-restore.c: Successfully opened database file '/home/leho/.config/pulse/3ca321b6c89b0b95a0d5993d00000028-stream-volumes'.                                                                                                                                                                                                                                                                                                                                                                          D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Ext.StreamRestore1 added for object /org/pulseaudio/stream_restore1                                                                                                                                   
I: [pulseaudio] module.c: Loaded "module-stream-restore" (index: thesofproject/sof#1; argument: "").                                                                                                                                                                                                                                                                                                                                                                                                                                             D: [pulseaudio] database-gdbm.c: Opened GDBM database '/home/leho/.config/pulse/3ca321b6c89b0b95a0d5993d00000028-card-database.x86_64-pc-linux-gnu.gdbm'                                                                                                        
I: [pulseaudio] module-card-restore.c: Successfully opened database file '/home/leho/.config/pulse/3ca321b6c89b0b95a0d5993d00000028-card-database'.                                                                                                                                                                                                                                                                                                                                                                             I: [pulseaudio] module.c: Loaded "module-card-restore" (index: thesofproject/sof#2; argument: "").                                          
I: [pulseaudio] module.c: Loaded "module-augment-properties" (index: thesofproject/sof#3; argument: "").                                                                                                                                                                                                                                                                                                                                                                                                                                         I: [pulseaudio] module.c: Loaded "module-switch-on-port-available" (index: thesofproject/sof#4; argument: "").                                                                                                                                                             
D: [pulseaudio] module.c: Checking for existence of '/usr/lib64/pulse-13.99/modules/module-udev-detect.so': success                                                                                                                                                                                                                                                                                                                                                                                                             D: [pulseaudio] module-udev-detect.c: /dev/snd/controlC0 is accessible: yes                                                                                                                                                                               
D: [pulseaudio] module-udev-detect.c: /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0 is busy: no                                                                                                                                            
D: [pulseaudio] module-udev-detect.c: Loading module-alsa-card with arguments 'device_id="0" name="pci-0000_00_1f.3-platform-skl_hda_dsp_generic" card_name="alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1"'
D: [pulseaudio] dbus-util.c: Successfully connected to D-Bus session bus 9f945673b095371fe30fae665e5cfed9 as :1.132                                                                           
D: [pulseaudio] reserve-wrap.c: Successfully acquired reservation lock on device 'Audio0'       
I: [pulseaudio] alsa-ucm.c: UCM available for card hw:0                                                                                                                                                                                                       
I: [pulseaudio] alsa-ucm.c: Set UCM verb to HiFi                                                                                                                                                                                                              
D: [pulseaudio] alsa-ucm.c: Got PlaybackPCM for device HDMI3: hw:sofhdadsp,5                                                                                                                  
D: [pulseaudio] alsa-ucm.c: Got PlaybackCTL for device HDMI3: hw:sofhdadsp                                                                                                                                                                                                                                                                                                                                                                                                                                                      
D: [pulseaudio] alsa-ucm.c: Got PlaybackPriority for device HDMI3: 700                          
D: [pulseaudio] alsa-ucm.c: Got CaptureCTL for device HDMI3: hw:sofhdadsp                       
D: [pulseaudio] alsa-ucm.c: Got JackControl for device HDMI3: HDMI/DP,pcm=5 Jack                
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device HDMI3, assuming stereo duplex.                                                                                                                                              
D: [pulseaudio] alsa-ucm.c: No _conflictingdevs for device HDMI3                                                                                                                                                                                              
D: [pulseaudio] alsa-ucm.c: No _supporteddevs for device HDMI3                                  
D: [pulseaudio] alsa-ucm.c: Got PlaybackPCM for device HDMI2: hw:sofhdadsp,4                                                    
D: [pulseaudio] alsa-ucm.c: Got PlaybackCTL for device HDMI2: hw:sofhdadsp                                                      
D: [pulseaudio] alsa-ucm.c: Got PlaybackPriority for device HDMI2: 600                                                          
D: [pulseaudio] alsa-ucm.c: Got CaptureCTL for device HDMI2: hw:sofhdadsp                                                       
D: [pulseaudio] alsa-ucm.c: Got JackControl for device HDMI2: HDMI/DP,pcm=4 Jack                                                
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device HDMI2, assuming stereo duplex.                                                                                                                                              
D: [pulseaudio] alsa-ucm.c: No _conflictingdevs for device HDMI2                                                                
D: [pulseaudio] alsa-ucm.c: No _supporteddevs for device HDMI2                                                                  
D: [pulseaudio] alsa-ucm.c: Got PlaybackPCM for device HDMI1: hw:sofhdadsp,3                                                    
D: [pulseaudio] alsa-ucm.c: Got PlaybackCTL for device HDMI1: hw:sofhdadsp                                                      
D: [pulseaudio] alsa-ucm.c: Got PlaybackPriority for device HDMI1: 500                                                          
D: [pulseaudio] alsa-ucm.c: Got CaptureCTL for device HDMI1: hw:sofhdadsp                                                       
D: [pulseaudio] alsa-ucm.c: Got JackControl for device HDMI1: HDMI/DP,pcm=3 Jack                                                
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device HDMI1, assuming stereo duplex.                                                                                                                                              
D: [pulseaudio] alsa-ucm.c: No _conflictingdevs for device HDMI1                                                                
D: [pulseaudio] alsa-ucm.c: No _supporteddevs for device HDMI1                                                                  
D: [pulseaudio] alsa-ucm.c: Got CapturePCM for device Headphones2: hw:sofhdadsp                                                 
D: [pulseaudio] alsa-ucm.c: Got PlaybackCTL for device Headphones2: hw:sofhdadsp                                                
D: [pulseaudio] alsa-ucm.c: Got CaptureCTL for device Headphones2: hw:sofhdadsp                                                 
D: [pulseaudio] alsa-ucm.c: Got CaptureVolume for device Headphones2: Capture Volume                                            
D: [pulseaudio] alsa-ucm.c: Got CaptureSwitch for device Headphones2: Capture Switch                                            
D: [pulseaudio] alsa-ucm.c: Got CaptureMixerElem for device Headphones2: Capture                                                
D: [pulseaudio] alsa-ucm.c: Got CapturePriority for device Headphones2: 200                                                     
D: [pulseaudio] alsa-ucm.c: Got JackControl for device Headphones2: Mic Jack                                                    
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'CaptureChannels' for device Headphones2, assuming stereo duplex.                                                                                                                                         
D: [pulseaudio] alsa-ucm.c: No _conflictingdevs for device Headphones2                                                          
D: [pulseaudio] alsa-ucm.c: No _supporteddevs for device Headphones2                                                            
D: [pulseaudio] alsa-ucm.c: Got CapturePCM for device Mic: hw:sofhdadsp,6                                                       
D: [pulseaudio] alsa-ucm.c: Got PlaybackCTL for device Mic: hw:sofhdadsp                                                        
D: [pulseaudio] alsa-ucm.c: Got CaptureCTL for device Mic: hw:sofhdadsp                                                         
D: [pulseaudio] alsa-ucm.c: Got CaptureVolume for device Mic: PGA10.0 10 Master Capture Volume                                  
D: [pulseaudio] alsa-ucm.c: Got CaptureMixerElem for device Mic: PGA10.0 10 Master                                              
D: [pulseaudio] alsa-ucm.c: Got CapturePriority for device Mic: 100                                                             
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'CaptureChannels' for device Mic, assuming stereo duplex.                                                                                                                                                 
D: [pulseaudio] alsa-ucm.c: No _conflictingdevs for device Mic                                                                  
D: [pulseaudio] alsa-ucm.c: No _supporteddevs for device Mic                                                                    
D: [pulseaudio] alsa-ucm.c: Got PlaybackPCM for device Speaker: hw:sofhdadsp                                                    
D: [pulseaudio] alsa-ucm.c: Got PlaybackCTL for device Speaker: hw:sofhdadsp                                                    
D: [pulseaudio] alsa-ucm.c: Got PlaybackVolume for device Speaker: Speaker Playback Volume                                      
D: [pulseaudio] alsa-ucm.c: Got PlaybackSwitch for device Speaker: Speaker Playback Switch                                      
D: [pulseaudio] alsa-ucm.c: Got PlaybackMixerElem for device Speaker: Speaker                                                   
D: [pulseaudio] alsa-ucm.c: Got PlaybackMasterElem for device Speaker: Master                                                   
D: [pulseaudio] alsa-ucm.c: Got PlaybackPriority for device Speaker: 100                                                        
D: [pulseaudio] alsa-ucm.c: Got CaptureCTL for device Speaker: hw:sofhdadsp                                                     
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device Speaker, assuming stereo duplex.                                                                                                                                            
D: [pulseaudio] alsa-ucm.c: No _conflictingdevs for device Speaker                                                              
D: [pulseaudio] alsa-ucm.c: No _supporteddevs for device Speaker                                                                
D: [pulseaudio] alsa-ucm.c: Got PlaybackPCM for device Headphones1: hw:sofhdadsp                                                
D: [pulseaudio] alsa-ucm.c: Got PlaybackCTL for device Headphones1: hw:sofhdadsp                                                
D: [pulseaudio] alsa-ucm.c: Got PlaybackVolume for device Headphones1: Headphone Playback Volume                                
D: [pulseaudio] alsa-ucm.c: Got PlaybackSwitch for device Headphones1: Headphone Playback Switch                                
D: [pulseaudio] alsa-ucm.c: Got PlaybackMixerElem for device Headphones1: Headphone                                             
D: [pulseaudio] alsa-ucm.c: Got PlaybackMasterElem for device Headphones1: Master                                               
D: [pulseaudio] alsa-ucm.c: Got PlaybackPriority for device Headphones1: 200                                                    
D: [pulseaudio] alsa-ucm.c: Got CaptureCTL for device Headphones1: hw:sofhdadsp                                                 
D: [pulseaudio] alsa-ucm.c: Got JackControl for device Headphones1: Headphone Mic Jack                                          
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device Headphones1, assuming stereo duplex.                                                                                                                                        
D: [pulseaudio] alsa-ucm.c: No _conflictingdevs for device Headphones1                                                          
D: [pulseaudio] alsa-ucm.c: No _supporteddevs for device Headphones1                                                            
I: [pulseaudio] module-alsa-card.c: Found UCM profiles                                                                          
D: [pulseaudio] alsa-ucm.c: UCM mapping: Mapping HiFi: hw:sofhdadsp,5: sink dev HDMI3                                           
D: [pulseaudio] alsa-ucm.c: UCM mapping: Mapping HiFi: hw:sofhdadsp,4: sink dev HDMI2                                           
D: [pulseaudio] alsa-ucm.c: UCM mapping: Mapping HiFi: hw:sofhdadsp,3: sink dev HDMI1                                           
D: [pulseaudio] alsa-ucm.c: UCM mapping: Mapping HiFi: hw:sofhdadsp: source dev Headphones2                                     
D: [pulseaudio] alsa-ucm.c: UCM mapping: Mapping HiFi: hw:sofhdadsp,6: source dev Mic                                           
D: [pulseaudio] alsa-ucm.c: UCM mapping: Mapping HiFi: hw:sofhdadsp: sink dev Speaker                                           
D: [pulseaudio] alsa-ucm.c: UCM mapping: Mapping HiFi: hw:sofhdadsp: sink dev Headphones1                                       
D: [pulseaudio] alsa-mixer.c: Profile HiFi (Play HiFi quality Music), input=(null), output=(null) priority=8000, supported=yes n_input_mappings=2, n_output_mappings=4                                                                                          
D: [pulseaudio] alsa-mixer.c: Input HiFi: hw:sofhdadsp: source                                                                  
D: [pulseaudio] alsa-mixer.c: Input HiFi: hw:sofhdadsp,6: source                                                                
D: [pulseaudio] alsa-mixer.c: Output HiFi: hw:sofhdadsp,5: sink                                                                 
D: [pulseaudio] alsa-mixer.c: Output HiFi: hw:sofhdadsp,4: sink                                                                 
D: [pulseaudio] alsa-mixer.c: Output HiFi: hw:sofhdadsp,3: sink                                                                 
D: [pulseaudio] alsa-mixer.c: Output HiFi: hw:sofhdadsp: sink                                                                   
I: [pulseaudio] alsa-ucm.c: Set ucm verb to HiFi                                                                                
D: [pulseaudio] alsa-util.c: Trying hw:sofhdadsp,5 with SND_PCM_NO_AUTO_FORMAT ...                                              
D: [pulseaudio] alsa-util.c: Managed to open hw:sofhdadsp,5                                                                     
D: [pulseaudio] alsa-util.c: Maximum hw buffer size is 341 ms                                                                   
D: [pulseaudio] alsa-util.c: Set buffer size first (to 4797 samples), period size second (to 1199 samples).                     
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp,5 doesn't support 44100 Hz, changed to 48000 Hz.                               
D: [pulseaudio] alsa-util.c: Trying hw:sofhdadsp,4 with SND_PCM_NO_AUTO_FORMAT ...                                              
D: [pulseaudio] alsa-util.c: Managed to open hw:sofhdadsp,4                                                                     
D: [pulseaudio] alsa-util.c: Maximum hw buffer size is 341 ms                                                                   
D: [pulseaudio] alsa-util.c: Set buffer size first (to 4797 samples), period size second (to 1199 samples).                     
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp,4 doesn't support 44100 Hz, changed to 48000 Hz.                               
D: [pulseaudio] alsa-util.c: Trying hw:sofhdadsp,3 with SND_PCM_NO_AUTO_FORMAT ...                                              
D: [pulseaudio] alsa-util.c: Managed to open hw:sofhdadsp,3                                                                     
D: [pulseaudio] alsa-util.c: Maximum hw buffer size is 341 ms                                                                   
D: [pulseaudio] alsa-util.c: Set buffer size first (to 4797 samples), period size second (to 1199 samples).                     
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp,3 doesn't support 44100 Hz, changed to 48000 Hz.                               
D: [pulseaudio] alsa-util.c: Trying hw:sofhdadsp with SND_PCM_NO_AUTO_FORMAT ...                                                
D: [pulseaudio] alsa-util.c: Managed to open hw:sofhdadsp                                                                       
D: [pulseaudio] alsa-util.c: Maximum hw buffer size is 341 ms                                                                   
D: [pulseaudio] alsa-util.c: Set buffer size first (to 4797 samples), period size second (to 1199 samples).                     
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp doesn't support 44100 Hz, changed to 48000 Hz.                                 
D: [pulseaudio] alsa-util.c: Trying hw:sofhdadsp with SND_PCM_NO_AUTO_FORMAT ...                                                
D: [pulseaudio] alsa-util.c: Managed to open hw:sofhdadsp                                                                       
D: [pulseaudio] alsa-util.c: Maximum hw buffer size is 341 ms                                                                   
D: [pulseaudio] alsa-util.c: Set buffer size first (to 4797 samples), period size second (to 1199 samples).                     
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp doesn't support 44100 Hz, changed to 48000 Hz.                                 
D: [pulseaudio] alsa-util.c: Trying hw:sofhdadsp,6 with SND_PCM_NO_AUTO_FORMAT ...                                              
I: [pulseaudio] alsa-util.c: Error opening PCM device hw:sofhdadsp,6: No such file or directory                                 
D: [pulseaudio] alsa-mixer.c: Profile set 0x562d12c137d0, auto_profiles=no, probed=yes, n_mappings=0, n_profiles=0, n_decibel_fixes=0                                                                                                                           
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.                                                           
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_00_1f.3-platform-skl_hda_dsp_generic" card_name="alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
I: [pulseaudio] module-udev-detect.c: Card /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0 (alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic) failed to load module.                                                                    
I: [pulseaudio] module-udev-detect.c: Found 1 cards.
...

Kernel log:

leho@papaya / $ journalctl -b | grep sof-audio
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: enabling device (0000 -> 0002)
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: warning: No matching ASoC machine driver found
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: use msi interrupt mode
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_globals_exit [i915])
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: unexpected ipc interrupt raised!
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: Firmware info: version 1:1:0-fcf6c
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: Firmware: ABI 3:11:0 Kernel ABI 3:11:0
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: firmware boot complete
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: Topology: ABI 3:11:0 Kernel ABI 3:11:0
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp3 Tx not handled
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec0_in not handled
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp2 Tx not handled
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec1_in not handled
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp1 Tx not handled
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec0_out not handled
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Analog CPU Playback not handled
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec1_out not handled
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Digital CPU Playback not handled
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec2_in not handled
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Alt Analog CPU Playback not handled
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec2_out not handled
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Analog CPU Capture not handled
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp1_out not handled
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Digital CPU Capture not handled
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp2_out not handled
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Alt Analog CPU Capture not handled
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp3_out not handled
märts 02 14:40:41 papaya kernel: sof-audio-pci 0000:00:1f.3: ASoC: Parent card not yet available, widget card binding deferred

EDIT arecord

leho@papaya / $ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: sofhdadsp [sof-hda-dsp], device 0: HDA Analog (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 1: HDA Digital (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
juimonen commented 4 years ago

@lkraav I think the "6" is hard coded in alsa machine driver for dmic (or at least it was like that some time ago). You could check with arecord -l as the dmic should be listed there...

lkraav commented 4 years ago

I added arecord output

leho@papaya / $ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: sofhdadsp [sof-hda-dsp], device 0: HDA Analog (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 1: HDA Digital (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Not sure what to make of it?

juimonen commented 4 years ago

@lkraav hmm ok, to me it looks like you wouldn't have digital mics for some reason (so the driver at least seems to think so). @plbossart you have any idea? Is is that we don't have correct machine driver loaded?

lkraav commented 4 years ago

Hmmm, I would assume Ice Lake laptops would have it across the board, right?

leho@papaya ~ $ [-] zgrep SOF /proc/config.gz 
...
CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m
CONFIG_SND_SOC_SOF_TOPLEVEL=y
CONFIG_SND_SOC_SOF_PCI=m
CONFIG_SND_SOC_SOF_ACPI=m
CONFIG_SND_SOC_SOF=m
CONFIG_SND_SOC_SOF_PROBE_WORK_QUEUE=y
CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y
CONFIG_SND_SOC_SOF_INTEL_ACPI=m
CONFIG_SND_SOC_SOF_INTEL_PCI=m
CONFIG_SND_SOC_SOF_INTEL_COMMON=m
# CONFIG_SND_SOC_SOF_BAYTRAIL_SUPPORT is not set
# CONFIG_SND_SOC_SOF_BROADWELL_SUPPORT is not set
# CONFIG_SND_SOC_SOF_MERRIFIELD_SUPPORT is not set
# CONFIG_SND_SOC_SOF_APOLLOLAKE_SUPPORT is not set
# CONFIG_SND_SOC_SOF_GEMINILAKE_SUPPORT is not set
# CONFIG_SND_SOC_SOF_CANNONLAKE_SUPPORT is not set
CONFIG_SND_SOC_SOF_COFFEELAKE_SUPPORT=y
CONFIG_SND_SOC_SOF_COFFEELAKE=m
CONFIG_SND_SOC_SOF_ICELAKE_SUPPORT=y
CONFIG_SND_SOC_SOF_ICELAKE=m
# CONFIG_SND_SOC_SOF_COMETLAKE_LP_SUPPORT is not set
# CONFIG_SND_SOC_SOF_COMETLAKE_H_SUPPORT is not set
# CONFIG_SND_SOC_SOF_TIGERLAKE_SUPPORT is not set
# CONFIG_SND_SOC_SOF_ELKHARTLAKE_SUPPORT is not set
# CONFIG_SND_SOC_SOF_JASPERLAKE_SUPPORT is not set
CONFIG_SND_SOC_SOF_HDA_COMMON=m
CONFIG_SND_SOC_SOF_HDA_LINK=y
CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC=y
# CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 is not set
CONFIG_SND_SOC_SOF_HDA_COMMON_HDMI_CODEC=y
CONFIG_SND_SOC_SOF_HDA_LINK_BASELINE=m
CONFIG_SND_SOC_SOF_HDA=m
CONFIG_SND_SOC_SOF_XTENSA=m
...

DMIC

$ [-] zgrep DMIC /proc/config.gz
CONFIG_SND_SOC_DMIC=m
juimonen commented 4 years ago

@lkraav yes I meant the hw would be there but it is not detected by the driver, or correct version is not loaded etc.. I'm currently not at the office, so can't check (and can't remember by heart) how the dmic should exactly look like. let me get back to you tomorrow or someone else with more knowledge will answer you before that... :)

plbossart commented 4 years ago

@lkraav can you attach the full dmesg log (with dynamic debug enabled). Not all devices have DMICs, we have to look at an NHLT property to find out.

lkraav commented 4 years ago

So dyndbg="+p" was a bit overkill, not sure I can attach that anywhere :dancing_men: any suggestions for a smaller query scope that could work here?

Maybe a grep dmic of that boot does the trick?

PS I had CONFIG_SPI=n, not sure if related, but enabled it (saw Ice Lake in device description list).

$ [-] journalctl -b -1 | grep dmic
märts 02 21:24:55 papaya kernel: Failed to find symbol intel_nhlt_get_dmic_geo
märts 02 21:24:55 papaya kernel: Registering platform device 'dmic-codec'. Parent at 0000:00:1f.3
märts 02 21:24:55 papaya kernel: device: 'dmic-codec': device_add
märts 02 21:24:55 papaya kernel: kobject: 'dmic-codec' (000000001c6a934a): kobject_add_internal: parent: '0000:00:1f.3', set: 'devices'
märts 02 21:24:55 papaya kernel: bus: 'platform': add device dmic-codec
märts 02 21:24:55 papaya kernel: PM: Adding info for platform:dmic-codec
märts 02 21:24:55 papaya kernel: kobject: 'dmic-codec' (000000001c6a934a): kobject_uevent_env
märts 02 21:24:55 papaya kernel: kobject: 'dmic-codec' (000000001c6a934a): fill_kobj_path: path = '/devices/pci0000:00/0000:00:1f.3/dmic-codec'
märts 02 21:24:55 papaya kernel: devices_kset: Moving dmic-codec to end of list
märts 02 21:24:55 papaya kernel: PM: Moving platform:dmic-codec to end of list
märts 02 21:24:55 papaya kernel: snd_soc_dmic does not use snd_soc_core!
märts 02 21:24:55 papaya kernel: Allocating new usage for snd_soc_dmic.
märts 02 21:24:55 papaya kernel: kobject: 'snd_soc_dmic' (000000000ae763e3): kobject_add_internal: parent: 'module', set: 'module'
märts 02 21:24:55 papaya kernel: kobject: 'holders' (00000000a42f7ac8): kobject_add_internal: parent: 'snd_soc_dmic', set: '<NULL>'
märts 02 21:24:55 papaya kernel: kobject: 'notes' (000000007a39fdae): kobject_add_internal: parent: 'snd_soc_dmic', set: '<NULL>'
märts 02 21:24:55 papaya kernel: kobject: 'snd_soc_dmic' (000000000ae763e3): kobject_uevent_env
märts 02 21:24:55 papaya kernel: kobject: 'snd_soc_dmic' (000000000ae763e3): fill_kobj_path: path = '/module/snd_soc_dmic'
märts 02 21:24:55 papaya kernel: bus: 'platform': add driver dmic-codec
märts 02 21:24:55 papaya kernel: kobject: 'dmic-codec' (0000000074f9dea9): kobject_add_internal: parent: 'drivers', set: 'drivers'
märts 02 21:24:55 papaya kernel: bus: 'platform': driver_probe_device: matched device dmic-codec with driver dmic-codec
märts 02 21:24:55 papaya kernel: bus: 'platform': really_probe: probing driver dmic-codec with device dmic-codec
märts 02 21:24:55 papaya kernel: dmic-codec dmic-codec: no default pinctrl state
märts 02 21:24:55 papaya kernel: driver: 'dmic-codec': driver_bound: bound to device 'dmic-codec'
märts 02 21:24:55 papaya kernel: kobject: 'dmic-codec' (000000001c6a934a): kobject_uevent_env
märts 02 21:24:55 papaya kernel: kobject: 'dmic-codec' (000000001c6a934a): fill_kobj_path: path = '/devices/pci0000:00/0000:00:1f.3/dmic-codec'
märts 02 21:24:55 papaya kernel: bus: 'platform': really_probe: bound device dmic-codec to driver dmic-codec
märts 02 21:24:55 papaya kernel: kobject: 'drivers' (000000004e6e8ab8): kobject_add_internal: parent: 'snd_soc_dmic', set: '<NULL>'
märts 02 21:24:55 papaya kernel: kobject: 'dmic-codec' (0000000074f9dea9): kobject_uevent_env
märts 02 21:24:55 papaya kernel: kobject: 'dmic-codec' (0000000074f9dea9): fill_kobj_path: path = '/bus/platform/drivers/dmic-codec'
märts 02 21:24:56 papaya kernel: skl_hda_dsp_generic skl_hda_dsp_generic: info: override BE DAI link dmic01
märts 02 21:24:56 papaya kernel: skl_hda_dsp_generic skl_hda_dsp_generic: info: override BE DAI link dmic16k
lkraav commented 4 years ago

I find I also have to force snd_intel_dspcfg.dsp-driver=3 for things to even enter SOF mode, even though I have blacklist snd-hda-intel.

Auto-detection definitely failing here in some way.

plbossart commented 4 years ago

If you can recompile the kernel, it's just simpler to add -DDEBUG in the parts you want, e.g. https://github.com/thesofproject/linux/blob/65f9d39d7beba2832311cc3e09e824fd27f7334d/sound/soc/sof/Makefile#L3

add this for sound/soc/sof/Makefile and sound/soc/sof/intel/Makefile

You should not need any blacklists or options. I don't use them. It's better to remove all this and see why things are not detected.

Or you blacklist everything (snd-hda-intel, snd-sof-pci, snd-soc-skl) and start manually with dmesg -C; modprobe snd-sof-pci.

that way you only see what you need for SOF.

perexg commented 4 years ago

It appears like UCM configuration problem. From the logs there is probably no digital microphone on this platform.

@lkraav : If you use the legacy HDA driver (snd_intel_dspcfg.dsp-driver=1), does the internal microphone work?

lkraav commented 4 years ago

If you use the legacy HDA driver (snd_intel_dspcfg.dsp-driver=1), does the internal microphone work?

@perexg yep works, been rolling with snd_hda_intel ever since acquiring this machine 1 month ago.

Can we decipher DMIC existence from ACPI data tables with certainty? Feels like the lowest burdain method.

mengdonglin commented 4 years ago

@lkraav : can you share more info about your machine model? Is it a Dell Latitude 7390 2-in-1 Laptop, with Intel Core i5-8350U, similiar to this one? https://www.amazon.com/Dell-Latitude-7390-13-3inch-Touchscreen/dp/B07K2LMDGQ/ref=asc_df_B07K2LMDGQ/?tag=hyprod-20&linkCode=df0&hvadid=309818716690&hvpos=&hvnetw=g&hvrand=5748957374971564684&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9032154&hvtargid=pla-582799509773&psc=1

lkraav commented 4 years ago

Thanks for pointing out my vague model description, I updated opening comment.

It's actually the XPS 13 7390 (gotta love DELL's overlapping enumeration schemes!) https://www.notebookcheck.net/Dell-XPS-13-7390-2-in-1.425189.0.html with Intel Core i7-1065G7 CPU

mengdonglin commented 4 years ago

@lkraav thanks and we'll try to get this Dell laptop and check SOF compatibility on it.

plbossart commented 4 years ago

@lkraav can you try and apply the following diff to check if yes or no you have valid DMIC information

diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c
index 82ecadda886c..b4822a7560ab 100644
--- a/sound/soc/sof/intel/hda.c
+++ b/sound/soc/sof/intel/hda.c
@@ -304,6 +304,7 @@ static int check_nhlt_dmic(struct snd_sof_dev *sdev)
        nhlt = intel_nhlt_init(sdev->dev);
        if (nhlt) {
                dmic_num = intel_nhlt_get_dmic_geo(sdev->dev, nhlt);
+               dev_info(sdev->dev, "NHLT reported %d DMICs\n", dmic_num);
                intel_nhlt_free(nhlt);
                if (dmic_num == 2 || dmic_num == 4)
                        return dmic_num;

goto your kernel tree, do patch -p1 < dmic-report.diff.txt and recompile/install your kernel.

Thanks

dmic-report.diff.txt

tobiasgrosser commented 4 years ago

I am seeing the very same error message with my pulseaudio:

Machine: Thinkpad X1 Yoga - Gen 4 Kernel: 5.5.0 Pulseaudio: 13.99.1 SOF-firmware: 1.4.2 Alsa-info: http://alsa-project.org/db/?f=fca20c9c93193041d77f53b93ebd2b2ded9930f5

I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp,5 doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp,4 doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp,3 doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] (alsa-lib)conf.c: Unknown parameter 1
I: [pulseaudio] (alsa-lib)conf.c: Parse arguments error: No such file or directory
I: [pulseaudio] (alsa-lib)pcm.c: Unknown PCM plug:hw:sofhdadsp,6
I: [pulseaudio] alsa-util.c: Error opening PCM device plug:hw:sofhdadsp,6: No such file or directory
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_00_1f.3-platform-skl_hda_dsp_generic" card_name="alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
I: [pulseaudio] module-udev-detect.c: Card /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0 (alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic) failed to load module.

but I seem to have the a capture device 6:

grosser@grosser-ThinkPad-X1-Yoga-4th:~$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: sofhdadsp [sof-hda-dsp], device 0: HDA Analog (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 1: HDA Digital (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 6: DMIC48kHz (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 7: DMIC16kHz (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
grosser@grosser-ThinkPad-X1-Yoga-4th:~$ ls /dev/snd/
by-path  controlC0  hwC0D0  hwC0D2  pcmC0D0c  pcmC0D0p  pcmC0D1c  pcmC0D1p  pcmC0D3p  pcmC0D4p  pcmC0D5p  pcmC0D6c  pcmC0D7c  seq  timer
grosser@grosser-ThinkPad-X1-Yoga-4th:~$ 

I wonder if my error is caused by this very bug or if I have a different problem?

plbossart commented 4 years ago

@tobig please try and use this: https://github.com/alsa-project/alsa-ucm-conf/tree/master/ucm2/sof-hda-dsp

this needs to be copied in /usr/share/alsa/ucm2 (make sure you don't have the same file in /usr/share/alsa/ucm in case of a previous install).

tobiasgrosser commented 4 years ago

@plbossart, wow, again such a fast reply. This time your suggestion did not work. I got the same error message. Deleting the entire section

SectionDevice."Mic" {
        Comment "Digital Microphone"

        Value {
                CapturePriority 100
                CapturePCM "hw:${CardId},6"
                If.chn {
                        Condition {
                                Type String
                                Haystack "${CardComponents}"
                                Needle "cfg-dmics:4"
                        }
                        True {
                                CaptureChannels 4
                        }
                }
                If.vol {
                        Condition {
                                Type ControlExists
                                Control "name='Dmic0 Capture Switch'"
                        }
                        True {
                                CaptureMixerElem "Dmic0"
                                CaptureVolume "Dmic0 Capture Volume"
                                CaptureSwitch "Dmic0 Capture Switch"
                        }
                        False {
                                # v1.3 SOF firmware
                                CaptureMixerElem "PGA10.0 10 Master"
                                CaptureVolume "PGA10.0 10 Master Capture Volume"
                        }
                }
        }
}

or changing "hw:${CardId},6" to "hw:${CardId}" makes the speakers work, but neither brings a microphone (not unexpected). What is interesting to me is that if I change the 6 to a 8, the error message changes from:

I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] (alsa-lib)conf.c: Unknown parameter 1
I: [pulseaudio] (alsa-lib)conf.c: Parse arguments error: No such file or directory
I: [pulseaudio] (alsa-lib)pcm.c: Unknown PCM plug:hw:sofhdadsp,6
I: [pulseaudio] alsa-util.c: Error opening PCM device plug:hw:sofhdadsp,6: No such file or directory
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.

to

I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] (alsa-lib)pcm_hw.c: open '/dev/snd/pcmC0D8c' failed (-2)
I: [pulseaudio] alsa-util.c: Error opening PCM device hw:sofhdadsp,8: No such file or directory
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.

In particular, the parse errors disappear. Also, stracing the process seems to suggest that pulse never even tries to open /dev/snd/pcmC0D6c. I have no idea if this is related, but maybe this triggers some ideas.

plbossart commented 4 years ago

@tobig can you check if your kernel is compiled with the Kconfig

CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES=y

that's what will make the Needle "cfg-dmics:4" tests work.

Otherwise, just run aplay -l and arecord -l and match the device numbers if they are not aligned.

Last, you may have an issue with HDMI if the numbers are in the 6-8 range, if you don't care you could also take them out.

tobiasgrosser commented 4 years ago

@plbossart, I am impressed with your responsiveness.

$ grep LONG_NAMES /boot/config-5.5.0-050500-generic 
$

It seems this option is not available in Linux 5.5. I confirmed this in the Linux git repository and the relevant commit seems to only have been merged later.

I confirm that everything works on my side, if I hardcode to 4 channels

SectionDevice."Mic" {
        Comment "Digital Microphone"

        Value {
                CapturePriority 100
                CapturePCM "hw:${CardId},6"
                CaptureChannels 4
                If.vol {
                        Condition {
                                Type ControlExists
                                Control "name='Dmic0 Capture Switch'"
                        }
                        True {
                                CaptureMixerElem "Dmic0"
                                CaptureVolume "Dmic0 Capture Volume"
                                CaptureSwitch "Dmic0 Capture Switch"
                        }
                        False {
                                # v1.3 SOF firmware
                                CaptureMixerElem "PGA10.0 10 Master"
                                CaptureVolume "PGA10.0 10 Master Capture Volume"
                        }
                }
        }
}

Thanks so much for your help!

plbossart commented 4 years ago

Indeed @tobiasgrosser this is a nice configuration issue, thanks for reporting this.

@perexg would there be a way to detect if the card was configured with the friendly long names, and use the long card name instead of cfg-mics?

perexg commented 4 years ago

It does not depend on long-names, but on commit https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8cd9956f61c65022209ce6d1e55ed12aea12357d .

You can verify it using "amixer -D 'hw:hdasofdsp' info" command (the Components line).

plbossart commented 4 years ago

Ah yes thanks @perexg. So long story short all you need to do @tobiasgrosser is use 5.5.8+

tobiasgrosser commented 4 years ago

Thx. I am fine with hardcoding the configuration change for now but will keep in mind that an updated kernel will make this work even more smoothly in the future.

plbossart commented 4 years ago

You can verify it using "amixer -D 'hw:hdasofdsp' info" command (the Components line).

btw @perexg I added this commit in SOF to show the component line in sysfs: https://github.com/thesofproject/linux/commit/2be2a042be46c852b664ac29ae3d78ccbbd73240

perexg commented 4 years ago

@plbossart : Nice extension.

tobiasgrosser commented 4 years ago

I just removed the condition around it. I guess adding it, rebooting and seeing if it works won't hurt.

Best Tobias

On Thu, Apr 2, 2020, at 12:17, Mayur Virkar wrote:

CaptureChannels 4

Hi, Looks like I am facing the exact same issue. How did you derive to 4? Is it something I can just copy/paste in my config and reboot?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/thesofproject/linux/issues/1879#issuecomment-607755240, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAD7N2CGN4Q7ZZC32S35OU3RKRQ5LANCNFSM4LEZ36JA.

kv2019i commented 4 years ago

@lkraav Is this bug still valid for you? If yes, we can close this. It seems for others who've reported similar error, update to Linux 5.5.8+ has fixed the issue.

lkraav commented 4 years ago

Is this bug still valid for you? If yes, we can close this. It seems for others who've reported similar error, update to Linux 5.5.8+ has fixed the issue.

I'm not sure. I'm currently on 5.5.10 and will bump kernel further up when there's a reason to reboot but it might take some days.

This bug could be closed, I can always send an update here when I have new information.

EDIT I had to switch back to snd_hda_audio to get things working, and there isn't mental space available at the moment to experiment with SOF.

lkraav commented 4 years ago

Upgraded to kernel 5.6.3. Auto-detection with modprobe.blacklist=snd_hda_intel did not work out, no audio devices were detected.

$ [-] sudo dmesg | grep sof
[    1.151903] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[    1.151904] software IO TLB: mapped [mem 0x5ba02000-0x5fa02000] (64MB)
[   12.945926] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380

I then forced SOF mode:

leho@papaya ~ $ [-] sudo modprobe -rv snd_sof_pci
rmmod snd_sof_pci
rmmod snd_sof_intel_hda_common
rmmod snd_intel_dspcfg
rmmod snd_sof_intel_hda
rmmod snd_sof
rmmod snd_sof_xtensa_dsp
rmmod snd_soc_hdac_hda
rmmod snd_hda_codec
rmmod snd_soc_core
rmmod snd_hda_ext_core
rmmod snd_hda_core
rmmod snd_pcm
rmmod snd_timer
rmmod snd
rmmod snd_soc_acpi_intel_match
rmmod snd_soc_acpi

leho@papaya ~ $ [-] sudo modprobe -v snd_intel_dspcfg dsp-driver=3
insmod /lib/modules/5.6.3-gentoo+/kernel/sound/hda/snd-intel-dspcfg.ko dsp-driver=3

leho@papaya ~ $ [-] sudo modprobe -v snd_sof_pci
insmod /lib/modules/5.6.3-gentoo+/kernel/sound/core/snd.ko 
insmod /lib/modules/5.6.3-gentoo+/kernel/sound/core/snd-timer.ko 
insmod /lib/modules/5.6.3-gentoo+/kernel/sound/core/snd-pcm.ko 
insmod /lib/modules/5.6.3-gentoo+/kernel/sound/hda/snd-hda-core.ko 
insmod /lib/modules/5.6.3-gentoo+/kernel/sound/pci/hda/snd-hda-codec.ko 
insmod /lib/modules/5.6.3-gentoo+/kernel/sound/soc/snd-soc-core.ko 
insmod /lib/modules/5.6.3-gentoo+/kernel/sound/hda/ext/snd-hda-ext-core.ko 
insmod /lib/modules/5.6.3-gentoo+/kernel/sound/soc/sof/intel/snd-sof-intel-hda.ko 
insmod /lib/modules/5.6.3-gentoo+/kernel/sound/soc/sof/snd-sof.ko 
insmod /lib/modules/5.6.3-gentoo+/kernel/sound/soc/sof/xtensa/snd-sof-xtensa-dsp.ko 
insmod /lib/modules/5.6.3-gentoo+/kernel/sound/soc/codecs/snd-soc-hdac-hda.ko 
insmod /lib/modules/5.6.3-gentoo+/kernel/sound/soc/snd-soc-acpi.ko 
insmod /lib/modules/5.6.3-gentoo+/kernel/sound/soc/intel/common/snd-soc-acpi-intel-match.ko 
insmod /lib/modules/5.6.3-gentoo+/kernel/sound/soc/sof/intel/snd-sof-intel-hda-common.ko 
insmod /lib/modules/5.6.3-gentoo+/kernel/sound/soc/sof/snd-sof-pci.ko

Bunch of stuff does happen at kernel level:

[  210.098304] sof-audio-pci 0000:00:1f.3: enabling device (0000 -> 0002)
[  210.098567] sof-audio-pci 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380
[  210.098662] sof-audio-pci 0000:00:1f.3: bound 0000:00:02.0 (ops i915_globals_exit [i915])
[  210.098961] sof-audio-pci 0000:00:1f.3: use msi interrupt mode
[  210.126600] sof-audio-pci 0000:00:1f.3: hda codecs found, mask 5
[  210.126602] sof-audio-pci 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[  210.130031] sof-audio-pci 0000:00:1f.3: unexpected ipc interrupt raised!
[  210.130033] sof-audio-pci 0000:00:1f.3: error: no reply expected, received 0x0
[  210.223121] sof-audio-pci 0000:00:1f.3: Firmware info: version 1:1:0-fcf6c
[  210.223125] sof-audio-pci 0000:00:1f.3: Firmware: ABI 3:11:0 Kernel ABI 3:12:0
[  210.223468] sof-audio-pci 0000:00:1f.3: firmware boot complete
[  210.228768] skl_hda_dsp_generic skl_hda_dsp_generic: info: override BE DAI link iDisp1
[  210.228771] skl_hda_dsp_generic skl_hda_dsp_generic: info: override BE DAI link iDisp2
[  210.228772] skl_hda_dsp_generic skl_hda_dsp_generic: info: override BE DAI link iDisp3
[  210.228774] skl_hda_dsp_generic skl_hda_dsp_generic: info: override BE DAI link Analog Playback and Capture
[  210.228775] skl_hda_dsp_generic skl_hda_dsp_generic: info: override BE DAI link Digital Playback and Capture
[  210.228776] skl_hda_dsp_generic skl_hda_dsp_generic: info: override BE DAI link dmic01
[  210.228777] skl_hda_dsp_generic skl_hda_dsp_generic: info: override BE DAI link dmic16k
[  210.229744] sof-audio-pci 0000:00:1f.3: Topology: ABI 3:11:0 Kernel ABI 3:12:0
[  210.229752] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp3 Tx not handled
[  210.230974] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec0_in not handled
[  210.230977] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp2 Tx not handled
[  210.231919] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec1_in not handled
[  210.231922] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name iDisp1 Tx not handled
[  210.232858] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec0_out not handled
[  210.232860] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Analog CPU Playback not handled
[  210.233785] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec1_out not handled
[  210.233788] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Digital CPU Playback not handled
[  210.233790] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name codec2_in not handled
[  210.233792] sof-audio-pci 0000:00:1f.3: warning: widget type 7 name Alt Analog CPU Playback not handled
[  210.233794] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name codec2_out not handled
[  210.233796] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Analog CPU Capture not handled
[  210.234875] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp1_out not handled
[  210.234876] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Digital CPU Capture not handled
[  210.235774] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp2_out not handled
[  210.235775] sof-audio-pci 0000:00:1f.3: warning: widget type 0 name Alt Analog CPU Capture not handled
[  210.236695] sof-audio-pci 0000:00:1f.3: warning: widget type 1 name iDisp3_out not handled
[  210.240740] sof-audio-pci 0000:00:1f.3: ASoC: Parent card not yet available, widget card binding deferred
[  210.259695] snd_hda_codec_realtek ehdaudio0D0: autoconfig for ALC289: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[  210.259696] snd_hda_codec_realtek ehdaudio0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[  210.259696] snd_hda_codec_realtek ehdaudio0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[  210.259697] snd_hda_codec_realtek ehdaudio0D0:    mono: mono_out=0x0
[  210.259697] snd_hda_codec_realtek ehdaudio0D0:    inputs:
[  210.259698] snd_hda_codec_realtek ehdaudio0D0:      Headset Mic=0x19
[  210.259699] snd_hda_codec_realtek ehdaudio0D0:      Headphone Mic=0x1b
[  210.259700] snd_hda_codec_realtek ehdaudio0D0:      Internal Mic=0x12
[  210.306647] snd_hda_codec_realtek ehdaudio0D0: ASoC: sink widget AIF1TX overwritten
[  210.306651] snd_hda_codec_realtek ehdaudio0D0: ASoC: source widget AIF1RX overwritten
[  210.306678] skl_hda_dsp_generic skl_hda_dsp_generic: intel-hdmi-hifi1 <-> iDisp1 Pin mapping ok
[  210.306681] skl_hda_dsp_generic skl_hda_dsp_generic: intel-hdmi-hifi2 <-> iDisp2 Pin mapping ok
[  210.306683] skl_hda_dsp_generic skl_hda_dsp_generic: intel-hdmi-hifi3 <-> iDisp3 Pin mapping ok
[  210.306687] skl_hda_dsp_generic skl_hda_dsp_generic: Analog Codec DAI <-> Analog CPU DAI mapping ok
[  210.306689] skl_hda_dsp_generic skl_hda_dsp_generic: Digital Codec DAI <-> Digital CPU DAI mapping ok
[  210.306692] skl_hda_dsp_generic skl_hda_dsp_generic: dmic-hifi <-> DMIC01 Pin mapping ok
[  210.306694] skl_hda_dsp_generic skl_hda_dsp_generic: dmic-hifi <-> DMIC16k Pin mapping ok
[  210.306720] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDA Analog 0 mapping ok
[  210.306737] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDA Digital 1 mapping ok
[  210.306745] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDMI1 3 mapping ok
[  210.306752] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDMI2 4 mapping ok
[  210.306760] skl_hda_dsp_generic skl_hda_dsp_generic: snd-soc-dummy-dai <-> HDMI3 5 mapping ok
[  210.306800] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget hifi3 overwritten
[  210.306803] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget hifi2 overwritten
[  210.306805] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget hifi1 overwritten
[  210.306808] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Codec Output Pin1 overwritten
[  210.306810] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget Codec Input Pin1 overwritten
[  210.306814] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget Analog Codec Playback overwritten
[  210.306818] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget Digital Codec Playback overwritten
[  210.306821] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: sink widget Alt Analog Codec Playback overwritten
[  210.306825] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Analog Codec Capture overwritten
[  210.306829] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Digital Codec Capture overwritten
[  210.306833] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: source widget Alt Analog Codec Capture overwritten
[  210.306859] skl_hda_dsp_generic skl_hda_dsp_generic: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 3
[  210.306860] skl_hda_dsp_generic skl_hda_dsp_generic: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 4
[  210.311096] input: sof-hda-dsp Headphone Mic as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input24
[  210.311188] input: sof-hda-dsp HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input25
[  210.311244] input: sof-hda-dsp HDMI/DP,pcm=4 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input26
[  210.311274] input: sof-hda-dsp HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input27

Unfortunately, Pulseaudio still failed to get required entries. This is how Pulseaudio reacts:

I: [pulseaudio] main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation not permitted
I: [pulseaudio] main.c: setrlimit(RLIMIT_RTPRIO, (9, 9)) failed: Operation not permitted
I: [pulseaudio] core-util.c: Failed to acquire high-priority scheduling: No such file or directory
I: [pulseaudio] main.c: This is PulseAudio 13.99.1
I: [pulseaudio] main.c: Page size is 4096 bytes
I: [pulseaudio] main.c: Machine ID is 3ca321b6c89b0b95a0d5993d00000028.
I: [pulseaudio] main.c: Using runtime directory /run/user/1000/pulse.
I: [pulseaudio] main.c: Using state directory /home/leho/.config/pulse.
I: [pulseaudio] main.c: Using modules directory /usr/lib64/pulse-13.99/modules.
I: [pulseaudio] main.c: Running in system mode: no
I: [pulseaudio] main.c: System supports high resolution timers
I: [pulseaudio] cpu-x86.c: CPU flags: CMOV MMX SSE SSE2 SSE3 SSSE3 SSE4_1 SSE4_2 
I: [pulseaudio] svolume_mmx.c: Initialising MMX optimized volume functions.
I: [pulseaudio] remap_mmx.c: Initialising MMX optimized remappers.
I: [pulseaudio] svolume_sse.c: Initialising SSE2 optimized volume functions.
I: [pulseaudio] remap_sse.c: Initialising SSE2 optimized remappers.
I: [pulseaudio] sconv_sse.c: Initialising SSE2 optimized conversions.
I: [pulseaudio] svolume_orc.c: Initialising ORC optimized volume functions.
I: [pulseaudio] module-device-restore.c: Successfully opened database file '/home/leho/.config/pulse/3ca321b6c89b0b95a0d5993d00000028-device-volumes'.
I: [pulseaudio] module.c: Loaded "module-device-restore" (index: #0; argument: "").
I: [pulseaudio] module-stream-restore.c: Successfully opened database file '/home/leho/.config/pulse/3ca321b6c89b0b95a0d5993d00000028-stream-volumes'.
I: [pulseaudio] module.c: Loaded "module-stream-restore" (index: #1; argument: "").
I: [pulseaudio] module-card-restore.c: Successfully opened database file '/home/leho/.config/pulse/3ca321b6c89b0b95a0d5993d00000028-card-database'.
I: [pulseaudio] module.c: Loaded "module-card-restore" (index: #2; argument: "").
I: [pulseaudio] module.c: Loaded "module-augment-properties" (index: #3; argument: "").
I: [pulseaudio] module.c: Loaded "module-switch-on-port-available" (index: #4; argument: "").
I: [pulseaudio] alsa-ucm.c: UCM available for card hw:0
I: [pulseaudio] alsa-ucm.c: Set UCM verb to HiFi
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device HDMI3, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device HDMI2, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device HDMI1, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'CaptureChannels' for device Mic2, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'CaptureChannels' for device Mic1, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device Speaker, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device Headphones, assuming stereo duplex.
I: [pulseaudio] module-alsa-card.c: Found UCM profiles
I: [pulseaudio] alsa-ucm.c: Set ucm verb to HiFi
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp,5 doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp,4 doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp,3 doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Error opening PCM device hw:sofhdadsp,6: No such file or directory
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_00_1f.3-platform-skl_hda_dsp_generic" card_name="alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
I: [pulseaudio] module-udev-detect.c: Card /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0 (alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic) failed to load module.
I: [pulseaudio] module-udev-detect.c: Found 1 cards.
I: [pulseaudio] module.c: Loaded "module-udev-detect" (index: #5; argument: "").
I: [pulseaudio] module.c: Loaded "module-bluetooth-policy" (index: #7; argument: "").
I: [pulseaudio] module.c: Loaded "module-bluez5-discover" (index: #9; argument: "").
I: [pulseaudio] module.c: Loaded "module-bluetooth-discover" (index: #8; argument: "").
I: [pulseaudio] module.c: Loaded "module-native-protocol-unix" (index: #10; argument: "").
I: [pulseaudio] module.c: Loaded "module-gsettings" (index: #11; argument: "").
I: [pulseaudio] module-default-device-restore.c: Restoring default sink 'auto_null'.
I: [pulseaudio] core.c: configured_default_sink: (unset) -> auto_null
I: [pulseaudio] module-default-device-restore.c: Restoring default source 'alsa_input.usb-BLUE_MICROPHONE_Blue_Snowball_201306-00.mono-fallback'.
I: [pulseaudio] core.c: configured_default_source: (unset) -> alsa_input.usb-BLUE_MICROPHONE_Blue_Snowball_201306-00.mono-fallback
I: [pulseaudio] module.c: Loaded "module-default-device-restore" (index: #12; argument: "").
I: [pulseaudio] sink.c: Created sink 0 "auto_null" with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
I: [pulseaudio] sink.c:     device.description = "Dummy Output"
I: [pulseaudio] sink.c:     device.class = "abstract"
I: [pulseaudio] sink.c:     device.icon_name = "audio-card"
I: [pulseaudio] source.c: Created source 0 "auto_null.monitor" with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
I: [pulseaudio] source.c:     device.description = "Monitor of Dummy Output"
I: [pulseaudio] source.c:     device.class = "monitor"
I: [pulseaudio] source.c:     device.icon_name = "audio-input-microphone"
I: [null-sink] util.c: Failed to acquire real-time scheduling: No such file or directory
I: [pulseaudio] core.c: default_source: (unset) -> auto_null.monitor
I: [pulseaudio] core.c: default_sink: (unset) -> auto_null
I: [pulseaudio] module.c: Loaded "module-null-sink" (index: #14; argument: "sink_name=auto_null sink_properties='device.description="Dummy Output"'").
I: [pulseaudio] module.c: Loaded "module-always-sink" (index: #13; argument: "").
I: [pulseaudio] module.c: Loaded "module-intended-roles" (index: #15; argument: "").
I: [pulseaudio] module.c: Loaded "module-suspend-on-idle" (index: #16; argument: "").
I: [pulseaudio] module.c: Loaded "module-console-kit" (index: #17; argument: "").
I: [pulseaudio] client.c: Created 0 "Login Session 1"
I: [pulseaudio] core.c: exit_idle_time: 20 -> 0
I: [pulseaudio] module.c: Loaded "module-systemd-login" (index: #18; argument: "").
I: [pulseaudio] module.c: Loaded "module-position-event-sounds" (index: #19; argument: "").
I: [pulseaudio] module.c: Loaded "module-role-cork" (index: #20; argument: "").
I: [pulseaudio] module.c: Loaded "module-filter-heuristics" (index: #21; argument: "").
I: [pulseaudio] module.c: Loaded "module-filter-apply" (index: #22; argument: "").
I: [pulseaudio] main.c: Daemon startup complete.
I: [pulseaudio] alsa-ucm.c: UCM available for card hw:0
I: [pulseaudio] alsa-ucm.c: Set UCM verb to HiFi
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device HDMI3, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device HDMI2, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device HDMI1, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'CaptureChannels' for device Mic2, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'CaptureChannels' for device Mic1, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device Speaker, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device Headphones, assuming stereo duplex.
I: [pulseaudio] module-alsa-card.c: Found UCM profiles
I: [pulseaudio] alsa-ucm.c: Set ucm verb to HiFi
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp,5 doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp,4 doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp,3 doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Error opening PCM device hw:sofhdadsp,6: No such file or directory
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_00_1f.3-platform-skl_hda_dsp_generic" card_name="alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
I: [pulseaudio] module-udev-detect.c: Card /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0 (alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic) failed to load module.
I: [pulseaudio] client.c: Created 1 "Native client (UNIX socket client)"
I: [pulseaudio] alsa-ucm.c: UCM available for card hw:0
I: [pulseaudio] alsa-ucm.c: Set UCM verb to HiFi
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device HDMI3, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device HDMI2, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device HDMI1, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'CaptureChannels' for device Mic2, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'CaptureChannels' for device Mic1, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device Speaker, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device Headphones, assuming stereo duplex.
I: [pulseaudio] module-alsa-card.c: Found UCM profiles
I: [pulseaudio] alsa-ucm.c: Set ucm verb to HiFi
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp,5 doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp,4 doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp,3 doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Error opening PCM device hw:sofhdadsp,6: No such file or directory
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_00_1f.3-platform-skl_hda_dsp_generic" card_name="alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
I: [pulseaudio] module-udev-detect.c: Card /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0 (alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic) failed to load module.
I: [pulseaudio] client.c: Created 2 "Native client (UNIX socket client)"
I: [pulseaudio] alsa-ucm.c: UCM available for card hw:0
I: [pulseaudio] alsa-ucm.c: Set UCM verb to HiFi
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device HDMI3, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device HDMI2, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device HDMI1, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'CaptureChannels' for device Mic2, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'CaptureChannels' for device Mic1, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device Speaker, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device Headphones, assuming stereo duplex.
I: [pulseaudio] module-alsa-card.c: Found UCM profiles
I: [pulseaudio] alsa-ucm.c: Set ucm verb to HiFi
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp,5 doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp,4 doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp,3 doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Error opening PCM device hw:sofhdadsp,6: No such file or directory
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_00_1f.3-platform-skl_hda_dsp_generic" card_name="alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
I: [pulseaudio] module-udev-detect.c: Card /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0 (alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic) failed to load module.
I: [pulseaudio] protocol-native.c: Got credentials: uid=1000 gid=1000 success=1
I: [pulseaudio] client.c: Created 3 "Native client (UNIX socket client)"
I: [pulseaudio] alsa-ucm.c: UCM available for card hw:0
I: [pulseaudio] alsa-ucm.c: Set UCM verb to HiFi
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device HDMI3, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device HDMI2, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device HDMI1, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'CaptureChannels' for device Mic2, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'CaptureChannels' for device Mic1, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device Speaker, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device Headphones, assuming stereo duplex.
I: [pulseaudio] module-alsa-card.c: Found UCM profiles
I: [pulseaudio] alsa-ucm.c: Set ucm verb to HiFi
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp,5 doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp,4 doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp,3 doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Error opening PCM device hw:sofhdadsp,6: No such file or directory
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_00_1f.3-platform-skl_hda_dsp_generic" card_name="alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
I: [pulseaudio] module-udev-detect.c: Card /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0 (alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic) failed to load module.
I: [pulseaudio] protocol-native.c: Got credentials: uid=1000 gid=1000 success=1
I: [pulseaudio] client.c: Created 4 "Native client (UNIX socket client)"
I: [pulseaudio] alsa-ucm.c: UCM available for card hw:0
I: [pulseaudio] alsa-ucm.c: Set UCM verb to HiFi
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device HDMI3, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device HDMI2, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device HDMI1, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'CaptureChannels' for device Mic2, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'CaptureChannels' for device Mic1, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device Speaker, assuming stereo duplex.
E: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device Headphones, assuming stereo duplex.
I: [pulseaudio] module-alsa-card.c: Found UCM profiles
I: [pulseaudio] alsa-ucm.c: Set ucm verb to HiFi
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp,5 doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp,4 doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp,3 doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp doesn't support 44100 Hz, changed to 48000 Hz.
I: [pulseaudio] alsa-util.c: Error opening PCM device hw:sofhdadsp,6: No such file or directory
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_00_1f.3-platform-skl_hda_dsp_generic" card_name="alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
I: [pulseaudio] module-udev-detect.c: Card /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0 (alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic) failed to load module.
I: [pulseaudio] protocol-native.c: Got credentials: uid=1000 gid=1000 success=1
I: [pulseaudio] client.c: Created 5 "Native client (UNIX socket client)"
W: [pulseaudio] module-udev-detect.c: Tried to configure /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0 (alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic) more often than 5 times in 10s
I: [pulseaudio] protocol-native.c: Got credentials: uid=1000 gid=1000 success=1
I: [pulseaudio] protocol-native.c: Got credentials: uid=1000 gid=1000 success=1

Looks like still I: [pulseaudio] alsa-util.c: Error opening PCM device hw:sofhdadsp,6: No such file or directory.

perexg commented 4 years ago

Upgraded to kernel 5.6.3. Auto-detection with modprobe.blacklist=snd_hda_intel did not work out, no audio devices were detected.

Does SOF driver load when you remove this blacklist hint? If it does not work, the microphones are not specified in the ACPI NHLT table from the vendor and we need to add a manual quirk (if there are really some digital microphones in the machine connected to DSP).

Looks like still I: [pulseaudio] alsa-util.c: Error opening PCM device hw:sofhdadsp,6: No such file or directory.

Could you show the alsa-info.sh output for this kernel? You can just filter out the Components: line like:

Components : 'HDA:8086280f,80860101,00100000 HDA:10ec0289,102808b0,00100002'

There should be cfg-dmics:2 or cfg-dmics:4 . If there is no such information, the microphones are not detected, thus the legacy HDA driver should be activated by the auto-detection.

lkraav commented 4 years ago

alsa-info.sh

Certainly: http://alsa-project.org/db/?f=fb4c6cdc2be2d06d1e647058834006a4680ca1d1

Card hw:0 'PCH'/'HDA Intel PCH at 0x603ebb0000 irq 181'
  Mixer name    : 'Realtek ALC289'
  Components    : 'HDA:10ec0289,102808b0,00100002 HDA:8086280f,80860101,00100000'
  Controls      : 70
  Simple ctrls  : 20

I do not see cfg-dmics, but I do see

!!Module: snd_hda_intel
        ...
    dmic_detect : Y

:thinking:

EDIT PS I'm currently booted with loading snd_hda_intel again to have sound.

plbossart commented 4 years ago

@lkraav we can't help you if you provide information for another driver...

Please retry with SOF, the autodetection should just work without any parameters or options.

plbossart commented 4 years ago

closing for now since there isn't anything we can do without information

lkraav commented 2 years ago

Now on kernel 5.17.2, SOF 2.0, PulseAudio 15, ALSA 1.2.6 I've reached this state:

http://alsa-project.org/db/?f=6650c17f233314e80481d7aeb4c74019a01c3d6d

Unfortunately, seems like still with failing with I: [pulseaudio] alsa-util.c: Error opening PCM device _ucm0001.hw:sofhdadsp,6: No such file or directory

leho@papaya ~ $ [-] pulseaudio -v
...
I: [pulseaudio] alsa-ucm.c: UCM available for card hw:0                                                                
I: [pulseaudio] alsa-ucm.c: Set UCM verb to HiFi                                                                       
I: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device HDMI3, assuming stereo.            
I: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device HDMI2, assuming stereo.            
I: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device HDMI1, assuming stereo.            
I: [pulseaudio] alsa-ucm.c: UCM file does not specify 'CaptureChannels' for device Mic2, assuming stereo.              
I: [pulseaudio] alsa-ucm.c: UCM file does not specify 'CaptureChannels' for device Mic1, assuming stereo.       
I: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device Speaker, assuming stereo.          
I: [pulseaudio] alsa-ucm.c: UCM file does not specify 'PlaybackChannels' for device Headphones, assuming stereo.
I: [pulseaudio] module-alsa-card.c: Found UCM profiles                                                                 
I: [pulseaudio] alsa-ucm.c: Set ucm verb to HiFi                                                                       
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp,5 doesn't support 44100 Hz, changed to 48000 Hz.                                                                                                                                             
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp,4 doesn't support 44100 Hz, changed to 48000 Hz.                                                                                                                                             
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp,3 doesn't support 44100 Hz, changed to 48000 Hz.                                                                                                                                             
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp doesn't support 44100 Hz, changed to 48000 Hz.                                                                                                                                               
I: [pulseaudio] alsa-util.c: Device hw:sofhdadsp doesn't support 44100 Hz, changed to 48000 Hz.                                                                                                                                               
I: [pulseaudio] alsa-util.c: Error opening PCM device _ucm0001.hw:sofhdadsp,6: No such file or directory                                                                                                                                      E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.                                                                                                                                                                         
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_00_1f.3-platform-skl_hda_dsp_generic" card_name="alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic" namereg_fail=false tsche
d=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
I: [pulseaudio] module-udev-detect.c: Card /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0 (alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic) failed to load module.
...

Could I somehow disable this last PCM device in UCM configuration to see if rest of it works?

lkraav commented 2 years ago

WINNING @plbossart

I deleted ,6 device from UCM config by hand, and amazingly, everything sprang to life.

image

Input device says "Headphones Stereo Mic", but it also seems to work fine for laptop built-in mic - I just successfully recorded a test clip to make sure.

These were the modules required:

$ [-] lsmod | grep snd | sort
led_class              16384  5 snd_hda_codec_generic,input_leds,iwlmvm,dell_wmi,dell_laptop
ledtrig_audio          16384  5 snd_ctl_led,snd_hda_codec_generic,dell_wmi,snd_sof,dell_laptop
snd                    77824  24 snd_ctl_led,snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_codec,snd_sof,snd_timer,snd_soc_hdac_hdmi,snd_soc_core,snd_pcm,snd_soc_skl_hda_dsp
snd_ctl_led            24576  0
snd_hda_codec         118784  6 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_soc_intel_hda_dsp_common,snd_soc_hdac_hda,snd_soc_skl_hda_dsp
snd_hda_codec_generic    77824  1 snd_hda_codec_realtek
snd_hda_codec_hdmi     65536  1
snd_hda_codec_realtek   131072  1
snd_hda_core           81920  10 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_realtek,snd_soc_intel_hda_dsp_common,snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_soc_hdac_hda,snd_sof_intel_hda
snd_hda_ext_core       24576  4 snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_soc_hdac_hda,snd_sof_intel_hda
snd_intel_dspcfg       16384  1 snd_sof_intel_hda_common
snd_pcm               114688  9 snd_hda_codec_hdmi,snd_hda_codec,snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_soc_core,snd_hda_core
snd_soc_acpi           16384  2 snd_soc_acpi_intel_match,snd_sof_intel_hda_common
snd_soc_acpi_intel_match    49152  2 snd_sof_pci_intel_icl,snd_sof_intel_hda_common
snd_soc_core          241664  6 snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hdmi,snd_soc_hdac_hda,snd_soc_dmic,snd_soc_skl_hda_dsp
snd_soc_dmic           16384  1
snd_soc_hdac_hda       20480  1 snd_sof_intel_hda_common
snd_soc_hdac_hdmi      32768  1 snd_soc_skl_hda_dsp
snd_soc_intel_hda_dsp_common    16384  1 snd_soc_skl_hda_dsp
snd_soc_skl_hda_dsp    20480  8
snd_sof               135168  2 snd_sof_pci,snd_sof_intel_hda_common
snd_sof_intel_hda      16384  1 snd_sof_intel_hda_common
snd_sof_intel_hda_common    86016  1 snd_sof_pci_intel_icl
snd_sof_pci            16384  2 snd_sof_pci_intel_icl,snd_sof_intel_hda_common
snd_sof_pci_intel_icl    16384  4
snd_sof_xtensa_dsp     16384  1 snd_sof_intel_hda_common
snd_timer              32768  1 snd_pcm

I also have to have options snd-intel-dspcfg dsp-driver=3, because as SOF docs say, it might be the case that's how the firmware is configured on this machine.

I don't see subsystem vendor ID anywhere in NHLT table: looking for Subsystem: Dell Ice Lake-LP Smart Sound Technology Audio Controller [1028:08b0] :shrug:

NHLT @ 0x0000000000000000
    0000: 4E 48 4C 54 2D 00 00 00 00 10 44 45 4C 4C 20 20  NHLT-.....DELL  
    0010: 44 65 6C 6C 20 49 6E 63 01 00 17 20 84 85 4C 4C  Dell Inc... ..LL
    0020: 22 04 16 20 00 04 00 00 00 DE AD BE EF           ".. .........

What does all of the above mean for how alsa-ucm should be packaging an OOTB working configuration for this machine? Can it make ,6 device optional somehow, based on some machine ID. Your thoughts?

plbossart commented 2 years ago

@lkraav can you retry without this "options snd-intel-dspcfg dsp-driver=3"? The legacy driver should work out of the box.

Alternatively, please add this file sof-dyndbg.conf.txt as /etc/modprobe.d/sof-dyndbg.conf, reboot and attach the full dmesg log. The NHLT is not limited to DMICs, it contains information on other interfaces as well, so we need to see what is reported.

Thanks!

lkraav commented 2 years ago

@lkraav can you retry without this "options snd-intel-dspcfg dsp-driver=3"? The legacy driver should work out of the box.

"legacy" === snd-intel-hda here?

Alternatively, please add this file sof-dyndbg.conf.txt as /etc/modprobe.d/sof-dyndbg.conf, reboot and attach the full dmesg log. The NHLT is not limited to DMICs, it contains information on other interfaces as well, so we need to see what is reported.

I will be able to do that probably on one of the weekends.

I should note I already killed off snd-intel-hda at my kernel config level, ideally I wouldn't have to bring it back, unless really really necessary to make progress towards shipping a valid UCM2 config here in these related issues.

Based on what I observed from before when I had both sound systems configured and built, snd-intel-hda was chosen every time, like

...
dets  18 19:58:01 papaya kernel: snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
dets  18 19:58:01 papaya kernel: snd_hda_intel 0000:00:1f.3: enabling device (0000 -> 0002)
dets  18 19:58:01 papaya kernel: snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops __SCT__tp_func_i915_context_free [i915])
dets  18 19:58:01 papaya kernel: snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC289: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
dets  18 19:58:01 papaya kernel: snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
dets  18 19:58:01 papaya kernel: snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
dets  18 19:58:01 papaya kernel: snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
dets  18 19:58:01 papaya kernel: snd_hda_codec_realtek hdaudioC0D0:    inputs:
dets  18 19:58:01 papaya kernel: snd_hda_codec_realtek hdaudioC0D0:      Headset Mic=0x19
dets  18 19:58:01 papaya kernel: snd_hda_codec_realtek hdaudioC0D0:      Headphone Mic=0x1b
dets  18 19:58:01 papaya kernel: snd_hda_codec_realtek hdaudioC0D0:      Internal Mic=0x12
...
lkraav commented 2 years ago

Here's SOF dyndbg log from fresh boot dmesg.txt

plbossart commented 2 years ago

@lkraav the logs show you have no DMICs on your device and hence no requirement to use the SOF driver and firmware. My recommendation would be to re-enable HDAudio in your kernel and stop adding "options snd-intel-dspcfg dsp-driver=3"

By choosing a quirky configuration you will end-up finding unsupported things left and right...

lkraav commented 2 years ago

show you have no DMICs on your device and hence no requirement to use the SOF driver and firmware. My recommendation would be to re-enable HDAudio in your kernel and stop adding "options snd-intel-dspcfg dsp-driver=3" By choosing a quirky configuration you will end-up finding unsupported things left and right...

Thanks for looking into it. I don't know about going back into the past - running on this for 1+ week, all SOF pieces work fine, hardware is compatible, so why give up for what seems to require a simple UCM config tweak.

Thus far, no additional problems have appeared on the left or the right. That being said, I am OK giving up later if some other significant daily driving blocker should appear.

Until then, I'd propose to explore a compatibility PR towards https://github.com/alsa-project/alsa-ucm-conf

I'll see if I can dive into learning UCM syntax over one of these weekends.