Драйвер RTL8188FU для ядра Linux 4.15.x ~ 6.7.x (производные Ubuntu и ROSA FRESH)
информация: поддержка rtl8188fu будет добавлена в модуль rtl8xxxu ядра Linux. https://patchwork.kernel.org/project/linux-wireless/patch/b14f299d-3248-98fe-eee1-ba50d2e76c74@gmail.com/
Как установить
Установка завасимостей
Для Ubuntu
sudo apt-get install build-essential git dkms linux-headers-$(uname -r)
Для ROSA FRESH
sudo dnf install git dkms
Установка самого драйвера
git clone https://gitflic.ru/project/turik02/draiver-rtl8188fu-dlya-linux.git
sudo dkms install ./rtl8188fu
sudo cp ./rtl8188fu/firmware/rtl8188fufw.bin /lib/firmware/rtlwifi/
Конфигурация
Отключить управление питанием
Выполните следующие команды, чтобы отключить управление питанием и проблемы с подключением / заменой.
sudo mkdir -p /etc/modprobe.d/
sudo touch /etc/modprobe.d/rtl8188fu.conf
echo “options rtl8188fu rtw_power_mgnt=0 rtw_enusbss=0 rtw_ips_mode=0” | sudo tee /etc/modprobe.d/rtl8188fu.conf
Отключить подмену MAC-адресов
Выполните следующие команды для отключения подмены MAC-адресов (Примечание: в дистрибутивах на базе Ubuntu это не требуется. Подмена MAC-адресов уже отключена в базовой версии Ubuntu).
sudo mkdir -p /etc/NetworkManager/conf.d/
sudo touch /etc/NetworkManager/conf.d/disable-random-mac.conf
echo -e “[device]\nwifi.scan-rand-mac-address=no” | sudo tee /etc/NetworkManager/conf.d/disable-random-mac.conf
Черный список (псевдоним) для ядер 5.15 и 5.16 (Не требуется для ядра 5.17 и выше)
Если вы используете ядро 5.15 и 5.16, вы должны создать файл конфигурации со следующей командой для предотвращения конфликта модуля rtl8188fu со встроенным модулем r8188eu.
echo ‘alias usb:v0BDApF179ddcdscdpicFFiscFFipFFin* rtl8188fu’ | sudo tee /etc/modprobe.d/r8188eu-blacklist.conf
Черный список (псевдоним) для ядра 6.2 и выше
Если вы используете ядро 6.2 и выше, вы должны создать файл конфигурации со следующей командой для предотвращения конфликта модуля rtl8188fu со встроенным модулем rtl8xxxu.
echo ‘alias usb:v0BDApF179ddcdscdpicFFiscFFipFFin* rtl8188fu’ | sudo tee /etc/modprobe.d/rtl8xxxu-blacklist.cof
Затем вы должны обновить initramfs
Для initramfs
sudo update-initramfs -u
Для dracut
sudo dracut -q –force
Включить модуль rtl8188fu
Выполните следующую команду для обновления до ядра 6.1
sudo modprobe rtl8188fu
Выполните следующие команды для ядра 6.2 и выше
sudo modprobe -r rtl8188fu
sudo modprobe rtl8188fu
Как удалить
sudo dkms remove rtl8188fu/1.0 –all
sudo rm -f /lib/firmware/rtlwifi/rtl8188fufw.bin
sudo rm -f /etc/modprobe.d/rtl8188fu.conf
Как установить из репозитория PPA
Вы можете установить драйвер rtl8188fu с помощью следующих команд из PPA.
для xUbuntu 16.04-18.04-20.04-22.04-23.04-23.10 / Linux Mint 20.x-21.x
sudo add-apt-repository ppa:kelebek333/kablosuz
sudo apt-get update
sudo apt install rtl8188fu-dkms
Вы можете удалять пакеты с помощью следующих команд
sudo apt purge rtl8188fu-dkms
Скачать
Войдите, чтобы скачать файлы релиза
rpm x86_64
Чтобы скомпилировать/удалить драйвер для ядра, сначала необходимо установить DKMS. После компиляции можно удалить его.
src.rpm
Краткая инструкция как я собирал rpm (ROSA FRESH GNOME 2021.1)
Что должно быть в системе для сборки rpm-пакета
sudo dnf install gcc gcc-c++ rpmrebuild rpm-build rpmdevtools rpmlint dnf-utils git
Вводим в терминал для построения древа сборки (Создаётся в домашней папке)
rpmdev-setuptree
Создаём файл .spec и кладём в папку rpmbuild/SPECS (Можно найти похожий .spec в исходном пакете и немного изменить его
Установим зависимости, которые необходимы для сборки (BuildRequires)
sudo yum-builddep rpmbuild/SPECS/имя файла.spec
Готовим архив и помещаем его в каталог rpmbuild/SOURCES (Обращаем внимание на имя архива, оно должно совпадать. Если есть patch, то помещаем и его в каталог. Я в строку Source0 вставил скопированную ссылку на ZIP или можно на GIT, в конце ссылки написал расширение архива .zip. В строку %autosetup -p1 -n вставил имя папки после распаковки архива. Если при сборке видите сообщение
replace master/core/efuse/rtw_efuse.c? [y]es, [n]o, [A]ll, [N]one, [r]ename:
или
нет такого каталога/исходника
то значит не угодали с именем. Я удалил “Requires: dkms и Requires: kernel-devel”, так как dkms нужен только для компиляции драйвера
И собираем rpm (Двоичный пакет)
rpmbuild -bb rpmbuild/SPECS/имя файла.spec
или src.rpm (Исходный пакет)
rpmbuild -ba rpmbuild/SPECS/имя файла.spec
Если она пройдет (в терминале)
(none): E: badness 51 exceeds threshold 49, aborting.
1 packages and 0 specfiles checked; 2 errors, 339 warnings.
ошибка: Ошибка проверки пакета «/usr/bin/rpmlint -f /home/turik02/rpmbuild/SOURCES/rtl8188fu.rpmlintrc /home/turik02/rpmbuild/RPMS/x86_64/rtl8188fu-0.1-1-rosa2021.1.x86_64.rpm »
то мы должны найти RPM-пакет в каталоге rpmbuild/RPMS/x86_64 или SRC.RPM в rpmbuild/SRPMS.
Если будет
Ошибки сборки пакетов:
Ошибка проверки пакета «/usr/bin/rpmlint -f /home/turik02/rpmbuild/SOURCES/rtl8188fu.rpmlintrc /home/turik02/rpmbuild/RPMS/x86_64/rtl8188fu-0.1-1-rosa2021.1.x86_64.rpm »
или
Ошибки сборки пакетов:
Неверный код возврата из /var/tmp/rpm-tmp.tkM2Si (%prep)
то нет.
Можно получить SPEC путём модификации RPM. Для этого в терминале
rpmrebuild -enp имя.x86_64.rpm
Откроется редактор nano. Вверху есть путь (пример .tmp/rpmrebuild.22220/work/spec.2). Не закрывая терминал, заходим в папку и копируем наш файл. Затем можно закрыть терминаал.
Описание
Драйвер RTL8188FU для Linux 4.15.x 6.7.x