This is a discussion on modules.conf eth? alias assignments not working within the Linux Networking forums, part of the Linux Forums category; Hi, I've got "Debian 3.0r2 stable" with a 2.4.18 kernel on an Intel PC ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
Hi,
I've got "Debian 3.0r2 stable" with a 2.4.18 kernel on an Intel PC with 4 lan cards. While I can get the cards to work in this environment, I cannot successfully control the assignment of "eth" names to the cards at boot time. Any suggestions ? The 4 cards are : 1 "lance" ISA card. 1 "8139too" PCI card. 2 "pcnet32" PCI cards. The lan drivers are built into the kernel as modules. /etc/modules.conf includes these lines : alias eth0 lance options lance io=0x300 alias eth1 8139too alias eth2 pcnet32 alias eth3 pcnet32 But after a boot the follow unexpected eth assignments are setup: 8139too card is eth0 pcnet32 cards are eth1 and eth2 lance driver is not loaded and eth3 doesn't exist Once booted a "modprobe lance" loads the lance driver with no problems and assigns the lance card to eth3. The "alias" statements within the modules.conf do not seem to have any effect. What do I have to do to ensure the eth assignments are per my modules.conf file ? Regards, Declan |
|
|||
|
Declan Mullen <declan@jadplace.com> wrote:
> Hi, > > I've got "Debian 3.0r2 stable" with a 2.4.18 kernel on an Intel PC > with 4 lan cards. > The lan drivers are built into the kernel as modules. > /etc/modules.conf includes these lines : > > alias eth0 lance > options lance io=0x300 > alias eth1 8139too > alias eth2 pcnet32 > alias eth3 pcnet32 You should never edit /etc/modules.conf on Debian (it has a big warning at the top), as it is overwritten. Ensure the following are in /etc/modules (not modules.conf) 8139too pcnet32 lance Then in /etc/modutils.d/myextranetcards <-- name is not important put your alias and options line. Then run update-modules, and verify that the lines you want are put in /etc/modules.conf. -- Cameron Kerr cameron.kerr@paradise.net.nz : http://nzgeeks.org/cameron/ Empowered by Perl! |
|
|||
|
> Ensure the following are in /etc/modules (not modules.conf)
> > 8139too > pcnet32 > lance I didn't realise you had to do that, thanks. > verify that the lines you want are put in /etc/modules.conf. The lines are there as initially stated, however the alias lines still do not seem to dictate the assignment of "eth" names to cards. From the experiments that I've run the assignment seems to be based upon the order in which the drivers are listed within /etc/modules. Anybody know why the alias statements are seemingly being ignored ? Regards, Declan Cameron Kerr wrote: > Declan Mullen <declan@jadplace.com> wrote: > >>Hi, >> >>I've got "Debian 3.0r2 stable" with a 2.4.18 kernel on an Intel PC >>with 4 lan cards. > > >>The lan drivers are built into the kernel as modules. >>/etc/modules.conf includes these lines : >> >> alias eth0 lance >> options lance io=0x300 >> alias eth1 8139too >> alias eth2 pcnet32 >> alias eth3 pcnet32 > > > You should never edit /etc/modules.conf on Debian (it has a big warning > at the top), as it is overwritten. > > Ensure the following are in /etc/modules (not modules.conf) > > 8139too > pcnet32 > lance > > Then in /etc/modutils.d/myextranetcards <-- name is not important > put your alias and options line. > > Then run update-modules, and verify that the lines you want are put in > /etc/modules.conf. > |
|
|||
|
Hi !
Declan Mullen wrote: >>> alias eth0 lance >>> options lance io=0x300 >>> alias eth1 8139too >>> alias eth2 pcnet32 >>> alias eth3 pcnet32 > > verify that the lines you want are put in /etc/modules.conf. > The lines are there as initially stated, however the alias lines still > do not seem to dictate the assignment of "eth" names to cards. From the > experiments that I've run the assignment seems to be based upon the > order in which the drivers are listed within /etc/modules. > Anybody know why the alias statements are seemingly being ignored ? Try the ether=... kernel boot-parameter. It's explained in the Ethernet-Howto [1]. For example you can try something like this (when the lance-nic has IRQ5...) at your boot-prompt: linux ether=5,0x300,eth0 ether=11,eth1 IIRC the syntax is something like ether=IRQ,IO-base,[driver-specific],ethx When it works, you can use the append=... line in your lilo.conf to apply these settings permanently. greetz, Thomas [1] http://www.ibiblio.org/pub/Linux/doc...net-HOWTO.html |
|
|||
|
I've rebuilt the kernel with the drivers built into it statically and
I've now got the "eth" assignments working via the kernel "ether" arguments as you suggested. Many thanks. However, I am still curious to know why the alias statements in modules.conf didn't do the job in the first place. Anybody got an explanation ? Thomas Wilde wrote: > Hi ! > > Declan Mullen wrote: > > >>> alias eth0 lance > >>> options lance io=0x300 > >>> alias eth1 8139too > >>> alias eth2 pcnet32 > >>> alias eth3 pcnet32 > >> > verify that the lines you want are put in /etc/modules.conf. >> The lines are there as initially stated, however the alias lines still >> do not seem to dictate the assignment of "eth" names to cards. From >> the experiments that I've run the assignment seems to be based upon >> the order in which the drivers are listed within /etc/modules. >> Anybody know why the alias statements are seemingly being ignored ? > > > Try the ether=... kernel boot-parameter. It's explained in the > Ethernet-Howto [1]. For example you can try something like this (when > the lance-nic has IRQ5...) at your boot-prompt: > > linux ether=5,0x300,eth0 ether=11,eth1 > > IIRC the syntax is something like > ether=IRQ,IO-base,[driver-specific],ethx > > When it works, you can use the append=... line in your lilo.conf to > apply these settings permanently. > > greetz, > Thomas > > [1] > http://www.ibiblio.org/pub/Linux/doc...net-HOWTO.html > |