Como atualizar corretamente o kernel

0

De acordo com esta página, o chipset BCM43340 Broadcom é suportado no kernel 4.0+. Depois de inicializar este kernel em uma máquina, a placa de rede ainda não foi detectada.

Por outro lado, parece que o firmware da placa de rede é fornecido por linux-firmware :

 $ dpkg -S /lib/firmware/brcm/b*
linux-firmware: /lib/firmware/brcm/bcm4329-fullmac-4.bin
linux-firmware: /lib/firmware/brcm/bcm43xx-0.fw
linux-firmware: /lib/firmware/brcm/bcm43xx_hdr-0.fw
linux-firmware: /lib/firmware/brcm/brcmfmac43143.bin
linux-firmware: /lib/firmware/brcm/brcmfmac43143-sdio.bin
linux-firmware: /lib/firmware/brcm/brcmfmac43236b.bin
linux-firmware: /lib/firmware/brcm/brcmfmac43241b0-sdio.bin
linux-firmware: /lib/firmware/brcm/brcmfmac43241b4-sdio.bin
linux-firmware: /lib/firmware/brcm/brcmfmac43242a.bin
linux-firmware: /lib/firmware/brcm/brcmfmac4329-sdio.bin
linux-firmware: /lib/firmware/brcm/brcmfmac4330-sdio.bin
linux-firmware: /lib/firmware/brcm/brcmfmac4334-sdio.bin
linux-firmware: /lib/firmware/brcm/brcmfmac4335-sdio.bin
linux-firmware: /lib/firmware/brcm/brcmfmac43362-sdio.bin
linux-firmware: /lib/firmware/brcm/brcmfmac4339-sdio.bin
linux-firmware: /lib/firmware/brcm/brcmfmac4354-sdio.bin
linux-firmware: /lib/firmware/brcm/brcmfmac43569.bin
linux-firmware: /lib/firmware/brcm/brcmfmac43570-pcie.bin
linux-firmware: /lib/firmware/brcm/brcmfmac43602-pcie.ap.bin
linux-firmware: /lib/firmware/brcm/brcmfmac43602-pcie.bin

Como devo atualizar corretamente o kernel, para que eu obtenha o suporte para a placa de rede? Existe uma versão do linux-firmware que corresponde ao kernel 4.1.2

EDIT: Eu tenho um novo kernel 4.1.2, construído contra o Trusty (é mais antigo, então não deve ser problema) Eu modprobe'd brcmfmac e estas são as menções de brcm

$ dmesg | grep brcm
[    4.263584] brcmf_sdio_drivestrengthinit: No SDIO Drive strength init done for chip 43340 rev 2 pmurev 20
[    4.267389] usbcore: registered new interface driver brcmfmac
[    4.278197] brcmfmac_sdio mmc1:0001:1: Direct firmware load for brcm/brcmfmac43340-sdio.bin failed with error -2
[    7.287580] brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
[    8.296113] brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50

A parte do firmware brcmfmac43340-sdio.bin está ausente:

$ find /lib -name brcmfmac*
/lib/modules/4.1.2-040102-generic/kernel/drivers/net/wireless/brcm80211/brcmfmac
/lib/modules/4.1.2-040102-generic/kernel/drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.ko
/lib/modules/3.19.0-15-generic/kernel/drivers/net/wireless/brcm80211/brcmfmac
/lib/modules/3.19.0-15-generic/kernel/drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.ko
/lib/firmware/brcm/brcmfmac4354-sdio.bin
/lib/firmware/brcm/brcmfmac4335-sdio.bin
/lib/firmware/brcm/brcmfmac43143-sdio.bin
/lib/firmware/brcm/brcmfmac43241b4-sdio.bin
/lib/firmware/brcm/brcmfmac43143.bin
/lib/firmware/brcm/brcmfmac4329-sdio.bin
/lib/firmware/brcm/brcmfmac43241b0-sdio.bin
/lib/firmware/brcm/brcmfmac43236b.bin
/lib/firmware/brcm/brcmfmac4334-sdio.bin
/lib/firmware/brcm/brcmfmac43362-sdio.bin
/lib/firmware/brcm/brcmfmac4330-sdio.bin

brcmfmac43340-sdio.bin parece estar em linux-firmware 1.146 (de Wily), mas não tenho certeza se posso simplesmente instalar um pacote aleatório no Wily, estando no Vivid.

Como solicitado,

$ lspci -knn | grep Net -A2; uname -r
4.1.2-040102-generic
    
por marmistrz 05.08.2015 / 11:28

1 resposta

0

Primeiro, encontre sua arquitetura:

arch

Você provavelmente encontrará x86_64; isto é, 64 bits, ou então i386; isto é, 32 bits. Caso contrário, poste de volta e nós informaremos.

Clique aqui para baixar os pacotes do kernel: link

Se o seu, como eu suspeito, é um sistema de 64 bits, faça o download para o desktop linux-headers-generic-xx-amd64.deb, linux-headers-xx-all.deb e linux-image-xx-amd64 .deb.

Agora instale-os a partir do terminal com:

sudo dpkg -i ~/Desktop/linux*.deb

Após a reinicialização, confirme se você está executando o novo kernel 4.0-xx:

uname -r

Ele deve retornar: 4.0.9-040009-generic .

Carregue o driver presumido:

sudo modprobe brcmfmac

Verifique o log de mensagens:

dmesg | grep brcm
    
por chili555 06.08.2015 / 00:09