View Issue Details

IDProjectCategoryView StatusLast Update
0000864channel: elrepo/el7--elrepo--request-for-enhancement--public2021-04-16 01:38
Reporterzirogravity Assigned Topperry  
PrioritynormalSeverityfeatureReproducibilityalways
Status resolvedResolutionno change required 
Summary0000864: rtl8814au support for CentOS 7.4 --> Possible to get kmod driver for this card?
DescriptionI have installed CentOS 7.4 via http://www.rocksclusters.org. I have a Netgear Nighthawk AC1900 WiFi USB Adapter which appears to be using the rtl8814au chipset.

I found these instructions https://edimax.freshdesk.com/support/so ... -than-v4-4 which seem to support other Linux distros. The page claims that the driver should work with kernel versions between 2.6 and 4.4. I can get the driver to work using similar instruction specific to Ubuntu on a Ubuntu 18.04 LTS box I have.


Would it be possible to get a kmod driver for this card?




When trying to follow the lead of these instructions i.e. making effort to adopt them to CentOS I get the following:
Additional InformationBuilding module:
cleaning build area...
'make'...........(bad exit status: 2)
Error! Bad return status for module build on kernel: 3.10.0-862.3.2.el7.x86_64 (x86_64)
Consult /var/lib/dkms/rtl8814au/4.3.21/build/make.log for more information.

DKMS make.log for rtl8814au-4.3.21 for kernel 3.10.0-862.3.2.el7.x86_64 (x86_64)
Tue Jul 24 10:00:37 PDT 2018
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/3.10.0-862.3.2.el7.x86_64/build M=/var/lib/dkms/rtl8814au/4.3.21/build modules
make[1]: Entering directory `/usr/src/kernels/3.10.0-862.3.2.el7.x86_64'
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/core/rtw_cmd.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/core/rtw_security.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/core/rtw_debug.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/core/rtw_io.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/core/rtw_ioctl_query.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/core/rtw_ioctl_set.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/core/rtw_ieee80211.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/core/rtw_mlme.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/core/rtw_mlme_ext.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/core/rtw_wlan_util.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/core/rtw_vht.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/core/rtw_pwrctrl.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/core/rtw_rf.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/core/rtw_recv.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/core/rtw_sta_mgt.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/core/rtw_ap.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/core/rtw_xmit.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/core/rtw_p2p.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/core/rtw_tdls.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/core/rtw_br_ext.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/core/rtw_iol.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/core/rtw_sreset.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/core/rtw_btcoex.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/core/rtw_beamforming.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/core/rtw_odm.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/core/efuse/rtw_efuse.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/os_dep/osdep_service.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/os_intfs.o
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/os_intfs.c:914:2: warning: initialization from incompatible pointer type [enabled by default]
  .ndo_select_queue = rtw_select_queue,
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/os_intfs.c:914:2: warning: (near initialization for ‘rtw_netdev_ops.<anonymous>.ndo_select_queue’) [enabled by default]
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/usb_intf.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/usb_ops_linux.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_linux.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/xmit_linux.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/mlme_linux.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/recv_linux.o
  CC [M] /var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.o
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:92:12: error: ‘IEEE80211_BAND_2GHZ’ undeclared here (not in a function)
  .band = IEEE80211_BAND_2GHZ, \
            ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:150:2: note: in expansion of macro ‘CHAN2G’
  CHAN2G(1, 2412, 0),
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:101:12: error: ‘IEEE80211_BAND_5GHZ’ undeclared here (not in a function)
  .band = IEEE80211_BAND_5GHZ, \
            ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:167:2: note: in expansion of macro ‘CHAN5G’
  CHAN5G(34, 0), CHAN5G(36, 0),
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:167:2: error: initializer element is not constant
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:167:2: error: (near initialization for ‘rtw_5ghz_a_channels[0].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:167:2: error: initializer element is not constant
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:167:2: error: (near initialization for ‘rtw_5ghz_a_channels[1].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:168:2: error: initializer element is not constant
  CHAN5G(38, 0), CHAN5G(40, 0),
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:168:2: error: (near initialization for ‘rtw_5ghz_a_channels[2].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:168:2: error: initializer element is not constant
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:168:2: error: (near initialization for ‘rtw_5ghz_a_channels[3].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:169:2: error: initializer element is not constant
  CHAN5G(42, 0), CHAN5G(44, 0),
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:169:2: error: (near initialization for ‘rtw_5ghz_a_channels[4].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:169:2: error: initializer element is not constant
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:169:2: error: (near initialization for ‘rtw_5ghz_a_channels[5].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:170:2: error: initializer element is not constant
  CHAN5G(46, 0), CHAN5G(48, 0),
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:170:2: error: (near initialization for ‘rtw_5ghz_a_channels[6].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:170:2: error: initializer element is not constant
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:170:2: error: (near initialization for ‘rtw_5ghz_a_channels[7].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:171:2: error: initializer element is not constant
  CHAN5G(52, 0), CHAN5G(56, 0),
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:171:2: error: (near initialization for ‘rtw_5ghz_a_channels[8].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:171:2: error: initializer element is not constant
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:171:2: error: (near initialization for ‘rtw_5ghz_a_channels[9].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:172:2: error: initializer element is not constant
  CHAN5G(60, 0), CHAN5G(64, 0),
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:172:2: error: (near initialization for ‘rtw_5ghz_a_channels[10].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:172:2: error: initializer element is not constant
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:172:2: error: (near initialization for ‘rtw_5ghz_a_channels[11].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:173:2: error: initializer element is not constant
  CHAN5G(100, 0), CHAN5G(104, 0),
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:173:2: error: (near initialization for ‘rtw_5ghz_a_channels[12].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:173:2: error: initializer element is not constant
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:173:2: error: (near initialization for ‘rtw_5ghz_a_channels[13].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:174:2: error: initializer element is not constant
  CHAN5G(108, 0), CHAN5G(112, 0),
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:174:2: error: (near initialization for ‘rtw_5ghz_a_channels[14].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:174:2: error: initializer element is not constant
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:174:2: error: (near initialization for ‘rtw_5ghz_a_channels[15].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:175:2: error: initializer element is not constant
  CHAN5G(116, 0), CHAN5G(120, 0),
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:175:2: error: (near initialization for ‘rtw_5ghz_a_channels[16].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:175:2: error: initializer element is not constant
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:175:2: error: (near initialization for ‘rtw_5ghz_a_channels[17].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:176:2: error: initializer element is not constant
  CHAN5G(124, 0), CHAN5G(128, 0),
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:176:2: error: (near initialization for ‘rtw_5ghz_a_channels[18].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:176:2: error: initializer element is not constant
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:176:2: error: (near initialization for ‘rtw_5ghz_a_channels[19].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:177:2: error: initializer element is not constant
  CHAN5G(132, 0), CHAN5G(136, 0),
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:177:2: error: (near initialization for ‘rtw_5ghz_a_channels[20].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:177:2: error: initializer element is not constant
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:177:2: error: (near initialization for ‘rtw_5ghz_a_channels[21].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:178:2: error: initializer element is not constant
  CHAN5G(140, 0), CHAN5G(149, 0),
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:178:2: error: (near initialization for ‘rtw_5ghz_a_channels[22].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:178:2: error: initializer element is not constant
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:178:2: error: (near initialization for ‘rtw_5ghz_a_channels[23].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:179:2: error: initializer element is not constant
  CHAN5G(153, 0), CHAN5G(157, 0),
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:179:2: error: (near initialization for ‘rtw_5ghz_a_channels[24].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:179:2: error: initializer element is not constant
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:179:2: error: (near initialization for ‘rtw_5ghz_a_channels[25].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:180:2: error: initializer element is not constant
  CHAN5G(161, 0), CHAN5G(165, 0),
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:180:2: error: (near initialization for ‘rtw_5ghz_a_channels[26].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:180:2: error: initializer element is not constant
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:180:2: error: (near initialization for ‘rtw_5ghz_a_channels[27].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:181:2: error: initializer element is not constant
  CHAN5G(184, 0), CHAN5G(188, 0),
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:181:2: error: (near initialization for ‘rtw_5ghz_a_channels[28].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:181:2: error: initializer element is not constant
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:181:2: error: (near initialization for ‘rtw_5ghz_a_channels[29].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:182:2: error: initializer element is not constant
  CHAN5G(192, 0), CHAN5G(196, 0),
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:182:2: error: (near initialization for ‘rtw_5ghz_a_channels[30].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:182:2: error: initializer element is not constant
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:182:2: error: (near initialization for ‘rtw_5ghz_a_channels[31].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:183:2: error: initializer element is not constant
  CHAN5G(200, 0), CHAN5G(204, 0),
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:183:2: error: (near initialization for ‘rtw_5ghz_a_channels[32].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:183:2: error: initializer element is not constant
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:183:2: error: (near initialization for ‘rtw_5ghz_a_channels[33].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:184:2: error: initializer element is not constant
  CHAN5G(208, 0), CHAN5G(212, 0),
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:184:2: error: (near initialization for ‘rtw_5ghz_a_channels[34].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:184:2: error: initializer element is not constant
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:184:2: error: (near initialization for ‘rtw_5ghz_a_channels[35].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:185:2: error: initializer element is not constant
  CHAN5G(216, 0),
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:185:2: error: (near initialization for ‘rtw_5ghz_a_channels[36].band’)
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:219:2: warning: ‘enum ieee80211_band’ declared inside parameter list [enabled by default]
  )
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:219:2: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:218:22: error: parameter 1 (‘band’) has incomplete type
  enum ieee80211_band band
                      ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:217:34: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
 struct ieee80211_supported_band *rtw_spt_band_alloc(
                                  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c: In function ‘rtw_spt_band_alloc’:
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:249:17: error: incompatible types when assigning to type ‘enum nl80211_band’ from type ‘struct ieee80211_channel *’
  spt_band->band = band;
                 ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c: In function ‘rtw_spt_band_free’:
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:278:20: warning: comparison between pointer and integer [enabled by default]
  if(spt_band->band == IEEE80211_BAND_2GHZ)
                    ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:284:25: warning: comparison between pointer and integer [enabled by default]
  else if(spt_band->band == IEEE80211_BAND_5GHZ)
                         ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c: In function ‘rtw_cfg80211_ibss_indicate_connect’:
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:720:2: warning: passing argument 3 of ‘cfg80211_ibss_joined’ makes pointer from integer without a cast [enabled by default]
  cfg80211_ibss_joined(padapter->pnetdev, cur_network->network.MacAddress, GFP_ATOMIC);
  ^
In file included from /var/lib/dkms/rtl8814au/4.3.21/build/include/osdep_service_linux.h:87:0,
                 from /var/lib/dkms/rtl8814au/4.3.21/build/include/osdep_service.h:41,
                 from /var/lib/dkms/rtl8814au/4.3.21/build/include/drv_types.h:32,
                 from /var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:22:
include/net/cfg80211.h:4965:6: note: expected ‘struct ieee80211_channel *’ but argument is of type ‘unsigned int’
 void cfg80211_ibss_joined(struct net_device *dev, const u8 *bssid,
      ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:720:2: error: too few arguments to function ‘cfg80211_ibss_joined’
  cfg80211_ibss_joined(padapter->pnetdev, cur_network->network.MacAddress, GFP_ATOMIC);
  ^
In file included from /var/lib/dkms/rtl8814au/4.3.21/build/include/osdep_service_linux.h:87:0,
                 from /var/lib/dkms/rtl8814au/4.3.21/build/include/osdep_service.h:41,
                 from /var/lib/dkms/rtl8814au/4.3.21/build/include/drv_types.h:32,
                 from /var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:22:
include/net/cfg80211.h:4965:6: note: declared here
 void cfg80211_ibss_joined(struct net_device *dev, const u8 *bssid,
      ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c: In function ‘rtw_cfg80211_indicate_connect’:
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:828:4: warning: passing argument 2 of ‘cfg80211_roamed’ from incompatible pointer type [enabled by default]
    , GFP_ATOMIC);
    ^
In file included from /var/lib/dkms/rtl8814au/4.3.21/build/include/osdep_service_linux.h:87:0,
                 from /var/lib/dkms/rtl8814au/4.3.21/build/include/osdep_service.h:41,
                 from /var/lib/dkms/rtl8814au/4.3.21/build/include/drv_types.h:32,
                 from /var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:22:
include/net/cfg80211.h:5477:6: note: expected ‘struct cfg80211_roam_info *’ but argument is of type ‘struct ieee80211_channel *’
 void cfg80211_roamed(struct net_device *dev, struct cfg80211_roam_info *info,
      ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:828:4: warning: passing argument 3 of ‘cfg80211_roamed’ makes integer from pointer without a cast [enabled by default]
    , GFP_ATOMIC);
    ^
In file included from /var/lib/dkms/rtl8814au/4.3.21/build/include/osdep_service_linux.h:87:0,
                 from /var/lib/dkms/rtl8814au/4.3.21/build/include/osdep_service.h:41,
                 from /var/lib/dkms/rtl8814au/4.3.21/build/include/drv_types.h:32,
                 from /var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:22:
include/net/cfg80211.h:5477:6: note: expected ‘gfp_t’ but argument is of type ‘unsigned char *’
 void cfg80211_roamed(struct net_device *dev, struct cfg80211_roam_info *info,
      ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:828:4: error: too many arguments to function ‘cfg80211_roamed’
    , GFP_ATOMIC);
    ^
In file included from /var/lib/dkms/rtl8814au/4.3.21/build/include/osdep_service_linux.h:87:0,
                 from /var/lib/dkms/rtl8814au/4.3.21/build/include/osdep_service.h:41,
                 from /var/lib/dkms/rtl8814au/4.3.21/build/include/drv_types.h:32,
                 from /var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:22:
include/net/cfg80211.h:5477:6: note: declared here
 void cfg80211_roamed(struct net_device *dev, struct cfg80211_roam_info *info,
      ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c: In function ‘rtw_cfg80211_indicate_disconnect’:
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:889:11: error: ‘struct wireless_dev’ has no member named ‘sme_state’
   if(pwdev->sme_state==CFG80211_SME_CONNECTING)
           ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:889:24: error: ‘CFG80211_SME_CONNECTING’ undeclared (first use in this function)
   if(pwdev->sme_state==CFG80211_SME_CONNECTING)
                        ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:889:24: note: each undeclared identifier is reported only once for each function it appears in
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:892:16: error: ‘struct wireless_dev’ has no member named ‘sme_state’
   else if(pwdev->sme_state==CFG80211_SME_CONNECTED)
                ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:892:29: error: ‘CFG80211_SME_CONNECTED’ undeclared (first use in this function)
   else if(pwdev->sme_state==CFG80211_SME_CONNECTED)
                             ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:893:4: error: too few arguments to function ‘cfg80211_disconnected’
    cfg80211_disconnected(padapter->pnetdev, 0, NULL, 0, GFP_ATOMIC);
    ^
In file included from /var/lib/dkms/rtl8814au/4.3.21/build/include/osdep_service_linux.h:87:0,
                 from /var/lib/dkms/rtl8814au/4.3.21/build/include/osdep_service.h:41,
                 from /var/lib/dkms/rtl8814au/4.3.21/build/include/drv_types.h:32,
                 from /var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:22:
include/net/cfg80211.h:5493:6: note: declared here
 void cfg80211_disconnected(struct net_device *dev, u16 reason,
      ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c: In function ‘cfg80211_rtw_get_station’:
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:1847:20: error: ‘STATION_INFO_SIGNAL’ undeclared (first use in this function)
   sinfo->filled |= STATION_INFO_SIGNAL;
                    ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:1847:17: error: invalid operands to binary | (have ‘u64’ and ‘struct ieee80211_channel *’)
   sinfo->filled |= STATION_INFO_SIGNAL;
                 ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:1850:20: error: ‘STATION_INFO_TX_BITRATE’ undeclared (first use in this function)
   sinfo->filled |= STATION_INFO_TX_BITRATE;
                    ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:1850:17: error: invalid operands to binary | (have ‘u64’ and ‘struct ieee80211_channel *’)
   sinfo->filled |= STATION_INFO_TX_BITRATE;
                 ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:1853:20: error: ‘STATION_INFO_RX_PACKETS’ undeclared (first use in this function)
   sinfo->filled |= STATION_INFO_RX_PACKETS;
                    ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:1853:17: error: invalid operands to binary | (have ‘u64’ and ‘struct ieee80211_channel *’)
   sinfo->filled |= STATION_INFO_RX_PACKETS;
                 ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:1856:20: error: ‘STATION_INFO_TX_PACKETS’ undeclared (first use in this function)
   sinfo->filled |= STATION_INFO_TX_PACKETS;
                    ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:1856:17: error: invalid operands to binary | (have ‘u64’ and ‘struct ieee80211_channel *’)
   sinfo->filled |= STATION_INFO_TX_PACKETS;
                 ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c: In function ‘rtw_cfg80211_indicate_scan_done’:
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:2059:4: error: incompatible type for argument 2 of ‘cfg80211_scan_done’
    cfg80211_scan_done(pwdev_priv->scan_request, aborted);
    ^
In file included from /var/lib/dkms/rtl8814au/4.3.21/build/include/osdep_service_linux.h:87:0,
                 from /var/lib/dkms/rtl8814au/4.3.21/build/include/osdep_service.h:41,
                 from /var/lib/dkms/rtl8814au/4.3.21/build/include/drv_types.h:32,
                 from /var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:22:
include/net/cfg80211.h:4600:6: note: expected ‘struct cfg80211_scan_info *’ but argument is of type ‘bool’
 void cfg80211_scan_done(struct cfg80211_scan_request *request,
      ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c: In function ‘rtw_cfg80211_indicate_sta_assoc’:
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:3667:18: error: ‘STATION_INFO_ASSOC_REQ_IES’ undeclared (first use in this function)
   sinfo.filled = STATION_INFO_ASSOC_REQ_IES;
                  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:3667:16: warning: assignment makes integer from pointer without a cast [enabled by default]
   sinfo.filled = STATION_INFO_ASSOC_REQ_IES;
                ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c: In function ‘cfg80211_rtw_dump_station’:
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:4540:19: error: ‘STATION_INFO_SIGNAL’ undeclared (first use in this function)
  sinfo->filled |= STATION_INFO_SIGNAL;
                   ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:4540:16: error: invalid operands to binary | (have ‘u64’ and ‘struct ieee80211_channel *’)
  sinfo->filled |= STATION_INFO_SIGNAL;
                ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c: At top level:
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6228:105: warning: ‘enum ieee80211_band’ declared inside parameter list [enabled by default]
 static void rtw_cfg80211_init_ht_capab_ex(_adapter *padapter, struct ieee80211_sta_ht_cap *ht_cap, enum ieee80211_band band, u8 rf_type)
                                                                                                         ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6228:120: error: parameter 3 (‘band’) has incomplete type
 static void rtw_cfg80211_init_ht_capab_ex(_adapter *padapter, struct ieee80211_sta_ht_cap *ht_cap, enum ieee80211_band band, u8 rf_type)
                                                                                                                        ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6228:13: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
 static void rtw_cfg80211_init_ht_capab_ex(_adapter *padapter, struct ieee80211_sta_ht_cap *ht_cap, enum ieee80211_band band, u8 rf_type)
             ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6276:102: warning: ‘enum ieee80211_band’ declared inside parameter list [enabled by default]
 static void rtw_cfg80211_init_ht_capab(_adapter *padapter, struct ieee80211_sta_ht_cap *ht_cap, enum ieee80211_band band, u8 rf_type)
                                                                                                      ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6276:117: error: parameter 3 (‘band’) has incomplete type
 static void rtw_cfg80211_init_ht_capab(_adapter *padapter, struct ieee80211_sta_ht_cap *ht_cap, enum ieee80211_band band, u8 rf_type)
                                                                                                                     ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6276:13: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
 static void rtw_cfg80211_init_ht_capab(_adapter *padapter, struct ieee80211_sta_ht_cap *ht_cap, enum ieee80211_band band, u8 rf_type)
             ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c: In function ‘rtw_cfg80211_init_wiphy’:
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6344:23: error: array subscript is not an integer
   bands = wiphy->bands[IEEE80211_BAND_2GHZ];
                       ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6344:9: warning: assignment from incompatible pointer type [enabled by default]
   bands = wiphy->bands[IEEE80211_BAND_2GHZ];
         ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6350:23: error: array subscript is not an integer
   bands = wiphy->bands[IEEE80211_BAND_5GHZ];
                       ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6350:9: warning: assignment from incompatible pointer type [enabled by default]
   bands = wiphy->bands[IEEE80211_BAND_5GHZ];
         ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c: In function ‘rtw_cfg80211_preinit_wiphy’:
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6440:15: error: array subscript is not an integer
   wiphy->bands[IEEE80211_BAND_2GHZ] = rtw_spt_band_alloc(IEEE80211_BAND_2GHZ);
               ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6444:15: error: array subscript is not an integer
   wiphy->bands[IEEE80211_BAND_5GHZ] = rtw_spt_band_alloc(IEEE80211_BAND_5GHZ);
               ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6462:18: error: ‘WIPHY_FLAG_SUPPORTS_SCHED_SCAN’ undeclared (first use in this function)
  wiphy->flags |= WIPHY_FLAG_SUPPORTS_SCHED_SCAN;
                  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6462:15: error: invalid operands to binary | (have ‘u32’ and ‘struct ieee80211_channel *’)
  wiphy->flags |= WIPHY_FLAG_SUPPORTS_SCHED_SCAN;
               ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6471:16: error: incompatible types when assigning to type ‘const struct wiphy_wowlan_support *’ from type ‘const struct wiphy_wowlan_support’
  wiphy->wowlan = wowlan_stub;
                ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c: At top level:
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6496:2: warning: initialization from incompatible pointer type [enabled by default]
  .change_virtual_intf = cfg80211_rtw_change_iface,
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6496:2: warning: (near initialization for ‘rtw_cfg80211_ops.change_virtual_intf’) [enabled by default]
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6504:2: warning: initialization from incompatible pointer type [enabled by default]
  .get_station = cfg80211_rtw_get_station,
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6504:2: warning: (near initialization for ‘rtw_cfg80211_ops.get_station’) [enabled by default]
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6519:2: warning: initialization from incompatible pointer type [enabled by default]
  .add_virtual_intf = cfg80211_rtw_add_virtual_intf,
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6519:2: warning: (near initialization for ‘rtw_cfg80211_ops.add_virtual_intf’) [enabled by default]
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6532:2: warning: initialization from incompatible pointer type [enabled by default]
  .add_station = cfg80211_rtw_add_station,
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6532:2: warning: (near initialization for ‘rtw_cfg80211_ops.add_station’) [enabled by default]
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6533:2: warning: initialization from incompatible pointer type [enabled by default]
  .del_station = cfg80211_rtw_del_station,
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6533:2: warning: (near initialization for ‘rtw_cfg80211_ops.del_station’) [enabled by default]
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6534:2: warning: initialization from incompatible pointer type [enabled by default]
  .change_station = cfg80211_rtw_change_station,
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6534:2: warning: (near initialization for ‘rtw_cfg80211_ops.change_station’) [enabled by default]
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6550:2: warning: initialization from incompatible pointer type [enabled by default]
  .mgmt_tx = cfg80211_rtw_mgmt_tx,
  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6550:2: warning: (near initialization for ‘rtw_cfg80211_ops.mgmt_tx’) [enabled by default]
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c: In function ‘rtw_wiphy_free’:
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6596:18: error: array subscript is not an integer
  if (wiphy->bands[IEEE80211_BAND_2GHZ]) {
                  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6597:33: error: array subscript is not an integer
   rtw_spt_band_free(wiphy->bands[IEEE80211_BAND_2GHZ]);
                                 ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6597:3: warning: passing argument 1 of ‘rtw_spt_band_free’ from incompatible pointer type [enabled by default]
   rtw_spt_band_free(wiphy->bands[IEEE80211_BAND_2GHZ]);
   ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:271:6: note: expected ‘struct ieee80211_supported_band *’ but argument is of type ‘struct ieee80211_channel *’
 void rtw_spt_band_free(struct ieee80211_supported_band *spt_band)
      ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6598:15: error: array subscript is not an integer
   wiphy->bands[IEEE80211_BAND_2GHZ] = NULL;
               ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6600:18: error: array subscript is not an integer
  if (wiphy->bands[IEEE80211_BAND_5GHZ]) {
                  ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6601:33: error: array subscript is not an integer
   rtw_spt_band_free(wiphy->bands[IEEE80211_BAND_5GHZ]);
                                 ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6601:3: warning: passing argument 1 of ‘rtw_spt_band_free’ from incompatible pointer type [enabled by default]
   rtw_spt_band_free(wiphy->bands[IEEE80211_BAND_5GHZ]);
   ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:271:6: note: expected ‘struct ieee80211_supported_band *’ but argument is of type ‘struct ieee80211_channel *’
 void rtw_spt_band_free(struct ieee80211_supported_band *spt_band)
      ^
/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:6602:15: error: array subscript is not an integer
   wiphy->bands[IEEE80211_BAND_5GHZ] = NULL;
               ^
make[2]: *** [/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.o] Error 1
make[1]: *** [_module_/var/lib/dkms/rtl8814au/4.3.21/build] Error 2
make[1]: Leaving directory `/usr/src/kernels/3.10.0-862.3.2.el7.x86_64'
make: *** [modules] Error 2
TagsNo tags attached.
Reported upstream

Activities

pperry

2018-07-31 12:52

administrator   ~0005973

Last edited: 2018-07-31 12:54

It is possible, but you will need to fix all the above errors, and probably more. The issues stem from the fact the driver code is expecting to be built against a vanilla kernel. As such, it contains a lot of conditional code which checks the kernel version and makes decisions accordingly. Trouble is, the RHEL (and CentOS) kernel is nominally a 3.10 kernel, but Red Hat have backported the WiFi stack from kernel-4.14.

So everywhere you encounter an error, you could start by checking the driver code of conditionals, and updating the code to reflect the fact the RHEL kernel more closely represents 4.14 than it does 3.10. Then be prepared to repeat the exercise for every new RHEL release, as Red Hat will most likely update the WiFi stack again for el7.6, and so forth.

Would I want to do that - No, it's simply not worth the effort given you can buy a natively supported device that will work out of the box for a few tens of dollars or less.

If you (or someone) is willing to maintain the code in a state that will build on RHEL, then I'm willing to package it for elrepo, but if Realtek (or other vendors) are not prepared to do it for their own code, then I'm not going to do it for them when there are other alternatives that are already better supported.

PS - and sorry if I sound harsh, it's not directed at you but rather vendors who aren't interested in fully supporting their products on Linux

zirogravity

2018-07-31 15:53

reporter   ~0005974

I do not think you sound harsh at all and I fully appreciate the response.
      
I do not really have low level linux programming experience. Would it be practical for me to learn and contribute to the efforts or would you need someone who can just "jump right in" and maintain code?

I have embedded level C and Matlab/Simulink programming experience. I know my way around gcc and make and the linux command line/administration but I have never delved "Inside of Linux" i.e. kernel or respective OS/driver/application level code. I have also never really worked in a production code environment which I imagine you guys run to some extent if not better than such even. I usually the "algorithms guy" and then some poor soul has to clean up my coding mess :)

pperry

2018-07-31 16:57

administrator   ~0005975

Last edited: 2018-07-31 16:59

In depth knowledge of C and/or linux kernel programming is not required although a decent working knowledge of C would be very useful.

One isn't required to write new code, only figure out why the existing code failed to compile and fix it. As I mentioned above, keep in mind the code compiles against a vanilla kernel, it thinks the RHEL kernel is based on 3.10 but the WiFi stack is actually from kernel 4.14, and other bits could be anywhere in between.

Keeping copies of the kernel source (from kernel.org) from 3.10 to 4.14 available, and grepping against these for keywords in the errors above is invaluable and will give you the clues you need.

Fix one error at a time and attempt to recompile, rinse and repeat.

For example, taking the first error:

/var/lib/dkms/rtl8814au/4.3.21/build/os_dep/linux/ioctl_cfg80211.c:92:12: error: ‘IEEE80211_BAND_2GHZ’ undeclared here (not in a function)
  .band = IEEE80211_BAND_2GHZ, \

the error is telling us IEEE80211_BAND_2GHZ is undeclared.

if I grep for IEEE80211_BAND_2GHZ in my kernels source directory, I see this value was enumerated in older kernels, but is removed in more recent kernels:

phil@quad kernels]$ grep -R IEEE80211_BAND_2GHZ * | grep include
kernel-3.0/linux-3.0.101/include/net/cfg80211.h: * @IEEE80211_BAND_2GHZ: 2.4GHz ISM band
kernel-3.0/linux-3.0.101/include/net/cfg80211.h: IEEE80211_BAND_2GHZ = NL80211_BAND_2GHZ,
kernel-3.10/linux-3.10.108/include/net/cfg80211.h: * @IEEE80211_BAND_2GHZ: 2.4GHz ISM band
kernel-3.10/linux-3.10.108/include/net/cfg80211.h: IEEE80211_BAND_2GHZ = NL80211_BAND_2GHZ,
kernel-3.18/linux-3.18.109/include/net/cfg80211.h: * @IEEE80211_BAND_2GHZ: 2.4GHz ISM band
kernel-3.18/linux-3.18.109/include/net/cfg80211.h: IEEE80211_BAND_2GHZ = NL80211_BAND_2GHZ,
kernel-3.2/linux-3.2.94/include/net/cfg80211.h: * @IEEE80211_BAND_2GHZ: 2.4GHz ISM band
kernel-3.2/linux-3.2.94/include/net/cfg80211.h: IEEE80211_BAND_2GHZ = NL80211_BAND_2GHZ,
kernel-4.1/linux-4.1.44/include/net/cfg80211.h: * @IEEE80211_BAND_2GHZ: 2.4GHz ISM band
kernel-4.1/linux-4.1.44/include/net/cfg80211.h: IEEE80211_BAND_2GHZ = NL80211_BAND_2GHZ,
kernel-4.4/linux-4.4.92/include/net/cfg80211.h: * @IEEE80211_BAND_2GHZ: 2.4GHz ISM band
kernel-4.4/linux-4.4.92/include/net/cfg80211.h: IEEE80211_BAND_2GHZ = NL80211_BAND_2GHZ,

Obviously our code still needs it, so I'd take a look at include/net/cfg80211.h from an older kernel, and maybe define IEEE80211_BAND_2GHZ or backport the enumeration, recompile and see if we now progress on to the next error (NL80211_BAND_* is enumerated in include/uapi/linux/nl80211.h)

It's a lengthy process! And like I said, you'll be starting again from scratch when el7.6 comes out which is soul-destroying.

Realistically, I'd just buy a $20 USB wireless adapter that is natively supported if you place any kind of value on your time.

pperry

2018-08-01 00:21

administrator   ~0005977

For reference, please can you post the output from running 'lsusb' so we can see the Vendor:ID of the device.

zirogravity

2018-08-02 08:59

reporter   ~0005980

This is the one line from lsusb relevant to the device in question:

Bus 001 Device 009: ID 0846:9054 NetGear, Inc.

If you would like the complete output please let me know and I am happy to post.

pperry

2018-08-02 11:11

administrator   ~0005983

Thanks for that.

One option for you to consider, elrepo offers a vanilla kernel package (kernel-lt) based on the current upstream 4.4 Long-Term Support (LTS) kernel:

http://elrepo.org/linux/kernel/el7/x86_64/RPMS/

You could install our latest kernel-lt package and build the above driver source against that kernel (which we have confirmed does build without issue).

The downsides are (1) you are not running the distro kernel, and (2) because you are not running the distro kernel it does not support kmod packages so you will need to rebuild the driver from source against each new kernel update. If you are using any other elrepo kmod packages, these will also not work with elrepo kernel-lt (or kernel-ml) packages.

But if you are desperate to run this hardware on RHEL/CentOS, this is probably your easiest/best option at present.

pperry

2018-08-02 11:16

administrator   ~0005984

Last edited: 2018-08-02 11:18

Note: the kernel-lt package simply tracks the upstream 4.4 LTS kernel release on kernel.org packaged in a convenient format for use on RHEL/CentOS. We do not seek to apply patches to the upstream sources, so any bugs in the upstream source will also be present in the corresponding elrepo kernel packages. The kernel-lt package will stay on the 4.4 branch until such time as it is no longer supported upstream, currently Feb 2022.

Issue History

Date Modified Username Field Change
2018-07-31 11:58 zirogravity New Issue
2018-07-31 11:58 zirogravity Status new => assigned
2018-07-31 11:58 zirogravity Assigned To => toracat
2018-07-31 12:52 pperry Note Added: 0005973
2018-07-31 12:54 pperry Note Edited: 0005973
2018-07-31 15:53 zirogravity Note Added: 0005974
2018-07-31 16:57 pperry Note Added: 0005975
2018-07-31 16:59 pperry Note Edited: 0005975
2018-08-01 00:21 pperry Note Added: 0005977
2018-08-02 08:59 zirogravity Note Added: 0005980
2018-08-02 11:11 pperry Note Added: 0005983
2018-08-02 11:16 pperry Note Added: 0005984
2018-08-02 11:18 pperry Note Edited: 0005984
2021-04-16 01:38 toracat Assigned To toracat => pperry
2021-04-16 01:38 toracat Status assigned => resolved
2021-04-16 01:38 toracat Resolution open => no change required