README.md

Драйвер 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

Конвейеры
0 успешных
0 с ошибкой