Module Building And Signing

Home » CentOS » Module Building And Signing
CentOS No Comments

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