Знание должно быть доступно!

Путь /ОС/Linux

1. Откуда вообще страдания

  1. Закрытые драйверы
    Многие производители (Broadcom, Realtek) не публикуют нормальные открытые драйверы. В ядро попадает только то, что они “дали” или что сообщество реверснуло. В итоге:

    • одни чипы поддерживаются идеально (Intel Wi-Fi);

    • другие — кое-как (Broadcom, Realtek);

    • третьи — только через проприетарные модули (broadcom-wl).

  2. Непостоянство интерфейсов
    В старых туториалах интерфейс звался wlan0. Сейчас systemd/udev даёт имена вида wlp2s0. Люди ищут wlan0, а у них его «нет».

  3. Конфликтующие драйверы
    Для одного и того же чипа может быть несколько модулей (b43, brcmsmac, wl), и если загрузится “не тот”, Wi-Fi работать не будет.

  4. Зависимость от ядра
    Обновил ядро → старый модуль не собирается → «Wi-Fi умер». Особенно больно на кастомных ядрах (zen, hardened, rt).

  5. Фирмварь (firmware)
    Даже если драйвер есть, он может требовать бинарные куски прошивки (*.bin). Если их нет в /lib/firmware, драйвер не стартует.

2. Как чинить: универсальный рецепт

Шаг 1. Узнать, какой у тебя чип

lspci -k | grep -A3 -i network

или если USB-свисток

lsusb

Шаг 2. Проверить драйвер в ядре

lsmod | grep -E "iwlwifi|ath|rtw|wl|b43|brcm"

Шаг 3. Сравнить с Linux Wireless Wiki или ArchWiki

  • Intel → всегда iwlwifi (ставим пакет linux-firmware).

  • Atheros/Qualcommath9k, ath10k (обычно уже в ядре).

  • Broadcom → тут ад:

    • brcmsmac / brcmfmac — поддержка новых чипов;

    • b43 — старые чипы;

    • wl (broadcom-wl) — проприетарный STA-драйвер (нужен для BCM43142, BCM43228 и других).

  • Realtek → часто нужен DKMS-модуль из AUR (rtl8821ce-dkms, rtl8723de-dkms и т.д.).

Шаг 4. Если нужен проприетарный драйвер

  • Для Arch:

sudo pacman -S dkms linux-headers broadcom-wl-dkms

или конкретный для Realtek из AUR.

Для Debian/Ubuntu:

sudo apt install broadcom-sta-dkms

Шаг 5. Загружаем модуль и отключаем лишние

sudo modprobe -r b43 bcma ssb brcmsmac
sudo modprobe wl

Шаг 6. Проверяем интерфейс

ip a
iw dev

3. Профилактика боли

  • При покупке железа берите Intel Wi-Fi — работает из коробки.

  • Если ноут старый с Broadcom — сразу готовьтесь к DKMS и бубну.

  • После установки Linux первым делом ставьте linux-firmware.

  • На Arch/Manjaro держите dkms + headers, если используете кастомные ядра.

  • Используйте dmesg | grep firmware для диагностики.

4. TL;DR

  • Боль в Wi-Fi в Linux = закрытые драйверы и лень вендоров.

  • Broadcom и Realtek → главный источник страданий.

  • Intel → счастье и покой.

  • Лечение: lspci → понять чип → выбрать правильный драйвер → поставить прошивку → выгрузить конфликты → загрузить нужный модуль.