Como instalar o Broadcom BCM4360 no debian no Macbook pro

10

Estou tentando instalar os drivers sem fio porque o meu macbook pro não tem uma porta ethernet, então montei os 3 isos debian como repositórios locais para instalar quase todos os dependentes.

Então, o que eu tentei fazer para instalar a câmera 4360

https://wiki.debian.org/bcm43xx

https://wiki.debian.org/wl

Quando tento instalar isso:

http://www.broadcom.com/support/802.11/linux_sta.php

Eu recebo os seguintes problemas:

KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`
make[1]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
make[1]: Entering directory '/usr/src/linux-headers-3.16-2-amd64'
make[1]: Entering directory `/usr/src/linux-headers-3.16-2-amd64'
CFG80211 API is prefered for this kernel version
Using CFG80211 API
  CC [M]  /home/cristian/Downloads/broadcom/src/wl/sys/wl_cfg80211_hybrid.o
/home/cristian/Downloads/broadcom/src/wl/sys/wl_cfg80211_hybrid.c: In function ‘wl_cfg80211_get_key’:
/home/cristian/Downloads/broadcom/src/wl/sys/wl_cfg80211_hybrid.c:1390:2: warning: passing argument 1 of ‘memcpy’ discards ‘const’ qualifier from pointer target type [enabled by default]
  memcpy(params.key, key.data, params.key_len);
  ^
In file included from /usr/src/linux-headers-3.16-2-common/arch/x86/include/asm/string.h:4:0,
                 from /usr/src/linux-headers-3.16-2-common/include/linux/string.h:17,
                 from /usr/src/linux-headers-3.16-2-common/include/linux/bitmap.h:8,
                 from /usr/src/linux-headers-3.16-2-common/include/linux/cpumask.h:11,
                 from /usr/src/linux-headers-3.16-2-common/arch/x86/include/asm/cpumask.h:4,
                 from /usr/src/linux-headers-3.16-2-common/arch/x86/include/asm/msr.h:10,
                 from /usr/src/linux-headers-3.16-2-common/arch/x86/include/asm/processor.h:20,
                 from /usr/src/linux-headers-3.16-2-common/arch/x86/include/asm/thread_info.h:23,
                 from /usr/src/linux-headers-3.16-2-common/include/linux/thread_info.h:54,
                 from /usr/src/linux-headers-3.16-2-common/arch/x86/include/asm/preempt.h:6,
                 from /usr/src/linux-headers-3.16-2-common/include/linux/preempt.h:18,
                 from /usr/src/linux-headers-3.16-2-common/include/linux/spinlock.h:50,
                 from /usr/src/linux-headers-3.16-2-common/include/linux/seqlock.h:35,
                 from /usr/src/linux-headers-3.16-2-common/include/linux/time.h:5,
                 from /usr/src/linux-headers-3.16-2-common/include/linux/stat.h:18,
                 from /usr/src/linux-headers-3.16-2-common/include/linux/module.h:10,
                 from /home/cristian/Downloads/broadcom/src/include/linuxver.h:40,
                 from /home/cristian/Downloads/broadcom/src/wl/sys/wl_cfg80211_hybrid.c:26:
/usr/src/linux-headers-3.16-2-common/arch/x86/include/asm/string_64.h:32:14: note: expected ‘void *’ but argument is of type ‘const u8 *’
 extern void *memcpy(void *to, const void *from, size_t len);
              ^
/home/cristian/Downloads/broadcom/src/wl/sys/wl_cfg80211_hybrid.c: At top level:
/home/cristian/Downloads/broadcom/src/wl/sys/wl_cfg80211_hybrid.c:1778:2: warning: initialization from incompatible pointer type [enabled by default]
  .get_station = wl_cfg80211_get_station,
  ^
/home/cristian/Downloads/broadcom/src/wl/sys/wl_cfg80211_hybrid.c:1778:2: warning: (near initialization for ‘wl_cfg80211_ops.get_station’) [enabled by default]
/home/cristian/Downloads/broadcom/src/wl/sys/wl_cfg80211_hybrid.c: In function ‘wl_notify_connect_status’:
/home/cristian/Downloads/broadcom/src/wl/sys/wl_cfg80211_hybrid.c:2074:4: warning: passing argument 3 of ‘cfg80211_ibss_joined’ makes pointer from integer without a cast [enabled by default]
    cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, GFP_KERNEL);
    ^
In file included from /home/cristian/Downloads/broadcom/src/wl/sys/wl_cfg80211_hybrid.c:33:0:
/usr/src/linux-headers-3.16-2-common/include/net/cfg80211.h:4002:6: note: expected ‘struct ieee80211_channel *’ but argument is of type ‘unsigned int’
 void cfg80211_ibss_joined(struct net_device *dev, const u8 *bssid,
      ^
/home/cristian/Downloads/broadcom/src/wl/sys/wl_cfg80211_hybrid.c:2074:4: error: too few arguments to function ‘cfg80211_ibss_joined’
    cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, GFP_KERNEL);
    ^
In file included from /home/cristian/Downloads/broadcom/src/wl/sys/wl_cfg80211_hybrid.c:33:0:
/usr/src/linux-headers-3.16-2-common/include/net/cfg80211.h:4002:6: note: declared here
 void cfg80211_ibss_joined(struct net_device *dev, const u8 *bssid,
      ^
/usr/src/linux-headers-3.16-2-common/scripts/Makefile.build:262: recipe for target '/home/cristian/Downloads/broadcom/src/wl/sys/wl_cfg80211_hybrid.o' failed
make[4]: *** [/home/cristian/Downloads/broadcom/src/wl/sys/wl_cfg80211_hybrid.o] Error 1
/usr/src/linux-headers-3.16-2-common/Makefile:1350: recipe for target '_module_/home/cristian/Downloads/broadcom' failed
make[3]: *** [_module_/home/cristian/Downloads/broadcom] Error 2
Makefile:181: recipe for target 'sub-make' failed
make[2]: *** [sub-make] Error 2
Makefile:8: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-3.16-2-amd64'                                                                                                                                      
Makefile:140: recipe for target 'all' failed                                                                                                                                                          
make: *** [all] Error 2  

Portanto, se alguém instalou os drivers do Broadcom 4360 no mac com debian, diga-me como e quais outras sugestões me recomendam

Cristian Chaparro A.
fonte
Eu acredito que esse dispositivo usa o "WL" driver ubuntuforums.org/showthread.php?t=2205494
mchid

Respostas:

13

EDITAR

Na verdade, o Broadcom 4360 vem com dois chips distintos, 14E4: 4360 e 14E4: 43A0. Não há driver no Linux para o primeiro, enquanto wl é um driver apropriado para o segundo. Você pode determinar qual possui por meio do seguinte comando:

 lspci -vnn | grep -i net

Se você deseja fazer isso no Mac OS, pressione Apple -> Sobre este Mac -> Mais informações-> Informações do sistema e clique em Wi-fi. Você encontrará uma linha como

 Card Type: AirPort Extreme  (0x14E4, 0x117)

que exibe o código do fornecedor (14E4) e do produto (117, no meu caso) do cartão Wi-fi.


Não há suporte para Broadcom 4360 14E4: 4360 no Linux. O guia definitivo sobre esses assuntos é o Linux Wireless , que fornece nesta tabela a lista de todos os chips sem fio Broadcomm e os drivers Linux disponíveis. Como você pode ver, nenhum driver está listado em BCM4360 14E4: 4360.

Duas linhas abaixo na mesma tabela, é mostrado que o outro chip com o qual 4360 é produzido, 14E4: 43A0, é suportado pelo driver proprietário wl . O procedimento correto para instalar este driver é descrito aqui, no Wiki Debian . Para Wheezy, você deve adicionar esta linha

   deb http://http.debian.net/debian/ wheezy main contrib non-free

para o arquivo /etc/apt/sources.list e execute

  apt-get update
  apt-get install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') broadcom-sta-dkms

e, finalmente, você precisará remover alguns drivers conflitantes pré-instalados no Debian:

 modprobe -r b44 b43 b43legacy ssb brcmsmac

Agora você está pronto para ir:

 modprobe wl

Você também deve ter em mente o seguinte: sobre o driver wl , é o que o sempre informativo wiki do Arch Linux tem a dizer:

Aviso : mesmo que esse driver tenha amadurecido muito ao longo dos anos e funcione muito bem agora, seu uso é recomendado apenas quando nenhum dos dois drivers de código aberto oferece suporte ao seu dispositivo. Consulte a página do projeto b43 para obter a lista de dispositivos suportados.

MariusMatutiae
fonte
Esta foi a resposta correta para mim. NOTA para quem, como eu, estava tendo problemas com uma conexão LAN confiável para usar o apt-get: Eu precisava de um pacote completo para download, incluindo dependências para configurar o wifi no debian no meu macbook pro 13 polegadas de 2014 (com o BCM4360 14E4: 43A0) e não consegui encontrar esse pacote. Então, compilando arquivos .deb baixados manualmente para o debian jessie, criei meu próprio pequeno script de configuração de wifi. Se alguém gostaria que, aqui está: dropbox.com/s/00doasn3b3zh7eh/MacbookDebianWifi.zip?dl=0 extrair e executar WifiSetup.sh
Mike Turley
@MikeTurley o link não é mais válido. Estou tentando instalar o Qubes OS no meu macbook pro em meados de 2014 e esse link parece exatamente o que eu preciso! Eu já mudei minha VM sys-net para debian9. Então, tudo que eu preciso é copiar os drivers.
precisa saber é o seguinte
A única maneira de trabalhar para mim foi instalar o BCM4360 no kali linux single boot em um macbook air de 2017 ... Obviamente, adicionar os deps não livres da documentação oficial do kali e não os deb deps !!! Voto a favor para você :)
Roberto Manfreda
4

Nunca ouça alguém que lhe diz que você não pode fazer algo no Linux, é exatamente por isso que não uso mais o Windows. : P

Primeiro, ative os repositórios não livres. Adicionando " non-free" ao seu /etc/apt/sources.listarquivo " ".

Em seguida, execute os seguintes comandos:

sudo apt-get update
sudo apt-get install broadcom-sta-*
sudo modprobe wl
echo "wl" | sudo tee -a /etc/modules

Não esqueça o -a no comando tee ou você substituirá o arquivo inteiro !!

Se não funcionar imediatamente, reinicie e tudo ficará bem.

http://ubuntuforums.org/showthread.php?t=2205494

https://packages.debian.org/jessie/all/broadcom-sta-common/download

http://forums.linuxmint.com/viewtopic.php?f=194&t=175030

mchid
fonte
1
Você está parcialmente certo, não totalmente: o BROADCOM 4360 vem com dois chips (meu pior, eu não tinha notado!), Um é 14E4: 4360 ao qual o que eu disse se aplica e um 14E4: 43A0 para o qual wl é realmente o driver apropriado . Só espero que o OP tenha o último.
MariusMatutiae
ele estava totalmente certo. lol 2014 resposta, que é OG
Bent Cardan
Recentemente, peguei um Apple Broadcom BCM94360CD para inicialização dupla com linux / hackintosh. A execução do Zoron OS (variante do Ubuntu) não precisou adicionar repositório não livre à lista, tudo funcionou bem.
21918 Paul J as