Hi,
First of all, if someone has problems with ca0132 and no sound from sound card (Creative SoundBlaster) unless running Windows and booting back to linux, please read my solution below.
I have a problem with jack sensing. It starts working correctly after I put my laptop in suspend/sleep mode. After resume everything works correctly. Usually there is a problem with sound after suspend/sleep but for me it helps to temporarily solve the issue.
I can manually turn on/off headphones and mute speaker by going to alsamixer or kmixer and toggling "HP/Spear", "HP/Speaker Auto Detect". If I turn off Auto Detect and leave HP/Speaker on I have sound on headphones. After turning on Auto Detect I have sound on speakers. Automatic jack sensing doesn't work till resume from sleep.
This started after upgrade to:
Code:
Upgrading alsa-lib-1.0.27.2-i486-1 package using ./alsa-lib-1.0.29-i686-1.txz
Upgrading alsa-utils-1.0.27.1-i486-1 package using ./alsa-utils-1.0.29-i686-1.txz
Upgrading alsa-oss-1.0.25-i486-1 package using ./alsa-oss-1.0.28-i686-1.txz
Upgrading alsa-firmware-1.0.25-i486-1 package using ./alsa-firmware-1.0.29-i686-1.txz
Installing new package ./alsa-plugins-1.0.29-i686-1.txz
Installing new package ./alsa-tools-1.0.29-i686-1.txz
Upgrading pyalsa-1.0.29-i686-1 package using ./pyalsa-1.0.29-i686-1.txz
Installing new package ./pyalsaaudio-0.7-i686-1.txz
I have an Alienware M17, Slackware 14.1, root partition f2fs, kernel 4.0, Creative CA0132 sound card:
lspci
Code:
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)
aplay -L
Code:
null
Discard all samples (playback) or generate zero samples (capture)
pulse
PulseAudio Sound Server
default
Default Audio Device
sysdefault:CARD=PCH
HDA Intel PCH, CA0132 Analog
Default Audio Device
front:CARD=PCH,DEV=0
HDA Intel PCH, CA0132 Analog
Front speakers
surround21:CARD=PCH,DEV=0
HDA Intel PCH, CA0132 Analog
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=PCH,DEV=0
HDA Intel PCH, CA0132 Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=PCH,DEV=0
HDA Intel PCH, CA0132 Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=PCH,DEV=0
HDA Intel PCH, CA0132 Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=PCH,DEV=0
HDA Intel PCH, CA0132 Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=PCH,DEV=0
HDA Intel PCH, CA0132 Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=PCH,DEV=0
HDA Intel PCH, CA0132 Digital
IEC958 (S/PDIF) Digital Audio Output
hdmi:CARD=NVidia,DEV=0
HDA NVidia, HDMI 0
HDMI Audio Output
hdmi:CARD=NVidia,DEV=1
HDA NVidia, HDMI 1
HDMI Audio Output
dmesg:
dmesg with lack of ca0132 irq jack sensing
acpi_listen doesn't return any jack/plugged event
Everything starts working correctly after resume from sleep mode.
acpi_listen:
Code:
jack/headphone HEADPHONE plug
jack/headphone HEADPHONE unplug
dmesg (suspend/resume):
Code:
[ 2018.624346] PM: Syncing filesystems ... done.
[ 2018.739855] PM: Preparing system for mem sleep
[ 2018.740221] Freezing user space processes ... (elapsed 0.001 seconds) done.
[ 2018.741701] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[ 2018.742781] PM: Entering mem sleep
[ 2018.742791] Suspending console(s) (use no_console_suspend to debug)
[ 2018.743041] sd 1:0:0:0: [sdb] Synchronizing SCSI cache
[ 2018.743075] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[ 2018.743283] sd 0:0:0:0: [sda] Stopping disk
[ 2018.766490] sd 1:0:0:0: [sdb] Stopping disk
[ 2019.164235] PM: suspend of devices complete after 420.772 msecs
[ 2019.164668] PM: late suspend of devices complete after 0.430 msecs
[ 2019.166006] ehci-pci 0000:00:1d.0: System wakeup enabled by ACPI
[ 2019.166369] ehci-pci 0000:00:1a.0: System wakeup enabled by ACPI
[ 2019.166399] xhci_hcd 0000:00:14.0: System wakeup enabled by ACPI
[ 2019.177369] PM: noirq suspend of devices complete after 12.684 msecs
[ 2019.177611] ACPI: Preparing to enter system sleep state S3
[ 2019.187179] PM: Saving platform NVS memory
[ 2019.187183] Disabling non-boot CPUs ...
[ 2019.187216] intel_pstate CPU 1 exiting
[ 2019.188383] smpboot: CPU 1 is now offline
[ 2019.195477] intel_pstate CPU 2 exiting
[ 2019.196645] smpboot: CPU 2 is now offline
[ 2019.201472] intel_pstate CPU 3 exiting
[ 2019.202620] smpboot: CPU 3 is now offline
[ 2019.207448] intel_pstate CPU 4 exiting
[ 2019.208608] smpboot: CPU 4 is now offline
[ 2019.215438] intel_pstate CPU 5 exiting
[ 2019.216576] smpboot: CPU 5 is now offline
[ 2019.223413] intel_pstate CPU 6 exiting
[ 2019.224555] smpboot: CPU 6 is now offline
[ 2019.229381] intel_pstate CPU 7 exiting
[ 2019.230512] smpboot: CPU 7 is now offline
[ 2019.235541] ACPI: Low-level resume complete
[ 2019.235584] PM: Restoring platform NVS memory
[ 2019.235939] Enabling non-boot CPUs ...
[ 2019.235977] x86: Booting SMP configuration:
[ 2019.235978] smpboot: Booting Node 0 Processor 1 APIC 0x1
[ 2019.263478] Initializing CPU#1
[ 2019.272028] CPU1 is up
[ 2019.272047] smpboot: Booting Node 0 Processor 2 APIC 0x2
[ 2019.283069] Initializing CPU#2
[ 2019.291112] CPU2 is up
[ 2019.291156] smpboot: Booting Node 0 Processor 3 APIC 0x3
[ 2019.302608] Initializing CPU#3
[ 2019.310394] CPU3 is up
[ 2019.310434] smpboot: Booting Node 0 Processor 4 APIC 0x4
[ 2019.321815] Initializing CPU#4
[ 2019.332225] CPU4 is up
[ 2019.332270] smpboot: Booting Node 0 Processor 5 APIC 0x5
[ 2019.343721] Initializing CPU#5
[ 2019.354284] CPU5 is up
[ 2019.354324] smpboot: Booting Node 0 Processor 6 APIC 0x6
[ 2019.365707] Initializing CPU#6
[ 2019.373680] CPU6 is up
[ 2019.373723] smpboot: Booting Node 0 Processor 7 APIC 0x7
[ 2019.385176] Initializing CPU#7
[ 2019.393396] CPU7 is up
[ 2019.401203] ACPI: Waking up from system sleep state S3
[ 2019.427053] xhci_hcd 0000:00:14.0: System wakeup disabled by ACPI
[ 2019.427524] ehci-pci 0000:00:1a.0: System wakeup disabled by ACPI
[ 2019.427756] ehci-pci 0000:00:1d.0: System wakeup disabled by ACPI
[ 2019.427833] PM: noirq resume of devices complete after 12.642 msecs
[ 2019.428220] PM: early resume of devices complete after 0.361 msecs
[ 2019.428468] sdhci-pci 0000:09:00.1: Will use DMA mode even though HW doesn't fully claim to support it.
[ 2019.428565] iwlwifi 0000:08:00.0: RF_KILL bit toggled to disable radio.
[ 2019.428977] sdhci-pci 0000:09:00.1: Will use DMA mode even though HW doesn't fully claim to support it.
[ 2019.429268] sd 0:0:0:0: [sda] Starting disk
[ 2019.429269] sd 1:0:0:0: [sdb] Starting disk
[ 2019.492195] rtc_cmos 00:01: System wakeup disabled by ACPI
[ 2019.637350] usb 2-1.8: reset high-speed USB device number 3 using ehci-pci
[ 2019.733359] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 2019.735321] ata1.00: ACPI cmd 00/00:00:00:00:00:a0 (NOP) rejected by device (Stat=0x51 Err=0x04)
[ 2019.735342] ata1.00: supports DRM functions and may not be fully accessible
[ 2019.735398] ata1.00: failed to get NCQ Send/Recv Log Emask 0x1
[ 2019.735615] ata1.00: ACPI cmd 00/00:00:00:00:00:a0 (NOP) rejected by device (Stat=0x51 Err=0x04)
[ 2019.735634] ata1.00: supports DRM functions and may not be fully accessible
[ 2019.735682] ata1.00: failed to get NCQ Send/Recv Log Emask 0x1
[ 2019.735684] ata1.00: configured for UDMA/133
[ 2019.737350] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[ 2019.739350] ata5: SATA link down (SStatus 0 SControl 300)
[ 2019.746386] ata3.00: configured for UDMA/100
[ 2021.576574] ca0132 DOWNLOAD OK :-) DSP IS RUNNING.
[ 2021.665957] psmouse serio1: synaptics: queried max coordinates: x [..5398], y [..4728]
[ 2021.871070] PM: resume of devices complete after 2439.817 msecs
[ 2021.871425] PM: Finishing wakeup.
[ 2021.871426] Restarting tasks ... done.
[ 2021.874657] video LNXVIDEO:00: Restoring backlight state
[ 2022.140957] atl1c 0000:07:00.0: atl1c: eth0 NIC Link is Up<1000 Mbps Full Duplex>
[ 2022.442697] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[ 2022.443819] ata2.00: ACPI cmd ef/5a:00:00:00:00:a0 (SET FEATURES) succeeded
[ 2022.445856] ata2.00: ACPI cmd 00/00:00:00:00:00:a0 (NOP) rejected by device (Stat=0x51 Err=0x04)
[ 2022.446053] ata2.00: configured for UDMA/133
In both situations I get correct values from hdajacksensetest -a:
Code:
Pin 0x0b (Internal Speaker): present = Yes
Pin 0x0c (Black SPDIF Out, Left side): present = No
Pin 0x0d (Not connected): present = No
Pin 0x0e (Internal SPDIF In): present = No
Pin 0x0f (Not connected): present = No
Pin 0x10 (Black Headphone, Left side): present = Yes
Pin 0x11 (Black Line In, Left side): present = No
Pin 0x12 (Internal Mic, Mobile-In): present = No
Pin 0x13 (Not connected): present = No
Pin 0x18 (Not connected): present = No
In my opinion the only thing that there is a problem with is IRQ. It looks like codec cannot get the IRQ while booting. After sleep/resume it registers again IRQ. That why is able to invoke jack sensing event.
According to
Audio Debugging Techniques - Jack sensing there is a problem with kernel driver that does not notify userspace correctly about jack change.
Does anyone know solution to this issue?
How can I reinitialize IRQs for sound?
Just to mention,
Code:
modprobe -r snd_hda_intel
modprobe snd_hda_intel
doesn't fix the problem.
FIX FOR no sound LINUX->WINDOWS->LINUX:
If someone has problems with no sound after boot and the only solution for him is to reboot to the Windows and come back to linux to have the sound again, try suspending your PC in linux. This one fixes the problem with ca0132 muted.
In my opinion there might be a problem with codec/ca0132 module initialization conflicting with something else in the system.