En:HOWTO: Finding right network kernel driver

From Sabayon Wiki
Revision as of 19:19, 26 February 2009 by Zambayoni (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
i18n: ca en

To find out which modules you must use.. the most simple thing to do is cat log file and grep for eth entry's .. This will work if your Sabayon linux have already recognized your ethernet card (most cases). In this example we look for eth0 and eth1 entry's, so if you have more cards just put at the end eth[0,1,2,3,n] n = last ethernet card.

cat /var/log/messages|grep eth[0,1]\:

Jul 22 07:46:44 mazinga [4294688.198000] e100: eth0: e100_probe: addr 0xd4000000, irq 19, MAC addr 00:06:29:E9:77:40
Jul 22 07:46:44 mazinga [4294688.213000] eth1: VIA Rhine II at 0x17800,00:11:2f:09:fc:1f, IRQ 20.
Jul 22 07:46:44 mazinga [4294688.214000] eth1: MII PHY found at address 1, status 0x786d advertising 01e1 Link 45e1.
Jul 22 07:46:59 mazinga [4294756.820000] e100: eth0: e100_watchdog: link up, 100Mbps, full-duplex

from the lines above we can see that wi need to use e100 and VIA Rhine (which uses via_rhine)
to view all the modules your kernel support do:

ls /lib/modules/`uname -r`/kernel/drivers/net

and for detailed information about a module (for via_rhine in this case)

modinfo via_rhine

filename:       /lib/modules/2.6.16-reiser4-r3conan/kernel/drivers/net/via-rhine.ko
author:         Donald Becker <[email protected]>
description:    VIA Rhine PCI Fast Ethernet driver
license:        GPL
vermagic:       2.6.16-reiser4-r3conan preempt K7 REGPARM gcc-4.1
alias:          pci:v00001106d00003043sv*sd*bc*sc*i*
alias:          pci:v00001106d00003065sv*sd*bc*sc*i*
alias:          pci:v00001106d00003106sv*sd*bc*sc*i*
alias:          pci:v00001106d00003053sv*sd*bc*sc*i*
parm:           rx_copybreak:VIA Rhine copy breakpoint for copy-only-tiny-frames (int)
parm:           debug:VIA Rhine debug level (0-7) (int)
parm:           max_interrupt_work:VIA Rhine maximum events handled per interrupt (int)

in case you don't have running modules in your distro then you could try

lspci | grep Ethernet

00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 78 )
00:13.0 Ethernet controller: Intel Corporation 82557/8/9 [Ethernet Pro 100] (rev 08 )

And google for modules which support your card

If you do have multiple ethernet cards, good practice is to put aliases into /etc/modules.d/aliases ,so in this particular case it would look like

alias eth0 e100
alias eth1 via_rhine

This will prevent swapping eth0 and eth1 which occur because of some bugs in coldplug/udev, as the first driver which get loaded becomes eth0, and we don't want that. We need to know exactly which card is eth0 and eth1 to configure our network.