Так случилось что захотелось снести MacOS на Macbook'е Air и поставить что то более свободное и линуксовое. Макбук 2017 года, долгое время пользовался MacOS Mojave, обновляться до новых выпусков, зная возможные проблемы, желания не было. Немного перебирая варианты дистрибутивов и попробовав различные Live образы, выбор пал на Debian 11 но так как официально он еще не вышел (выход намечен на 14 августа 2021), то взял его второй релиз кандидат Bullseye RC 2.
После установки открываем терминал и утилитой lspci узнаем модель нашего wifi устройства, введя следующую комманду:
lspci -nn | grep Network
На выводе получим название модели устройства, в моей случае это:
Network controller [0280]: Broadcom Inc. and subsidiaries BCM4360 802.11ac Wireless Network Adapter [14e4:43a0] (rev 03)
BCM4360 это и есть модель wifi устройства. Свободных прошивок к сожалению на него нет и теперь чтобы wifi заработал, нам придется установить несвободный драйвер broadcom-sta-dkms который предоставляет исходный код для модуля ядра wl Остальной список поддерживаемых моделей можно посмотреть в описании драйвера https://packages.debian.org/buster/broadcom-sta-dkms
Так же перед установкой, поставим пару необходимых пакетов wireless-tools и wpasupplicant
sudo apt install wireless-tools
sudo apt install wpasupplicant
Далее открываем из под рута, файл sources.list (я использую nano)
sudo nano /ect/apt/sources.list
И вписываем возле каждого урла репозитория, напротив слова main, теги contrib non-free. Должно получится примерно следующее:
Затем сохраняем файл и обновляем инфу о пакетах командой sudo apt update .
Теперь устанавливаем сам драйвер введя команду:
sudo apt install linux-image-$(uname -r|sed 's,[^-]*-[^-]*-,,') linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') broadcom-sta-dkms
По ее завершению, убераем модули b44 b43 b43legacy ssb brcmsmac bcma из ядра системы, командой:
sudo modprobe -r b44 b43 b43legacy ssb brcmsmac bcma
и добавляем модуль wl:
sudo modprobe wl
После этого в Network manager'е (я использовал его для настройки сети) появится раздел Wi-Fi Networks где мы уже сможем выбрать доступную сеть и ввести пароль для доступа.
Проблема 1
Вот тут и появился первый подводный камень: Debian поддерживает не все wifi устройства из коробки. На помощь могут прийти non-free прошивки, которые можно установить после установки системы, добавив репозитории этих несвободных прошивок, в файле sources.list.Проблема 2
Теперь появляется второй подводный камень: а как мы установим прошивку для wifi устройства если у нас не работает сеть после установки? Тут уже на помощь пришел смартфон с включенным режимом USB Tethering. Подключив с помощью кабеля USB к макбуку, установщик на удивление сразу распознал это как проводное сетевое соединение. Таким образом интернет соединение для установки драйверов на wifi и первоначальных пакетов, мы себе обеспечили.Действия после установки
Сам процесс инсталяции я описывать не буду так как все индивидуально, и это тема для отдельной статьи.После установки открываем терминал и утилитой lspci узнаем модель нашего wifi устройства, введя следующую комманду:
lspci -nn | grep Network
На выводе получим название модели устройства, в моей случае это:
Network controller [0280]: Broadcom Inc. and subsidiaries BCM4360 802.11ac Wireless Network Adapter [14e4:43a0] (rev 03)
BCM4360 это и есть модель wifi устройства. Свободных прошивок к сожалению на него нет и теперь чтобы wifi заработал, нам придется установить несвободный драйвер broadcom-sta-dkms который предоставляет исходный код для модуля ядра wl Остальной список поддерживаемых моделей можно посмотреть в описании драйвера https://packages.debian.org/buster/broadcom-sta-dkms
Так же перед установкой, поставим пару необходимых пакетов wireless-tools и wpasupplicant
sudo apt install wireless-tools
sudo apt install wpasupplicant
Далее открываем из под рута, файл sources.list (я использую nano)
sudo nano /ect/apt/sources.list
И вписываем возле каждого урла репозитория, напротив слова main, теги contrib non-free. Должно получится примерно следующее:
Затем сохраняем файл и обновляем инфу о пакетах командой sudo apt update .
Теперь устанавливаем сам драйвер введя команду:
sudo apt install linux-image-$(uname -r|sed 's,[^-]*-[^-]*-,,') linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') broadcom-sta-dkms
По ее завершению, убераем модули b44 b43 b43legacy ssb brcmsmac bcma из ядра системы, командой:
sudo modprobe -r b44 b43 b43legacy ssb brcmsmac bcma
и добавляем модуль wl:
sudo modprobe wl
После этого в Network manager'е (я использовал его для настройки сети) появится раздел Wi-Fi Networks где мы уже сможем выбрать доступную сеть и ввести пароль для доступа.
Заключение
Данный гайд может быть полезен не только владельцам маков но и других ноутбуков и десктопов. Так же гайд подойдет остальным Debian производным диструбутивам (хотя могут быть нюансы).Debian GNU/Linux + Macbook Air 2017 (установка wifi драйверов)
Так случилось что захотелось снести MacOS на Macbook'е Air и поставить что то более свободное и линуксовое. Макбук 2017 года, долгое время пользовался MacOS Mojave, обновляться до новых выпусков, зная...
habr.com