@researcher1111

Что за ошибки выдает этот код?

Есть Thinkpad e470. На нем не заводится Wifi. Нагулял патч
Скрипт выдает такие ошибки
dev@dev-PC:~/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212$ make
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/4.16.0-999-lowlatency/build M=/home/dev/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212  modules
make[1]: Entering directory '/usr/src/linux-headers-4.16.0-999-lowlatency'
Makefile:973: "Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel"
  CC [M]  /home/dev/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212/core/rtw_cmd.o
In file included from /home/dev/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212/include/osdep_service.h:52:0,
                 from /home/dev/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212/include/drv_types.h:32,
                 from /home/dev/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212/core/rtw_cmd.c:22:
/home/dev/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212/include/osdep_service_linux.h: In function ‘_init_timer’:
/home/dev/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212/include/osdep_service_linux.h:295:8: error: ‘_timer {aka struct timer_list}’ has no member named ‘data’
  ptimer->data = (unsigned long)cntx;
        ^~
/home/dev/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212/include/osdep_service_linux.h:296:2: error: implicit declaration of function ‘init_timer’ [-Werror=implicit-function-declaration]
  init_timer(ptimer);
  ^~~~~~~~~~
cc1: some warnings being treated as errors
scripts/Makefile.build:324: recipe for target '/home/dev/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212/core/rtw_cmd.o' failed
make[2]: *** [/home/dev/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212/core/rtw_cmd.o] Error 1
Makefile:1558: recipe for target '_module_/home/dev/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212' failed
make[1]: *** [_module_/home/dev/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.16.0-999-lowlatency'
Makefile:1902: recipe for target 'modules' failed
make: *** [modules] Error 2
dev@dev-PC:~/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212$

Я не спец в c (или что это?), подскажите что за ошибки и как пофиксить?
[UPDATE]
Запустил с аргументом -k (keep going)
Везде возникает только одна ошибка:
/home/dev/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212/include/osdep_service_linux.h:296:2: error: implicit declaration of function ‘init_timer’ [-Werror=implicit-function-declaration]
  init_timer(ptimer);
  ^~~~~~~~~~

[UPDATE]
Решение ошибку поправило, но патч ничего не дал((
[UPDATE]
Прогнал make второй раз, вот ошибки
dev@dev-PC:~/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212$ make
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/4.16.0-999-lowlatency/build M=/home/dev/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212  modules
make[1]: Entering directory '/usr/src/linux-headers-4.16.0-999-lowlatency'
  Building modules, stage 2.
  MODPOST 1 modules
WARNING: "__vfs_read" [/home/dev/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212/8821ce.ko] undefined!
make[1]: Leaving directory '/usr/src/linux-headers-4.16.0-999-lowlatency'
dev@dev-PC:~/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212$
  • Вопрос задан
  • 2063 просмотра
Решения вопроса 1
myjcom
@myjcom Куратор тега C++
в файле /home/dev/rtl8821CE_WiFi_linux_v5.2.5.1_25561.20171207_COEX20170310-1212/include/osdep_service_linux.h

в 22 строке добавьте #include <linux/timer.h>

добавить после строки 293
timer_setup(ptimer, pfunc, (u32)cntx);
а эти строки убрать.
ptimer->function = pfunc;
ptimer->data = (unsigned long)cntx;
init_timer(ptimer);


сохраните и запустите make
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы