Kernel Compilation

SolydXK is too quiet for you? SolydXK Enthusiast Editions, based on Debian Testing is for you! Here you can find news about Debian Testing and Unstable too, and also tests on SolydXK programs.
The support for SolydXK EE is provided by the community.
Chris M
Posts: 27
Joined: 01 Sep 2013 20:16

Kernel Compilation

Postby Chris M » 18 Feb 2014 18:44

This is a bit off topic, but here's my situation. I just replaced my 6 year old laptop. The new one is too new for the kernel embedded Advanced Linux Sound Architecture (ALSA) driver(s) in the 3.12 kernel. I have been following the patch progress on kernel.org, and I'm pretty sure the developers have nailed down the realtek driver (or codecs) which is implemented by an Intel driver in the 3.14-rc3 kernel.

In the 3.14-rc3 uncompressed kernel source, there's a patch at sound/pci/hda/patch_realtek.c

The question is this: Does a compiled kernel already include the above patch? Or, because it is labeled as a "patch" within the source, do I have to actually patch the source before compiling?

I assumed that simply compiling the new 3.14-rc3 kernel and then installing would take care of this. Now, I'm not so sure. I'm still getting no sound, and I've played with the basic ALSA setting to know there's still a fundamental problem.

Thanks.

kurotsugi
Posts: 2185
Joined: 09 Jan 2014 00:17

Re: Kernel Compilation

Postby kurotsugi » 19 Feb 2014 10:09

can you tell us the result of 'inxi -A' and the content of '/etc/modprobe.d/alsa-base.conf'?

Chris M
Posts: 27
Joined: 01 Sep 2013 20:16

Re: Kernel Compilation

Postby Chris M » 19 Feb 2014 14:15

kurotsugi wrote:can you tell us the result of 'inxi -A' and the content of '/etc/modprobe.d/alsa-base.conf'?
chris@inspiron:~$ inxi -A
Audio: Card-1: Intel Lynx Point-LP HD Audio Controller driver: snd_hda_intel Sound: ALSA ver: k3.14.0-rc3
Card-2: Intel Haswell-ULT HD Audio Controller driver: snd_hda_intel

and...

Code: Select all

# options snd slots=snd_hda_codec_realtek,snd_hda_intel
# options snd_hda_codec_realtek=0
# options snd_hda_intel index=1
# autoloader aliases
install sound-slot-0 /sbin/modprobe snd-card-0
install sound-slot-1 /sbin/modprobe snd-card-1
install sound-slot-2 /sbin/modprobe snd-card-2
install sound-slot-3 /sbin/modprobe snd-card-3
install sound-slot-4 /sbin/modprobe snd-card-4
install sound-slot-5 /sbin/modprobe snd-card-5
install sound-slot-6 /sbin/modprobe snd-card-6
install sound-slot-7 /sbin/modprobe snd-card-7
# Cause optional modules to be loaded above generic modules
install snd /sbin/modprobe --ignore-install snd && { /sbin/modprobe --quiet snd-ioctl32 ; /sbin/modprobe --quiet snd-seq ; : ; }
install snd-rawmidi /sbin/modprobe --ignore-install snd-rawmidi && { /sbin/modprobe --quiet snd-seq-midi ; : ; }
install snd-emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 && { /sbin/modprobe --quiet snd-emu10k1-synth ; : ; }
# Keep snd-pcsp from beeing loaded as first soundcard
options snd-pcsp index=-2
# Keep snd-usb-audio from beeing loaded as first soundcard
options snd-usb-audio index=-2
# Prevent abnormal drivers from grabbing index 0
options bt87x index=-2
options cx88_alsa index=-2
options snd-atiixp-modem index=-2
options snd-intel8x0m index=-2
options snd-via82xx-modem index=-2
options snd-usb-audio index=-2
options snd-usb-caiaq index=-2
options snd-usb-ua101 index=-2
options snd-usb-us122l index=-2
options snd-usb-usx2y index=-2
options snd-pcsp index=-2
options snd-usb-audio index=-2
Edit: The realtek reference is commented out, and is a leftover from me messing around with it. I commented it out before reinstalling the new kernel this morning following your request. The file time stamp has not changed. The bottom line is that alsa-base.conf was not modified by the installation of the new kernel.

http://www.dell.com/support/drivers/us/ ... on-15-7537
Realtek ALC3223 Audio Driver
This package provides Realtek ALC3223 Audio Driver and is supported on Inspiron 7437/7537/7737 models that are running the following Windows Operating Systems: Windows 8 (64 bit).
Here's the discussion that led me to understand that it was a patch that would correct this: http://permalink.gmane.org/gmane.linux. ... vel/115717

That patch made it into the 3.14-rc3 kernel source as a patch at sound/pci/hda/patch_realtek.c

kurotsugi
Posts: 2185
Joined: 09 Jan 2014 00:17

Re: Kernel Compilation

Postby kurotsugi » 19 Feb 2014 14:30

we have a sound card database here --> http://forums.solydxk.nl/viewtopic.php?t=137&p=2232
your card isn't listed there but we can try the method showed there. in general, on intel card, we put this line on /etc/modprobe.d/alsa-base.conf

Code: Select all

options snd-hda-intel model=auto
#in case if that didn't work we change the line to 
options snd-hda-intel model=generic
this line seems missing on your file.

Chris M
Posts: 27
Joined: 01 Sep 2013 20:16

Re: Kernel Compilation

Postby Chris M » 19 Feb 2014 14:47

kurotsugi wrote:we have a sound card database here --> http://forums.solydxk.nl/viewtopic.php?t=137&p=2232
your card isn't listed there but we can try the method showed there. in general, on intel card, we put this line on /etc/modprobe.d/alsa-base.conf

Code: Select all

options snd-hda-intel model=auto
#in case if that didn't work we change the line to 
options snd-hda-intel model=generic
this line seems missing on your file.
OK, I'll look into this. I did edit my response to your original post. The bottom line is that the new kernel installation did not modify alsa-base.conf

I'll apply this. I'm still not sure why the patch did not fix the issue, or if the kernel patch even gets applied.

Thanks. I think I understand why they threw ALSA into the kernel. But this would be much easier to deal with if it had remained another installable package.

Chris M
Posts: 27
Joined: 01 Sep 2013 20:16

Re: Kernel Compilation

Postby Chris M » 19 Feb 2014 15:06

kurotsugi, unfortunately, the alsa-base.conf addition didn't work. Thanks for taking a crack at this.

kurotsugi
Posts: 2185
Joined: 09 Jan 2014 00:17

Re: Kernel Compilation

Postby kurotsugi » 19 Feb 2014 15:37

in my understanding, the patch should have been applied as stated in the Makefile

Code: Select all

snd-hda-intel-objs := hda_intel.o
# for haswell power well
snd-hda-intel-$(CONFIG_SND_HDA_I915) +=	hda_i915.o

snd-hda-codec-y := hda_codec.o hda_jack.o hda_auto_parser.o
snd-hda-codec-$(CONFIG_PROC_FS) += hda_proc.o
snd-hda-codec-$(CONFIG_SND_HDA_HWDEP) += hda_hwdep.o
snd-hda-codec-$(CONFIG_SND_HDA_INPUT_BEEP) += hda_beep.o

# for trace-points
CFLAGS_hda_codec.o := -I$(src)
CFLAGS_hda_intel.o := -I$(src)

snd-hda-codec-generic-objs :=	hda_generic.o
snd-hda-codec-realtek-objs :=	patch_realtek.o
snd-hda-codec-cmedia-objs :=	patch_cmedia.o
snd-hda-codec-analog-objs :=	patch_analog.o
snd-hda-codec-idt-objs :=	patch_sigmatel.o
snd-hda-codec-si3054-objs :=	patch_si3054.o
snd-hda-codec-cirrus-objs :=	patch_cirrus.o
snd-hda-codec-ca0110-objs :=	patch_ca0110.o
snd-hda-codec-ca0132-objs :=	patch_ca0132.o
snd-hda-codec-conexant-objs :=	patch_conexant.o
snd-hda-codec-via-objs :=	patch_via.o
snd-hda-codec-hdmi-objs :=	patch_hdmi.o hda_eld.o

# common driver
obj-$(CONFIG_SND_HDA_INTEL) := snd-hda-codec.o

# codec drivers
obj-$(CONFIG_SND_HDA_GENERIC) += snd-hda-codec-generic.o
obj-$(CONFIG_SND_HDA_CODEC_REALTEK) += snd-hda-codec-realtek.o
obj-$(CONFIG_SND_HDA_CODEC_CMEDIA) += snd-hda-codec-cmedia.o
obj-$(CONFIG_SND_HDA_CODEC_ANALOG) += snd-hda-codec-analog.o
obj-$(CONFIG_SND_HDA_CODEC_SIGMATEL) += snd-hda-codec-idt.o
obj-$(CONFIG_SND_HDA_CODEC_SI3054) += snd-hda-codec-si3054.o
obj-$(CONFIG_SND_HDA_CODEC_CIRRUS) += snd-hda-codec-cirrus.o
obj-$(CONFIG_SND_HDA_CODEC_CA0110) += snd-hda-codec-ca0110.o
obj-$(CONFIG_SND_HDA_CODEC_CA0132) += snd-hda-codec-ca0132.o
obj-$(CONFIG_SND_HDA_CODEC_CONEXANT) += snd-hda-codec-conexant.o
obj-$(CONFIG_SND_HDA_CODEC_VIA) += snd-hda-codec-via.o
obj-$(CONFIG_SND_HDA_CODEC_HDMI) += snd-hda-codec-hdmi.o

# this must be the last entry after codec drivers;
# otherwise the codec patches won't be hooked before the PCI probe
# when built in kernel
obj-$(CONFIG_SND_HDA_INTEL) += snd-hda-intel.o
anyway, the patch you've mentioned didn't say anything about hardware support. the support will eventually came but it's not the correct place to watch.

Chris M
Posts: 27
Joined: 01 Sep 2013 20:16

Re: Kernel Compilation

Postby Chris M » 19 Feb 2014 17:12

OK on the Makefile. You learn something new every day.

http://debian-handbook.info/browse/stab ... ation.html :
Once the kernel configuration is ready, a simple make deb-pkg will generate up to 5 Debian packages: linux-image-version that contains the kernel image and the associated modules, linux-headers-version which contains the header files required to build external modules, linux-firmware-image-version which contains the firmware files needed by some drivers, linux-image-version-dbg which contains the debugging symbols for the kernel image and its modules, and linux-libc-dev which contains headers relevant to some user space libraries like GNU glibc.
All 5 deb packages were created. I'm not on my linux computer right now, so I'm not citing the exact the firmware version. I only did a dpkg -i for the linux-image. I'll try installing the firmware deb also and see where that lands me - although I thought I did that, and it didn't work. Come to think of it, that's probably not where this fix will be. Not sure where the hardware file would be located, but it's not too new. You would think that it would be handled in a new RC kernel.

Thanks again.


Return to “Testing Zone”

Who is online

Users browsing this forum: No registered users and 5 guests