装有Linux的Dell Inspiron 5559(英特尔设备9d70)没有声音

时间:2020-03-21 11:47:36  来源:igfitidea点击:

如何在运行Debian Jessie的Dell Inspiron 5559上解决声音问题。

系统信息

  • 笔记本电脑:Dell Inspiron 5559
  • 声卡:英特尔设备9d70(rev 21)
  • 操作系统:Debian Jessie 8.2(x64)
  • 内核:3.16.0(Debian Jessie附带)
  • 音响系统:ALSA

lspci片段:

00:1f.3 Audio device: Intel Corporation Device 9d70 (rev 21)
	Subsystem: Dell Device 06b2
	Flags: bus master, fast devsel, latency 32, IRQ 126
	Memory at d1220000 (64-bit, non-prefetchable) [size=16K]
	Memory at d1200000 (64-bit, non-prefetchable) [size=64K]
	Capabilities: [50] Power Management version 3
	Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
	Kernel driver in use: snd_hda_intel

问题

没有声音。

如何解决Debian Jessie问题

下载并编译Linux Kernel 4.2.X

内核需要更新到4.2.X。
在撰写本文时,它是4.2.6.

# apt-get install gcc make bc ca-certificates libncurses5-dev wget xz-utils

下载完整的内核源代码。

[UPDATE 2015]:内核4.2是EOL,我们可以在此处获取4.2.8源代码的副本:https://www.kernel.org/pub/linux/kernel/v4.x/

# wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.2.6.tar.xz
# wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.2.6.tar.sign

验证签名:

# xz -cd linux-4.2.6.tar.xz | gpg --verify linux-4.2.6.tar.sign 
gpg: Signature made Mon 09 Nov 2014 22:38:15 GMT using RSA key ID 6092693E
gpg: Can't check signature: public key not found
# gpg --keyserver hkp://keys.gnupg.net --recv-keys 6092693E
gpg: requesting key 6092693E from hkp server keys.gnupg.net
gpg: key 6092693E: public key "Greg Kroah-Hartman (Linux kernel stable release signing key) <Hyman@theitroad>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:

imported: 1  (RSA: 1)
# xz -cd linux-4.2.6.tar.xz | gpg --verify linux-4.2.6.tar.sign - 
gpg: Signature made Mon 09 Nov 2014 22:38:15 GMT using RSA key ID 6092693E
gpg: Good signature from "Greg Kroah-Hartman (Linux kernel stable release signing key) <Hyman@theitroad>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg:

There is no indication that the signature belongs to the owner.
Primary key fingerprint: 647F 2865 4894 E3BD 4571  99BE 38DB BDC8 6092 693E
# tar xvfJ linux-4.2.6.tar.xz -C /usr/src
# cd /usr/src/linux-4.2.6
# make clean

配置内核:

# make menuconfig

Linux内核配置项CONFIG_SND_HDA_INTEL具有多个定义,我们将其编译为模块:

# grep HDA_INTEL /usr/src/linux-4.2.6/.config
CONFIG_SND_HDA_INTEL=m

编译内核:

# make -j3

构建内核及其模块:

# make bzImage
# make modules

安装内核及其模块:

# make modules_install install

(可选)减小initram的大小。
打开“ /etc/initramfs-tools/initramfs.conf”并放入以下行:

MODULES=dep

生成新图像:

# update-initramfs -u -k 4.2.6

更新grub并重新启动:

# update-grub

检查内核版本:

# uname -rvm
4.2.6 #3 SMP Sun Dec 6 13:10:16 GMT 2014 x86_64

添加Jessie反向移植

反向移植是从测试重新编译的程序包(大多数情况下)。

创建“ /etc/apt/sources.list.d/jessie-backports.list”文件并添加以下行:

deb http://http.debian.net/debian jessie-backports main contrib non-free

运行更新:

# apt-get update

从Jessie反向端口安装firmware-intel-sound软件包:

# apt-get -t jessie-backports install firmware-intel-sound

声音现在应该正常工作了。

Alsa版本和内核模块

这些仅供参考:

# cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version k4.2.6.
# lsmod|grep snd
snd_hda_codec_hdmi     49152  1 
snd_hda_codec_realtek    73728  1 
snd_hda_codec_generic    65536  1 snd_hda_codec_realtek
snd_hda_intel

32768  1 
snd_hda_codec

102400  4 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_intel
snd_hda_core

49152  5 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
snd_hwdep

16384  1 snd_hda_codec
snd_pcm

81920  4 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_core
snd_timer

28672  1 snd_pcm
snd

61440  10 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
soundcore

16384  1 snd