[PlanetCCRMA] alsa kernel modules: invalid module format

Fernando Pablo Lopez-Lezcano nando@ccrma.Stanford.EDU
Sun Nov 7 11:58:02 2004

On Sat, 2004-11-06 at 19:31, Samuel Sieb wrote:
> Fernando Pablo Lopez-Lezcano wrote:
> > On Sat, 2004-11-06 at 14:46, Samuel Sieb wrote:
> > 
> >>I installed FC2 on a computer, then upgraded to Planet CCRMA, but I 
> >>can't get the sound to work now.  It's a Pentium 133.  I get a stream of 
> >>the following messages when I try to load a sound module:
> >>WARNING: Error inserting snd_sb16_dsp 
> >>(/lib/modules/2.6.7-1.437.1.ll.rhfc2.ccrma/updates/isa/sb/snd-sb16-dsp.ko): 
> >>Invalid module format
> >>
> >>One line for every module in the dependency list.  It originally 
> >>installed the i686 version of 
> >>kernel-module-alsa-2.6.7-1.437.1.ll.rhfc2.ccrma-1.0.5a-1.cvs.rhfc2.ccrma, 
> >>but I've changed it to the i586 version and it still does exactly the 
> >>same thing.  The kernel is 2.6.7-1.437.1.ll.rhfc2.ccrma.  It would be 
> >>really nice to get it working again, since this is my jukebox...
> > 
> > 
> > If you replaced by hand the i686 kernel with the i586, did you also
> > replace the kenrel-module-alsa with the one that matches the
> > architecture (ie: i586)? Both must have the same architecture. 
> > 
> > -- Fernando
> > 
> It was the i686 *alsa* package that I replaced with the i586. 

And you did not get any complains from rpm? (about missed
dependencies?). That is strange. The kernel and the kernel-module-alsa
packages have built in dependencies so that you should not be able to
install kernel-module-alsa if the proper matching kernel is not

> But I just 
> reinstalled the i586 version of the kernel just to make sure and the 
> depmod at the end of the install spit out lots of these messages:
> /lib/modules/2.6.7-1.437.1.ll.rhfc2.ccrma/updates/acore/seq/instr/snd-ainstr-simple.ko 
> needs unknown symbol get_user_size
> /lib/modules/2.6.7-1.437.1.ll.rhfc2.ccrma/updates/acore/seq/instr/snd-ainstr-simple.ko 
> needs unknown symbol put_user_size

Ok, this is different. If the architecture indeed matches then it looks
like a compilation problem when the alsa modules where built (most
probably nobody has ever tried to actually run the i586 kernel...). 

This I would have to fix. 

To double check that the architecture matches do, for both packages:
  rpm -q --qf "%{NAME}  %{ARCH}\n" package_name

If the architectures match then there would be a possible workaround.
One would be to remove the kernel-module-alsa package and use the
internal alsa that is included in the kernel itself (older but should
work). The problem is that you have other packages that need
kernel-module-alsa to be present so if you try to remove it rpm will
complain. Try it anyway. If rpm complains then we could do some surgery
and erase the contents of the package but leave the package installed
(bad form but well, it is a workaround :-)

The kernel modules that kernel-module-alsa installs are located in:
So, erase the files inside that directory and run "/sbin/depmod -a"

Alsa should load fine after that (using the modules included in the
kernel rpm). 

-- Fernando