[CentOS] Module building and signing

Tue Apr 22 14:16:13 UTC 2014
Chris Pemberton <cjpembo at gmail.com>

In order to get "Beats Audio" (2.1 channel sound) working on my HP 
k025dx laptop running CentOS 6.5, I need to re-assign some of the pins 
on the Intel HDA soundcard - model 92HD91BXX.  This is trivial in newer 
distros for two reasons:

1. the 'hda-jack-retask' application compiles and runs on newer distros
2.  the snd-hda-intel modules on newer distros are compiled with 
CONFIG_SND_HDA_RECONFIG=y

Even if I could get 'hda-jack-retask' to compile, I'd still need the 
module built with CONFIG_SND_HDA_RECONFIG=y.

So I followed the 2 wiki articles to install full kernel sources and I 
re-compiled the module.

When loading the new module, I get the following error:

FATAL: Error inserting snd_hda_intel 
(/lib/modules/2.6.32-431.11.2.el6.x86_64/extra/snd-hda-intel.ko): 
Invalid module format

I run 'file' on the new and original modules and they seem identical:

/lib/modules/2.6.32-431.11.2.el6.x86_64/extra/snd-hda-intel.ko: ELF 
64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped

/lib/modules/2.6.32-431.11.2.el6.x86_64/kernel/sound/pci/hda/snd-hda-intel.ko: 
ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped

My next attempt was to compile an entire kernel, and then copy the new 
module over to the original kernel.  Inserting the module give the 
following:

Module signed with unknown public key
ksign: module signed with unknown public key
- signature keyid: 3000b37e8a34083d ver=4

I googled for a fix and tried two methods of removing the module signing 
(neither worked):

objcopy -R .note.module_sig snd-hda-intel.ko

objcopy -R .module_sig snd-hda-intel.ko

(I did get finally get the audio pins re-mapped, but I had to resort to 
using my newly-compiled kernel as well).

Should kmod fix my issues?

Thanks,

Chris