# eth0 problem? not sure

## jesso

I'm looking at the output from dmesg and see:

```

eth0:  setting half-duplex

```

I'm wondering if this is a problem?

```

lspci

00:00.0 RAM memory: nVidia Corporation C51 Host Bridge (rev a2)

00:00.1 RAM memory: nVidia Corporation C51 Memory Controller 0 (rev a2)

00:00.2 RAM memory: nVidia Corporation C51 Memory Controller 1 (rev a2)

00:00.3 RAM memory: nVidia Corporation C51 Memory Controller 5 (rev a2)

00:00.4 RAM memory: nVidia Corporation C51 Memory Controller 4 (rev a2)

00:00.5 RAM memory: nVidia Corporation C51 Host Bridge (rev a2)

00:00.6 RAM memory: nVidia Corporation C51 Memory Controller 3 (rev a2)

00:00.7 RAM memory: nVidia Corporation C51 Memory Controller 2 (rev a2)

00:02.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1)

00:04.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1)

00:05.0 VGA compatible controller: nVidia Corporation C51 PCI Express Bridge (rev a2)

00:09.0 RAM memory: nVidia Corporation MCP51 Host Bridge (rev a2)

00:0a.0 ISA bridge: nVidia Corporation MCP51 LPC Bridge (rev a3)

00:0a.1 SMBus: nVidia Corporation MCP51 SMBus (rev a3)

00:0a.2 RAM memory: nVidia Corporation MCP51 Memory Controller 0 (rev a3)

00:0b.0 USB Controller: nVidia Corporation MCP51 USB Controller (rev a3)

00:0b.1 USB Controller: nVidia Corporation MCP51 USB Controller (rev a3)

00:0d.0 IDE interface: nVidia Corporation MCP51 IDE (rev a1)

00:0e.0 IDE interface: nVidia Corporation MCP51 Serial ATA Controller (rev a1)

00:0f.0 IDE interface: nVidia Corporation MCP51 Serial ATA Controller (rev a1)

00:10.0 PCI bridge: nVidia Corporation MCP51 PCI Bridge (rev a2)

00:10.1 Audio device: nVidia Corporation MCP51 High Definition Audio (rev a2)

00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration

00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map

00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller

00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control

03:08.0 Ethernet controller: 3Com Corporation 3c905B 100BaseTX [Cyclone] (rev 64)

03:09.0 FireWire (IEEE 1394): Agere Systems FW323 (rev 61)

```

----------

## Tin

I don't think so.

It is because the switch port which you are connected to is configured to work in half-duplex mode.

Your ethernet board detects it correctly and works in this mode also to permit dialog  :Smile: 

----------

## Errtu

You can change this with ethtool  (emerge ethtool)

----------

## jesso

 *Tin wrote:*   

> I don't think so.
> 
> It is because the switch port which you are connected to is configured to work in half-duplex mode.
> 
> Your ethernet board detects it correctly and works in this mode also to permit dialog 

 

I am dummy when it comes to this.  But am I taking a performance hit if it is set to half-duplex?   :Embarassed: 

```

ethtool eth0

Settings for eth0:

        Supported ports: [ TP MII ]

        Supported link modes:   10baseT/Half 10baseT/Full 

                                100baseT/Half 100baseT/Full 

        Supports auto-negotiation: Yes

        Advertised link modes:  10baseT/Full 

                                100baseT/Full 

        Advertised auto-negotiation: Yes

        Speed: 10Mb/s

        Duplex: Half

        Port: MII

        PHYAD: 24

        Transceiver: internal

        Auto-negotiation: on

        Current message level: 0x00000001 (1)

        Link detected: yes

```

----------

## Errtu

Why not simply trying it (ethtool -s eth0 speed 100 duplex full) out?  :Smile: 

----------

## jesso

 *Errtu wrote:*   

> Why not simply trying it (ethtool -s eth0 speed 100 duplex full) out? 

 

True.

I did. The change seems to not taken place.

```

dory ~ # ethtool -s eth0 speed 100 duplex full

dory ~ # ethtool eth0

Settings for eth0:

        Supported ports: [ TP MII ]

        Supported link modes:   10baseT/Half 10baseT/Full 

                                100baseT/Half 100baseT/Full 

        Supports auto-negotiation: Yes

        Advertised link modes:  10baseT/Full 

                                100baseT/Full 

        Advertised auto-negotiation: Yes

        Speed: 10Mb/s

        Duplex: Half

        Port: MII

        PHYAD: 24

        Transceiver: internal

        Auto-negotiation: on

        Current message level: 0x00000001 (1)

        Link detected: yes

```

----------

## Tin

Because auto-negotiation is on, you won't be able to force the transfert type to other than the switch at the other end of the cable.

And if you remove the auto-negociation and force to full-duplex, you will have lot of tcp errors and it is not a solution.

The difference between half and full is not big in term of transfert speed, because when you download a file, there are many downloaded data and juste a few uploaded for the acknowledgements or control stuff, then the half duplex mode can not send AND receive a packet ___at the same time___, then, for your transfert, you exactely "loose" these acknowledgements messages size.

I think you should not worry for such little differences.

If some network expert could give us more details or some figures about these control messages, I think it could be interested, so we exactly know  :Smile: 

----------

