3

I have recently installed Xubuntu on my Asus C302C Chromebook. Everything works great except I don't have any sound, which seems to be a common problem on Chromebooks. I have read a lot of pages and tried a lot of solutions, but the problem seems to come down to the fact that the laptop is not recognizing the kernel module to load.

Here is a dump of sudo alsa-info from my laptop: https://pastebin.com/gGJ2mXmP

!!################################
!!ALSA Information Script v 0.5.1
!!################################

!!Script ran on: Tue Jan 10 02:34:56 UTC 2023

!!Linux Distribution !!------------------

Ubuntu 22.04.1 LTS \n \l DISTRIB_ID=Ubuntu DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS" PRETTY_NAME="Ubuntu 22.04.1 LTS" NAME="Ubuntu" ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" UBUNTU_CODENAME=jammy

!!DMI Information !!---------------

Manufacturer: Google Product Name: Cave Product Version: 1.0 Firmware Version:
System SKU:
Board Vendor: Google Board Name: Cave

!!ACPI Device Status Information !!---------------

/sys/bus/acpi/devices/10508825:00/status 15 /sys/bus/acpi/devices/ACPI0003:00/status 15 /sys/bus/acpi/devices/ACPI0008:00/status 15 /sys/bus/acpi/devices/ELAN0000:00/status 15 /sys/bus/acpi/devices/ELAN0001:00/status 15 /sys/bus/acpi/devices/GGL0001:00/status 11 /sys/bus/acpi/devices/GOOG0002:00/status 15 /sys/bus/acpi/devices/GOOGCB00:00/status 15 /sys/bus/acpi/devices/INT3400:00/status 15 /sys/bus/acpi/devices/INT3403:00/status 15 /sys/bus/acpi/devices/INT3403:01/status 15 /sys/bus/acpi/devices/INT3403:02/status 15 /sys/bus/acpi/devices/INT3403:03/status 15 /sys/bus/acpi/devices/INT3403:04/status 15 /sys/bus/acpi/devices/INT344B:00/status 15 /sys/bus/acpi/devices/MX98357A:00/status 15 /sys/bus/acpi/devices/PNP0103:00/status 15 /sys/bus/acpi/devices/PNP0303:00/status 15 /sys/bus/acpi/devices/PNP0C02:02/status 15 /sys/bus/acpi/devices/PNP0C02:03/status 15 /sys/bus/acpi/devices/PNP0C0A:00/status 31 /sys/bus/acpi/devices/PNP0C0F:00/status 11 /sys/bus/acpi/devices/PNP0C0F:01/status 11 /sys/bus/acpi/devices/PNP0C0F:02/status 11 /sys/bus/acpi/devices/PNP0C0F:03/status 11 /sys/bus/acpi/devices/PNP0C0F:04/status 11 /sys/bus/acpi/devices/PNP0C0F:05/status 11 /sys/bus/acpi/devices/PNP0C0F:06/status 11 /sys/bus/acpi/devices/PNP0C0F:07/status 11 /sys/bus/acpi/devices/PNP0C31:00/status 15 /sys/bus/acpi/devices/device:36/status 15

!!Kernel Information !!------------------

Kernel release: 5.15.0-56-generic Operating System: GNU/Linux Architecture: x86_64 Processor: x86_64 SMP Enabled: Yes

!!ALSA Version !!------------

Driver version: k5.15.0-56-generic Library version: 1.2.6.1 Utilities version: 1.2.6

!!Loaded ALSA modules !!-------------------

!!Sound Servers on this system !!----------------------------

PipeWire: Installed - Yes (/usr/bin/pipewire) Running - Yes

Pulseaudio: Installed - Yes (/usr/bin/pulseaudio) Running - Yes

!!Soundcards recognised by ALSA !!-----------------------------

--- no soundcards ---

!!PCI Soundcards installed in the system !!--------------------------------------

00:1f.3 Multimedia audio controller [0401]: Intel Corporation Sunrise Point-LP HD Audio [8086:9d70] (rev 21) Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-

!!Modprobe options (Sound related) !!--------------------------------

snd_pcsp: index=-2 snd_usb_audio: index=-2 snd_atiixp_modem: index=-2 snd_intel8x0m: index=-2 snd_via82xx_modem: index=-2 snd_atiixp_modem: index=-2 snd_intel8x0m: index=-2 snd_via82xx_modem: index=-2 snd_usb_audio: index=-2 snd_usb_caiaq: index=-2 snd_usb_ua101: index=-2 snd_usb_us122l: index=-2 snd_usb_usx2y: index=-2 snd_cmipci: mpu_port=0x330 fm_port=0x388 snd_pcsp: index=-2 snd_usb_audio: index=-2

!!Loaded sound module options !!---------------------------

!!Sysfs card info !!---------------

!!Card: /sys/class/sound/card* Driver: Tree: /sys/class/sound/card* [error opening dir]

!!ALSA Device nodes !!-----------------

crw-rw----+ 1 root audio 116, 1 Jan 8 00:15 /dev/snd/seq crw-rw----+ 1 root audio 116, 33 Jan 8 00:15 /dev/snd/timer

!!Aplay/Arecord output !!--------------------

APLAY

aplay: device_list:274: no soundcards found...

ARECORD

arecord: device_list:274: no soundcards found...

!!Amixer output !!-------------

!!Alsactl output !!--------------

--startcollapse-- --endcollapse--

!!All Loaded Modules !!------------------

8250_dw ac97_bus acpi_als acpi_thermal_rel aesni_intel af_alg algif_hash algif_skcipher autofs4 binfmt_misc bluetooth bnep btbcm btintel btrtl btusb ccm cec cfg80211 chromeos_pstore chromeos_tbmc cmac coretemp cqhci crc32_pclmul crct10dif_pclmul cros_ec cros_ec_chardev cros_ec_debugfs cros_ec_dev cros_ec_lpcs cros_ec_sensorhub cros_ec_sensors cros_ec_sensors_core cros_ec_sysfs cros_kbd_led_backlight cros_peripheral_charger cros_usbpd_charger cros_usbpd_logger cros_usbpd_notify cryptd crypto_simd drm drm_kms_helper ecc ecdh_generic efi_pstore elan_i2c fb_sys_fops ghash_clmulni_intel hid hid_generic hid_logitech_hidpp i2c_algo_bit i2c_i801 i2c_smbus i915 icp idma64 industrialio industrialio_triggered_buffer input_leds int3400_thermal int3403_thermal int340x_thermal_zone intel_cstate intel_lpss intel_lpss_pci intel_pch_thermal intel_powerclamp intel_rapl_common intel_rapl_msr intel_soc_dts_iosf intel_tcc_cooling intel_xhci_usb_role_switch ip_tables iwlmvm iwlwifi joydev kfifo_buf kvm kvm_intel libarc4 lp mac80211 mac_hid mc mmc_block msr nls_iso8859_1 parport parport_pc pinctrl_sunrisepoint ppdev processor_thermal_device processor_thermal_device_pci_legacy processor_thermal_mbox processor_thermal_rapl processor_thermal_rfim pstore_blk pstore_zone ramoops rapl rc_core reed_solomon rfcomm sch_fq_codel sdhci sdhci_pci serio_raw snd snd_compress snd_hda_codec snd_hda_core snd_hda_ext_core snd_hwdep snd_intel_dspcfg snd_intel_sdw_acpi snd_pcm snd_pcm_dmaengine snd_rawmidi snd_seq snd_seq_device snd_seq_midi snd_seq_midi_event snd_skl_nau88l25_max98357a snd_soc_acpi snd_soc_acpi_intel_match snd_soc_core snd_soc_dmic snd_soc_hdac_hda snd_soc_hdac_hdmi snd_soc_max98357a snd_soc_nau8825 snd_soc_skl snd_soc_skl_ssp_clk snd_soc_sst_dsp snd_soc_sst_ipc snd_timer soundcore spl syscopyarea sysfillrect sysimgblt tls ttm uhid uvcvideo video videobuf2_common videobuf2_memops videobuf2_v4l2 videobuf2_vmalloc videodev x86_pkg_temp_thermal x_tables xhci_pci xhci_pci_renesas zavl zcommon zfs zlua znvpair zunicode zzstd

!!ALSA/HDA dmesg !!--------------

[ 0.131480] ACPI: Added _OSI(Linux-Dell-Video) [ 0.131480] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio) [ 0.131480] ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics) -- [ 7.746350] ieee80211 phy0: Selected rate control algorithm 'iwl-mvm-rs' [ 7.848877] snd_soc_skl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040100 [ 7.854879] snd_soc_skl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915]) [ 7.864378] intel_tcc_cooling: Programmable TCC Offset detected -- [ 8.109053] iwlwifi 0000:01:00.0 wlp1s0: renamed from wlan0 [ 8.218507] HDMI HDA Codec ehdaudio0D2: Max dais supported: 3 [ 8.245117] snd_soc_skl 0000:00:1f.3: ASoC: Parent card not yet available, widget card binding deferred [ 8.264329] HDMI HDA Codec ehdaudio0D2: hdac_hdmi_present_sense: disconnect for pin:port 5:0 [ 8.264589] HDMI HDA Codec ehdaudio0D2: hdac_hdmi_present_sense: disconnect for pin:port 6:0 [ 8.264861] HDMI HDA Codec ehdaudio0D2: hdac_hdmi_present_sense: disconnect for pin:port 7:0 [ 8.265995] skl_n88l25_m98357a skl_n88l25_m98357a: ASoC: source widget Capture overwritten -- [ 8.266024] skl_n88l25_m98357a skl_n88l25_m98357a: ASoC: Failed to add route iDisp3_out -> direct -> iDisp3 Tx [ 8.266040] skl_n88l25_m98357a skl_n88l25_m98357a: snd_soc_bind_card: snd_soc_dapm_add_routes failed: -19 [ 8.676226] loop0: detected capacity change from 0 to 8 -- [ 918.921078] usb 1-7: reset high-speed USB device number 3 using xhci_hcd [ 919.115391] HDMI HDA Codec ehdaudio0D2: hdac_hdmi_present_sense: disconnect for pin:port 5:0 [ 919.115405] HDMI HDA Codec ehdaudio0D2: hdac_hdmi_present_sense: disconnect for pin:port 6:0 [ 919.115413] HDMI HDA Codec ehdaudio0D2: hdac_hdmi_present_sense: disconnect for pin:port 7:0 [ 919.116033] OOM killer enabled. -- [ 1441.795466] usb 1-7: reset high-speed USB device number 3 using xhci_hcd [ 1441.991367] HDMI HDA Codec ehdaudio0D2: hdac_hdmi_present_sense: disconnect for pin:port 5:0 [ 1441.991377] HDMI HDA Codec ehdaudio0D2: hdac_hdmi_present_sense: disconnect for pin:port 6:0 [ 1441.991396] HDMI HDA Codec ehdaudio0D2: hdac_hdmi_present_sense: disconnect for pin:port 7:0 [ 1441.991978] OOM killer enabled.

!!Packages installed !!--------------------

ii alsa-topology-conf 1.2.5.1-2 all ALSA topology configuration files ii alsa-ucm-conf 1.2.6.3-1ubuntu1.1 all ALSA Use Case Manager configuration files ii alsa-utils 1.2.6-1ubuntu1 amd64 Utilities for configuring and using ALSA

I kept hearing that Gallium OS had great Chromebook support, so I loaded a liveboot image to see if sound worked, and it did! I ran alsa-info there as well to see how it was working: https://pastebin.com/M1KYGkiZ

What stood out to me was that ALSA module loaded was snd_skl_nau88l25_max98357a. When I searched around I found someone else who hit the same problem on an older Kernel and Ubuntu version, and they said you need to compile your own kernel to enable the module.

So I compiled the Kernel and I can see the module available:

$ lsmod | grep nau8825
snd_soc_nau8825        57344  0
snd_soc_core          294912  2 snd_soc_max98357a,snd_soc_nau8825
snd_pcm               131072  4 snd_compress,snd_soc_core,snd_soc_nau8825,snd_pcm_dmaengine

But still no success. How can I force Alsa to use this module?

Update 1:

I noticed that lspci was showing that no kernel driver was being used for the sound card:

$ lspci -nnk |  grep -A3 Audio
00:1f.3 Multimedia audio controller [0401]: Intel Corporation Sunrise Point-LP HD Audio [8086:9d70] (rev 21)
    Kernel modules: snd_hda_intel, snd_soc_skl
00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-LP SMBus [8086:9d23] (rev 21)
    Subsystem: Intel Corporation Sunrise Point-LP SMBus [8086:9d23]

But on GalliumOS it is using snd_soc_skl:

$ lspci -nnk | grep -A2 Audio
00:1f.3 Multimedia audio controller [0401]: Intel Corporation Sunrise Point-LP HD Audio [8086:9d70] (rev 21)
    Kernel driver in use: snd_soc_skl
    Kernel modules: snd_hda_intel, snd_soc_skl

Update 2:

I realized that I had snd_soc_skl blacklisted in /etc/modprobe.d/blacklist.conf. I removed it and now lspci shows it being used by my sound card. Still no sound though.

karel
  • 122,292
  • 133
  • 301
  • 332
arajek
  • 81

3 Answers3

0

Since you have already tweaked the default sound settings a lot, I don't know if this answer would still work, but I have verified that it works with fresh installations of Kubuntu 23.04, Ubuntu MATE 23.04, and Manjaro Linux running on a Chromebook with Gemini Lake Processor.

There is a audio-script repository for Chromebooks, which works for Ubuntu 22.10 and later versions.

git clone https://github.com/WeirdTreeThing/chromebook-linux-audio.git
cd chromebook-linux-audio
./setup-audio

And reboot.

0

Hopefully my experience with the same Chromebook will help. I have managed to get it to work on my Asus 302 with ubuntu 23.04 using audio-scripts repository mentioned above with force-avs-install but I had to use a newer Kernel ( I used mainline 6.3.5 ) as the default ubuntu 23.04 kernel didn't work. Hopefully 23.10 kernels will have everything so won't need changing. Please beware of the damage to speakers warning.

0

User1704879 solution worked for me however in addition the work/steps he provided I also had to update my coreboot version. You can do that through the MrChromeBox scripts. I also reset the nvram flag as it was locked for some reason. (nvram reset is in the MrChromeBox script)