brektrou / rtl8821CU

Realtek RTL8811CU/RTL8821CU USB Wi-Fi adapter driver for Linux
GNU General Public License v2.0
1.58k stars 458 forks source link

(failed to build) Not compiling on 6.0.11-arch1-1 #204

Open iQiexie opened 1 year ago

iQiexie commented 1 year ago
/home/roman/Desktop/rtl8821CU/os_dep/linux/ioctl_cfg80211.c:420:9: error: too few arguments to function ‘cfg80211_ch_switch_notify’
  420 |         cfg80211_ch_switch_notify(adapter->pnetdev, &chdef);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/roman/Desktop/rtl8821CU/include/osdep_service_linux.h:93,
                 from /home/roman/Desktop/rtl8821CU/include/osdep_service.h:50,
                 from /home/roman/Desktop/rtl8821CU/include/drv_types.h:27,
                 from /home/roman/Desktop/rtl8821CU/os_dep/linux/ioctl_cfg80211.c:17:
./include/net/cfg80211.h:8261:6: note: declared here
 8261 | void cfg80211_ch_switch_notify(struct net_device *dev,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/roman/Desktop/rtl8821CU/os_dep/linux/ioctl_cfg80211.c: In function ‘rtw_cfg80211_indicate_connect’:
/home/roman/Desktop/rtl8821CU/os_dep/linux/ioctl_cfg80211.c:1088:26: error: ‘struct cfg80211_roam_info’ has no member named ‘bssid’
 1088 |                 roam_info.bssid = cur_network->network.MacAddress;
      |                          ^
/home/roman/Desktop/rtl8821CU/os_dep/linux/ioctl_cfg80211.c: In function ‘cfg80211_rtw_scan’:
/home/roman/Desktop/rtl8821CU/os_dep/linux/ioctl_cfg80211.c:2867:33: warning: 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:2357:12: note: ‘ssid’ declared here
 2357 |         u8 ssid[IEEE80211_MAX_SSID_LEN];
      |            ^~~~
/home/roman/Desktop/rtl8821CU/os_dep/linux/ioctl_cfg80211.c: At top level:
/home/roman/Desktop/rtl8821CU/os_dep/linux/ioctl_cfg80211.c:9416: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]
 9416 |         .stop_ap = cfg80211_rtw_stop_ap,
      |                    ^~~~~~~~~~~~~~~~~~~~
/home/roman/Desktop/rtl8821CU/os_dep/linux/ioctl_cfg80211.c:9416:20: note: (near initialization for ‘rtw_cfg80211_ops.stop_ap’)
/home/roman/Desktop/rtl8821CU/os_dep/linux/ioctl_cfg80211.c: In function ‘rtw_wdev_unregister’:
/home/roman/Desktop/rtl8821CU/os_dep/linux/ioctl_cfg80211.c:9682:17: error: ‘struct wireless_dev’ has no member named ‘current_bss’
 9682 |         if (wdev->current_bss) {
      |                 ^~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:249: /home/roman/Desktop/rtl8821CU/os_dep/linux/ioctl_cfg80211.o] Error 1
make[1]: *** [Makefile:1852: /home/roman/Desktop/rtl8821CU] Error 2
make[1]: Leaving directory '/usr/lib/modules/6.0.11-arch1-1/build'
make: *** [Makefile:2217: modules] Error 2

The same thing with dkms install

fancywriter commented 1 year ago

Not compiling for 6.1.12 either.

/var/tmp/portage/net-wireless/rtl8821cu-20211114/work/rtl8821CU-121ee81893e5ee20e5ae6e6ed9f519552527743f/os_dep/linux/os_intfs.c: In function ‘rtw_os_ndev_regi
ster’:
/var/tmp/portage/net-wireless/rtl8821cu-20211114/work/rtl8821CU-121ee81893e5ee20e5ae6e6ed9f519552527743f/os_dep/linux/os_intfs.c:1642:9: error: too many argume
nts to function ‘netif_napi_add’
 1642 |         netif_napi_add(ndev, &adapter->napi, rtw_recv_napi_poll, RTL_NAPI_WEIGHT);
      |         ^~~~~~~~~~~~~~
In file included from /var/tmp/portage/net-wireless/rtl8821cu-20211114/work/rtl8821CU-121ee81893e5ee20e5ae6e6ed9f519552527743f/include/osdep_service_linux.h:30
,
                 from /var/tmp/portage/net-wireless/rtl8821cu-20211114/work/rtl8821CU-121ee81893e5ee20e5ae6e6ed9f519552527743f/include/osdep_service.h:50:
./include/linux/netdevice.h:2569:1: note: declared here
 2569 | netif_napi_add(struct net_device *dev, struct napi_struct *napi,
      | ^~~~~~~~~~~~~~
/var/tmp/portage/net-wireless/rtl8821cu-20211114/work/rtl8821CU-121ee81893e5ee20e5ae6e6ed9f519552527743f/os_dep/linux/os_intfs.c:1656:25: warning: passing argument 1 of ‘_rtw_memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1656 |         _rtw_memcpy(ndev->dev_addr, adapter_mac_addr(adapter), ETH_ALEN);
      |                     ~~~~^~~~~~~~~~
/var/tmp/portage/net-wireless/rtl8821cu-20211114/work/rtl8821CU-121ee81893e5ee20e5ae6e6ed9f519552527743f/include/osdep_service.h:296:35: note: expected ‘void *’ but argument is of type ‘const unsigned char *’
  296 | extern void     _rtw_memcpy(void *dec
iQiexie commented 1 year ago

Not compiling for 6.1.12 either.

/var/tmp/portage/net-wireless/rtl8821cu-20211114/work/rtl8821CU-121ee81893e5ee20e5ae6e6ed9f519552527743f/os_dep/linux/os_intfs.c: In function ‘rtw_os_ndev_regi
ster’:
/var/tmp/portage/net-wireless/rtl8821cu-20211114/work/rtl8821CU-121ee81893e5ee20e5ae6e6ed9f519552527743f/os_dep/linux/os_intfs.c:1642:9: error: too many argume
nts to function ‘netif_napi_add’
 1642 |         netif_napi_add(ndev, &adapter->napi, rtw_recv_napi_poll, RTL_NAPI_WEIGHT);
      |         ^~~~~~~~~~~~~~
In file included from /var/tmp/portage/net-wireless/rtl8821cu-20211114/work/rtl8821CU-121ee81893e5ee20e5ae6e6ed9f519552527743f/include/osdep_service_linux.h:30
,
                 from /var/tmp/portage/net-wireless/rtl8821cu-20211114/work/rtl8821CU-121ee81893e5ee20e5ae6e6ed9f519552527743f/include/osdep_service.h:50:
./include/linux/netdevice.h:2569:1: note: declared here
 2569 | netif_napi_add(struct net_device *dev, struct napi_struct *napi,
      | ^~~~~~~~~~~~~~
/var/tmp/portage/net-wireless/rtl8821cu-20211114/work/rtl8821CU-121ee81893e5ee20e5ae6e6ed9f519552527743f/os_dep/linux/os_intfs.c:1656:25: warning: passing argument 1 of ‘_rtw_memcpy’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
 1656 |         _rtw_memcpy(ndev->dev_addr, adapter_mac_addr(adapter), ETH_ALEN);
      |                     ~~~~^~~~~~~~~~
/var/tmp/portage/net-wireless/rtl8821cu-20211114/work/rtl8821CU-121ee81893e5ee20e5ae6e6ed9f519552527743f/include/osdep_service.h:296:35: note: expected ‘void *’ but argument is of type ‘const unsigned char *’
  296 | extern void     _rtw_memcpy(void *dec

Hello, Pavel! I found a workaround https://github.com/brektrou/rtl8821CU/pull/202#issuecomment-1382248921