[rt2x00-users] Unknown Symbol!

Ivo Van Doorn ivdoorn at gmail.com
Tue Jul 20 02:32:38 AEST 2010


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




More information about the users mailing list