Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 38095 - e1000 driver fails to initate full-duplex mode
Summary: e1000 driver fails to initate full-duplex mode
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: Highest major (vote)
Assignee: Arcady Genkin (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-01-13 12:25 UTC by Brian Klauss
Modified: 2004-04-09 04:30 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Brian Klauss 2004-01-13 12:25:47 UTC
Following the boot, verified the status of the network card through dmesg | grep eth0 which shows e1000: eth0 NIC Link is Up 100 Mbps Half Duplex.  When using either modprobe e1000 Duplex=2 or insmod e1000 Duplex=2, neither changes the network card to full duplex.  The Cisco 6509 switch is configured for Full Duplex (configured hard, not auto), and still unable to get the card into full duplex.

Card is an Intel 1Gbps card, installed to a 100Mbps port on the switch.  All network activity is functional but duplex is the issue.

Reproducible: Always
Steps to Reproduce:
1. modprobe e1000 Duplex=2
2. dmesg | grep eth0
3. modules-update
4. dmesg | grep eth0

Actual Results:  
e1000: eth0 NIC Link is Up 100 Mbps Half Duplex

Expected Results:  
The duplex should have change to full duplex instead of remaining at half.
Comment 1 Martin Holzer (RETIRED) gentoo-dev 2004-01-13 13:56:02 UTC
sorry, but you didn't provided us any info

do you use kernel module or e100 ebuild and which version
Comment 2 Brian Klauss 2004-01-13 15:46:55 UTC
*  net-misc/e1000
      Latest version available: 5.2.20
      Latest version installed: 5.2.20
      Size of downloaded files: 116 kB

Due to the documentation provided in the manual page, e1000 cannot be loaded into the kernel so it is built as a module during kernel compile time.
Comment 3 Martin Holzer (RETIRED) gentoo-dev 2004-01-13 16:12:45 UTC
try  e1000-5.2.22.ebuild 
also in newer kernels e1000 is already inclued (older version) but maybe they work for you
Comment 4 Brian Klauss 2004-01-13 21:00:46 UTC
Running e1000-5.2.22 did not resolve this problem.  Changing network driver through either modprobe e1000 Duplex=2 or insmod e1000 Duplex=2 does not resolve problem when switchport is configured for 100Mbps Full Duplex.
Comment 5 Martin Holzer (RETIRED) gentoo-dev 2004-01-14 00:35:40 UTC
i'm using cisco switches here
when the port is configured to a fixed bandwith and duplex, i just ran modprobe e1000. works fine
Comment 6 Brian Klauss 2004-01-14 08:58:12 UTC
Following information contains a listing from ethtool:

MAC Registers
-------------
0x00000: CTRL (Device control register)  0x02FC0269
      Duplex:                            full
      Endian mode (buffers):             little
      Link reset:                        reset
      Set link up:                       1
      Invert Loss-Of-Signal:             no
      Receive flow control:              disabled
      Transmit flow control:             disabled
      VLAN mode:                         disabled
      Auto speed detect:                 enabled
      Speed select:                      1000Mb/s
      Force speed:                       no
      Force duplex:                      no
0x00008: STATUS (Device status register) 0x0000DB42
      Duplex:                            half
      Link up:                           link config
      TBI mode:                          disabled
      Link speed:                        100Mb/s
0x00100: RCTL (Receive control register) 0x00008002
      Receiver:                          enabled
      Store bad packets:                 disabled
      Unicast promiscuous:               disabled
      Multicast promiscuous:             disabled
      Long packet:                       disabled
      Descriptor minimum threshold size: 1/2
      Broadcast accept mode:             accept
      VLAN filter:                       disabled
      Cononical form indicator:          disabled
      Discard pause frames:              filtered
      Pass MAC control frames:           don't pass
      Receive buffer size:               2048
0x02808: RDLEN (Receive desc length)     0x00001000
0x02810: RDH   (Receive desc head)       0x00000076
0x02818: RDT   (Receive desc tail)       0x00000070
0x02820: RDTR  (Receive delay timer)     0x00000000
0x00400: TCTL (Transmit ctrl register)   0x0004010A
      Transmitter:                       enabled
      Pad short packets:                 enabled
      Software XOFF Transmission:        disabled
      Re-transmit on late collision:     disabled
0x03808: TDLEN (Transmit desc length)    0x00001000
0x03810: TDH   (Transmit desc head)      0x00000073
0x03818: TDT   (Transmit desc tail)      0x00000073
0x03820: TIDV  (Transmit delay timer)    0x00000040

As you can see, CTRL register shows Full Duplex but STATUS register shows Half Duplex.

Switch configuration is as follows:


CAT6509-DDC-01> (enable) sh port 6/19
Port  Name                 Status     Vlan       Duplex Speed Type
----- -------------------- ---------- ---------- ------ ----- ------------
 6/19 gentooDNS Test       connected  24           full   100 10/100BaseTX

Based upon this information, the switch recognizes the Duplex at Full, but NIC drivers on the server still remain at Half.
Comment 7 John Mylchreest (RETIRED) gentoo-dev 2004-04-09 04:30:03 UTC
this is fully functional (afaik) in the more recent 2.6.X series of kernels.
if you still experience this with the newest release, please re-open the bug.
many thanks for taking your time to log this.