Ubuntu 13.04 no Mac Mini 6,2 porta ethernet Broadcom NetXtreme BCM57766 não detectado

3

O dito adaptador de rede não é reconhecido em 13.04. Em 12.04 e 12.10 usei o driver proposto do site de download broadcom, configurado como pacote dkms sempre atualizado. Nos kernels 3.8.x, este driver de kernel fornecido pela broadcom não compila mais - e a distribuição fornecida aos drivers tg3 não reconhece o adaptador ethernet - mesmo sendo uma versão mais recente.

~$ 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 

Aqui a versão de trabalho no kernel 3.5.x usando 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 

A placa de rede:

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

Como encontrado no i7 Mac Mini 6,2.

Alguém sabe onde posso obter um kernel que reconheça esse dispositivo ethernet? Esse chip é suportado de alguma forma ... E - o kernel 3.8.x é muito melhor no chip HD4000 - razão pela qual eu o uso.

Nota - para obter o WiFi funcionando, apenas certifique-se de carregar o driver b43 na inicialização (/ etc / modules). Pelo menos, você tem conectividade de rede.

    
por Smurphy 30.04.2013 / 13:40

5 respostas

0

Este bug foi corrigido com o kernel 3.8.0-22.33 - o mac-mini agora reconhece este chip com o kernel padrão do ubuntu sem recompilar:

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:~$ 

Após uma nova instalação, certifique-se de dizer ao instalador para também instalar as atualizações mais recentes, e isso consertará esse problema como se ele nunca tivesse existido. Aparentemente, houve uma regressão introduzida em 3.8.0-20 ...

    
por Smurphy 24.05.2013 / 09:12
2

OK - depois de reconstruir o kernel de acordo com https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel> link e execução prévia da compilação, adaptando o arquivo tg3.c conforme a mensagem anterior, a placa de rede é detectada e funcionando perfeitamente agora.

[ 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

No caso de alguém precisar apenas do driver tg3.ko - me avise. Vou mandar pelo correio. Ele deve carregar no kernel atual normal:

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
    
por Smurphy 06.05.2013 / 10:19
0

A única mudança que parece ser necessária para o driver do stock linux 3.8 tg3 é:


--- 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)},

Já faz alguns anos desde que eu precisei mexer com isso, então eu não estou muito familiarizado com a melhor forma de usar o dkms para fazer isso automaticamente. Mas está funcionando para mim (até agora) .

    
por Nick Phillips 06.05.2013 / 01:31
0

O problema é que somente os kernels iniciais (instalação) têm problema. Então você não precisa reconstruir um kernel. Apenas certifique-se que você pode atualizar o sistema de alguma forma, e será Ok.

A imagem atual é: linux-image-3.8.0-27-generic você também precisará baixar o linux-headers-3.8.0-27-generic (dependency).

Você pode encontrá-los aqui: link

verifique se o linux-image-3.8.0-27-generic_3.8.0-27.40_amd64.deb e o linux-headers-3.8.0-27-generic_3.8.0-27.40_amd64.deb (de alguma forma, a segurança do site não permita-me fornecer mais de 2 links).

Copie-os no disco via USB ou o que for, em seguida, emita um: dpkg -i linux-image-3.8.0-27-genérico * linux-headers-3.8.0-27-generic *

reiniciar ...

Isso deve ser feito.

    
por user180142 31.07.2013 / 15:04
0

Esta não é uma solução de longo prazo, mas se você quiser que o ethernet funcione quando estiver usando um CD de boot 13.04 usando o kernel que veio com ele, consegui fazer com que o driver funcione da seguinte maneira:

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

Onde 14e4 e 1686 são os IDs de fornecedor e dispositivo hexadecimais. Caso sua máquina seja diferente da minha, você pode encontrar os valores corretos como este:

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)

Essa linha é lida da seguinte forma:

buslocation cardtype: vendorid:deviceid (rev revisionid)

O vendorid e o deviceid são os valores que usei acima.

    
por Infinoid 22.11.2013 / 13:02