Re: Loading eth1 module before eth0 ?

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

 



On Thu, Jan 18, 2001 at 04:39:16PM -0500, Paul Gortmaker wrote:
> Donald Becker wrote:
> > 
> > On Sun, 14 Jan 2001, Yann Dirson wrote:
> > 
> > > I have 2 cards on my box (ne2k-pci and rtl8139), and want to autoload the
> > > drivers.  I have defined the eth0 / eth1 aliases accordingly.  It works fine
> > > when I first have eth0 loaded, and eth1 afterwards, but if I "modprobe eth1"
> > > with eth0 not loaded, the driver picks eth0... and subsequent ifconfig fail.
> > >
> > > * I did not find a way to tell the driver which interface it should pick up
> > 
> > You cannot.  The driver selects the next available interface name.
> > 
> > > * The Ethernet-HOWTO tells that just defining the aliases and using
> > > "modprobe ethN" is the way to go, which appears to be wrong.
> 
> I've just added a paragraph to the howto that clarifies this. 
> 
> [There was interface name choice via the deprecated
> ether=<irq>,<i/o>,ethN
> boot argument used for compiled in drivers, which did actually allow you
> to
> fix a certain ISA card to a specific ethN if you gave ether= for all
> cards,
> with non-zero i/o values. This was not its intended purpose though - it
> was primarily for ISA cards configured to non-standard I/O placement.
> Most PCI drivers don't pay any heed to ether= boot arguments, so this
> really was just
> an ISA-ism.]

Hm, that's not the point I was refering to.  The relevant part of the FAQ
reads (in 3.2 in v2.7, still in 2.3 in v2.8 which is the latest I found):

=====
As a final example, consider a user with one 3c503 card at 0x350and one SMC
Elite16 (wd8013) card at 0x280.  They would have:

 alias eth0 wd
 alias eth1 3c503
 options wd io=0x280
 options 3c503 io=0x350

For PCI cards, you typically only need the alias lines to correlate the ethN
interfaces with the appropriate driver name, since the I/O base of a PCI
card can be safely detected.

The available modules are typically stored in /lib/modules/uname -r/net
where the uname -r command gives the kernel version (e.g. 2.0.34).  You can
look in there to see which one matches your card. Once you have the correct
settings in your conf.modules file, you can test things out with:

     modprobe ethN
     dmesg | tail
				  
where N' is the number of the ethernet interface you are testing.
=====

"modprobe ethN" will only work as expected as long as eth0..ethN-1 are
already loaded.

As for the rationale mentionned by Donald (for not having any means to force
a driver to use a given interface, I expect), I only found non-searchable
driver-specific mailing lists, and a quick browse did not bring any answer.
Do you have some more specific pointers ?

Regards,
-- 
Yann Dirson    <ydirson@altern.org> |    Why make M$-Bill richer & richer ?
debian-email:   <dirson@debian.org> |   Support Debian GNU/Linux:
                                    | Cheaper, more Powerful, more Stable !
http://ydirson.free.fr/             | Check <http://www.debian.org/>
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org


[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux