Come installare Broadcom BCM4360 su debian su Macbook pro


10

Sto cercando di installare i driver wireless perché il mio macbook pro non ha una porta ethernet, quindi monto i 3 isos debian come i repository locali per installare quasi tutti i dipendenti.

Quindi, quello che ho provato a fare per installare la Broadcam 4360

https://wiki.debian.org/bcm43xx

https://wiki.debian.org/wl

Quando provo a installare questo:

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

Ottengo i seguenti problemi:

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  

Quindi, se qualcuno ha installato i driver su Broadcom 4360 su Mac con Debian, per favore dimmi come e quali altri suggerimenti mi consigliano


Credo che il dispositivo utilizzi il driver "wl" ubuntuforums.org/showthread.php?t=2205494
mchid

Risposte:


13

MODIFICARE

Broadcom 4360 in realtà viene fornito con uno dei due chip distinti, 14E4: 4360 e 14E4: 43A0. Non esiste alcun driver in Linux per il primo, mentre wl è un driver appropriato per il secondo. Puoi determinare quale hai con il seguente comando:

 lspci -vnn | grep -i net

Se invece desideri farlo da Mac OS, premi Apple -> Informazioni su questo Mac -> Ulteriori informazioni-> Informazioni sul sistema, quindi fai clic su Wi-fi. Troverai una linea come

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

che visualizza il codice Venditore (14E4) e Prodotto (117, nel mio caso) della scheda Wi-Fi.


Non esiste supporto per Broadcom 4360 14E4: 4360 su Linux. La guida definitiva in queste questioni è Linux Wireless , che fornisce in questa tabella l'elenco di tutti i chip wireless Broadcomm e i driver Linux disponibili. Come puoi vedere, nessun driver è elencato sotto BCM4360 14E4: 4360.

Due righe sotto nella stessa tabella, viene mostrato che l'altro chip con cui viene prodotto 4360, 14E4: 43A0, è invece supportato dal driver proprietario wl . La procedura corretta per installare questo driver è descritta qui, nel Debian Wiki . Per Wheezy, dovresti aggiungere questa linea

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

nel file /etc/apt/sources.list, quindi esegui

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

e infine dovrai rimuovere alcuni driver in conflitto che sono preinstallati in Debian:

 modprobe -r b44 b43 b43legacy ssb brcmsmac

Ora sei a posto:

 modprobe wl

Dovresti anche tenere a mente quanto segue: a proposito del driver wl , questo è ciò che il wiki Arch Linux, sempre informativo, ha da dire:

Avvertenza : anche se questo driver è maturato molto nel corso degli anni e funziona abbastanza bene ora, il suo utilizzo è consigliato solo quando nessuno dei due driver open source supporta il dispositivo. Fare riferimento alla pagina del progetto b43 per l'elenco dei dispositivi supportati.


Questa è stata la risposta corretta per me. NOTA per tutti coloro che, come me, avevano problemi con una connessione LAN affidabile su cui usare apt-get: avevo bisogno di un pacchetto scaricabile completo che includesse dipendenze per impostare il wifi in debian sul mio macbook pro 13 pollici di fine 2014 (con BCM4360 14E4: 43A0 chip) e non sono riuscito a trovare un simile pacchetto. Quindi, compilando i file .deb scaricati manualmente per debian jessie, ho creato il mio piccolo script di configurazione wifi. Se qualcuno lo desidera, eccolo qui: dropbox.com/s/00doasn3b3zh7eh/MacbookDebianWifi.zip?dl=0 Estrai ed esegui WifiSetup.sh
Mike Turley

@MikeTurley il link non è più valido. Sto cercando di installare il sistema operativo Qubes sul mio macbook pro a metà 2014 e quel link sembra esattamente quello di cui ho bisogno! Ho già cambiato la mia VM sys-net per debian9. Quindi tutto ciò di cui ho bisogno è copiare i driver.
eduncan911,

L'unico modo per me ha funzionato installando BCM4360 su kali linux single boot su un macbook air 2017 ... Ovviamente aggiungendo i deps non liberi dalla documentazione ufficiale di kali e non i deb deb !!! Promuovi per te :)
Roberto Manfreda,

4

Non ascoltare mai nessuno che ti dice che non puoi fare qualcosa in Linux, ecco perché non uso più Windows. : P

Innanzitutto, abilitare i repository non liberi. Aggiungendo " non-free" al tuo " /etc/apt/sources.list" file.

Quindi, esegui i seguenti comandi:

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

Non dimenticare il -a nel comando tee o sovrascriverai l'intero file !!

Se non funziona immediatamente, riavviare e dovrebbe andare bene.

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


1
In parte hai ragione, non del tutto: BROADCOM 4360 viene fornito con due chip (il mio male, non l'avevo notato!), Uno è 14E4: 4360 a cui si applica quello che ho detto e un 14E4: 43A0 per cui wl è davvero il driver appropriato . Spero solo che l'OP abbia quest'ultimo.
MariusMatutiae,

aveva totalmente ragione. lol 2014 risposta, questo è OG
Bent Cardan

Recentemente ho preso un Apple Broadcom BCM94360CD per il dual boot di linux / hackintosh. L'esecuzione del sistema operativo Zoron (variante di Ubuntu) non ha dovuto aggiungere repo non liberi all'elenco, tutto ha funzionato bene.
Paul J,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.