Приветствую. Установил AntiX 23 x64 full на свой ноутбук Fujitsu Esprimo v5505, для wlan0 установился дефолтный драйвер iwl4965, но мне кажется, что через него сеть работает не достаточно быстро, скорость держится на уровне 500kb\s, в винде было быстрее. Путем гугления выяснил, что можно попробовать виндовый драйвер. Для его установки использовал ndiswrapper. При его установки происходит компиляция завершающая ошибкой:
root@wsprimo:/etc/apt/sources.list.d# sudo apt-get upgrade
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово
Расчёт обновлений… Готово
Следующий пакет устанавливался автоматически и больше не требуется:
liblua5.3-0
Для его удаления используйте «sudo apt autoremove».
Обновлено 0 пакетов, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Установлено или удалено не до конца 1 пакетов.
После данной операции объём занятого дискового пространства возрастёт на 0 B.
N: Игнорируется файл «debian.list.bkp» в каталоге «/etc/apt/sources.list.d/», так как он имеет неправильное расширение
N: Игнорируется файл «debian-stable-updates.list.bkp» в каталоге «/etc/apt/sources.list.d/», так как он имеет неправильное расширение
Хотите продолжить? [Д/н] y
Настраивается пакет ndiswrapper-dkms (1.61-0mx17+3) …
Removing old ndiswrapper-1.61 DKMS files...
Deleting module ndiswrapper-1.61 completely from the DKMS tree.
Loading new ndiswrapper-1.61 DKMS files...
Building for 6.1.42-antix.1-amd64-smp
Building initial module for 6.1.42-antix.1-amd64-smp
Error! Bad return status for module build on kernel: 6.1.42-antix.1-amd64-smp (x86_64)
Consult /var/lib/dkms/ndiswrapper/1.61/build/make.log for more information.
dpkg: ошибка при обработке пакета ndiswrapper-dkms (--configure):
подпроцесс из пакета ndiswrapper-dkms установлен сценарий post-installation возвратил код ошибки 10
При обработке следующих пакетов произошли ошибки:
ndiswrapper-dkms
E: Sub-process /usr/bin/dpkg returned an error code (1)
Для продолжения нажмите любую клавишу...
root@wsprimo:/etc/apt/sources.list.d# cat /var/lib/dkms/ndiswrapper/1.61/build/make.log
DKMS make.log for ndiswrapper-1.61 for kernel 6.1.42-antix.1-amd64-smp (x86_64)
Сб 27 янв 2024 13:43:14 +09
make: вход в каталог «/usr/src/linux-headers-6.1.42-antix.1-amd64-smp»
warning: the compiler differs from the one used to build the kernel
The kernel was built by: gcc (Debian 13.2.0-1) 13.2.0
You are using: gcc (Debian 12.2.0-14) 12.2.0
MKEXPORT /var/lib/dkms/ndiswrapper/1.61/build/crt_exports.h
MKEXPORT /var/lib/dkms/ndiswrapper/1.61/build/hal_exports.h
CC [M] /var/lib/dkms/ndiswrapper/1.61/build/iw_ndis.o
CC [M] /var/lib/dkms/ndiswrapper/1.61/build/loader.o
In file included from /var/lib/dkms/ndiswrapper/1.61/build/ndis.h:19,
from /var/lib/dkms/ndiswrapper/1.61/build/iw_ndis.h:19,
from /var/lib/dkms/ndiswrapper/1.61/build/iw_ndis.c:28:
/var/lib/dkms/ndiswrapper/1.61/build/ntoskernel.h: In function ‘raise_irql’:
In file included from /var/lib/dkms/ndiswrapper/1.61/build/ndis.h:19,
from /var/lib/dkms/ndiswrapper/1.61/build/loader.c:16:
/var/lib/dkms/ndiswrapper/1.61/build/ntoskernel.h: In function ‘raise_irql’:
/var/lib/dkms/ndiswrapper/1.61/build/ntoskernel.h:110:40: error: ‘struct task_struct’ has no member named ‘cpus_allowed’; did you mean ‘nr_cpus_allowed’?
110 | #define tsk_cpus_allowed(tsk) (&(tsk)->cpus_allowed)
| ^~~~~~~~~~~~
/var/lib/dkms/ndiswrapper/1.61/build/ntoskernel.h:672:43: note: in expansion of macro ‘tsk_cpus_allowed’
672 | cpumask_copy(&info->cpus_allowed, tsk_cpus_allowed(current));
| ^~~~~~~~~~~~~~~~
/var/lib/dkms/ndiswrapper/1.61/build/ntoskernel.h:110:40: error: ‘struct task_struct’ has no member named ‘cpus_allowed’; did you mean ‘nr_cpus_allowed’?
110 | #define tsk_cpus_allowed(tsk) (&(tsk)->cpus_allowed)
| ^~~~~~~~~~~~
/var/lib/dkms/ndiswrapper/1.61/build/ntoskernel.h:672:43: note: in expansion of macro ‘tsk_cpus_allowed’
672 | cpumask_copy(&info->cpus_allowed, tsk_cpus_allowed(current));
| ^~~~~~~~~~~~~~~~
/var/lib/dkms/ndiswrapper/1.61/build/loader.c: In function ‘load_sys_files’:
/var/lib/dkms/ndiswrapper/1.61/build/loader.c:157:25: error: too many arguments to function ‘__vmalloc’
157 | __vmalloc(load_driver->sys_files[i].size,
| ^~~~~~~~~
In file included from ./include/asm-generic/io.h:994,
from ./arch/x86/include/asm/io.h:332,
from ./include/linux/scatterlist.h:9,
from ./include/linux/dma-mapping.h:10,
from ./include/linux/skbuff.h:31,
from ./include/net/net_namespace.h:43,
from ./include/linux/netdevice.h:38,
from /var/lib/dkms/ndiswrapper/1.61/build/ntoskernel.h:25:
./include/linux/vmalloc.h:149:14: note: declared here
149 | extern void *__vmalloc(unsigned long size, gfp_t gfp_mask) __alloc_size(1);
| ^~~~~~~~~
/var/lib/dkms/ndiswrapper/1.61/build/iw_ndis.c: In function ‘set_ndis_auth_mode’:
/var/lib/dkms/ndiswrapper/1.61/build/iw_ndis.c:702:39: warning: this statement may fall through [-Wimplicit-fallthrough=]
702 | wnd->iw_auth_key_mgmt = IW_AUTH_KEY_MGMT_PSK;
/var/lib/dkms/ndiswrapper/1.61/build/iw_ndis.c:703:9: note: here
703 | case Ndis802_11AuthModeWPANone:
| ^~~~
make[1]: *** [scripts/Makefile.build:250: /var/lib/dkms/ndiswrapper/1.61/build/loader.o] Ошибка 1
make[1]: *** Ожидание завершения заданий…
make[1]: *** [scripts/Makefile.build:250: /var/lib/dkms/ndiswrapper/1.61/build/iw_ndis.o] Ошибка 1
make: *** [Makefile:2026: /var/lib/dkms/ndiswrapper/1.61/build] Ошибка 2
make: выход из каталога «/usr/src/linux-headers-6.1.42-antix.1-amd64-smp»
Почему-то установка происходит при апгрейде. Апгрейд делал после переключания репазитория на зеркала yandex, хотел обновить gcc, чтоб хотя бы варнинг убрать. Похоже исходники кривые. Подскажите, что делать? Обновлять исходники ядра или пытаться собрать ndiswrapper из отдельно скачанных исходников? Как отключить компиляцию при апгрейде? (я даже проблему сформулировать не могу, что б загуглить, мозгов не хватает). Как обновить правильно gcc? sudo apt-get install gcc говорит, что у меня последняя версия, но как она может быть последней если ядро скомпилированно более новой.
Спасибо.