[rt2x00-users] Unknown Symbol!

Mohammad Abdelhadi moh.jaser at ieee.org
Tue Jul 20 02:37:52 AEST 2010


On Mon, Jul 19, 2010 at 7:32 PM, Ivo Van Doorn <ivdoorn at gmail.com> wrote:

> On Mon, Jul 19, 2010 at 6:29 PM, Mohammad Abdelhadi <moh.jaser at ieee.org>
> wrote:
> >
> >
> > On Mon, Jul 19, 2010 at 7:20 PM, Ivo Van Doorn <ivdoorn at gmail.com>
> wrote:
> >>
> >> On Mon, Jul 19, 2010 at 6:13 PM, Mohammad Abdelhadi <moh.jaser at ieee.org
> >
> >> wrote:
> >> >
> >> >
> >> > On Sun, Jul 18, 2010 at 8:03 PM, Ivo Van Doorn <ivdoorn at gmail.com>
> >> > wrote:
> >> >>
> >> >> Hi,
> >> >> > On Sun, Jul 18, 2010 at 7:45 PM, Ivo Van Doorn <ivdoorn at gmail.com>
> >> >> > wrote:
> >> >> >>
> >> >> >> > I am trying to call the function ( EnqueueChSwAnn ) which is
> >> >> >> > written
> >> >> >> > in
> >> >> >> > the
> >> >> >> > file ~/common/spectrum.c. I am trying to call it from my code
> that
> >> >> >> > is
> >> >> >> > written in different module in ~/common/rtmp_init.c. But, when I
> >> >> >> > do
> >> >> >> > (modprobe rt3572sta), i always get " Unknown Symbol :
> >> >> >> > EnqueueChSwAnn.
> >> >> >> > I
> >> >> >> > also
> >> >> >> > tried to call it using function pointers method, but that also
> >> >> >> > didn't
> >> >> >> > work!
> >> >> >> > (I am using 2010_06_25_RT3572_Linux_STA_v2.4.0.0 driver).
> >> >>
> >> >> All functions which you want to be available in different modules
> must
> >> >> never
> >> >> be staticly defined. Secondly the symbol must be exported to be
> >> >> available.
> >> >> In the kernel there is a macro which handles it for you:
> >> >> EXPORT_SYMBOL
> >> >>
> >> >> To export a function called EnqueueChSwAnn you have to add:
> >> >>
> >> >> EXPORT_SYMBOL(EnqueueChSwAnn);
> >> >>
> >> >> in the ralink module.
> >> >>
> >> >> Ivo
> >> >
> >> >
> >> > Hi Ivo,
> >> >
> >> > Thanks for your kindest reply, well I did export the symbol after I
> made
> >> > sure that the function is not staticly defined but unfortunately this
> >> > way
> >> > didn't work, I even tried to call that function using a function
> pointer
> >> > but
> >> > that didn't work too. So, do you have any further ideas about how to
> >> > solve
> >> > this case?
> >> >
> >> > Thank you in advance...
> >>
> >> How are you compiling your module?
> >> Check the Ralink Makefile to see how to compile against the kernel
> >> (and its modules).
> >>
> >> Ivo
> >
> > Hi,
> >
> > Could you please explain how is that related to my issue? Sorry but, I
> > didn't get you!
> > The driver I work on is in /usr/src/
> > so I do:
> > - make
> > -make install
> > -modprobe rt3572sta
> > and I get the Unknown symbol when I do the modprobe.
>
> This is your make step for rt3572, but how are you compiling the
> file containing your new function which uses the symbol?
>
> Ivo
>


Hi,

Well, I don't compile it individually, I just do 'make' to compile the
driver and its modules as one package.

Regards,
-- 
Mohammad
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rt2x00.serialmonkey.com/pipermail/users_rt2x00.serialmonkey.com/attachments/20100719/1e2f4257/attachment-0002.html>


More information about the users mailing list