LINUX.ORG.RU

компиляция драйвера, нужно установить какие-то kernel-headers

 , , , ,


0

3

я хочу установить драйвер для usb wifi адаптера WN8200ND

я нашёл эти подходящие драйвера:

https://github.com/pvaret/rtl8192cu-fixes

https://github.com/lwfinger/rtl8192cu

https://github.com/lwfinger/rtl8xxxu

я решил попробовать https://github.com/lwfinger/rtl8192cu

но там написано что нужно установить какие-то kernel-headers

To compile the driver, you need to have make and a compiler installed. In addition, you must have the kernel headers installed. If you do not understand what this means, consult your distro.

kernel headers

что это? как это установить?

If your system says that /lib/modules/...../build does not exist, you have not installed the kernel headers, you have done it incorrectly, or you are not running the kernel for which the headers have been installed. The necessary steps are dependent on which distro you are using. Creating a new issue and asking at GitHub will not be productive.

когда я запускаю `make all` он так и пишет

ОС: hyperbola gnu/linux libre



Последнее исправление: anon39 (всего исправлений: 3)

Ещё там написано обращаться к разработчикам вашего дистрибутива. Ваша гипербола, как написано, основана на Aрче. В Арче есть пакет linux-headers, есть ли он в вашем дистре или его переименовали, смотрите сами.

А так, в ядре модуль rtl8xxxu и советуют сначала пробовать его, а уже потом что-то компилять.

mky ★★★★★
()
Ответ на: комментарий от Irma

там в основном инструкции как установить на убунту/дебиан

перед этим искал тоже но плохо

кажется мне нужно установить это: https://www.hyperbola.info/packages/core/x86_64/linux-libre-lts-headers/

всё верно?

anon39
() автор топика
Последнее исправление: anon39 (всего исправлений: 1)
Ответ на: комментарий от mky

советуют сначала пробовать его, а уже потом что-то компилять.

так rtl8xxxu и rtl8192cu (не rtl8192cu-fixes) находится на гитхабе https://github.com/lwfinger/

rtl8192cu это должно быть часть от rtl8xxxu?

anon39
() автор топика
Последнее исправление: anon39 (всего исправлений: 4)
Ответ на: комментарий от anon39

Если это на базе arch, то пакетный менеджер в нем pacman. В нем есть поиск по именам пакетов: pacman -S linux-headers выдаст полное имя пакета, которое должно быть похоже на выдачу команды uname -a (версия ядра должна совпадать).

Irma ★★
()
Последнее исправление: Irma (всего исправлений: 1)
Ответ на: комментарий от anon39

Нет, rtl8192cu это не часть от rtl8xxxu.

Есть драйверы, идущие отдельно, скачиваемые из инета, а есть драйверы в составе ядра, которые скачиваются в составе исходников ядра, которые нужно «включать» при компиляции ядра, которые обычно почти все вклчючены в дистрибутивных ядрах в виде модулей.

Сначала Realtek выпустил свой драйвер rtl8192cu (stand-alone RTL8192CU driver), который был под линукс, андройд, возможно под винду. Что https://github.com/pvaret/rtl8192cu-fixes , что https://github.com/lwfinger/rtl8192cu — это и есть этот исходный драйвер, с какими-то исправлениями.

Потом в 2.6.39-rc1 появился свой rtl8192cu, который основан на коде stand-alone, содержит копирайты Realtek, но код сильно перепахан. В начале он был экспериментальным, но к версии ядра 3.2 его стали рекомендовать использовать вместо stand-alone rtl8192cu.

Realtek чуть ли не для каждого своего wifi чипа выпускал свой драйвер/код, что неудобно поддерживать, то через некоторое время появился rtl8xxxu в составе ядра 4.4-rc1. Он с самого начала поддерживал rtl8192cu и ещё несколько чипов и постепенно в него добавлялась поддержка остальных чипов rtl8xxx. В нем есть куски кода от Realtek, но в целом это совсем другой модуль/драйвер, чем rtl8192cu.

Я не знаю, почему в вашем дистрибутивном ядре нет ни rtl8192cu, ни rtl8xxxu. У вас точно чип RTL8192CU, lsusb его показывает?

mky ★★★★★
()
Ответ на: комментарий от Neuromagus

Похоже.

Когда, блин, эти «fully free as in freedom» дистрибутивы будут показывать пользователью сообщение, что в вашем компе есть такое «неправильное» оборудование, мы его видим, но драйверов для него мы вам не дадим? Чтобы пользователю сразу было понятно, что он неправильно выбрал или оборудование, или дистрибутив...

mky ★★★★★
()

hyperbola gnu/linux libre

Эм… то есть ты сперва поставил Linux, где из ядра специально вырезаны все проприетарные драйвера, а потом ставишь их руками? Где логика?

Проверь на Live Arch или Ubuntu — я полагаю, в обычных Linux этот драйвер идет из коробки.

Если хочешь только нужную проприетарщину, ставь Debian, там ставятся только минимально необходимые несвободные драйвера. Можешь Sid, если нужно свежее.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Это может быть проблемой для ряда ППО,

Оно тоже выпилено (нет таких пакетов в репозитории).

но не представляю, как это помешает драйверам железа.

Я не говорил, что dbus помешает сборке ядра.

Отсутствие dbus упомянул в качестве преимущества с точки зрения безопасности по сравнению с предложенным Debian.

Навряд ли ТС выбрал Hyperbola просто так в качестве своего первого дистрибутива, все таки наверно осознанно, и Debian в таком случае не подойдет. Хотя если не получится собрать драйвер устройства на Hyperbola, то я бы предложил Devuan только для обслуживания одного USB устройства, проброшенного внутрь виртуалки, что можно делать в маленькой локальной KVM виртуалке с минимальным потреблением RAM около 256М или меньше. Т.е. настроить такую виртуалку в качестве локального маршрутизатора.

sanyo1234
()
Ответ на: комментарий от sanyo1234

Навряд ли ТС выбрал Hyperbola просто так в качестве своего первого дистрибутива, все таки наверно осознанно

Судя по уровню вопроса, это не так. Люди, которые знают, какую роль играет d-bus и почему он создает некоторые векторы для атаки, понимают также и разницу между обычным ядром Linux и -libre, и как это влияет на поддержку железа.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от sanyo1234

не получится собрать драйвер устройства на Hyperbola

Собрать дравер то не такая проблема, проблемой будет обновление дистра. Ведь если безопасность важна, то ядро нужно обновлять. Если после обновления wifi перестанет работать — это может стать неприятным сюрпризом для ТС, о котором сейчас, он, возможно, и не подозревает.

mky ★★★★★
()
Ответ на: комментарий от mky

сяб за информацию

Я не знаю, почему в вашем дистрибутивном ядре нет ни rtl8192cu, ни rtl8xxxu.

потому-что это хапербола и при подключении пишет в dmesg:

[ 313.922156] usb 3-1: rtl8xxxu: Loading firmware /*(DEBLOBBED)*/ [ 313.922156] 3-1: Missing Free firmware (non-Free firmware loading is disabled) [ 313.922163] usb 3-1: reject_firmware(/*(DEBLOBBED)*/) failed [ 313.922164] usb 3-1: Fatal - failed to load firmware [ 212.122153] rtl8xxxu: probe of 3-1:1.0 failed with error -11

У вас точно чип RTL8192CU, lsusb его показывает?

да

я установил драйвер rtl8192cu, wifi-адаптер реагирует по другому, но он не работает(один раз включает и выключает зелёную лампу)

в dmesg пишет как у него:8192cu module verification failed

но это вроде не имеет значение:8192cu module verification failed (комментарий)

я щас попытаюсь установить rtl8xxxu

anon39
() автор топика
Последнее исправление: anon39 (всего исправлений: 1)
Ответ на: комментарий от sanyo1234

Чтобы что-то скомпилить, нужно что-то скачать, вот, допустим, коммент из репозитория rtl8192cu-fixes:

rtl8192cu: Fix code for kernel 5.17 API change

А как что-то скачать, если wifi отрубился? Получается, что ТСу нужно держать прозапас старое ядро и чтобы обновление его не удалило. Может даже проще будет жить целиком самосборным ядром...

mky ★★★★★
()

какой смысл сначала ставить дистр с выпиленным несвободным софтом, а потом брать этот софт и ставить руками, не получая ничего кроме лишних багов?

Поставь нормальный дистр (например Gentoo, если сустемд не нравится) и просто пользуйся им, а швабоду оставь неработающим фанатикам.

Lrrr ★★★★★
()
Ответ на: комментарий от mky

А как что-то скачать, если wifi отрубился? Получается, что ТСу нужно держать прозапас старое ядро и чтобы обновление его не удалило. Может даже проще будет жить целиком самосборным ядром…

Достаточно грузить копию ядра в /mnt/boot, а не в /boot ?

sanyo1234
()
Ответ на: комментарий от Lrrr

Поставь нормальный дистр (например Gentoo, если сустемд не нравится) и просто пользуйся им, а швабоду оставь неработающим фанатикам.

В Gentoo собираются аналогичные Hyperbola пакеты без dbus ?

sanyo1234
()
Ответ на: комментарий от sanyo1234

Не знаю как ведёт себя pacman. Так, кроме ядра ещё модули и initramfs нужно скопировать. Ну, в общем, это заботы ТС, мы его, как-бы, предупредили о возможных сложностях.

mky ★★★★★
()
Ответ на: комментарий от mky

Не нужно ничего скачивать и устанавливать для сборки драйвера. Все нужные header ставятся вместе с kernel. Лежат здесь - /lib/modules/(версия ядра )/build/include

С ними и собирайте свой драйвер. Миллион раз так делал.

cd driver_sources
make -C /lib/modules/(версия ядра )/build M=....

Когда соберется - переделайте под dkms,чтобы автматом пересобиралось и ставилось в новые версии ядра.

VladMesh
()
Последнее исправление: VladMesh (всего исправлений: 2)
Ответ на: комментарий от VladMesh

Не нужно ничего скачивать

Даже исходники драйвера не нужно скачивать?

и устанавливать

а зачем тогда Пакет для pacman, если его устанавливать не нужно?

переделайте под dkms

Это вы ТС'у пишите, у меня нет гиперболы. Главный вопрос, при неудачно сборки модуля dkms заблочит/откатит обновление ядра? Или в какой-то момент после перезагрузки после обновления системы(ядра) wifi исчезнет?

И, судя по:

я установил драйвер rtl8192cu

ТС уже скачал/установил/скомпилил. Теперь он прочувствует «стабильность» работы реалтековских чипов/драйверов.

mky ★★★★★
()