Opensuse11.0, Netgear GS105 and broadcom BCM5754

Hi

I added a 5 port Netgear GS105 switch to my Dell PC with Broadcom BCM5754 and the card can’t be set to gigabit.

I believe it to be something with the tigon3 driver
or settings.

If I go direct it works, straigh up in 1000GBIT/Full

All other machines on same switch works fine.

Opensuse11.0 64bit

ethtool eth0
Settings for eth0:
Supported ports: TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: Not reported
Advertised auto-negotiation: No
Speed: 100Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: off
Supports Wake-on: g
Wake-on: g
Current message level: 0x000000ff (255)
Link detected: yes

lspci | grep Broadcom

04:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5754 Gigabit Ethernet PCI Express (rev 02)

It uses the tg3 module.

dmesg:
ACPI: PCI Interrupt 0000:04:00.0[A] -> GSI 17 (level, low) -> IRQ 17
PCI: Setting latency timer of device 0000:04:00.0 to 64
eth0: Tigon3 [partno(BCM95754) rev b002 PHY(5787)] (PCI Express) 10/100/1000Base-T Ethernet 00:22:19:02:40:da
eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] WireSpeed[1] TSOcap[1]
eth0: dma_rwctrl[76180000] dma_mask[64-bit]

tg3: eth0: Link is down.
tg3: eth0: Link is up at 100 Mbps, full duplex.
tg3: eth0: Flow control is on for TX and on for RX.
tg3: eth0: Link is down.
tg3: eth0: Link is up at 100 Mbps, full duplex.
tg3: eth0: Flow control is on for TX and on for RX.
ADDRCONF(NETDEV_UP): eth0: link is not ready
tg3: eth0: Link is up at 100 Mbps, full duplex.
tg3: eth0: Flow control is on for TX and on for RX.
ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
eth0: no IPv6 routers present
tg3: eth0: Link is down.
tg3: eth0: Link is up at 100 Mbps, full duplex.
tg3: eth0: Flow control is on for TX and on for RX.

mortenb2:~ # ethtool --change eth0 duplex full autoneg off speed 1000
Cannot set new settings: Invalid argument
not setting speed
not setting duplex
not setting autoneg
mortenb2:~ # ethtool --change eth0 duplex full autoneg off
mortenb2:~ # ethtool --change eth0 speed 1000
Cannot set new settings: Invalid argument
not setting speed

mortenb2:~ # cat /usr/src/linux-2.6.25.20-0.1/drivers/net/tg3.c | grep VERSION
#define DRV_MODULE_VERSION “3.91”


Thanks MortenB

mortenb123 wrote:

> I added a 5 port Netgear GS105 switch to my Dell PC with Broadcom
> BCM5754 and the card can’t be set to gigabit.

Check that the cable you are using is also capable for gigabit (“Cat 5e”
or “Cat 6”). Your ethernet adapter, cable and switch have all to be gigabit
compliant.

Things to try: test it with another cable or connect it into other port of
the switch.

> ethtool eth0
> Settings for eth0:
> Supported ports: TP ]
> Supported link modes: 10baseT/Half 10baseT/Full
> 100baseT/Half 100baseT/Full
> 1000baseT/Half 1000baseT/Full

That info shows the driver properly detects the capabilities of the card.

> mortenb2:~ # ethtool --change eth0 duplex full autoneg off speed 1000
> Cannot set new settings: Invalid argument
> not setting speed
> not setting duplex
> not setting autoneg
> mortenb2:~ # ethtool --change eth0 duplex full autoneg off
> mortenb2:~ # ethtool --change eth0 speed 1000
> Cannot set new settings: Invalid argument
> not setting speed

Forcing the card to set the values should not be necessary and can risky.
Better restore autonegotiation “on”.

Greetings,


Camaleón