天天看點

Ubuntu 18.04 解決no soundcards found情況下沒有聲音的問題

台式電腦安裝的是Ubuntu 18.04的系統,系統裝好後從來沒有用過它插耳機放聲音或者插麥克風錄音。近期因工作需要,需要插外接聲霸卡錄音,但是插上一直沒反應,用Audacity軟體錄音的時候無法選擇外接聲霸卡。在别人的電腦上直接插上外接聲霸卡就能用,打開Audacity就能選擇使用外接聲霸卡錄音,可我的電腦就是不能識别出聲霸卡, ALSA的驅動也确定已經安裝(sudo apt install libasound2)。後來仔細對比了我和其他人的電腦才發現是因為我更新核心的時候少裝了一些子產品,問題描述和解決方案如下:

問題描述

安裝Ubuntu 18.04系統的台式電腦插上耳機放不出聲音,插上麥克風也不能錄音。具體表現為:

  1. ALSA聲霸卡驅動确定已經安裝

    通過執行以下指令,顯示的是 [installed]

$ apt search libasound2
執行之後顯示
libasound2/bionic-updates,now 1.1.3-5ubuntu0.2 amd64 [installed]
  shared library for ALSA applications
           

如果執行這條指令沒有看到installed的話,需要執行以下指令安裝ALSA聲霸卡驅動。

$ sudo apt install libasound2 libasound2-dev
           

ALSA是Advanced Linux Sound Architecture的簡稱,是目前Ubuntu系統采用的聲霸卡驅動程式,關于Linux系統下各聲音驅動程式的介紹可以參考https://blog.csdn.net/cnclenovo/article/details/47106743

  1. 執行以下兩個指令的時候都出現device_list:270: no soundcards found…
$ arecord -l
$ aplay -l
           

注意:以上這兩條指令需要已經安裝了alsa-utils這個包(

sudo apt install alsa-utils

3. 找不到snd-hda-intel module

askubuntu裡有一個人是通過modprobe指令添加子產品到Linux系統核心解決的這個問題(連結),但是我執行這個指令的時候提示沒有snd-hda-intel子產品

$ sudo modprobe snd-hda-intel
執行後出現
Module snd-hda-intel not found in directory /lib/modules/4.15.0-39-generic
           

其實執行完這個指令就應該意識到是核心少裝了一些東西的,但那時候不懂原因,又折騰了好些時間。

解決方案

這個問題困擾了我不少時間。通過跟别人的電腦仔細比對,發現我們的電腦核心版本不一樣,因為在搜尋過程看到過有網友在更新核心後就沒有聲音,靈光一現想到我也可能是這個原因。于是我立馬重新開機電腦,在進入系統的時候通過進階選項進入了初裝系統時的核心4.15.0-36-generic,進去之後用播放聲音的軟體可以在耳機裡放出聲音了,很高興,問題找到了。

我之前更新核心是通過以下指令實作的

$ sudo apt install linux-image-4.15.0-39-generic
           

我通過對比以下兩條指令的結果

$ apt search 4.15.0-36 | grep installed
$ apt search 4.15.0-39 | grep installed
           

發現更新核心的時候少裝了Linux kernel extra modules,通過執行以下指令

$ sudo apt install -y linux-modules-extra-4.15.0-39-generic
           

重新開機進入新的核心,可以放出聲音,Audacity也可以正常錄音放音,問題得到了解決。

其他可能的解決方法

在解決這個問題的過程中我也看到了不少其他人的解決方法,但是對我來說都不适用,可能對其他人有用,這裡記錄一下:

  1. 有人說USB聲霸卡不能被識别有可能是因為那個USB口供電不足,換USB口之後就好了
  2. 有的人是因為沒有裝ALSA的驅動,或者驅動裝得不對,通過apt删掉libasound2,然後重新裝上之後重新開機解決了
  3. alsa-info可以幫助生成一份報告,有助于解決問題(alsa-info在裝了驅動之後應該預設是有的,如果沒有的可以從http://www.alsa-project.org/alsa-info.sh下載下傳)
  4. github上的ALSA介紹:https://github.com/opensrc/alsa
  5. https://askubuntu.com/questions/57810/how-to-fix-no-soundcards-found這個連結列出了一些Basic Troubleshooting Steps

繼續閱讀