Cómo instalar Broadcom BCM4360 en debian en Macbook pro

10

Estoy tratando de instalar los controladores inalámbricos porque mi macbook pro no tiene un puerto ethernet, luego monte los 3 debian isos como repositorios locales para instalar casi todas las dependencias.

Entonces, ¿qué intenté hacer para instalar la broadcam 4360?

https://wiki.debian.org/bcm43xx

https://wiki.debian.org/wl

Cuando intento instalar esto:

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

Tengo los siguientes 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  

Entonces, si alguien ha instalado los controladores para Broadcom 4360 en Mac con Debian, dígame cómo y qué otras sugerencias me recomiendan

Cristian Chaparro A.
fuente
Creo que el dispositivo utiliza el controlador "wl" ubuntuforums.org/showthread.php?t=2205494
mchid

Respuestas:

13

EDITAR

Broadcom 4360 en realidad viene con dos chips distintos, 14E4: 4360 y 14E4: 43A0. No hay controlador en Linux para el primero, mientras que wl es un controlador apropiado para el segundo. Puede determinar cuál tiene mediante el siguiente comando:

 lspci -vnn | grep -i net

Si en cambio desea hacer esto desde Mac OS, presione Apple -> Acerca de esta Mac -> Más información-> Información del sistema, y ​​luego haga clic en Wi-Fi. Encontrarás una línea como

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

que muestra el código de proveedor (14E4) y producto (117, en mi caso) de la tarjeta Wi-Fi.


No hay soporte para Broadcom 4360 14E4: 4360 en Linux. La guía definitiva en estos asuntos es Linux Wireless , que proporciona en esta tabla la lista de todos los chips inalámbricos Broadcomm y los controladores de Linux disponibles. Como puede ver, ningún controlador aparece en BCM4360 14E4: 4360.

Dos líneas a continuación en la misma tabla, se muestra que el otro chip con el que se produce 4360, 14E4: 43A0, es compatible con el controlador propietario wl . El procedimiento correcto para instalar este controlador se describe aquí, en el Wiki de Debian . Para Wheezy, debe agregar esta línea

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

al archivo /etc/apt/sources.list, luego ejecute

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

y, por último, deberá eliminar algunos controladores conflictivos que vienen preinstalados en Debian:

 modprobe -r b44 b43 b43legacy ssb brcmsmac

Ahora estás listo para ir:

 modprobe wl

También debe tener en cuenta lo siguiente: sobre el controlador wl , esto es lo que el wiki de Arch Linux siempre tiene que decir:

Advertencia : Aunque este controlador ha madurado mucho a lo largo de los años y funciona bastante bien ahora, su uso se recomienda solo cuando ninguno de los dos controladores de código abierto admite su dispositivo. Consulte la página del proyecto b43 para obtener una lista de los dispositivos compatibles.

MariusMatutiae
fuente
Esta fue la respuesta correcta para mí. NOTA para cualquiera que, como yo, tuviera problemas con una conexión LAN confiable para usar apt-get: necesitaba un paquete descargable completo que incluye dependencias para configurar wifi en debian en mi macbook pro de finales de 2014 de 13 pulgadas (con el BCM4360 14E4: 43A0 chip), y no pude encontrar ese paquete. Entonces, compilando archivos .deb descargados manualmente para Debian Jessica, hice mi propio script de configuración wifi. Si a alguien le gustaría, aquí está: dropbox.com/s/00doasn3b3zh7eh/MacbookDebianWifi.zip?dl=0 Extraiga y ejecute WifiSetup.sh
Mike Turley
@MikeTurley el enlace ya no es válido. Estoy tratando de instalar Qubes OS en mi macbook pro a mediados de 2014 y ese enlace suena exactamente como lo que necesito. Ya cambié mi VM sys-net por debian9. Entonces, todo lo que necesito es copiar los controladores.
eduncan911
La única manera que funcionó para mí fue instalar BCM4360 en el arranque único de kali linux en un macbook air 2017 ... ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Por supuesto añadiendo los deps no libres de la documentación oficial de kali y no los deb debps !!! Votación a favor :)
Roberto Manfreda
4

Nunca escuches a nadie que te diga que no puedes hacer algo en Linux, es exactamente por eso que ya no uso Windows. :PAGS

Primero, habilite los repositorios no libres. Al agregar " non-free" a su " /etc/apt/sources.list" archivo.

Luego, ejecute los siguientes comandos:

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

¡No olvide el -a en el comando tee o sobrescribirá todo el archivo!

Si no funciona de inmediato, reinicie y debería estar bien.

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
fuente
1
Que está parcialmente correcto, no totalmente: BROADCOM 4360 viene con dos chips (! Mi mal, no me había dado cuenta), uno es 14E4: 4360 a la que lo que he dicho se aplica, y uno 14E4: 43A0 para el que wl es de hecho el controlador apropiado . Solo espero que el OP tenga el último.
MariusMatutiae
Tenía toda la razón. lol 2014 respuesta, eso es OG
Bent Cardan
Recientemente compré un Apple Broadcom BCM94360CD para arranque dual linux / hackintosh. Ejecutar Zoron OS (variante de Ubuntu) no tuvo que agregar repositorio no libre a la lista, todo funcionó bien.
Paul J