mfruba / kernel

152 stars 103 forks source link

Error in make #45

Open edtguy opened 5 years ago

edtguy commented 5 years ago

On a Beelink Gemini N41 running lubuntu 18.10, the make command produces the following error:

user@myMachine:/tmp/kernel-master/drivers/TL-WN722N_v2.0-Ralink/rtl8188EUS_linux_v4.3.0.8_13968.20150417$ make "**" "NO SKRC,we will use default KSRC" "**" make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/4.18.0-15-generic/build M=/tmp/kernel-master/drivers/TL-WN722N_v2.0-Ralink/rtl8188EUS_linux_v4.3.0.8_13968.20150417 modules make[1]: Entering directory '/usr/src/linux-headers-4.18.0-15-generic' "**" "NO SKRC,we will use default KSRC" "**" CC [M] /tmp/kernel-master/drivers/TL-WN722N_v2.0-Ralink/rtl8188EUS_linux_v4.3.0.8_13968.20150417/core/rtw_cmd.o In file included from /tmp/kernel-master/drivers/TL-WN722N_v2.0-Ralink/rtl8188EUS_linux_v4.3.0.8_13968.20150417/include/osdep_service.h:45, from /tmp/kernel-master/drivers/TL-WN722N_v2.0-Ralink/rtl8188EUS_linux_v4.3.0.8_13968.20150417/include/drv_types.h:32, from /tmp/kernel-master/drivers/TL-WN722N_v2.0-Ralink/rtl8188EUS_linux_v4.3.0.8_13968.20150417/core/rtw_cmd.c:22: /tmp/kernel-master/drivers/TL-WN722N_v2.0-Ralink/rtl8188EUS_linux_v4.3.0.8_13968.20150417/include/osdep_service_linux.h: In function ‘_init_timer’: /tmp/kernel-master/drivers/TL-WN722N_v2.0-Ralink/rtl8188EUS_linux_v4.3.0.8_13968.20150417/include/osdep_service_linux.h:261:8: error: ‘_timer’ {aka ‘struct timer_list’} has no member named ‘data’ ptimer->data = (unsigned long)cntx; ^~ make[2]: [scripts/Makefile.build:327: /tmp/kernel-master/drivers/TL-WN722N_v2.0-Ralink/rtl8188EUS_linux_v4.3.0.8_13968.20150417/core/rtw_cmd.o] Error 1 make[1]: [Makefile:1534: module/tmp/kernel-master/drivers/TL-WN722N_v2.0-Ralink/rtl8188EUS_linux_v4.3.0.8_13968.20150417] Error 2 make[1]: Leaving directory '/usr/src/linux-headers-4.18.0-15-generic' make: *** [Makefile:1368: modules] Error 2

I saw a comment on a different thread, "this driver does not support the changes in timers of kernel v4.15" Is this the same issue? If so, is there a patch for it?

edtguy commented 5 years ago

Just for grins, I added an unsigned long data to the timer_list structure in timer.h, and ran make again. It progressed much further, but now resulted in this error: /tmp/kernel-master/drivers/TL-WN722N_v2.0-Ralink/rtl8188EUS_linux_v4.3.0.8_13968.20150417/os_dep/linux/ioctl_cfg80211.c:871:17: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] struct cfg80211_roam_info roaminfo = { ^~ make[2]: [scripts/Makefile.build:327: /tmp/kernel-master/drivers/TL-WN722N_v2.0-Ralink/rtl8188EUS_linux_v4.3.0.8_13968.20150417/os_dep/linux/ioctl_cfg80211.o] Error 1 make[1]: [Makefile:1534: module/tmp/kernel-master/drivers/TL-WN722N_v2.0-Ralink/rtl8188EUS_linux_v4.3.0.8_13968.20150417] Error 2 make[1]: Leaving directory '/usr/src/linux-headers-4.18.0-15-generic' make: *** [Makefile:1368: modules] Error 2

edtguy commented 5 years ago

It's been a long while since I've worked with C, but I managed to address the warnings in ioctl_cfg80211.c, so that the make command completed to success. I then ran sudo make install, sudo modprobe lib80211, sudo modprobe cfg80211 but when I got to sudo insmod 8188eu.ko, it reported: insmod: ERROR: could not insert module 8188eu.ko: Unknown symbol in module I then ran dmesg | grep Unknown, which returned: [78082.090023] 8188eu: Unknown symbol init_timer (err 0)

This appears to confirm that this driver would need to be refactored to work with the change in timers since kernel 4.15 if it were to work for 4.15 and above, I'm not a driver coder, so I can only hope that someone else who is and has a need for this, can make this change.

WilCleland commented 5 years ago

I can't make this either. Is there still support here or is this a dead project?

nelsonlopes commented 4 years ago

Same error here.

Omni-potence commented 3 years ago

solution is here https://github.com/mfruba/kernel/issues/46#issuecomment-716311539