# network device not detected by minimal installation boot

## mounty1

Hello, I'm trying to install on a HP t5745 http://h18000.www1.hp.com/products/quickspecs/13497_na/13497_na.PDF; however the minimal installation CD, although it boots correctly, does not recognise the network device.

```
00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub (rev 09)

00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 09)

00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 09)

00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 03)

00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 03)

00:1a.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 03)

00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 03)

00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)

00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 03)

00:1c.4 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 5 (rev 03)

00:1c.5 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 6 (rev 03)

00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03)

00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03)

00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03)

00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03)

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

00:1f.0 ISA bridge: Intel Corporation ICH9M LPC Interface Controller (rev 03)

00:1f.2 IDE interface: Intel Corporation ICH9M/M-E 2 port SATA IDE Controller (rev 03)

00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 03)

00:1f.5 IDE interface: Intel Corporation ICH9M/M-E 2 port SATA IDE Controller (rev 03)

04:00.0 Ethernet controller: Broadcom Corporation NetLink BCM57780 Gigabit Ethernet PCIe (rev 01)
```

I've quoted the entire lspci output just in case it's relevant but the last line is the crucial one, of course.  During boot, the tg3 driver is loaded, but ifconfig -a just lists the lo device.  At this stage:

```
tg3.c:v3.108 (February 17, 2010)

tg3 0000:04:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17

tg3 0000:04:00.0: setting latency timer to 64
```

 and if I then rmmod tg3 ; modprobe tg3 then

```
tg3.c:v3.108 (February 17, 2010)

tg3 0000:04:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17

tg3 0000:04:00.0: setting latency timer to 64

tg3 mdio bus: probed

tg3 0000:04:00.0: (unregistered net_device): No PHY devices

tg3 0000:04:00.0: (unregistered net_device): Problem fetching invariants of chip, aborting

tg3 0000:04:00.0: PCI INT A disabled
```

The obvious conclusion is that the tg3 driver is the wrong one for the chip set but Xubuntu (which is currently running on the computer) loads tg3 and detects and uses the ethernet device correctly.  So why doesn't Gentoo's version ?

----------

## NeddySeagoon

mounty1,

tg3 is indeed the correct kernel module for your 

```
04:00.0 Ethernet controller: Broadcom Corporation NetLink BCM57780 Gigabit Ethernet PCIe (rev 01)
```

To get the module to bind to your hardware, the module needs to know the vendor and device ID.  I suspect that vebdor and device ID of your interface have not been added to the version of the kernel on the liveCD.

Some kernel modules allow you to pass those parameters as module parameters at module load time.  Run 

```
modinfo tg3 
```

to see what parameters it accepts.  They are listed at the bottom of the output prefixed with param:

To find the magic numbers, use 

```
lspci -n
```

For my 

```
03:00.0 Ethernet controller: Atheros Communications AR8121/AR8113/AR8114 Gigabit or Fast Ethernet (rev b0)
```

I get 

```
03:00.0 0200: 1969:1026 (rev b0)
```

The vendor is 1969 and the device is 1026.  These are hex numbers.

----------

## mounty1

Thanks for that;  it's a big step forward.  It seems that I could install Gentoo from Xubuntu;  i.e., boot from the Xubuntu installation USB stick, open a terminal window and follow the usual Gentoo installation instructions.  However, I would want to be certain that it is going to be possible to get the tg3 driver talking to the B57780 ethernet after rebooting into Gentoo.  The modinfo output is:

```
alias:          pci:v000014E4d00001644sv*sd*bc*sc*i*

depends:        firmware_class,libphy

vermagic:       2.6.34-gentoo-r12 SMP mod_unload modversions 486 

parm:           tg3_debug:Tigon3 bitmapped debugging message enable value (int)
```

so it seems that the only accepted parameter is tg3_debug which isn't very helpful.  Presumably it's possible to tweak the tg3 source before on builds the Gentoo kernel, or does one fiddle with udev ?

----------

## NeddySeagoon

mounty1,

Try SystemRescueCD.  Its based on Gentoo, has a later kernel and even has the /mnt/gentoo mount point so you can use it in place of the minimal CD and follow the Gentoo handbook with no extra steps. Oh, it has both a 32 bit and 64 bit kernel and Xorg.

If your tg3 did not work with a recent Linux kernel, there would be a lot of disappointed users.

You are right about not being able to pass vendor and device IDs to tg3 via modprobe.

----------

## mounty1

 *NeddySeagoon wrote:*   

> Try SystemRescueCD.  Its based on Gentoo, has a later kernel and even has the /mnt/gentoo mount point so you can use it in place of the minimal CD and follow the Gentoo handbook with no extra steps. Oh, it has both a 32 bit and 64 bit kernel and Xorg.

 Thanks, will do, although my Gentoo minimal installation CD was only downloaded a month ago. *NeddySeagoon wrote:*   

> If your tg3 did not work with a recent Linux kernel, there would be a lot of disappointed users.  You are right about not being able to pass vendor and device IDs to tg3 via modprobe.

 Can you give me some pointers about how to hack the kernel tg3 source to make it pick up my product/vendor numbers ?

----------

## NeddySeagoon

mounty1,

Tell me what lspci and lspci -n both show for your network card.

I can grep the kernel to see if your card is known to 2.6.36-r5.

If its not, I can help you patch the tg3 driver. I need your vendor and device ID either way.

----------

## mounty1

 *NeddySeagoon wrote:*   

> Tell me what lspci and lspci -n both show for your network card.

 

```
04:00.0 Ethernet controller: Broadcom Corporation NetLink BCM57780 Gigabit Ethernet PCIe (rev 01)
```

and

```
04:00.0 0200: 14e4:1692 (rev 01)
```

and for good measure:

```
Linux livecd 2.6.34-gentoo-r12 #1 SMP Tue Nov 23 12:29:09 UTC 2010 i686 Intel(R) Atom(TM) CPU N280 @ 1.66GHz GenuineIntel GNU/Linux
```

 *NeddySeagoon wrote:*   

> I can grep the kernel to see if your card is known to 2.6.36-r5.
> 
> If its not, I can help you patch the tg3 driver. I need your vendor and device ID either way.

 The Xubuntu kernel is 2.6.35-r23 so it seems that the B57780 is a late addition to the set of recognised devices.  Thanks for your assistance.

----------

## NeddySeagoon

mounty1,

Its in kernel 2.6.36 

```
./net/tg3.h:#define  TG3PCI_VENDOR_BROADCOM       0x14e4

./net/tg3.h:#define  TG3PCI_DEVICE_TIGON3_57780    0x1692
```

----------

