Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#48 Making aureal driver work in Redhat 8.0

open-works-for-me
nobody
None
9
2002-10-20
2002-10-20
Simon Gales
No

I spent the morning downloading, compiling, surfing,
fixing, etc, so I want to pass on my experiences re:
getting this driver to work in Redhat 8.0.

First off, make sure you get the *latest* sources from
CVS. If you've already tried building from the
downloads, be sure to remove the current driver, if
any, from /lib/modules/...

Second, create the /usr/src/linux link by typing "ln
/usr/src/linux-`uname -r` /usr/src/linux"

The driver should build fine, but insmod/modprobe will
complain that it was built with gcc2, though the kernel
was built with gcc3. Something like:
./au8830.o: The module you are trying to load
(./au8830.o) is
compiled with a gcc version 2 compiler, while the
kernel you
are running is compiled with a gcc version 3
compiler. This is
known to not work.

Note that part of this driver's distribution is a
binary file, asp*.o, and that it was built with gcc2.
Sigh. See http://aureal.sourceforge.net/ for an
explanation, suffice it to say that sources to asp*.o
aren't available, though a reverse-engineering effort
is underway.

For now, you have two options:
1) Force the module to load with insmod -f, probably in
rc.local or whereever.
2) Download a binary editor (I used bed, at
http://bedlinux.tripod.com/\), and edit the appropriate
asp*.o file. Change gcc2_compiled to gcc3_compiled.
Who knows what this might cause to happen, but it's
working for me - YMMV. Recompile & install.

Enjoy, and good luck!

Discussion

  • Simon Gales
    Simon Gales
    2002-10-20

    • priority: 5 --> 7
    • status: open --> open-works-for-me
     
  • Simon Gales
    Simon Gales
    2002-10-20

    • priority: 7 --> 9
    • status: open-works-for-me --> closed-works-for-me
     
  • Simon Gales
    Simon Gales
    2002-10-20

    • priority: 9 --> 7
    • status: closed-works-for-me --> open-works-for-me
     
  • Simon Gales
    Simon Gales
    2002-10-20

    • priority: 7 --> 9
     
  • Andrew McElroy
    Andrew McElroy
    2002-12-19

    Logged In: YES
    user_id=472147

    ok... maybe im just being stupid here... but i tried both
    suggestions..."For now, you have two options:
    1) Force the module to load with insmod -f, probably in
    rc.local or whereever.
    2) Download a binary editor (I used bed, at
    http://bedlinux.tripod.com/\), and edit the appropriate
    asp*.o file. Change gcc2_compiled to gcc3_compiled.
    Who knows what this might cause to happen, but it's
    working for me - YMMV. Recompile & install. "

    however I used hexedit to change gcc2 to gcc3 and it did
    nothing..
    then when i decided to deleted out the source code and re
    downlaod it from the cvs .. then i tried to force it.. and i
    got nothing... Obviously if im posting here im using redhat 8.

    whoever can come up with a solid answer is the beter man/woman.

    Just for my and everyone elses information ... does anyone
    know of any good disassemblers in linux... or is this going
    to be another ::cringes:: win32 project?

    Dink

     
  • Logged In: NO

    Hi,
    thanks for the help, but I had to do more changes to make it
    work.

    1) line 66 in au_vortex.h: change malloc.h to slab.h

    2) line 59 in Makefile: change pentium to cpu=pentium

    3) Change your ln command above to symbolic link, i.e. ln -s

    I'm not sure if there is any better way, but at least now it
    works for me!

    Niklas

     
  • Logged In: NO

    alright i got it working by doing what he said above
    (besides editing the file)
    but after i reboot i can't load the mod with "insmod -f
    au8830" cause i get unresolved symbols. to get around this i
    figured something out:

    u need to do:
    insmod soundcore
    insmod -f au8830

    this works for me so hopefully it'll help others out

     
  • Larry Kim
    Larry Kim
    2003-05-17

    Logged In: YES
    user_id=780831

    I use this way in SuSE Linux 8.2 Professional.
    1) Force the module to load with insmod -f, probably in
    rc.local or whereever.

    I hope to test another way as soon
    Anyone knows excellent hex edit?

     
  • Larry Kim
    Larry Kim
    2003-05-17

    Logged In: YES
    user_id=780831

    What I Stupid do it!
    I don't read below comment
    ....

    thanx below

    however where is the source file in this driver?
    I so sad...

     
  • Logged In: NO

    I had changed from gcc2 to gcc3 in the au8810.o using emacs. This is
    working

    thanks,

    Vijay