- Вопрос или проблема
- Ответ или решение
- Проблема с работой Wi-Fi адаптера Broadcom на Ubuntu 20.04.2 и ее решение
- 1. Причины проблемы
- 2. Предварительная подготовка
- 3. Устранение старых драйверов
- 4. Установка драйвера bcmwl-kernel-source
- 5. Перезагрузка системы
- 6. Проверка работы адаптера
- 7. Ручная установка драйвера
- 8. Использование DKMS
- Заключение
- SEO-оптимизация
Вопрос или проблема
wireless-info: https://paste.ubuntu.com/p/w7nQFktm9P/
Как мне получить и установить работающий драйвер для этого адаптера Broadcom BCM43142?
sudo modprobe wl:
modprobe: ОШИБКА: ../libkmod/libkmod-module.c:838 kmod_module_insert_module() не удалось найти модуль с именем="wl"
modprobe: ОШИБКА: не удалось вставить 'wl': Неизвестный символ в модуле или неизвестный параметр (см. dmesg)
modprobe: ОШИБКА: ../libkmod/libkmod-module.c:990 command_do() Ошибка при выполнении команды установки '/sbin/modprobe --ignore-install wl ' для модуля wl: код возврата 1
modprobe: ОШИБКА: не удалось вставить 'wl': Неверный аргумент
mokutil –sb-state:
SecureBoot отключен
Методы, которые я уже пробовал и не получил результата:
Ссылки, которые вы опубликовали в своем вопросе, предполагают, что вы пробовали несколько различных пакетов и, очевидно, ни один из них не работает должным образом. Давайте сделаем уборку и начнем с нуля. С временным рабочим интернет-соединением по Ethernet, модему или любым доступным способом, пожалуйста, выполните команды в терминале:
sudo apt purge broadcom-sta-dkms
sudo apt purge broadcom-sta-source
sudo apt purge broadcom-sta-common
sudo apt purge bcmwl-kernel-source
Если некоторые из пакетов не установлены и поэтому не удалены, это нормально; просто переходите к следующему шагу.
sudo apt update && sudo apt -y upgrade
sudo apt install -y bcmwl-kernel-source
Перезагрузите.
Есть ли какие-либо улучшения?
Правка: В нашем чате мы обнаружили, что было установлено два дополнительных беспроводных драйвера. Это может быть объяснением ошибок cfg80211 при попытке загрузить драйвер Broadcom wl.
Мы удалили их обоих и перезагрузили. Ваш беспроводной интерфейс тогда заработал как ожидалось.
Для тех, кто не может использовать
sudo apt install bcmwl-kernel-source
Так что вы можете вручную составить из их исходного кода (с патчами, примененными для сборки под ядро 6.x).
!заметка: у меня ядро 6.5, протестировано ОК.
Сначала клонируем исходный код:
git clone https://git.launchpad.net/ubuntu/+source/bcmwl/
(чтобы быть подробным, мой последний коммит — cd76516d116a73018ca4cbe6b580bfd603465cb9, вы можете ‘git checkout cd76516d116a73018ca4cbe6b580bfd603465cb9’, если хотите иметь ту же ветку, что и я)
Перейдите в исходный код, вы увидите Makefile, README, debian и src, переместите Makefile в папку src
mv Makefile ./src/
Теперь создайте скрипт в директории src для применения патчей (уже в исходном коде)
#!/bin/bash
# путь к вашим патчам (измените, если хотите абсолютный путь)
PATCH_DIR="../debian/patches"
PATCHES=(
"0002-Makefile.patch"
"0003-Make-up-for-missing-init_MUTEX.patch"
"0010-change-the-network-interface-name-from-eth-to-wlan.patch"
"0013-gcc.patch"
"0019-broadcom-sta-6.30.223.248-3.18-null-pointer-fix.patch"
"0020-add-support-for-linux-4.3.patch"
"0021-add-support-for-Linux-4.7.patch"
"0022-add-support-for-Linux-4.8.patch"
"0023-add-support-for-Linux-4.11.patch"
"0024-add-support-for-Linux-4.12.patch"
"0025-add-support-for-Linux-4.14.patch"
"0026-add-support-for-Linux-4.15.patch"
"0027-add-support-for-linux-5.1.patch"
"0028-add-support-for-linux-5.6.patch"
"0029-Update-for-set_fs-removal-in-Linux-5.10.patch"
"0040-add-support-for-linux-5.18.patch"
"0041-dev-addr-access.patch"
"0042-add-support-for-linux-6.x.patch"
)
# Применить все
for PATCH in "${PATCHES[@]}"; do
echo "Применение патча: $PATCH"
patch -p1 < "$PATCH_DIR/$PATCH"
if [ $? -ne 0 ]; then
echo "Не удалось применить $PATCH, пропускаем."
fi
done
echo "Все патчи успешно применены."
Теперь мы можем собрать
make -C /lib/modules/$(uname -r)/build M="$(pwd)"
или просто :
make
После сборки мы можем установить, используя команду:
sudo make install
sudo modprobe -r wl
sudo modprobe wl
lsmod |grep wl
Если есть wl, вы можете увидеть, что Wi-Fi работает.
Для тех, кто хочет использовать dkms для сборки:
Вам нужно получить исходный код и применить патчи, как выше.
Скопируйте папку src в
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/source
Теперь проверьте, есть ли какие-либо установки dkms ранее, нам нужно удалить их:
dkms status
sudo dkms remove bcmwl/6.30.223.271+bdcom --all
dkms status
Перейдите в /var/lib/dkms/bcmwl/6.30.223.271+bdcom/source/dkms.conf и удалите все патчи:
PACKAGE_NAME="bcmwl"
PACKAGE_VERSION="#VERSION#"
CLEAN="rm -f *.*o"
BUILT_MODULE_NAME[0]="wl"
MAKE[0]="make -C $kernel_source_dir M=$dkms_tree/$PACKAGE_NAME/$PACKAGE_VERSION/build"
DEST_MODULE_LOCATION[0]="/updates"
AUTOINSTALL="yes"
Теперь все чисто, просто перейдите к сборке
sudo dkms build bcmwl/6.30.223.271+bdcom
sudo dkms install bcmwl/6.30.223.271+bdcom
или просто сделайте это:
sudo apt update
sudo apt install bcmwl-kernel-source
Теперь все работает нормально.
Ответ или решение
Проблема с работой Wi-Fi адаптера Broadcom на Ubuntu 20.04.2 и ее решение
Адаптер Broadcom BCM43142 может вызывать сложности в работе на Ubuntu 20.04.2, особенно когда речь идет о загрузке и использовании драйвера wl
. В этой статье мы подробно рассмотрим шаги по устранению этой проблемы и последующему успешному подключению к Wi-Fi.
1. Причины проблемы
На основании предоставленной информации можно выделить несколько причин, почему адаптер не работает:
- Неустановленные или конфликтующие драйверы: Возможно, что другие версии драйверов уже установлены на системе и мешают загрузке драйвера
wl
. - Загруженные модули: Сообщение об ошибке при выполнении команды
modprobe wl
указывает на то, что модуль не может быть загружен, что также может быть связано с конфликтами в драйверах или их несоответствием вашей версии ядра.
2. Предварительная подготовка
Убедитесь, что у вас есть работающий интернет-соединение через Ethernet или с помощью точки доступа на вашем мобильном устройстве.
3. Устранение старых драйверов
Во-первых, рекомендуется удалить потенциально конфликтующие драйверы. Для этого выполните следующие команды в терминале:
sudo apt purge broadcom-sta-dkms
sudo apt purge broadcom-sta-source
sudo apt purge broadcom-sta-common
sudo apt purge bcmwl-kernel-source
Если будут выводиться сообщения о том, что некоторые пакеты не установлены, не переживайте, просто переходите к следующему шагу.
4. Установка драйвера bcmwl-kernel-source
После удаления старых драйверов обновите списки пакетов и установите необходимый драйвер:
sudo apt update && sudo apt -y upgrade
sudo apt install -y bcmwl-kernel-source
5. Перезагрузка системы
После завершения установки перезагрузите компьютер:
sudo reboot
6. Проверка работы адаптера
После перезагрузки выполните следующую команду, чтобы проверить, был ли загружен модуль wl
:
lsmod | grep wl
Если модуль загружен, это будет означать, что проблем с подключением к Wi-Fi быть не должно.
7. Ручная установка драйвера
Если установка стандартным способом не увенчалась успехом, можно попробовать вручную собрать драйвер из исходников.
- Склонируйте репозиторий с кодом драйвера:
git clone https://git.launchpad.net/ubuntu/+source/bcmwl/
cd bcmwl
- Переместите
Makefile
в папкуsrc
и примените необходимые патчи (при необходимости). - Соберите и установите драйвер:
make && sudo make install
- Перезагрузите систему и проверьте состояние адаптера.
8. Использование DKMS
В качестве альтернативы, вы можете использовать dkms
для автоматической компиляции драйвера при обновлении ядра:
sudo dkms add ./bcmwl
sudo dkms build bcmwl/6.30.223.271+bdcom
sudo dkms install bcmwl/6.30.223.271+bdcom
Заключение
Следуя вышеуказанным шагам, вы сможете установить и настроить драйвер для Wi-Fi адаптера Broadcom BCM43142 на Ubuntu 20.04.2. В случае возникновения дополнительных вопросов или проблем обратитесь на соответствующий форум поддержки Ubuntu или обратитесь к сообществу. Успехов!
SEO-оптимизация
Данная статья относится к ключевым запросам, связанным с установкой драйвера Broadcom на Ubuntu, включая “Broadcom Wi-Fi адаптер не работает Ubuntu” и “установка bcmwl-kernel-source”. Убедитесь, что информация представлена в максимально понятной и структурированной форме.