# Linux 2.6.20 Broadcom tg3 driver not loaded

## whush

I'm trying to install Gentoo on a HP DL360-G3 server.

The kernel is 2.6.20-hardened. I'm building a monolithic kernel. The network chip is a Broadcom BCM570 3CKHB.

I've selected the Broadcom tg3 driver and checked it really gets built into the kernel.

When I boot from the LiveCD, I see the driver being loaded:

```
tg3.c:v3.69 (November 15, 2006)

ACPI: PCI Interrupt 0000:01:02.0[A] -> GSI 30 (level, low) -> IRQ 16

eth0: Tigon3 [partno(N/A) rev 1002 PHY(5703)] (PCIX:100MHz:64-bit) 10/100/1000BaseT Ethernet xx:xx:xx:xx:xx:xx

eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] Split[0] WireSpeed[1] TSOcap[1] 

eth0: dma_rwctrl[769f4000] dma_mask[64-bit]

ACPI: PCI Interrupt 0000:04:02.0[A] -> GSI 29 (level, low) -> IRQ 17

eth1: Tigon3 [partno(N/A) rev 1002 PHY(5703)] (PCIX:100MHz:64-bit) 10/100/1000BaseT Ethernet xx:xx:xx:xx:xx:xx

eth1: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] Split[0] WireSpeed[1] TSOcap[1] 

eth1: dma_rwctrl[769f4000] dma_mask[64-bit]
```

However it never shows up when booting my own kernel. Consequently, my NICs don't work.

```
 [32;01m*[0m Starting eth0

 [32;01m*[0m   Bringing up eth0

 [32;01m*[0m     192.168.178.23

 [31;01m*[0m     network interface eth0 does not exist

 [31;01m*[0m     Please verify hardware or kernel module (driver)
```

Any ideas?

----------

## steveb

What do you get, when you execute this:

```
grep CONFIG_TIGON3 /lib/modules/$(uname -r)/source/.config
```

And what is the output of:

```
lspci
```

And what is the output of:

```
cat /etc/udev/rules.d/70-persistent-net.rules
```

// SteveB

----------

## whush

 *steveb wrote:*   

> What do you get, when you execute this:
> 
> ```
> grep CONFIG_TIGON3 /lib/modules/$(uname -r)/source/.config
> ```
> ...

 

I don't have /lib/modules (I'm building a monolitic kernel).

What I did was

```
#grep CONFIG_TIGON3 /usr/src/linux/.config

CONFIG_TIGON3=y

#
```

 *Quote:*   

> And what is the output of:
> 
> ```
> lspci
> ```
> ...

 

Don't have that installed yet, will have to boot from the Live CD. Is it sufficient to list the results from the Live CD or would you like to see it from the actual kernel?

 *Quote:*   

> And what is the output of:
> 
> ```
> cat /etc/udev/rules.d/70-persistent-net.rules
> ```
> ...

 

```
ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="ide-0:0", SYMLINK+="cdrom", ENV{GENERATED}="1"
```

Thanks for the help.

----------

## steveb

 *whush wrote:*   

>  *steveb wrote:*   What do you get, when you execute this:
> 
> ```
> grep CONFIG_TIGON3 /lib/modules/$(uname -r)/source/.config
> ```
> ...

 This is okay. You have the proper driver in your kernel.

 *whush wrote:*   

>  *Quote:*   And what is the output of:
> 
> ```
> lspci
> ```
> ...

 The actual kernel. Please install this small utility as it helps to nail down problems.

 *whush wrote:*   

>  *Quote:*   And what is the output of:
> 
> ```
> cat /etc/udev/rules.d/70-persistent-net.rules
> ```
> ...

 Is this the content of /etc/udev/rules.d/70-persistent-net.rules? Something seams to be ultra wrong there. Do you have udev installed?

// SteveB

----------

## whush

 *steveb wrote:*   

> And what is the output of:
> 
> ```
> lspci
> ```
> ...

 

```
00:00.0 Host bridge: Broadcom CMIC-LE Host Bridge (GC-LE chipset) (rev 32)

00:00.1 Host bridge: Broadcom CMIC-LE Host Bridge (GC-LE chipset)

00:00.2 Host bridge: Broadcom CMIC-LE Host Bridge (GC-LE chipset)

00:03.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27)

00:04.0 RAID bus controller: Compaq Computer Corporation Smart Array 5i/532 (rev 01)

00:05.0 System peripheral: Compaq Computer Corporation Integrated Lights Out Controller (rev 01)

00:05.2 System peripheral: Compaq Computer Corporation Integrated Lights Out  Processor (rev 01)

00:0f.0 ISA bridge: Broadcom CSB5 South Bridge (rev 93)

00:0f.1 IDE interface: Broadcom CSB5 IDE Controller (rev 93)

00:0f.2 USB Controller: Broadcom OSB4/CSB5 OHCI USB Controller (rev 05)

00:0f.3 Host bridge: Broadcom CSB5 LPC bridge

00:11.0 Host bridge: Broadcom CIOB-X2 PCI-X I/O Bridge (rev 05)

00:11.2 Host bridge: Broadcom CIOB-X2 PCI-X I/O Bridge (rev 05)

01:02.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5703X Gigabit Ethernet (rev 02)

04:02.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5703X Gigabit Ethernet (rev 02)
```

Edit: This is from the Live CD.Last edited by whush on Mon Nov 19, 2007 8:13 pm; edited 1 time in total

----------

## whush

 *steveb wrote:*   

> The actual kernel. Please install this small utility as it helps to nail down problems.

 

Working on it.

 *steveb wrote:*   

> Is this the content of /etc/udev/rules.d/70-persistent-net.rules? Something seams to be ultra wrong there. Do you have udev installed?

 

How can I find out?  :Embarassed: 

----------

## steveb

 *whush wrote:*   

> How can I find out? 

 Yous emerge it with the -p (pretend) option:

```
emerge -pv sys-fs/udev
```

// SteveB

----------

## whush

 *steveb wrote:*   

> Yous emerge it with the -p (pretend) option:
> 
> ```
> emerge -pv sys-fs/udev
> ```
> ...

 

Ah I didn't know this is included in portage.

```
# emerge --nospinner -s udev

...

*  sys-fs/udev

      Latest version available: 115-r1

      Latest version installed: 104-r12

      Size of files: 209 kB

      Homepage:      http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html

      Description:   Linux dynamic and persistent device naming support (aka userspace devfs)

      License:       GPL-2

#
```

Update?

----------

## whush

 *whush wrote:*   

> 
> 
> ```
> 01:02.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5703X Gigabit Ethernet (rev 02)
> 
> ...

 

Could this be the reason? Just recompiling my kernel with NetXtreme support built in.

----------

## whush

 *whush wrote:*   

> Could this be the reason? Just recompiling my kernel with NetXtreme support built in.

 

That didn't help. Heres the lspci output from the kernel with NetXtreme support built in:

```
00:00.0 Host bridge: Broadcom CMIC-LE Host Bridge (GC-LE chipset) (rev 32)

00:00.1 Host bridge: Broadcom CMIC-LE Host Bridge (GC-LE chipset)

00:00.2 Host bridge: Broadcom CMIC-LE Host Bridge (GC-LE chipset)

00:03.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27)

00:04.0 RAID bus controller: Compaq Computer Corporation Smart Array 5i/532 (rev 01)

00:05.0 System peripheral: Compaq Computer Corporation Integrated Lights Out Controller (rev 01)

00:05.2 System peripheral: Compaq Computer Corporation Integrated Lights Out  Processor (rev 01)

00:0f.0 ISA bridge: Broadcom CSB5 South Bridge (rev 93)

00:0f.1 IDE interface: Broadcom CSB5 IDE Controller (rev 93)

00:0f.2 USB Controller: Broadcom OSB4/CSB5 OHCI USB Controller (rev 05)

00:0f.3 Host bridge: Broadcom CSB5 LPC bridge

00:11.0 Host bridge: Broadcom CIOB-X2 PCI-X I/O Bridge (rev 05)

00:11.2 Host bridge: Broadcom CIOB-X2 PCI-X I/O Bridge (rev 05)
```

----------

## steveb

What files do you have in /sys/class/net/?:

```
ls -lah /sys/class/net/
```

// SteveB

----------

## steveb

 *whush wrote:*   

>  *whush wrote:*   Could this be the reason? Just recompiling my kernel with NetXtreme support built in. 
> 
> That didn't help. Heres the lspci output from the kernel with NetXtreme support built in:
> 
> ```
> ...

 Wait a minute! Where is the BCM card? In the other post you had a BMC5703X installed and now it is gone! How did you get the output with the BCM5703X showing up?

// SteveB

----------

## whush

 *steveb wrote:*   

> Wait a minute! Where is the BCM card? In the other post you had a BMC5703X installed and now it is gone! How did you get the output with the BCM5703X showing up?

 

This one is from the Live CD, the other one is from my own kernel.

----------

## steveb

 *whush wrote:*   

>  *steveb wrote:*   Wait a minute! Where is the BCM card? In the other post you had a BMC5703X installed and now it is gone! How did you get the output with the BCM5703X showing up? 
> 
> This one is from the Live CD, the other one is from my own kernel.

 Then your kernel configuration is not okay. Can you take the configuration from the live cd and work from there? Probably you have forgotten to activate some options which are needed for your system.

// SteveB

----------

## whush

 *steveb wrote:*   

> What files do you have in /sys/class/net/?:
> 
> ```
> ls -lah /sys/class/net/
> ```
> ...

 

Just the loopback device.

----------

## whush

 *steveb wrote:*   

> Then your kernel configuration is not okay. Can you take the configuration from the live cd and work from there? Probably you have forgotten to activate some options which are needed for your system.

 

I took a look at that but the kernel sources aren't included in the Live CD. Is there a way to get the .config? Still, I don't like diffing .configs because things always change between revisions.  :Rolling Eyes: 

Where are the motherboard drivers located in the Kernel configuration? I couldn't find them at all...

----------

## steveb

Try looking into /proc/config.gz. Just do:

```
zcat /proc/config.gz>/tmp/.config
```

// SteveB

----------

## whush

 *steveb wrote:*   

> Try looking into /proc/config.gz. Just do:
> 
> ```
> zcat /proc/config.gz>/tmp/.config
> ```
> ...

 

Ok I diffed them and enabled a ton of options. Now I just have to see if it makes a difference.

----------

## steveb

Think positive!  :Smile: 

----------

## whush

 *steveb wrote:*   

> Think positive! 

 

Yeah thanks but it still doesn't work.  :Crying or Very sad: 

A get some errors during boot though, might look into them.

----------

## steveb

 *whush wrote:*   

> A get some errors during boot though, might look into them.

 Post them if you can.

// SteveB

----------

