As of kernel 3.6.9 in Debian (experimental), the patch is included by default so this procedure is now obsolete. Save yourself a lot of trouble and simply install
My T430's speaker got muted as soon as I docked it in its Mini Dock Plus Series 3. Luckily a patch has been posted to the Linux' mailing list.
Here's a quick guide to get sound from the dock by patching the Linux kernel and building Debian packages for the patched kernel and for the proprietary nVidia module.
Get the latest kernel from kernel.org. I used version 3.6.4, released on 28 October 2012. Download it to
Extract the kernel's tarball in
/usr/src, it will create a directory
tar xf linux-3.6.4.tar.bz2
Create a symbolic link to
ln -sv /usr/src/linux-3.6.4 /usr/src/linux
/usr/src directory to your normal user. This way you can build packages without having to be root.
chown -R youruser /usr/src
Install the nVidia kernel source. I installed version 304.60 from the unstable repo.
aptitude -t unstable install nvidia-kernel-source
Extract the nVidia kernel tarball, it was installed under
tar xf /usr/src/nvidia-kernel-source.tar.bz2
Configure your kernel manually (
make menuconfig) or copy a config you already have (e.g.
/boot/config-3.2.0-3-amd64) and run
make oldconfig to set all the new options that have been introduced since v3.2.0.
Get the patch to get sound from the docking station: : https://lkml.org/lkml/2012/10/19/320. I just added the missing line manually to
sound/pci/hda/patch_realtek.c: change the file from
SND_PCI_QUIRK(0x17aa, 0x21f6, "Thinkpad T530", ALC269_FIXUP_LENOVO_DOCK), SND_PCI_QUIRK(0x17aa, 0x21fa, "Thinkpad X230", ALC269_FIXUP_LENOVO_DOCK), SND_PCI_QUIRK(0x17aa, 0x21fb, "Thinkpad T430s", ALC269_FIXUP_LENOVO_DOCK), SND_PCI_QUIRK(0x17aa, 0x2203, "Thinkpad X230 Tablet", ALC269_FIXUP_LENOVO_DOCK),
SND_PCI_QUIRK(0x17aa, 0x21f6, "Thinkpad T530", ALC269_FIXUP_LENOVO_DOCK), SND_PCI_QUIRK(0x17aa, 0x21fa, "Thinkpad X230", ALC269_FIXUP_LENOVO_DOCK), SND_PCI_QUIRK(0x17aa, 0x21f3, "Thinkpad T430", ALC269_FIXUP_LENOVO_DOCK), SND_PCI_QUIRK(0x17aa, 0x21fb, "Thinkpad T430s", ALC269_FIXUP_LENOVO_DOCK), SND_PCI_QUIRK(0x17aa, 0x2203, "Thinkpad X230 Tablet", ALC269_FIXUP_LENOVO_DOCK),
make-kpkg to build the kernel, the modules, an initial ramdisk, the kernel header files and the nVidia kernel module in one swift command:
make-kpkg --revision 3.6.4 --append-to-version -2-bgd -j4 --initrd kernel_image kernel_headers modules_image
make-kpkg's manpage for more info on the parameters and switches to the above command.
Find your new packages in
Install your patched kernel, headers and nVidia module:
dpkg -i linux-headers-3.6.4-2-bgd_3.6.4_amd64.deb linux-image-3.6.4-2-bgd_3.6.4_amd64.deb nvidia-kernel-3.6.4-2-bgd_304.60-1+3.6.4_amd64.deb
Reboot and enjoy sound from the dock!
When I installed the 3 .deb files above, I still had the nVidia packages from Debian unstable installed as well. This was not a good idea: after a few weeks a new nVidia driver was available (v304.64), and it got installed with
aptitude safe-upgrade. It clashed with my custom package to the extent where X would not show an image anymore. I ended up with hundreds of
Xorg.[0-999].log files in
I fixed this by removing all official Debian packages for nVidia, and reinstalling my own custom package.