Jump to content
Калькуляторы

«no IR, radar detection» как убрать для Debian 12 (ядро 6.х)

Я использовал это руководство
https://medium.com/@renaudcerrato/how-to-build-your-own-wireless-router-from-scratch-part-3-d54eecce157f

Чтобы обойти "no IR, radar detection"

Для Debian 11 (ядро 5.x)

Но для Debian 12 (ядро 6.x) это не работает

Пожалуйста, подскажите, какие еще изменения нужно сделать, чтобы "no IR, radar detection" исчезло для Debian 12 (ядро 6.x)?

Share this post


Link to post
Share on other sites

Если я правильно понял, то в руководстве патчится модуль ядра или драйвер ли карточки (на ATHEROS?), чтобы можно было запустить точку доступа на 5 ГГц? Двигаться в этом направлении, попробовать пропатчить модуль под новое ядро

 

Тут вроде 2-месячной давности патч:

https://github.com/openwrt/openwrt/blob/master/package/kernel/mac80211/patches/ath/402-ath_regd_optional.patch

 

А вот здесь товарищ откатил hostapd:

https://unix.stackexchange.com/questions/773790/5-ghz-wifi-is-not-working-on-debian-12-hostapd-firmware-atheros-kernel-inf

Edited by tcup

Share this post


Link to post
Share on other sites

Я его редактировал прям вручную добавлял строки в файл в исходниках ядра

/usr/src/linux-5.10.226/drivers/net/wireless/ath/regd.c

И Kconfig

И пересобирал ядро

Для Debian 11 (kernel 5.x) всё работало

 

В исходниках 

Debian 12 (kernel 6.x)

Там те же самые строки в ручную я дописывал

/usr/src/linux-6.1.106/drivers/net/wireless/ath/regd.c

Как в этом патче сказано

https://github.com/openwrt/openwrt/blob/master/package/kernel/mac80211/patches/ath/402-ath_regd_optional.patch

И пересобирал ядро

Но структура ядра 6.x видимо отличается от 5.x

И нужно где-то ещё что-то править :-(

 

С откатом hostapd пробовал...

У меня работает нестабильно...

Вызывает панику ядра и перезагрузку :-(

 

 

Edited by telefonshik

Share this post


Link to post
Share on other sites

Какая необходимость в свежем дебиане?
Может устроит openwrt (хотя вроде там 5 ядро)
Если спортивный интерес, то продолжать изучение вопроса, что там поменялось в структуре ядра и не отчаиваться)

Share this post


Link to post
Share on other sites

Хочу просто неспешно переехать с 11 на 12й что бы не в последний момент как 11й прекратят поддерживать

Debian дает больше возможностей чем OpenWRT

OpenWRT 24 уже на 6.x но оно в разработке

Я его пробовал поставить но оно еще очень сырое

Даже утилиту iw не смог поставить везде сплошные ошибки

Хотел посмотреть они решили эту проблему для 6.x или может ещё вообще нет решения

Или может быть я просто криво как то ядро 6.х собираю

Я же не системный программист...

 

Share this post


Link to post
Share on other sites

Как-то больше года оттачивал прошивку опенврт для роутеров на работе. Тоже не великий специалист. Но, раз есть задача и интерес и время - есть возможность отточить мастерство)

Share this post


Link to post
Share on other sites

В общем разобрался я сам

Дождался пока выйдет OpenWRT на Kernel 6.x и посмотрел, как у них там всё работает…

Дождался, когда выйдет Debian-13 и настроил так как хотел…

Если коротко, то в Kernel 5.x была ошибка в работе с regulatory.db, но ядру 5.х было на это пофиг всё и так работало…

dmesg | grep regulatory

[   10.095780] cfg80211: Loading compiled-in X.509 certificates for regulatory database

[   10.391284] cfg80211: loaded regulatory.db is malformed or signature is missing/invalid

А вот в Kernel 6.x эта ошибка не давала нормально работать…

И команда iw reg set RU не срабатывала

 

Устранить её у меня получилось следующим образом:

git clone https://git.kernel.org/pub/scm/linux/kernel/git/sforshee/wireless-regdb.git

cd wireless-regdb

 

apt install python3-m2crypto libgcrypt20-dev

 

ln -s /usr/bin/python3 /usr/bin/python

 

Удаляем

regulatory.db

regulatory.db.p7s

Правим если нужно db.txt включить/отключить какие-то каналы

make

 

Получаем

 

regulatory.bin..

regulatory.db

regulatory.db.p7s

root.key.pub.pem

root.x509.pem

 

закрытый ключ закидывается в /root/

.wireless-regdb-root.key.priv.pem

regulatory.db переименовываем в regulatory.db-debian

regulatory.db.p7s переименовываем в regulatory.db.p7s-debian

И перезаписываем этими файлами старые файлы в директории /lib/firmware

 

root.x509.pem конвертируем

 

apt install xxd

 

openssl x509 -in root.x509.pem -outform der -out root.der

 

xxd -i -c 8 root.x509.der | sed '1d;$d' | sed 's/^  //' > root.hex

И немного подредактировать в ручную !!!

И закидываем в исходники /usr/src/linux-6.12.48/net/wireless/certs,там уже есть образцы как нужно доредактировать

А дальше всё, как и раньше для Kernel 5.x патчим и пересобираем

dmesg | grep regulatory

[   37.993582] cfg80211: Loading compiled-in X.509 certificates for regulatory database

Все заработало

iw reg set RU

iw reg get

iw list

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.