# [Solved] Netgear GA302T - driver issues

## aztech

Hi

Yesterday I tried to get the drivers working for a Netgear GA302T, on my homeserver.

It failed ....

I've read that you should use the TG3 driver for this NIC and thats what I did,

but no luck in getting it up and running ...

The NIC is found by the server, but I cant use it, as in 'ifconfig eth2' etc ..

phpsysinfo says this ...

```

-   Bridge: nVidia Corporation CK804 Ethernet Controller

-   Ethernet controller: Broadcom Corporation NetXtreme BCM5701 Gigabit Ethernet

-   Ethernet controller: Marvell Technology Group Ltd. 88E8053 PCI-E Gigabit Ethernet Controller

```

The middle one .. " Broadcom ..." is the NIC in matter. The other ones (eth0 / eth1) works just fine.

Any idéas what to do ?

/ andreas

edit:

Upgrading kernel, to 2.6.34-gentoo-r1 did the trick.

```

bionic net # dmesg | grep tg3 && uname -a

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

tg3 0000:01:07.0: PCI INT A -> Link[APC4] -> GSI 19 (level, low) -> IRQ 19

tg3 0000:01:07.0: eth2: Tigon3 [partno(AC91002A1) rev 0105] (PCI:33MHz:32-bit) MAC address 00:09:5b:60:16:c9

tg3 0000:01:07.0: eth2: attached PHY is 5701 (10/100/1000Base-T Ethernet) (WireSpeed[1])

tg3 0000:01:07.0: eth2: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] TSOcap[0]

tg3 0000:01:07.0: eth2: dma_rwctrl[76ff000f] dma_mask[64-bit]

Linux bionic 2.6.34-gentoo-r1 #1 SMP Wed Jul 14 21:06:41 CEST 2010 x86_64 AMD Athlon(tm) 64 Processor 3000+ AuthenticAMD GNU/Linux

```

Last edited by aztech on Wed Jul 14, 2010 9:50 pm; edited 1 time in total

----------

## DONAHUE

tg3 looks right, do you have 

 *Quote:*   

> Device Drivers  --->
> 
> [*] Network device support  --->  
> 
> <*>   PHY Device support and infrastructure  --->  
> ...

 also?

----------

## aztech

 *DONAHUE wrote:*   

> tg3 looks right, do you have 
> 
>  *Quote:*   Device Drivers  --->
> 
> [*] Network device support  --->  
> ...

 

I did not have 

```
<M> Drivers for Broadcom PHYs 
```

I'm recompiling now, so I'll if it works after reboot.

----------

## aztech

ok, so I made sure I've got

```

Device Drivers --->

[*] Network device support --->

<*> PHY Device support and infrastructure --->

<*> Drivers for Broadcom PHYs 

```

but still no luck ....

So I did like this, directly after reboot and found something that might be of interest.

```

bionic log # cat dmesg |grep tg

tg3.c:v3.106 (January 12, 2010)

tg3 0000:01:08.0: PCI INT A -> Link[APC1] -> GSI 16 (level, low) -> IRQ 16

tg3: (0000:01:08.0) phy probe failed, err -19

tg3: Problem fetching invariants of chip, aborting.

tg3 0000:01:08.0: PCI INT A disabled

```

Anyone ?

----------

## DONAHUE

is tg3 built as a module?

lspci -k should give a "subsystem:" listing for the NIC

googling pciid <subsystem data> may tell you more about the NIC

the error you found suggests broadcom or the computer maker used chips not included in the tg3 driver.

lspci -k will also tell you if any module or driver was assigned to the nic

lspci -k run from a livecd that can run the nic may provide further clues as to the driver needed

----------

## aztech

 *DONAHUE wrote:*   

> is tg3 built as a module?
> 
> lspci -k should give a "subsystem:" listing for the NIC
> 
> googling pciid <subsystem data> may tell you more about the NIC
> ...

 

No, it's compiled in to the kernel.

```

lspci -k |grep Broadcom

01:08.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5701 Gigabit Ethernet

        Subsystem: Broadcom Corporation NetXtreme BCM5701 Gigabit Ethernet

```

nothing about kernel driver on this one .. =/

still after adding the "PHY" stuff...

```

bionic ~ # cat /var/log/dmesg |grep tg3

tg3.c:v3.106 (January 12, 2010)

tg3 0000:01:08.0: PCI INT A -> Link[APC1] -> GSI 16 (level, low) -> IRQ 16

tg3: (0000:01:08.0) phy probe failed, err -19

tg3: Problem fetching invariants of chip, aborting.

tg3 0000:01:08.0: PCI INT A disabled

```

----------

## DONAHUE

may be worth doing tg3 as a module instead of builtin

you should have a couple of other broadcom choices under gigabit ethernet, I'd be tempted to make them modules also

subsystem looks as though broadcom did not outsource which makes things stranger, not having a driver is at least consistent.

anything in /lib/firmware about broadcom or tg3?

----------

## aztech

 *DONAHUE wrote:*   

> may be worth doing tg3 as a module instead of builtin
> 
> you should have a couple of other broadcom choices under gigabit ethernet, I'd be tempted to make them modules also
> 
> subsystem looks as though broadcom did not outsource which makes things stranger, not having a driver is at least consistent.
> ...

 

I've recompiled all broadcom stuff, to modules now and rebooted to the new kernel.

Then I got tg3 and broadcom modules, modprobed those and the only difference is that lspci now shows the kernel driver for the NIC.

And yes, There are a bunch of .bin files in a "tigon" dir, under /lib/firmware

What do I do with those?

----------

## DONAHUE

still sounds like right driver and somewhat wrong firmware:

lspci-k shows tg3 as mdule and driver in use?

i'm guessing the file names end with .bin?

do any of them contain 5701?

```
dmesg | grep -i .bin
```

 show anything?

----------

## aztech

Yes, Kernel driver: tg3

Since my othee nic's are in use, i figured that the new one would show up as eth2, but it doesn't.

----------

## aztech

 *DONAHUE wrote:*   

> still sounds like right driver and somewhat wrong firmware:
> 
> lspci-k shows tg3 as mdule and driver in use?
> 
> i'm guessing the file names end with .bin?
> ...

 

Still no luck

```

bionic ~ # dmesg | grep .bin

TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)

TCP: Hash tables configured (established 262144 bind 65536)

Probing IDE interface ide0...

Probing IDE interface ide1...

ide_generic: please use "probe_mask=0x3f" module parameter for probing all legacy ISA IDE ports

```

```

bionic ~ # find /lib/firmware

/lib/firmware

/lib/firmware/kaweth

/lib/firmware/kaweth/trigger_code_fix.bin

/lib/firmware/kaweth/new_code.bin

/lib/firmware/kaweth/trigger_code.bin

/lib/firmware/kaweth/new_code_fix.bin

/lib/firmware/tigon

/lib/firmware/tigon/tg3.bin

/lib/firmware/tigon/tg3_tso.bin

/lib/firmware/tigon/tg3_tso5.bin

/lib/firmware/bnx2

/lib/firmware/bnx2/bnx2-mips-09-5.0.0.j3.fw

/lib/firmware/bnx2/bnx2-mips-06-5.0.0.j3.fw

/lib/firmware/bnx2/bnx2-rv2p-09ax-5.0.0.j3.fw

/lib/firmware/bnx2/bnx2-rv2p-09-5.0.0.j3.fw

/lib/firmware/bnx2/bnx2-rv2p-06-5.0.0.j3.fw

```

```

bionic ~ # dmesg | grep tg3

tg3.c:v3.106 (January 12, 2010)

tg3 0000:01:08.0: PCI INT A -> Link[APC1] -> GSI 16 (level, low) -> IRQ 16

tg3: (0000:01:08.0) phy probe failed, err -19

tg3: Problem fetching invariants of chip, aborting.

tg3 0000:01:08.0: PCI INT A disabled

```

----------

## DONAHUE

you may need:

Device Drivers  ---> 

[*] Network device support  ---> 

[*]   Ethernet (10 or 100 Mbit)  ---> 

<*>   Generic Media Independent Interface device support

----------

## aztech

 *DONAHUE wrote:*   

> you may need:
> 
> Device Drivers  ---> 
> 
> [*] Network device support  ---> 
> ...

 

I've had that the whole time.

----------

## cach0rr0

from the googling around I've done this looks a)like a kernel bug, b)like something that can be avoided by setting the module to not automatically load upon boot. Obviously you will want it to load at some point during startup, but shifting it to a manual modprobe within 'local' (/etc/init.d/local) might be enough to get around it

-blacklist 'tg3' module so it doesn't load at startup

-add the requisite modprobe (broadcom first if not loaded already, then tg3) to an init script

-if that fails, blacklist both 'broadcom' and 'tg3', lather/rinse/repeat

What leads me to this guess:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=488590 (most notably)

https://bugzilla.redhat.com/show_bug.cgi?id=525966 (TL;DR)

http://bbs.archlinux.org/viewtopic.php?pid=724691 (comment #9)

----------

## aztech

I've now tried to blacklist both modules at startup and the manually modprobed them.

First broadcom and then the tg3 module.

The only thing I notice, is that "modprobed tg3" takes about 15-25 second before i get the bashprompt again.

Also the same errors appear in dmesg.

So ... This method failed aswell  :Sad: 

----------

## DONAHUE

quick try: 

```
modprobe -rv broadcom tg3 ; modprobe broadcom ; modprobe tg3; ifconfig eth0 up ; ifconfig
```

to specifically remove modules first before reloading them.

If that works the simple way may be to select broadcom as builtin vice module  *Quote:*   

> <*> Drivers for Broadcom PHYs

 

That failing:

http://www.broadcom.com/support/ethernet_nic/netxtreme_desktop.php has the manufacturer supplied driver, want to try that?

Else it seems like bug report, wait, and hope time.

----------

## aztech

Still the same output in dmesg and the same delay return to the prompt again...

----------

## DONAHUE

could you post output of 

```
lspci -n
```

 pls

----------

## aztech

```

00:00.0 0580: 10de:005e (rev a3)

00:01.0 0601: 10de:0050 (rev a3)

00:01.1 0c05: 10de:0052 (rev a2)

00:02.0 0c03: 10de:005a (rev a2)

00:02.1 0c03: 10de:005b (rev a3)

00:04.0 0401: 10de:0059 (rev a2)

00:06.0 0101: 10de:0053 (rev a2)

00:07.0 0101: 10de:0054 (rev a3)

00:08.0 0101: 10de:0055 (rev a3)

00:09.0 0604: 10de:005c (rev a2)

00:0a.0 0680: 10de:0057 (rev a3)

00:0b.0 0604: 10de:005d (rev a3)

00:0c.0 0604: 10de:005d (rev a3)

00:0d.0 0604: 10de:005d (rev a3)

00:0e.0 0604: 10de:005d (rev a3)

00:18.0 0600: 1022:1100

00:18.1 0600: 1022:1101

00:18.2 0600: 1022:1102

00:18.3 0600: 1022:1103

01:07.0 0300: 1002:4755 (rev 9a)

01:08.0 0200: 14e4:1645

01:09.0 0104: 1095:3114 (rev 02)

01:0a.0 0c00: 104c:8025 (rev 01)

02:00.0 0200: 11ab:4362 (rev 19)

```

----------

## DONAHUE

rats that did not give the subsystem hex codes

Pls: 

```
lspci -nnk
```

 and post the info after subsystem: for the BCM5701

----------

## aztech

Ahhh ... here you go ..

```

bionic ~ # lspci -nnk

00:00.0 Memory controller [0580]: nVidia Corporation CK804 Memory Controller [10de:005e] (rev a3)

        Subsystem: Giga-byte Technology GA-K8N Ultra-9 Mainboard [1458:5000]

00:01.0 ISA bridge [0601]: nVidia Corporation CK804 ISA Bridge [10de:0050] (rev a3)

        Subsystem: Giga-byte Technology GA-K8N Ultra-9 Mainboard [1458:0c11]

00:01.1 SMBus [0c05]: nVidia Corporation CK804 SMBus [10de:0052] (rev a2)

        Subsystem: Giga-byte Technology GA-K8N Ultra-9 Mainboard [1458:0c11]

        Kernel driver in use: nForce2_smbus

00:02.0 USB Controller [0c03]: nVidia Corporation CK804 USB Controller [10de:005a] (rev a2)

        Subsystem: Giga-byte Technology GA-K8N Ultra-9 Mainboard [1458:5004]

        Kernel driver in use: ohci_hcd

00:02.1 USB Controller [0c03]: nVidia Corporation CK804 USB Controller [10de:005b] (rev a3)

        Subsystem: Giga-byte Technology GA-K8N Ultra-9 Mainboard [1458:5004]

        Kernel driver in use: ehci_hcd

00:04.0 Multimedia audio controller [0401]: nVidia Corporation CK804 AC'97 Audio Controller [10de:0059] (rev a2)

        Subsystem: Giga-byte Technology Device [1458:ae01]

00:06.0 IDE interface [0101]: nVidia Corporation CK804 IDE [10de:0053] (rev a2)

        Subsystem: Giga-byte Technology GA-K8N Ultra-9 Mainboard [1458:5002]

        Kernel driver in use: AMD_IDE

00:07.0 IDE interface [0101]: nVidia Corporation CK804 Serial ATA Controller [10de:0054] (rev a3)

        Subsystem: Giga-byte Technology GA-K8N Ultra-9 Mainboard [1458:b003]

        Kernel driver in use: sata_nv

00:08.0 IDE interface [0101]: nVidia Corporation CK804 Serial ATA Controller [10de:0055] (rev a3)

        Subsystem: Giga-byte Technology GA-K8N Ultra-9 Mainboard [1458:b003]

        Kernel driver in use: sata_nv

00:09.0 PCI bridge [0604]: nVidia Corporation CK804 PCI Bridge [10de:005c] (rev a2)

00:0a.0 Bridge [0680]: nVidia Corporation CK804 Ethernet Controller [10de:0057] (rev a3)

        Subsystem: Giga-byte Technology GA-K8N Ultra-9 Mainboard [1458:e000]

        Kernel driver in use: forcedeth

00:0b.0 PCI bridge [0604]: nVidia Corporation CK804 PCIE Bridge [10de:005d] (rev a3)

        Kernel driver in use: pcieport

00:0c.0 PCI bridge [0604]: nVidia Corporation CK804 PCIE Bridge [10de:005d] (rev a3)

        Kernel driver in use: pcieport

00:0d.0 PCI bridge [0604]: nVidia Corporation CK804 PCIE Bridge [10de:005d] (rev a3)

        Kernel driver in use: pcieport

00:0e.0 PCI bridge [0604]: nVidia Corporation CK804 PCIE Bridge [10de:005d] (rev a3)

        Kernel driver in use: pcieport

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

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

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

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

        Kernel driver in use: k8temp

01:07.0 VGA compatible controller [0300]: ATI Technologies Inc 3D Rage II+ 215GTB [Mach64 GTB] [1002:4755] (rev 9a)

        Subsystem: ATI Technologies Inc 3D Rage II+ 215GTB [Mach64 GTB] [1002:4755]

01:08.0 Ethernet controller [0200]: Broadcom Corporation NetXtreme BCM5701 Gigabit Ethernet [14e4:1645]

        Subsystem: Broadcom Corporation NetXtreme BCM5701 Gigabit Ethernet [14e4:1645]

        Kernel modules: tg3

01:09.0 RAID bus controller [0104]: Silicon Image, Inc. SiI 3114 [SATALink/SATARaid] Serial ATA Controller [1095:3114] (rev 02)

        Subsystem: Giga-byte Technology Device [1458:b004]

        Kernel driver in use: sata_sil

01:0a.0 FireWire (IEEE 1394) [0c00]: Texas Instruments TSB82AA2 IEEE-1394b Link Layer Controller [104c:8025] (rev 01)

        Subsystem: Giga-byte Technology GA-K8N Ultra-9 Mainboard [1458:1000]

02:00.0 Ethernet controller [0200]: Marvell Technology Group Ltd. 88E8053 PCI-E Gigabit Ethernet Controller [11ab:4362] (rev 19)

        Subsystem: Giga-byte Technology Marvell 88E8053 Gigabit Ethernet Controller (Gigabyte) [1458:e000]

        Kernel driver in use: sky2

```

----------

## DONAHUE

Here's my theory:

a) when your nic is probed it says it is: 14e4:1645 14e4:1645

b)  the pciid database lists

 *Quote:*   

> 14e4 0001	BCM5701 1000Base-T	
> 
> 14e4 0005	BCM5701 1000Base-T	
> 
> 14e4 0006	BCM5701 1000Base-T	
> ...

 

Drilling down:

 the pciid database lists:

Main -> PCI Devices -> Vendor 14e4 -> Device 14e4:1645 -> Subsystem 14e4:1645:14e4 1645, (Vendor 14e4)

in the manufacturers driver package is a page that appears to me to list chipsets that are supported by tg3, the relevant  *Quote:*   

> 14e4  Broadcom Corporation
> 
> 		<snip>1600  NetXtreme BCM5752 Gigabit Ethernet PCI Express
> 
> 	1601  NetXtreme BCM5752M Gigabit Ethernet PCI Express
> ...

 

Note that no 14e4 1645 (14e4:1645 14e4 1645) listing exists in the manufacturer driver package.

The kernel driver package being based on the manufacturer package probably has the same or similar problem.

Perhaps the manufacturer package can be modified and used.

Perhaps a bug report will cause a fix.

----------

## jordanwb

aztech what fixed it for you? I'm having the same problem as you.

----------

## aztech

 *jordanwb wrote:*   

> aztech what fixed it for you? I'm having the same problem as you.

 

As added in post #1

I upgraded kernel to  2.6.34-gentoo-r1.

Might have to modprobe broadcom, before tg3.

----------

## jordanwb

Hmm. I had to resort to a kludge to get tg3 working. I had to put tg3 in /etc/conf.d/modules, then in /etc/conf.d/local put "modprobe -r tg3; modproge tg3". Stupid Broadcom.

----------

