Как установить Broadcom BCM4360 на Debian для MacBook Pro

10

Я пытаюсь установить драйверы беспроводной связи, потому что мой MacBook Pro не имеет порта Ethernet, затем я монтирую 3 isos Debian, такие как локальные репозитории, чтобы установить почти все зависимости.

Итак, что я пытался сделать, чтобы установить Broadcam 4360

https://wiki.debian.org/bcm43xx

https://wiki.debian.org/wl

Когда я пытаюсь установить это:

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

Я получаю следующие проблемы:

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  

Поэтому, если кто-то установил драйверы для Broadcom 4360 на Mac с Debian, скажите, пожалуйста, как и какие другие рекомендации рекомендуют мне?

Кристиан Чапарро А.
источник
Я считаю, что устройство использует драйвер "wl" ubuntuforums.org/showthread.php?t=2205494
mchid

Ответы:

13

РЕДАКТИРОВАТЬ

Broadcom 4360 на самом деле поставляется с двумя разными чипами, 14E4: 4360 и 14E4: 43A0. В Linux нет драйвера для первого, в то время как wl - подходящий драйвер для второго. Вы можете определить, какой из них у вас есть с помощью следующей команды:

 lspci -vnn | grep -i net

Если вместо этого вы хотите сделать это из Mac OS, нажмите «Apple» -> «Об этом Mac» -> «Дополнительная информация» -> «Информация о системе», а затем нажмите Wi-Fi. Вы найдете строку как

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

который отображает код поставщика (14E4) и продукта (в моем случае 117) карты Wi-Fi.


В Linux отсутствует поддержка Broadcom 4360 14E4: 4360. Полное руководство в этих вопросах является Linux Wireless , которая дает в этой таблице список всех беспроводных чипов Broadcomm, а доступные драйверы Linux. Как видите, в BCM4360 14E4: 4360 нет драйверов.

Две строки ниже в той же таблице показывают, что другой чип, с которым производится 4360, 14E4: 43A0, вместо этого поддерживается проприетарным драйвером wl . Правильная процедура установки этого драйвера описана здесь, в вики Debian . Для Wheezy, вы должны добавить эту строку

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

в файл /etc/apt/sources.list, затем запустите

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

и, наконец, вам нужно будет удалить некоторые конфликтующие драйверы, которые предварительно установлены в Debian:

 modprobe -r b44 b43 b43legacy ssb brcmsmac

Теперь вы готовы идти

 modprobe wl

Вы также должны помнить следующее: о драйвере wl , это то, что всегда говорит информативная вики Arch Linux :

Предупреждение . Несмотря на то, что этот драйвер сильно повзрослел за многие годы и теперь работает достаточно хорошо, его использование рекомендуется только в том случае, если ни один из двух драйверов с открытым исходным кодом не поддерживает ваше устройство. Пожалуйста, обратитесь к странице проекта B43 для списка поддерживаемых устройств.

MariusMatutiae
источник
Это был правильный ответ для меня. ПРИМЕЧАНИЕ для тех, у кого, как и у меня, были проблемы с надежным подключением к локальной сети, в котором можно было бы использовать apt-get: мне понадобился полный загружаемый пакет, включающий зависимости для настройки wifi в debian, на моем 13-дюймовом MacBook Pro конца 2014 года (с BCM4360) 14E4: 43A0), и я не смог найти такой пакет. Поэтому, скомпилировав файлы .deb, загруженные вручную для debian jessie, я сделал свой собственный маленький скрипт настройки wifi. Если кому-то понравится, вот оно: dropbox.com/s/00doasn3b3zh7eh/MacbookDebianWifi.zip?dl=0 Извлеките и запустите WifiSetup.sh
Майк
@MikeTurley ссылка больше не действительна. Я пытаюсь установить Qubes OS на свой MacBook Pro в середине 2014 года, и эта ссылка звучит именно так, как мне нужно! Я уже выключил свою виртуальную систему sys-net для debian9. Так что все, что мне нужно, это скопировать драйверы.
eduncan911
У меня работал единственный способ установить BCM4360 на одиночную загрузку kali linux на MacBook Air 2017 года ... Очевидно, добавив несвободные deps из официальной документации kali, а не deb de !!! Upvote для вас :)
Роберто Манфреда
4

Никогда не слушайте тех, кто говорит вам, что вы не можете делать что-то в Linux, именно поэтому я больше не использую Windows. :П

Сначала включите несвободные репо. Добавив " non-free" в ваш " /etc/apt/sources.list" файл.

Затем выполните следующие команды:

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

Не забывайте -a в команде tee, иначе вы перезапишете весь файл !!

Если это не сработает сразу, перезагрузите компьютер и все должно быть в порядке.

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
источник
1
Вы частично правы, но не полностью: BROADCOM 4360 поставляется с двумя чипами (мой плохой, я не заметил!), Один 14E4: 4360, к которому относится то, что я сказал, и один 14E4: 43A0, для которого wl действительно подходящий драйвер , Я просто надеюсь на ФП, что у него есть последний.
MariusMatutiae
он был абсолютно прав. Ответ LOL 2014, это OG
Бент Кардан
Недавно я купил Apple Broadcom BCM94360CD для двойной загрузки linux / hackintosh. Запущенная ОС Zoron (вариант Ubuntu) не добавляла несвободное репо в список, все работало нормально.
Пол Дж