McMCCRU / rtl8188gu

Driver for Linux RTL8188GU (RTL8710B) (VID:PID = 0x0BDA:0xB711)
318 stars 109 forks source link

Cannnot build it on archlinux 5.19.2-arch1-1 #45

Open namilantu opened 2 years ago

namilantu commented 2 years ago

The error is as follows: make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/5.19.2-arch1-1/build M=/home/sunlu/rtl8188gu modules make[1]: Entering directory '/usr/lib/modules/5.19.2-arch1-1/build' CC [M] /home/sunlu/rtl8188gu/core/rtw_cmd.o CC [M] /home/sunlu/rtl8188gu/core/rtw_security.o CC [M] /home/sunlu/rtl8188gu/core/rtw_debug.o CC [M] /home/sunlu/rtl8188gu/core/rtw_io.o CC [M] /home/sunlu/rtl8188gu/core/rtw_ioctl_query.o CC [M] /home/sunlu/rtl8188gu/core/rtw_ioctl_set.o CC [M] /home/sunlu/rtl8188gu/core/rtw_ieee80211.o CC [M] /home/sunlu/rtl8188gu/core/rtw_mlme.o CC [M] /home/sunlu/rtl8188gu/core/rtw_mlme_ext.o CC [M] /home/sunlu/rtl8188gu/core/rtw_mi.o CC [M] /home/sunlu/rtl8188gu/core/rtw_wlan_util.o CC [M] /home/sunlu/rtl8188gu/core/rtw_vht.o CC [M] /home/sunlu/rtl8188gu/core/rtw_pwrctrl.o CC [M] /home/sunlu/rtl8188gu/core/rtw_rf.o CC [M] /home/sunlu/rtl8188gu/core/rtw_recv.o CC [M] /home/sunlu/rtl8188gu/core/rtw_sta_mgt.o /home/sunlu/rtl8188gu/core/rtw_sta_mgt.c: In function ‘rtw_mfree_stainfo’: /home/sunlu/rtl8188gu/core/rtw_sta_mgt.c:352:25: warning: the comparison will always evaluate as ‘true’ for the address of ‘lock’ will never be NULL [-Waddress] 352 | if (&psta->lock != NULL) | ^~ In file included from /home/sunlu/rtl8188gu/include/drv_types.h:106, from /home/sunlu/rtl8188gu/core/rtw_sta_mgt.c:17: /home/sunlu/rtl8188gu/include/sta_info.h:229:17: note: ‘lock’ declared here 229 | _lock lock; | ^~~~ CC [M] /home/sunlu/rtl8188gu/core/rtw_ap.o CC [M] /home/sunlu/rtl8188gu/core/rtw_xmit.o CC [M] /home/sunlu/rtl8188gu/core/rtw_p2p.o CC [M] /home/sunlu/rtl8188gu/core/rtw_rson.o CC [M] /home/sunlu/rtl8188gu/core/rtw_tdls.o CC [M] /home/sunlu/rtl8188gu/core/rtw_br_ext.o CC [M] /home/sunlu/rtl8188gu/core/rtw_iol.o CC [M] /home/sunlu/rtl8188gu/core/rtw_sreset.o CC [M] /home/sunlu/rtl8188gu/core/rtw_btcoex_wifionly.o CC [M] /home/sunlu/rtl8188gu/core/rtw_btcoex.o CC [M] /home/sunlu/rtl8188gu/core/rtw_beamforming.o CC [M] /home/sunlu/rtl8188gu/core/rtw_odm.o CC [M] /home/sunlu/rtl8188gu/core/efuse/rtw_efuse.o CC [M] /home/sunlu/rtl8188gu/os_dep/osdep_service.o CC [M] /home/sunlu/rtl8188gu/os_dep/linux/os_intfs.o CC [M] /home/sunlu/rtl8188gu/os_dep/linux/usb_intf.o CC [M] /home/sunlu/rtl8188gu/os_dep/linux/usb_ops_linux.o CC [M] /home/sunlu/rtl8188gu/os_dep/linux/ioctl_linux.o CC [M] /home/sunlu/rtl8188gu/os_dep/linux/xmit_linux.o CC [M] /home/sunlu/rtl8188gu/os_dep/linux/mlme_linux.o CC [M] /home/sunlu/rtl8188gu/os_dep/linux/recv_linux.o CC [M] /home/sunlu/rtl8188gu/os_dep/linux/ioctl_cfg80211.o /home/sunlu/rtl8188gu/os_dep/linux/ioctl_cfg80211.c: In function ‘rtw_cfg80211_ch_switch_notify’: /home/sunlu/rtl8188gu/os_dep/linux/ioctl_cfg80211.c:396:9: error: too few arguments to function ‘cfg80211_ch_switch_notify’ 396 | cfg80211_ch_switch_notify(adapter->pnetdev, &chdef); | ^~~~~~~~~ In file included from /home/sunlu/rtl8188gu/include/osdep_service_linux.h:93, from /home/sunlu/rtl8188gu/include/osdep_service.h:47, from /home/sunlu/rtl8188gu/include/drv_types.h:27, from /home/sunlu/rtl8188gu/os_dep/linux/ioctl_cfg80211.c:17: ./include/net/cfg80211.h:7967:6: note: declared here 7967 | void cfg80211_ch_switch_notify(struct net_device dev, | ^~~~~~~~~ /home/sunlu/rtl8188gu/os_dep/linux/ioctl_cfg80211.c: In function ‘cfg80211_rtw_scan’: /home/sunlu/rtl8188gu/os_dep/linux/ioctl_cfg80211.c:2604:33: warning: the comparison will always evaluate as ‘true’ for the address of ‘ssid’ will never be NULL [-Waddress] 2604 | if (ssids->ssid != NULL | ^~ ./include/net/cfg80211.h:2302:12: note: ‘ssid’ declared here 2302 | u8 ssid[IEEE80211_MAX_SSID_LEN]; | ^~~~ /home/sunlu/rtl8188gu/os_dep/linux/ioctl_cfg80211.c: At top level: /home/sunlu/rtl8188gu/os_dep/linux/ioctl_cfg80211.c:7470:20: error: initialization of ‘int ()(struct wiphy , struct net_device , unsigned int)’ from incompatible pointer type ‘int ()(struct wiphy , struct net_device *)’ [-Werror=incompatible-pointer-types] 7470 | .stop_ap = cfg80211_rtw_stop_ap, | ^~~~~~~~ /home/sunlu/rtl8188gu/os_dep/linux/ioctl_cfg80211.c:7470:20: note: (near initialization for ‘rtw_cfg80211_ops.stop_ap’) /home/sunlu/rtl8188gu/os_dep/linux/ioctl_cfg80211.c: In function ‘rtw_wdev_unregister’: /home/sunlu/rtl8188gu/os_dep/linux/ioctl_cfg80211.c:7716:17: error: ‘struct wireless_dev’ has no member named ‘current_bss’ 7716 | if (wdev->current_bss) { | ^~ cc1: some warnings being treated as errors make[2]: [scripts/Makefile.build:249: /home/sunlu/rtl8188gu/os_dep/linux/ioctl_cfg80211.o] Error 1 make[1]: [Makefile:1849: /home/sunlu/rtl8188gu] Error 2 make[1]: Leaving directory '/usr/lib/modules/5.19.2-arch1-1/build' make: *** [Makefile:1895: modules] Error 2

Sherry65-code commented 2 years ago

same with me after upgrading the system.

McMCCRU commented 2 years ago

Please check commit https://github.com/McMCCRU/rtl8188gu/commit/eeabd11a05fd8d0ffcdee63b2af9195acf703d4f

McMCCRU commented 2 years ago

also https://github.com/McMCCRU/rtl8188gu/commit/bb3292dbb72ba6675b5465245eee0e69912f6e76

Sherry65-code commented 2 years ago

I found the fix. Just use linux-lts kernel. Install it from - sudo pacman - Sy linux-lts linux-lts-headers and this fixed my all driver problems.