[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Realtek rtl8139 nic and 2.4.20 kernel



On Sun, 28 Dec 2003 14:35:15 +0900, Charles Muller wrote:

> When I run modconf from the command line, I get a small graphic interface,
> which gives me the option of installing any modules contained in a given
> directory (referred to in my prior message), but no options such as
> removing.

Not being a fan of modconf, I nevertheless seem to remember that you can
uninstall modules by selecting an installed module, OK, and it
uninstalls (if my fading memory doesn't play tricks on me).

> Also, I don't
> know where I would get a new copy of the rtl8139
> module (which I guess would be 8139too.o) to use for reinstallation.

Here you seem to fall for a misunderstanding. 
Firstly, your efforts of copying 2.2 modules to 2.4 will surely screw up
everything. But why ?
It seems your question shows this misconception: re-moving doesn't remove
the module. modconf 'loads' and 'unloads' modules. Try to perceive them as
a huge number of tools in an arsenal, a big workshop. You 'load' and
'unload' a tool to your drill. But unloading doesn't destroy the tool; it
simply removes it for the next time usage.
So goes the Linux-kernel: It has hooks where you can plug a readily
available module and unplug it later.
So removing modules doesn't do any harm. They simply are tools that can
temporarily added to a kernel, put back into the reservoir later.

Plus, you can compile a kernel to have the tool available at any time,
without the necessity to load it.
But when you compile it, you must either compile it as part of the kernel,
or compile it as a module. If you do neither in your config, you won't be
able to use that peripheral or protocol.

I'd expect the network modules to be in

 /lib/modules/2.4.xx/kernel/drivers/net/

and to be of type .o. The RTL8139 would look like

-rw-r--r--    1 root     root        27500 Sep 20 00:18 /lib/modules/2.4.xx/kernel/drivers/net/8139too.o

as a module.
If I remember well, such didn't show up in what you posted earlier. 
It wouldn't even help to post mine, because a module needs to be compiled
with exactly the kernel to which it will be loaded later.
So your 8139too.o under 2.2.20 is *completely useless* for your 2.4
kernel. Plus, it indicates why your machine works on 2.2.20: the module is
there !

If I were in your seat, I wouldn't trust any more modules copied forth and
back, clean out the sys-area properly and recompile from scratch;
selecting to compile the module statically into the kernel.
And I'd have to learn it as well, since the Debian / Linux way to do it is
still pretty unclear to me (I used to do it on BSD), so I can't help you
with it.

End of the lecture.
Keep asking, nevertheless !





Reply to: