Re: Kernel Source - Fedora Core 3

Nick Jones <[email protected]> Tue, 15 Mar 2005 13:15:53 +0800 (CST)
Newsgroups gmane.linux.drivers.at76c503a.user
Message-ID <[email protected]>
 --- Mark Sansome <[email protected]>
wrote: 
> Jörg and Alexander,
> 
> Thanks very much for your input. I am still baffled
> by this.
> 
> The point is that when using Fedora, new kernel
> updates are released in
> RPM form. So each time a new update is available I
> simply install it
> using Fedora's up2date system and (under FC2)
> install at the same time
> another RPM with the corresponding kernel source
> code. I then boot into
> the new kernel - which won't have Internet because
> my at76c503-rfmd
> driver has been compiled against the previous
> kernel. All I had to do
> however, was "cd /wireless/at76c503" (my driver
> directory) and run "make
> && make install", reboot, and Hey Presto a fully
> updated system with
> working Internet.
> 
> Now however - with FC3 - that no longer works. They
> no longer release
> kernel sourcecode RPM as stated in my previous
> posting.
> 
> Alexander is suggesting I rebuild the kernel. Well I
> will do so if that
> is the only option, but it does seem a little
> heavy-handed given that I
> have a fully-functional (albeit with no Internet)
> up-to-date kernel and,
> as Fedora release kernel updates roughly twice per
> month it will be a
> bit of a pain to do each time.
> 
> > > Building the at76c503 against this kernel
> failed.
> > 
> > How did it fail? Please post the steps and error
> outputs during the driver
> > build.
> 
> Well, to be honest it didn't actually fail. There
> were a couple of
> "warning" messages which I think (if my memory
> serves) were there
> before. What I meant was that having compiled it, it
> did not actually
> work. Sorry - not very precise language for a
> (non-technical) IT
> professional.
> 
> > > I have tried (really!) to follow the
> instructions here http://wftp.tu-
> > >
>
chemnitz.de/pub/linux/fedora-core/3/i386/os/RELEASE-NOTES-en.html,
> and
> > > have done so as faithfully as I could as far as
> step 4. I'm not sure if
> > > I should do step 5 (make oldconfig) or even if
> I've done steps 1-4
> > > correctly.
> > 
> > You must exec. step 5 in order to generate header
> files containing the
> > kernel configuration (among other things).
> 
> OK. Well I have re-run this entire process,
> following the instructions
> to the letter, *including* step 5 - "make
> oldconfig". Still no joy.
> 
> > > The bottom line is that when I build the driver
> I still get the
> > > following error :
> > >
> > > [root@localhost ~]# /sbin/modprobe at76c503-rfmd
> > > WARNING: Error inserting at76c503
> > >
>
(/lib/modules/2.6.10-1.770_FC3/kernel/drivers/net/wireless/at76c503/at76c503.ko):
> Unknown symbol in module, or unknown parameter (see
> dmesg)
> > > FATAL: Error inserting at76c503_rfmd
> > >
>
(/lib/modules/2.6.10-1.770_FC3/kernel/drivers/net/wireless/at76c503/at76c503-rfmd.ko):
> Unknown symbol in module, or unknown parameter (see
> dmesg)
> > > [root@localhost ~]#
> > 
> > Which symbol is missing (look into dmesg output)?
> 
> This is my dmesg output...
> 
> [mark@localhost ~]$ dmesg | grep at76
> /wireless/at76c503a/at76_usbdfu.c: USB Device
> Firmware Upgrade (DFU)
> handler v0.12beta22-static loading
> at76c503: Unknown symbol get_user_size
> at76c503: Unknown symbol put_user_size
> at76c503_rfmd_acc: Unknown symbol
> at76c503_delete_device
> at76c503_rfmd_acc: Unknown symbol at76c503_do_probe
> [mark@localhost ~]$
> 



Hi,

Have you tried doing a make clean in your at76c503a
source tree, or even re-downloading the sources from
cvs?

You may have stale object files in your source tree
that were built against 2.6.9 and now cannot resolve
the symbols that have since been removed.  Main
example here is get_user_size which was previously
exported from the kernel headers, but now is purely
internal only (check the differences between
asm/uaccess.h between RH 2.6.9 and 2.6.10)
These problems may not be found at compile time
because the invokation of gcc probably uses the -c
flag (or -i flag at link time) so unresolved symbols
will be ignored.  A make clean or checkout may fix
this.

I was able to build and probe the driver on my FC3
work machines without any problems.  Looking at the
.config file for RH 2.6.10, wireless extensions are
enabled.  Also, all the basic kernel headers are
included in the package.

Changing interfaces and implementations has caused
lots of problems in the past, and continues to do so
now, here is another example Joerg from the 2.6.11
changelog:

--------------------------------
[email protected]>
USB: convert the idVendor, idProduct, bcdDevice and
bcdUSB fields to __le16

These fields are in the struct usb_device_descriptor,
and now we keep the 
native (on-the-wire mode) format of these fields.  Any
driver using these
fields needs to convert it to cpu endian before using
them.

All USB drivers in the kernel tree have been fixed up
to work properly with
this change.  All out-of-the USB kernel drivers are on
their own...

Signed-off-by: Greg Kroah-Hartman <[email protected]>
--------------------------------

Also, RH seem to like to pull the latest kernel
sources from bitkeeper on a daily basis, and
incorporate these into their kernel updates, while
still keeping the version number of the kernel at the
old value.  So I worry that the above change may be
included in the 2.6.10 kernels from redhat, making it
difficult for us to use KERNEL_VERSION macro checks.

  Nick




> Am I on the wrong track altogether? Is this problem
> actually caused by
> having the wrong kernel/sourcecode combination or is
> it due to something
> else entirely?
> 
> If so, what could it be?
> 
> If not, how do I check that I now (after steps 1-5)
> have the right
> sourcecode in the right place?
> 
> Surely I am not alone in this - there must be
> someone else on this list
> who is using a at76c503-rfmd and FC3?
> 
> I apologise if this is off-topic for this list but
> it is extremely
> frustrating to have a shiny new kernel sitting there
> with no Internet,
> whilst I am consigned to using an earlier kernel
> with, I presume,
> possible security flaws for my Internet access.
> 
> Thanks for your help....
> 
> Mark
> 
>