3

The said network adapter is not recognized in 13.04. In 12.04 and 12.10 I had used the driver proposed from broadcom download site, configured as dkms package it was always updated. On the 3.8.x kernels this provided kernel driver from broadcom does not compile anymore - and the distribution provided tg3 drivers does not recognize the ethernet adapter - even though it is a newer version.

~$ modinfo /lib/modules/3.8.0-19 generic/kernel/drivers/net/ethernet/broadcom/tg3.ko | grep -i version
version:        3.128
srcversion:     D737202366709FE01964BF0
vermagic:       3.8.0-19-generic SMP mod_unload modversions 

Here the working version on kernel 3.5.x using dkms

~$ modinfo /lib/modules/3.5.0-25-generic/updates/dkms/tg3.ko | grep version
version:        3.124c
srcversion:     D01ED9A7BF2C3956E212A63
vermagic:       3.5.0-25-generic SMP mod_unload modversions 

The Network card:

~$ lspci -nn | grep 0200
01:00.0 Ethernet controller [0200]: Broadcom Corporation NetXtreme BCM57766 Gigabit Ethernet PCIe [14e4:1686] (rev 01)

As found on the i7 Mac Mini 6,2.

Anyone knows where I can get a kernel that recognizes that ethernet device ? That chip is supported somehow ... And - the 3.8.x kernel is way better on the HD4000 chip - reason I use it.

Note - to get the WiFi working, just make sure you load the b43 driver at boot (/etc/modules). At least then you have Network connectivity.

Smurphy
  • 71

5 Answers5

2

OK - after rebuilding the kernel as per https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel>https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel and prior build run, adapting the tg3.c file as per previous message, the Network card is detected and running fine now.

[ 5140.908163] tg3.c:v3.128 (December 03, 2012)
[ 5140.921437] tg3 0000:01:00.0: enabling device (0000 -> 0002)
[ 5140.944063] tg3 0000:01:00.0 eth0: Tigon3 [partno(BCM957766a) rev 57766001] (PCI Express) MAC address 10:dd:b1:99:95:2a
[ 5140.944074] tg3 0000:01:00.0 eth0: attached PHY is 57765 (10/100/1000Base-T Ethernet) (WireSpeed[1], EEE[0])
[ 5140.944079] tg3 0000:01:00.0 eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] TSOcap[1]
[ 5140.944084] tg3 0000:01:00.0 eth0: dma_rwctrl[00000001] dma_mask[64-bit]
[ 5140.957230] tg3 0000:01:00.0: irq 26 for MSI/MSI-X
[ 5140.957249] tg3 0000:01:00.0: irq 27 for MSI/MSI-X
[ 5140.957263] tg3 0000:01:00.0: irq 28 for MSI/MSI-X
[ 5140.957297] tg3 0000:01:00.0: irq 29 for MSI/MSI-X
[ 5140.957310] tg3 0000:01:00.0: irq 30 for MSI/MSI-X
[ 5141.230492] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 5141.230964] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 5144.225216] tg3 0000:01:00.0 eth0: Link is up at 1000 Mbps, full duplex
[ 5144.225224] tg3 0000:01:00.0 eth0: Flow control is on for TX and on for RX
[ 5144.225250] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

In case someone neeeds just the tg3.ko driver - let me know. I'll send it by mail. It should load into the normal current kernel:

Linux Pandora 3.8.0-19-generic #30-Ubuntu SMP Wed May 1 16:35:23 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
Smurphy
  • 71
0

The only change that appears to be necessary to the stock linux 3.8 tg3 driver is:


--- linux-source-3.8.0/drivers/net/ethernet/broadcom/tg3.c  2013-05-02 04:35:43.000000000 +1200
+++ tg3-3.128x/src/tg3.c    2013-05-06 10:30:07.542039601 +1200
@@ -330,6 +330,9 @@
    {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_5719)},
    {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_5720)},
    {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_57762)},
+   {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_57766)},
+   {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_57782)},
+   {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_57786)},
    {PCI_DEVICE(PCI_VENDOR_ID_SYSKONNECT, PCI_DEVICE_ID_SYSKONNECT_9DXX)},
    {PCI_DEVICE(PCI_VENDOR_ID_SYSKONNECT, PCI_DEVICE_ID_SYSKONNECT_9MXX)},
    {PCI_DEVICE(PCI_VENDOR_ID_ALTIMA, PCI_DEVICE_ID_ALTIMA_AC1000)},

It's been a few years since I've needed to mess around like this, so I'm not really familiar with how best to use dkms to get this to build automatically etc. But it is working for me (so far).

0

This bug has been fixed with kernel 3.8.0-22.33 - mac-mini now recognizes this chip with the stock kernel from ubuntu without recompile:

smurphy@Pandora:~$ uname -a
Linux Pandora 3.8.0-22-generic #33-Ubuntu SMP Thu May 16 15:17:14 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
smurphy@Pandora:~$ lspci | grep -iethernet
01:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM57766 Gigabit Ethernet PCIe (rev 01)
smurphy@Pandora:~$ 

After a fresh installation make sure you tell the installer to also install the latest updates, and this will fix this issue as if it never existed. Apparently there was a regression introduced in 3.8.0-20...

Smurphy
  • 71
0

The thing is, that only the initial kernels (installation) have that problem. So you don't have to rebuild a kernel. Just make sure you can update the system somehow, and it will be Ok.

Current image is: linux-image-3.8.0-27-generic you will need to also download linux-headers-3.8.0-27-generic (dependency).

You can find them here: http://security.ubuntu.com/ubuntu/pool/main/l/linux/

check for linux-image-3.8.0-27-generic_3.8.0-27.40_amd64.deb and linux-headers-3.8.0-27-generic_3.8.0-27.40_amd64.deb (somehow the site security won't allow me to provide more than 2 links).

Copy these on the disk via USB or whatever, then issue a: dpkg -i linux-image-3.8.0-27-generic* linux-headers-3.8.0-27-generic*

reboot ...

That should do it.

0

This is not a long-term solution, but if you just want to get ethernet working when you're using a 13.04 boot CD using the kernel that it came with, I was able to get that driver working as follows:

root@lubuntu:~# modprobe tg3
root@lubuntu:~# echo 14e4 1686 >/sys/module/tg3/drivers/pci:tg3/new_id

Where 14e4 and 1686 are the hexadecimal vendor and device IDs. In case your machine is different from mine, you can find the right values like this:

lubuntu@lubuntu:~$ lspci | grep Ethernet
01:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM57766 Gigabit Ethernet PCIe (rev 01)
lubuntu@lubuntu:~$ lspci -ns 01:00.0
01:00.0 0200: 14e4:1686 (rev 01)

That line is read as follows:

buslocation cardtype: vendorid:deviceid (rev revisionid)

The vendorid and deviceid are the values I used above.