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

RE: gigabit ethernet stuck at 100Mbps



Did you try: /sbin/mii-tool
Check it's man to see supported media tech.
You can force it's speed negotiation.
HTH.

Regards,
Atul P Talesara
http://the-shaolin.blogspot.com/
----------------------------------------------------------
Given enough time and money, eventually
M$ will re-invent UNIX!!!
-----------------------------------------------------------
----Original Message-----
From: Leni Mayo [mailto:leni@moniker.net] 
Sent: Thursday, May 12, 2005 5:26 PM
To: debian-user@lists.debian.org
Subject: gigabit ethernet stuck at 100Mbps

Hi -

I'm stumped if I can figure out how to get my supposedly gigabit NIC
to actually negotiate at 1000 Mbps.

If anyone can suggest techniques for debugging and/or fixing this sort
of problem I'd be grateful.

There are two Gigabit ethernet cards in the computer, which appear in
/proc/pci as:
Ethernet controller: Intel Corp. 82547EI Gigabit Ethernet Controller
DGE-530T Gigabit Ethernet Adapter

The problem is with the Intel card, and here is the first sign of
trouble:

$ dmesg | grep eth0
e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection
e1000: eth0: e1000_watchdog: NIC Link is Up 100 Mbps Full Duplex
eth0: no IPv6 routers present

The driver reports that the link has been negotiated at 100 Mbps.  The
LED on the 3com OfficeConnect Gigabit switch shows solid green at 100
Mbps too.

The switch port connected to the D-Link DGE-530T card shows a green
LED at 1000 Mbps, so that's something.

$ ethtool eth0
Settings for eth0:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Full
	Supports auto-negotiation: Yes
	Advertised link modes:  10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Full
	Advertised auto-negotiation: Yes
	Speed: 100Mb/s
	Duplex: Full
	Port: Twisted Pair
	PHYAD: 0
	Transceiver: internal
	Auto-negotiation: on
	Supports Wake-on: umbg
	Wake-on: g
	Current message level: 0x00000007 (7)
	Link detected: yes

The card is supposedly advertising 1000baseT/Full but it negotiates
to only 100 Mb/s!

$ ethtool -s eth0 speed 1000

exits with status code 1.  The LED for the switch port flashes during
the negotiation, which seems normal.  But the speed remains at only
100 Mbps.

All I can imagine is that there's a driver issue or that there is
something specific whereby the Intel NIC and the 3com switch don't
like each other.

$ insmod e1000 Speed=1000
and
$ insmod e1000 AutoNeg=0x20

both cause ethtool to report:
Speed: Unknown! (65535)

I've also tried compiling the driver into the kernel, and had a look
at the the nictools-pci package, which doesn't seem to have anything
relevant to this particular intel card, and mii-diag doesn't appear to
know anything about gigabit.

The cheapest solution at this point is definitely go out and buy a
second D-link gigabit card.  But having got this far, I'd thought I'd
ask whether anyone had suggestions for debugging and/or fixing it.

The kernel version is 2.6.8.

Thanks.

Leni.

PS: in case this is useful...

$ ethtool -d eth0

MAC Registers
-------------
0x00000: CTRL (Device control register)  0x183C0241
       Duplex:                            full
       Endian mode (buffers):             little
       Link reset:                        normal
       Set link up:                       1
       Invert Loss-Of-Signal:             no
       Receive flow control:              enabled
       Transmit flow control:             enabled
       VLAN mode:                         disabled
       Auto speed detect:                 disabled
       Speed select:                      1000Mb/s
       Force speed:                       no
       Force duplex:                      no
0x00008: STATUS (Device status register) 0x00000343
       Duplex:                            full
       Link up:                           link config
       TBI mode:                          disabled
       Link speed:                        100Mb/s
       Bus type:                          PCI
       Bus speed:                         33MHz
       Bus width:                         32-bit
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)       0x00000086
0x02818: RDT   (Receive desc tail)       0x00000080
0x02820: RDTR  (Receive delay timer)     0x00000000
0x00400: TCTL (Transmit ctrl register)   0x000400FA
       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)      0x00000016
0x03818: TDT   (Transmit desc tail)      0x00000016
0x03820: TIDV  (Transmit delay timer)    0x00000040
PHY type:                                IGP



-- 
To UNSUBSCRIBE, email to debian-user-REQUEST@lists.debian.org 
with a subject of "unsubscribe". Trouble? Contact
listmaster@lists.debian.org



Reply to: