I'm trying to install the wireless drivers because my macbook pro does not have a ethernet port, then I mount the 3 debian isos like local repositories to install the almost all of dependeces.

So, what I tryed to do to install the broadcam 4360



When I try to install this:


I get the following problems:

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  

So if someone have installed the drivers to Broadcom 4360 on mac with debian ,please tell me how, and what others suggestions recommend me


2 Answers 2



Broadcom 4360 actually comes with either of two distinct chips, 14E4:4360 and 14E4:43A0. There is no driver in Linux for the first one, while wl is an appropriate driver for the second one. You can determine which one you have by means of the following command:

 lspci -vnn | grep -i net

If instead you wish to do this from within Mac OS, hit the Apple -> About this Mac -> More Info-> System Info, and then click on Wi-fi. You will find a line like

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

which displays Vendor (14E4) and Product (117, in my case) code of the Wi-fi card.

There is no support for Broadcom 4360 14E4:4360 on Linux. The definitive guide in these matters is Linux Wireless, which gives in this table the list of all Broadcomm wireless chips, and the available Linux drivers. As you can see, no driver is listed under BCM4360 14E4:4360.

Two lines below in the same table, it is shown that the other chip with which 4360 is produced, 14E4:43A0, is instead supported by the proprietary driver wl. The correct procedure to install this driver is described here, in the Debian Wiki. For Wheezy, you should add this line

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

to the file /etc/apt/sources.list, then run

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

and lastly you will need to remove some conflicting drivers which come pre-installed in Debian:

 modprobe -r b44 b43 b43legacy ssb brcmsmac

Now you are good to go:

 modprobe wl

You should also keep the following in mind: about the wl driver, this is what the ever informative Arch Linux wiki has to say:

Warning: Even though this driver has matured a lot throughout the years and works quite well now, its usage is recommended only when neither of the two open-source drivers support your device. Please refer to project b43's page for list of supported devices.

  • This was the correct answer for me. NOTE to anyone who, like me, was having trouble with a reliable LAN connection on which to use apt-get: I needed a full downloadable package including dependencies for setting up wifi in debian on my late 2014 macbook pro 13 inch (with the BCM4360 14E4:43A0 chip), and I couldn't find such a package. So, by compiling .deb files manually downloaded for debian jessie, I made my own little wifi setup script. If anyone would like it, here it is: dropbox.com/s/00doasn3b3zh7eh/MacbookDebianWifi.zip?dl=0 Extract and run WifiSetup.sh Oct 4, 2016 at 21:17
  • @MikeTurley the link is no longer valid. I'm trying to install Qubes OS on my macbook pro mid 2014 and that link sounds like exactly what I need! I've already switched out my sys-net VM for debian9. So all i need is to copy the drivers over.
    – eduncan911
    Nov 3, 2018 at 2:51
  • The only way worked for me installing BCM4360 on kali linux single boot on a 2017 macbook air... Obviously adding the non-free deps from kali official documentation and not the deb deps!!! Upvote for you :) Apr 1, 2019 at 18:21
  • This answer works for Ubuntu 20.04 on MacBook Air A1466 (14e4:43a0 rev 3), while all the other answers mentioning bcmwl-kernel-source or firmware-b43-installer failed. Thanks a lot!
    – Jindor
    Apr 2, 2022 at 18:34

Don't ever listen to anyone who tells you that you can't do something in linux, that's exactly why I no longer use windows. :P

First, enable the nonfree repos. By adding "non-free" to your "/etc/apt/sources.list" file.

Then, run the following commands:

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

Do not forget the -a in the tee command or you will overwrite the whole file!!

If it doesn't work right away, reboot and it should be fine.




  • 1
    You are partially right, not totally: BROADCOM 4360 comes with two chips (my bad, I had not noticed!), one is 14E4:4360 to which what I said applies, and one 14E4:43A0 for which wl is indeed the appropriate driver. I just hope for the OP that he has the latter one. Dec 25, 2014 at 7:16
  • he was totally right. lol 2014 answer, that's OG May 3, 2018 at 6:04
  • Recently I picked up an Apple Broadcom BCM94360CD for dual booting linux/hackintosh. Running Zoron OS (Ubuntu variant) did not have to add non-free repo to the list, everything worked fine.
    – Paul J
    Aug 29, 2018 at 15:44
  • More quirks of BCM5360: wiki.archlinux.org/title/… Jul 24, 2022 at 23:35