# Broadcom NetXtreme II can't reach network [SOLVED]

## bhagany

Hello kind folks,

Maybe I'm just tired, but I can't figure this one out.  I've got a server with a Broadcom NetXtreme II, and the card gets recognized.  However, I cannot get on the network using either dhcp or a static address.  The dhcp request times out (using dhcpcd), and configuring for a static address appears to work until I try to reach another host on the network.  However, dhcp does work using the 2007.0 amd64 livecd.  I just have to do a 

```
dhcpcd eth0
```

 from the livecd and it works like a charm.  Here's the relevant info:

lspci:

```
00:00.0 Host bridge: Intel Corporation 5000X Chipset Memory Controller Hub (rev 12)

00:02.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x4 Port 2 (rev 12)

00:03.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x4 Port 3 (rev 12)

00:04.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x8 Port 4-5 (rev 12)

00:05.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x4 Port 5 (rev 12)

00:06.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x8 Port 6-7 (rev 12)

00:07.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x4 Port 7 (rev 12)

00:10.0 Host bridge: Intel Corporation 5000 Series Chipset FSB Registers (rev 12)

00:10.1 Host bridge: Intel Corporation 5000 Series Chipset FSB Registers (rev 12)

00:10.2 Host bridge: Intel Corporation 5000 Series Chipset FSB Registers (rev 12)

00:11.0 Host bridge: Intel Corporation 5000 Series Chipset Reserved Registers (rev 12)

00:13.0 Host bridge: Intel Corporation 5000 Series Chipset Reserved Registers (rev 12)

00:15.0 Host bridge: Intel Corporation 5000 Series Chipset FBD Registers (rev 12)

00:16.0 Host bridge: Intel Corporation 5000 Series Chipset FBD Registers (rev 12)

00:1c.0 PCI bridge: Intel Corporation 631xESB/632xESB/3100 Chipset PCI Express Root Port 1 (rev 09)

00:1d.0 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (rev 09)

00:1d.1 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (rev 09)

00:1d.2 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (rev 09)

00:1d.3 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #4 (rev 09)

00:1d.7 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset EHCI USB2 Controller (rev 09)

00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d9)

00:1f.0 ISA bridge: Intel Corporation 631xESB/632xESB/3100 Chipset LPC Interface Controller (rev 09)

00:1f.1 IDE interface: Intel Corporation 631xESB/632xESB IDE Controller (rev 09)

01:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS 1078 (rev 04)

02:00.0 PCI bridge: Broadcom EPB PCI-Express to PCI-X Bridge (rev c3)

03:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12)

04:00.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Upstream Port (rev 01)

04:00.3 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express to PCI-X Bridge (rev 01)

05:00.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E1 (rev 01)

05:01.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E2 (rev 01)

06:00.0 PCI bridge: Broadcom EPB PCI-Express to PCI-X Bridge (rev c3)

07:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12)

0e:0d.0 VGA compatible controller: ATI Technologies Inc ES1000 (rev 02)
```

livecd lsmod:

```
Module                  Size  Used by

ipv6                  219296  26

bridge                 43824  0

pcspkr                  4032  0

sg                     27496  0

megaraid_sas           30076  0

bnx2                   74352  0

rtc                    11840  0

tg3                    94980  0

e1000                  98688  0

nfs                   100664  0

lockd                  51696  1 nfs

sunrpc                120840  2 nfs,lockd

jfs                   141648  0

dm_mirror              17472  0

dm_mod                 42448  1 dm_mirror

pdc_adma                9412  0

sata_mv                17288  0

ata_piix               13768  0

ahci                   17028  0

sata_qstor              9604  0

sata_vsc                8708  0

sata_uli                7748  0

sata_sis                8196  0

sata_sx4               12996  0

sata_nv                10244  0

sata_via                9796  0

sata_svw                8068  0

sata_sil24             13764  0

sata_sil               10888  0

sata_promise           11460  0

libata                 69920  15 pdc_adma,sata_mv,ata_piix,ahci,sata_qstor,sata_vsc,sata_uli,sata_sis,sata_sx4,sata_nv,sata_via,sata_svw,sata_sil24,sata_sil,sata_promise

sbp2                   21508  0

ohci1394               29576  0

ieee1394               64568  2 sbp2,ohci1394

sl811_hcd              12032  0

usbhid                 35488  0

ohci_hcd               17988  0

uhci_hcd               21008  0

usb_storage            65984  0

ehci_hcd               25800  0

usbcore                98344  7 sl811_hcd,usbhid,ohci_hcd,uhci_hcd,usb_storage,ehci_hcd
```

/etc/conf.d/net, static:

```
config_eth0=( "10.0.0.90/23 brd 10.0.1.255" )

routes_eth0=( "default gw 10.0.1.254" )
```

/etc/conf.d/net, dhcp:

```
config_eth0=( "dhcp" )
```

Manually restarting eth0 and running dhcpcd doesn't work (not on the livecd) either.

Oh, and I have the NetXtreme II driver compiled into the kernel.  Here's cat /var/log/dmesg | grep 'Broadcom':

```
Broadcom NetXtreme II Gigabit Ethernet Driver bnx2 v1.6.5 (September 20, 2007)

eth0: Broadcom NetXtreme II BCM5708 1000Base-T (B2) PCI-X 64-bit 133MHz found at mem f4000000, IRQ 16, node addr 001d096ad175

eth1: Broadcom NetXtreme II BCM5708 1000Base-T (B2) PCI-X 64-bit 133MHz found at mem f8000000, IRQ 16, node addr 001d096ad173
```

Any ideas?

edit: Just so you know, I'm really only concerned about eth0.  eth1 probably won't be used.Last edited by bhagany on Wed Feb 27, 2008 1:21 pm; edited 1 time in total

----------

## RazielFMX

1)  Remove NetExtreme driver from kernel.

2)  Compile tg3 as module in kernel config.

3)  add tg3 to /etc/modules.autoload.d/kernel-2.6

Works like a charm.

EDIT:  Adding relevant info from my system:

```
alexiea ~ # lspci | grep Broad

01:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5705M Gigabit Ethernet (rev 01)

01:03.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 02)

```

```
alexiea ~ # lsmod | grep tg3

tg3                    98948  0

```

```
alexiea ~ # grep -i tigon /usr/src/linux/.config

CONFIG_TIGON3=m

alexiea ~ #

```

```
alexiea ~ # grep tg3 /etc/modules.autoload.d/kernel-2.6

tg3

alexiea ~ #
```

----------

## bhagany

Thanks for the reply.  I tried tg3, but it didn't work (I forget what the exact model of my card is, and I don't have access to the machine at the moment).  I did, however, solve the problem.  It seems that the server I was working on (Dell PowerEdge 1950) has two problems with networking.  First, there's a TOE controller that is enabled by default, which I just removed from the motherboard.  It looks like a small phone jack with a neutral colored cylinder attached to it, and is near the power connector, if someone happens across this thread and needs to find it.  Secondly, it seems Dell messed up the identification of the dual NICs, so that the one labeled Card 1 is actually eth1, and Card 2 is eth0.  It made things confusing, since I only was using one NIC.  But anyway, thanks again for taking the time.

----------

## RazielFMX

No problem, just changed the subject to contain [SOLVED]  :Smile: 

----------

## AndyB

 *bhagany wrote:*   

> Secondly, it seems Dell messed up the identification of the dual NICs, so that the one labeled Card 1 is actually eth1, and Card 2 is eth0.  It made things confusing, since I only was using one NIC.  But anyway, thanks again for taking the time.

 

For what it's worth, this gets "corrected" in later kernels...   I installed Gentoo using eth3 and after a kernel upgrade, the same interface is suddenly eth0.

----------

## obrut<-

the numbering of network devices depends on the order the nics are initialized. and this depends on module load order. at least on gentoo a udev rule assures that nics do not change names.  on my system it's /etc/udev/rules.d70-persistent-net.rules.  i realized it's existence when i removed eth0 and after booting i only had an eth1 but no eth0.

----------

