Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiple compilation errors on linux 6.1.19 #216

Open
vitek opened this issue Mar 29, 2023 · 4 comments
Open

Multiple compilation errors on linux 6.1.19 #216

vitek opened this issue Mar 29, 2023 · 4 comments

Comments

@vitek
Copy link

vitek commented Mar 29, 2023

(master) vitja@vitja-laptop:~/work/rtl8821CU$ LC_ALL=C make -k
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/6.1.19-gentoo-dist/build M=/home/vitja/work/rtl8821CU  modules
make[1]: Entering directory '/usr/src/linux-6.1.19-gentoo-dist'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: x86_64-pc-linux-gnu-gcc (Gentoo 12.2.1_p20230121-r1 p10) 12.2.1 20230121
  You are using:           gcc (Gentoo 12.2.1_p20230121-r1 p10) 12.2.1 20230121
  CC [M]  /home/vitja/work/rtl8821CU/os_dep/linux/os_intfs.o
/home/vitja/work/rtl8821CU/os_dep/linux/os_intfs.c: В функции «rtw_os_ndev_register»:
/home/vitja/work/rtl8821CU/os_dep/linux/os_intfs.c:1646:9: ошибка: слишком много аргументов в вызове функции «netif_napi_add»
 1646 |         netif_napi_add(ndev, &adapter->napi, rtw_recv_napi_poll, RTL_NAPI_WEIGHT);
      |         ^~~~~~~~~~~~~~
In file included from /home/vitja/work/rtl8821CU/include/osdep_service_linux.h:30,
                 from /home/vitja/work/rtl8821CU/include/osdep_service.h:50,
                 from /home/vitja/work/rtl8821CU/include/drv_types.h:27,
                 from /home/vitja/work/rtl8821CU/os_dep/linux/os_intfs.c:17:
./include/linux/netdevice.h:2569:1: замечание: объявлено здесь
 2569 | netif_napi_add(struct net_device *dev, struct napi_struct *napi,
      | ^~~~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:250: /home/vitja/work/rtl8821CU/os_dep/linux/os_intfs.o] Ошибка 1
  CC [M]  /home/vitja/work/rtl8821CU/os_dep/linux/ioctl_cfg80211.o
/home/vitja/work/rtl8821CU/os_dep/linux/ioctl_cfg80211.c: В функции «rtw_cfg80211_ch_switch_notify»:
/home/vitja/work/rtl8821CU/os_dep/linux/ioctl_cfg80211.c:420:9: ошибка: слишком мало аргументов в вызове функции «cfg80211_ch_switch_notify»
  420 |         cfg80211_ch_switch_notify(adapter->pnetdev, &chdef);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/vitja/work/rtl8821CU/include/osdep_service_linux.h:93,
                 from /home/vitja/work/rtl8821CU/include/osdep_service.h:50,
                 from /home/vitja/work/rtl8821CU/include/drv_types.h:27,
                 from /home/vitja/work/rtl8821CU/os_dep/linux/ioctl_cfg80211.c:17:
./include/net/cfg80211.h:8276:6: замечание: объявлено здесь
 8276 | void cfg80211_ch_switch_notify(struct net_device *dev,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/vitja/work/rtl8821CU/os_dep/linux/ioctl_cfg80211.c: В функции «rtw_cfg80211_indicate_connect»:
/home/vitja/work/rtl8821CU/os_dep/linux/ioctl_cfg80211.c:1088:26: ошибка: «struct cfg80211_roam_info» не содержит элемента с именем «bssid»
 1088 |                 roam_info.bssid = cur_network->network.MacAddress;
      |                          ^
/home/vitja/work/rtl8821CU/os_dep/linux/ioctl_cfg80211.c: В функции «cfg80211_rtw_scan»:
/home/vitja/work/rtl8821CU/os_dep/linux/ioctl_cfg80211.c:2867:33: предупреждение: the comparison will always evaluate as «true» for the address of «ssid» will never be NULL [-Waddress]
 2867 |                 if (ssids->ssid != NULL
      |                                 ^~
./include/net/cfg80211.h:2359:12: замечание: «ssid» объявлено здесь
 2359 |         u8 ssid[IEEE80211_MAX_SSID_LEN];
      |            ^~~~
/home/vitja/work/rtl8821CU/os_dep/linux/ioctl_cfg80211.c: На верхнем уровне:
/home/vitja/work/rtl8821CU/os_dep/linux/ioctl_cfg80211.c:9381:20: ошибка: initialization of «int (*)(struct wiphy *, struct net_device *, int,  u8,  bool,  const u8 *, struct key_params *)» {aka «int (*)(struct wiphy *, struct net_device *, int,  unsigned char,  _Bool,  const unsigned char *, struct key_params *)»} from incompatible pointer type «int (*)(struct wiphy *, struct net_device *, u8,  bool,  const u8 *, struct key_params *)» {aka «int (*)(struct wiphy *, struct net_device *, unsigned char,  _Bool,  const unsigned char *, struct key_params *)»} [-Werror=incompatible-pointer-types]
 9381 |         .add_key = cfg80211_rtw_add_key,
      |                    ^~~~~~~~~~~~~~~~~~~~
/home/vitja/work/rtl8821CU/os_dep/linux/ioctl_cfg80211.c:9381:20: замечание: (где-то рядом с инициализацией для «rtw_cfg80211_ops.add_key»)
/home/vitja/work/rtl8821CU/os_dep/linux/ioctl_cfg80211.c:9382:20: ошибка: initialization of «int (*)(struct wiphy *, struct net_device *, int,  u8,  bool,  const u8 *, void *, void (*)(void *, struct key_params *))» {aka «int (*)(struct wiphy *, struct net_device *, int,  unsigned char,  _Bool,  const unsigned char *, void *, void (*)(void *, struct key_params *))»} from incompatible pointer type «int (*)(struct wiphy *, struct net_device *, u8,  bool,  const u8 *, void *, void (*)(void *, struct key_params *))» {aka «int (*)(struct wiphy *, struct net_device *, unsigned char,  _Bool,  const unsigned char *, void *, void (*)(void *, struct key_params *))»} [-Werror=incompatible-pointer-types]
 9382 |         .get_key = cfg80211_rtw_get_key,
      |                    ^~~~~~~~~~~~~~~~~~~~
/home/vitja/work/rtl8821CU/os_dep/linux/ioctl_cfg80211.c:9382:20: замечание: (где-то рядом с инициализацией для «rtw_cfg80211_ops.get_key»)
/home/vitja/work/rtl8821CU/os_dep/linux/ioctl_cfg80211.c:9383:20: ошибка: initialization of «int (*)(struct wiphy *, struct net_device *, int,  u8,  bool,  const u8 *)» {aka «int (*)(struct wiphy *, struct net_device *, int,  unsigned char,  _Bool,  const unsigned char *)»} from incompatible pointer type «int (*)(struct wiphy *, struct net_device *, u8,  bool,  const u8 *)» {aka «int (*)(struct wiphy *, struct net_device *, unsigned char,  _Bool,  const unsigned char *)»} [-Werror=incompatible-pointer-types]
 9383 |         .del_key = cfg80211_rtw_del_key,
      |                    ^~~~~~~~~~~~~~~~~~~~
/home/vitja/work/rtl8821CU/os_dep/linux/ioctl_cfg80211.c:9383:20: замечание: (где-то рядом с инициализацией для «rtw_cfg80211_ops.del_key»)
/home/vitja/work/rtl8821CU/os_dep/linux/ioctl_cfg80211.c:9384:28: ошибка: initialization of «int (*)(struct wiphy *, struct net_device *, int,  u8,  bool,  bool)» {aka «int (*)(struct wiphy *, struct net_device *, int,  unsigned char,  _Bool,  _Bool)»} from incompatible pointer type «int (*)(struct wiphy *, struct net_device *, u8,  bool,  bool)» {aka «int (*)(struct wiphy *, struct net_device *, unsigned char,  _Bool,  _Bool)»} [-Werror=incompatible-pointer-types]
 9384 |         .set_default_key = cfg80211_rtw_set_default_key,
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/vitja/work/rtl8821CU/os_dep/linux/ioctl_cfg80211.c:9384:28: замечание: (где-то рядом с инициализацией для «rtw_cfg80211_ops.set_default_key»)
/home/vitja/work/rtl8821CU/os_dep/linux/ioctl_cfg80211.c:9386:33: ошибка: initialization of «int (*)(struct wiphy *, struct net_device *, int,  u8)» {aka «int (*)(struct wiphy *, struct net_device *, int,  unsigned char)»} from incompatible pointer type «int (*)(struct wiphy *, struct net_device *, u8)» {aka «int (*)(struct wiphy *, struct net_device *, unsigned char)»} [-Werror=incompatible-pointer-types]
 9386 |         .set_default_mgmt_key = cfg80211_rtw_set_default_mgmt_key,
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/vitja/work/rtl8821CU/os_dep/linux/ioctl_cfg80211.c:9386:33: замечание: (где-то рядом с инициализацией для «rtw_cfg80211_ops.set_default_mgmt_key»)
/home/vitja/work/rtl8821CU/os_dep/linux/ioctl_cfg80211.c:9416:20: ошибка: initialization of «int (*)(struct wiphy *, struct net_device *, unsigned int)» from incompatible pointer type «int (*)(struct wiphy *, struct net_device *)» [-Werror=incompatible-pointer-types]
 9416 |         .stop_ap = cfg80211_rtw_stop_ap,
      |                    ^~~~~~~~~~~~~~~~~~~~
/home/vitja/work/rtl8821CU/os_dep/linux/ioctl_cfg80211.c:9416:20: замечание: (где-то рядом с инициализацией для «rtw_cfg80211_ops.stop_ap»)
/home/vitja/work/rtl8821CU/os_dep/linux/ioctl_cfg80211.c: В функции «rtw_wdev_unregister»:
/home/vitja/work/rtl8821CU/os_dep/linux/ioctl_cfg80211.c:9682:17: ошибка: «struct wireless_dev» не содержит элемента с именем «current_bss»
 9682 |         if (wdev->current_bss) {
      |                 ^~
cc1: некоторые предупреждения считаются ошибками
make[2]: *** [scripts/Makefile.build:250: /home/vitja/work/rtl8821CU/os_dep/linux/ioctl_cfg80211.o] Ошибка 1
make[2]: Цель «/home/vitja/work/rtl8821CU/» не была пересобрана из-за ошибок.
make[1]: *** [Makefile:2012: /home/vitja/work/rtl8821CU] Error 2
make[1]: Target 'modules' not remade because of errors.
make[1]: Leaving directory '/usr/src/linux-6.1.19-gentoo-dist'
make: *** [Makefile:2217: modules] Error 2
make: Target 'module' not remade because of errors.
@wiredmatt
Copy link

Getting the same on 6.3.1, completely broke the driver. With & without dkms

With DKMS

DKMS make.log for rtl8821CU-5.4.1 for kernel 6.3.1-arch2-1 (x86_64)
Mon May 15 09:53:05 AM -03 2023
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/6.3.1-arch2-1/build M=/var/lib/dkms/rtl8821CU/5.4.1/build  modules
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_cmd.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_security.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_debug.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_io.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_ioctl_query.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_ioctl_set.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_ieee80211.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_mlme.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_mlme_ext.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_mi.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_wlan_util.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_vht.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_pwrctrl.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_rf.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_recv.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_sta_mgt.o
/var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_sta_mgt.c: In function ‘rtw_mfree_stainfo’:
/var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_sta_mgt.c:379:25: warning: the comparison will always evaluate as ‘true’ for the address of ‘lock’ will never be NULL [-Waddress]
  379 |         if (&psta->lock != NULL)
      |                         ^~
In file included from /var/lib/dkms/rtl8821CU/5.4.1/build/include/drv_types.h:107,
                 from /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_sta_mgt.c:17:
/var/lib/dkms/rtl8821CU/5.4.1/build/include/sta_info.h:256:17: note: ‘lock’ declared here
  256 |         _lock   lock;
      |                 ^~~~
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_ap.o
/var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_ap.c: In function ‘rtw_ap_update_chbw_by_ifbmp’:
/var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_ap.c:4397:42: warning: the comparison will always evaluate as ‘true’ for the address of ‘padapters’ will never be NULL [-Waddress]
 4397 |                 if (!(ifbmp & BIT(i)) || !dvobj->padapters)
      |                                          ^
In file included from /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_ap.c:17:
/var/lib/dkms/rtl8821CU/5.4.1/build/include/drv_types.h:1020:19: note: ‘padapters’ declared here
 1020 |         _adapter *padapters[CONFIG_IFACE_NUMBER];/*IFACE_ID_MAX*/
      |                   ^~~~~~~~~
/var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_ap.c:4417:42: warning: the comparison will always evaluate as ‘true’ for the address of ‘padapters’ will never be NULL [-Waddress]
 4417 |                 if (!(ifbmp & BIT(i)) || !dvobj->padapters)
      |                                          ^
/var/lib/dkms/rtl8821CU/5.4.1/build/include/drv_types.h:1020:19: note: ‘padapters’ declared here
 1020 |         _adapter *padapters[CONFIG_IFACE_NUMBER];/*IFACE_ID_MAX*/
      |                   ^~~~~~~~~
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/mesh/rtw_mesh.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/mesh/rtw_mesh_pathtbl.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/mesh/rtw_mesh_hwmp.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_xmit.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_p2p.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_rson.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_tdls.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_br_ext.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_iol.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_sreset.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_btcoex_wifionly.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_btcoex.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_beamforming.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_odm.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_rm.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/rtw_rm_fsm.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/core/efuse/rtw_efuse.o
  CC [M]  /var/lib/dkms/rtl8821CU/5.4.1/build/os_dep/osdep_service.o
/var/lib/dkms/rtl8821CU/5.4.1/build/os_dep/osdep_service.c: In function ‘rtw_change_ifname’:
/var/lib/dkms/rtl8821CU/5.4.1/build/os_dep/osdep_service.c:2494:28: warning: passing argument 1 of ‘_rtw_memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 2494 |         _rtw_memcpy(pnetdev->dev_addr, adapter_mac_addr(padapter), ETH_ALEN);
      |                     ~~~~~~~^~~~~~~~~~
/var/lib/dkms/rtl8821CU/5.4.1/build/os_dep/osdep_service.c:925:24: note: expected ‘void *’ but argument is of type ‘const unsigned char *’
  925 | void _rtw_memcpy(void *dst, const void *src, u32 sz)
      |                  ~~~~~~^~~
/var/lib/dkms/rtl8821CU/5.4.1/build/os_dep/osdep_service.c: In function ‘rtw_random32’:
/var/lib/dkms/rtl8821CU/5.4.1/build/os_dep/osdep_service.c:2618:16: error: implicit declaration of function ‘prandom_u32’; did you mean ‘get_random_u32’? [-Werror=implicit-function-declaration]
 2618 |         return prandom_u32();
      |                ^~~~~~~~~~~
      |                get_random_u32
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:252: /var/lib/dkms/rtl8821CU/5.4.1/build/os_dep/osdep_service.o] Error 1
make[1]: *** [Makefile:2025: /var/lib/dkms/rtl8821CU/5.4.1/build] Error 2
make: *** [Makefile:2217: modules] Error 2

Without

make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/6.3.1-arch2-1/build M=/home/mateo/build/rtl8821CU  modules
  CC [M]  /home/mateo/build/rtl8821CU/os_dep/osdep_service.o
/home/mateo/build/rtl8821CU/os_dep/osdep_service.c: In function ‘rtw_change_ifname’:
/home/mateo/build/rtl8821CU/os_dep/osdep_service.c:2494:28: warning: passing argument 1 of ‘_rtw_memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 2494 |         _rtw_memcpy(pnetdev->dev_addr, adapter_mac_addr(padapter), ETH_ALEN);
      |                     ~~~~~~~^~~~~~~~~~
/home/mateo/build/rtl8821CU/os_dep/osdep_service.c:925:24: note: expected ‘void *’ but argument is of type ‘const unsigned char *’
  925 | void _rtw_memcpy(void *dst, const void *src, u32 sz)
      |                  ~~~~~~^~~
/home/mateo/build/rtl8821CU/os_dep/osdep_service.c: In function ‘rtw_random32’:
/home/mateo/build/rtl8821CU/os_dep/osdep_service.c:2618:16: error: implicit declaration of function ‘prandom_u32’; did you mean ‘get_random_u32’? [-Werror=implicit-function-declaration]
 2618 |         return prandom_u32();
      |                ^~~~~~~~~~~
      |                get_random_u32
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:252: /home/mateo/build/rtl8821CU/os_dep/osdep_service.o] Error 1
make[1]: *** [Makefile:2025: /home/mateo/build/rtl8821CU] Error 2
make: *** [Makefile:2217: modules] Error 2
[sudo] password for mateo:
mkdir -p /lib/modules/6.3.1-arch2-1/kernel/drivers/net/wireless/realtek/rtl8821cu/
install -p -m 644 8821cu.ko  /lib/modules/6.3.1-arch2-1/kernel/drivers/net/wireless/realtek/rtl8821cu/
install: cannot stat '8821cu.ko': No such file or directory
make: *** [Makefile:2224: install] Error 1

@wiredmatt
Copy link

This repo is working fine for me: https://github.com/morrownr/8821cu-20210916, it's up to date

@magarto
Copy link

magarto commented Jul 22, 2023

With this repo 5 GHz is not working for me

This repo is working fine for me: https://github.com/morrownr/8821cu-20210916, it's up to date

@colin-i
Copy link

colin-i commented Sep 26, 2024

I can confirm that morrownr/8821cu-20210916 repo is working fine for a 5 GHz wi-fi usb on a 6.6 kernel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants