Help - Search - Members - Calendar
Full Version: Ethernet Card Running Slow
Linuxhelp > Support > Technical Support

I'm running Red Hat Enterprise WS version 3 with the latest kernel (2.4.21-9.0.1.ELsmp). I'm using the on-board ethernet card

>Ethernet controller: Intel Corp. 82545EM Gigabit Ethernet Controller (Copper) (rev 1).

To connect to a gigabit ethernet, however I'm not connecting as fast as I'd like to. When I type "dmesg | grep NIC" I get:

e1000: eth0 NIC Link is Up 100 Mbps Full Duplex

Which is slower than I should be getting. I've got another machine running Red Hat 8.0 with a SysKonnect gigabit card connected to the same ethernet and when I type dmesg on that machine I get:

eth0: network connection up using port A
speed: 1000
autonegotiation: yes
duplex mode: full

Does anyone know how I can get my ethernet cards on my Enterprise machines to start connecting at full speed? Thanks so much.


Suppose you have two adapters. You want to set auto-negotiation
on the first adapter to ON and on the second adapter to OFF.
You also want to set DuplexCapabilities on the first adapter
to FULL, and on the second adapter to HALF.
Then, you must enter:

        modprobe sk98lin AutoNeg_A=On,Off DupCap_A=Full,Half

NOTE: The number of adapters that can be configured this way is
      limited in the driver (file skge.c, constant SK_MAX_CARD_PARAM).
      The current limit is 16. If you happen to install
      more adapters, adjust this and recompile.

4.1  Per-Port Parameters

These settings are available for each port on the adapter.
In the following description, '?' stands for the port for
which you set the parameter (A or B ).

Parameter:    Speed_?
Values:       10, 100, 1000, Auto
Default:      Auto

link is :

Robert B
Try adding this line to the bottom of your /etc/modules.conf file

options e1000 Duplex=2 Speed=1000 RxIntDelay=0

your modules.conf file should already contain:

alias eth0 e1000

if you have more than one adapter, you would do this:

options e1000 Duplex=2,2 Speed=1000,1000 RxIntDelay=0,0
(the first number for each parameter would be for eth0, the second for eth1)

See and for more info ....

Thanks for the quick replies. Sorry it took so long to reply. I tried adding

options e1000 Duplex=2 Speed=1000 RxIntDelay=0

to the bottom of my /etc/modules.conf file, and you were right I do have an alias eth0 e1000 in that file. Then I restarted the machine. Boot up took a very long time, hanging on NFS statd, automount and sendmail. Finally it finished loading the kernel, but the X server wouldn't start. Also, I was unable to log in, even as root. Eventually I had to boot from my install CDs and run linux rescue, then I commented out the options line in modules.conf and restarted and the machine came up with no problems. Then I logged in as root, uncommented the options line, restarted the network by using

service network restart

Everything seemed to go okay, but now when I type "dmesg | grep NIC" I get the following:

e1000: eth0 NIC Link is Up 100 Mbps Full Duplex
e1000: eth0 NIC Link is Up 100 Mbps Full Duplex

Any ideas as to what I did wrong to crash my system, and why now that it's up and running it's not taking into account the changes to modules.conf? Thanks so much.

I'm not sure why this would make a difference but it probably has something to do with the set up of my machine. I have no local users defined, except for root. All my users long in via an LDAP authentication. Not sure if this makes any difference but I thought it might be important. Thanks again for all your help.

OK ... I have no idea why it would crash. Let's try one option at a time in the /etc/modules.conf

options e1000 Speed=1000

It will only take effect when loading the modules .. not when restarting the network card.

Then try this:

/etc/init.d/network stop

rmmod e1000

If there are no errors removing e1000, then do:

lsmod | grep e1000
(lsmod has a lower case L)

...if e1000 is not listed, then do:

modprobe e1000

to try and load it again.....

If it loads, try:

/etc/init.d/network start
It could be that the e1000 is not compatable with the gb port it is plugged into .... and it will only start at 100mb.
I followed your instructions and everything seemed to work fine, but after logging out I was unable to log back in. I'm gonna check with my higher-ups and see if there is some big thing about the ethernet we are running that I'm just misunderstanding. I'll post back if it's anything useful. Thanks so much for all your help.

BTW ... I have that card (e1000) builtin on a dual intel xeon server on RHEL.

it will start in 1000mb mode when plugged into a HP Procurve 4000m with a J4115B module, but not when plugged into a cisco WS-X4424-GB-RJ45 1000mb port.

But when it failed to start there was no issue with it locking up or crashing ... it just didn't connect to the network, and I allowed it to auto sense at 100mb.
I just got finished with the extra testing and it turns out the ports were what was holding me back. Thanks so much for all your help with the appropriate options, as soon as I figure out the ports here I'm sure everything will be okay. Thanks agian.

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2018 Invision Power Services, Inc.