View Issue Details

IDProjectCategoryView StatusLast Update
0001021channel: elrepo/el7kmod-ath10kpublic2020-07-10 05:40
Reporterwolfy Assigned Topperry  
PrioritynormalSeverityminorReproducibilityalways
Status assignedResolutionopen 
Summary0001021: Please provide kmod-ath10k for EL7
DescriptionCould you please try to backport the ath10k driver as kmod for kernel 3.10.1127 ?

TIA
Additional InformationYesterday I had to fiddle with a Lenovo IdeaPad 520-15IKB laptop which was running CentOS 7.8 fully updated. However the wireless interface ( identified as needing the ath10k module as driver ) did not function either with stock CentOS kernel or with kernel-lt 4.4.229 . I had to install kernel-ml 5.7.8 in order to have functional wireless. As a sidenote, the realtek driver included in 5.7.8 ( r8169) did not work , I had to download and build from sources their r8168 :)

TagsNo tags attached.
Reported upstream

Activities

pperry

2020-07-10 03:13

administrator   ~0007034

There is a native ath10k driver in el7.8. I can try building one from the vanilla kernel (linux-5.3 is used for the wireless backport in el7.8) to see if it's an issue with the RHEL driver.

I'll post back here when I have a package for you to test.

wolfy

2020-07-10 03:29

developer   ~0007035

I know that there is a native driver, that's what I tried to use for the first hour of experiments. But it does not work properly, it logs something like
    ath10k_pci 0000:03:00.0: unable to read from the device
and the interface is not created.
Given that RHEL 7 is already in maintenance mode, I doubt RH will spend time fixing it.

pperry

2020-07-10 05:40

administrator   ~0007036

Hi Wolfy,

Unfortunately the kernel-5.3.18 source does not build cleanly (below) as there are missing bits from RH's backport of the wireless stack. I'll see if I can backport the missing bits to get the driver to build. Might take a while.


Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.SHuzjP
+ umask 022
+ cd /home/phil/rpmbuild/BUILD
+ cd ath10k-0.0
+ KSRC=/usr/src/kernels/3.10.0-1127.el7.x86_64
+ /usr/bin/make -C /usr/src/kernels/3.10.0-1127.el7.x86_64 -j8 modules M=/home/phil/rpmbuild/BUILD/ath10k-0.0
make: Entering directory `/usr/src/kernels/3.10.0-1127.el7.x86_64'
  CC [M] /home/phil/rpmbuild/BUILD/ath10k-0.0/main.o
  CC [M] /home/phil/rpmbuild/BUILD/ath10k-0.0/regd.o
  CC [M] /home/phil/rpmbuild/BUILD/ath10k-0.0/hw.o
  CC [M] /home/phil/rpmbuild/BUILD/ath10k-0.0/key.o
  CC [M] /home/phil/rpmbuild/BUILD/ath10k-0.0/dfs_pattern_detector.o
  CC [M] /home/phil/rpmbuild/BUILD/ath10k-0.0/dfs_pri_detector.o
  CC [M] /home/phil/rpmbuild/BUILD/ath10k-0.0/ath10k/mac.o
  CC [M] /home/phil/rpmbuild/BUILD/ath10k-0.0/ath10k/debug.o
  CC [M] /home/phil/rpmbuild/BUILD/ath10k-0.0/ath10k/core.o
  CC [M] /home/phil/rpmbuild/BUILD/ath10k-0.0/ath10k/htc.o
  CC [M] /home/phil/rpmbuild/BUILD/ath10k-0.0/ath10k/htt.o
  CC [M] /home/phil/rpmbuild/BUILD/ath10k-0.0/ath10k/htt_rx.o
  CC [M] /home/phil/rpmbuild/BUILD/ath10k-0.0/ath10k/htt_tx.o
  LD [M] /home/phil/rpmbuild/BUILD/ath10k-0.0/ath.o
  CC [M] /home/phil/rpmbuild/BUILD/ath10k-0.0/ath10k/txrx.o
/home/phil/rpmbuild/BUILD/ath10k-0.0/ath10k/debug.c: In function 'ath10k_debug_register':
/home/phil/rpmbuild/BUILD/ath10k-0.0/ath10k/debug.c:2605:9: warning: passing argument 4 of 'debugfs_create_bool' from incompatible pointer type [enabled by default]
         &ar->dfs_block_radar_events);
         ^
In file included from /home/phil/rpmbuild/BUILD/ath10k-0.0/ath10k/debug.c:9:0:
include/linux/debugfs.h:88:16: note: expected 'u32 *' but argument is of type 'bool *'
 struct dentry *debugfs_create_bool(const char *name, umode_t mode,
                ^
/home/phil/rpmbuild/BUILD/ath10k-0.0/ath10k/core.c: In function 'ath10k_fetch_fw_file':
/home/phil/rpmbuild/BUILD/ath10k-0.0/ath10k/core.c:796:2: error: implicit declaration of function 'firmware_request_nowarn' [-Werror=implicit-function-declaration]
  ret = firmware_request_nowarn(&fw, filename, ar->dev);
  ^
cc1: some warnings being treated as errors
make[2]: *** [/home/phil/rpmbuild/BUILD/ath10k-0.0/ath10k/core.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /home/phil/rpmbuild/BUILD/ath10k-0.0/ath10k/htt.h:15:0,
                 from /home/phil/rpmbuild/BUILD/ath10k-0.0/ath10k/core.h:18,
                 from /home/phil/rpmbuild/BUILD/ath10k-0.0/ath10k/htt_rx.c:8:
/home/phil/rpmbuild/BUILD/ath10k-0.0/ath10k/htt_rx.c: In function 'ath10k_htt_rx_tx_compl_ind':
include/linux/kfifo.h:389:15: error: invalid operands to binary + (have 'struct htt_tx_done' and 'int')
  typeof((val) + 1) __val = (val); \
               ^
/home/phil/rpmbuild/BUILD/ath10k-0.0/ath10k/htt_rx.c:2606:15: note: in expansion of macro 'kfifo_put'
   } else if (!kfifo_put(&htt->txdone_fifo, tx_done)) {
               ^
include/linux/kfifo.h:389:28: error: incompatible types when initializing type 'int' using type 'struct htt_tx_done'
  typeof((val) + 1) __val = (val); \
                            ^
/home/phil/rpmbuild/BUILD/ath10k-0.0/ath10k/htt_rx.c:2606:15: note: in expansion of macro 'kfifo_put'
   } else if (!kfifo_put(&htt->txdone_fifo, tx_done)) {
               ^
include/linux/kfifo.h:395:13: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   __dummy = (typeof(__val))NULL; \
             ^
/home/phil/rpmbuild/BUILD/ath10k-0.0/ath10k/htt_rx.c:2606:15: note: in expansion of macro 'kfifo_put'
   } else if (!kfifo_put(&htt->txdone_fifo, tx_done)) {
               ^
include/linux/kfifo.h:395:11: warning: assignment makes pointer from integer without a cast [enabled by default]
   __dummy = (typeof(__val))NULL; \
           ^
/home/phil/rpmbuild/BUILD/ath10k-0.0/ath10k/htt_rx.c:2606:15: note: in expansion of macro 'kfifo_put'
   } else if (!kfifo_put(&htt->txdone_fifo, tx_done)) {
               ^
include/linux/kfifo.h:398:47: error: invalid type argument of unary '*' (have 'int')
   __ret = __kfifo_in_r(__kfifo, __val, sizeof(*__val), \
                                               ^
/home/phil/rpmbuild/BUILD/ath10k-0.0/ath10k/htt_rx.c:2606:15: note: in expansion of macro 'kfifo_put'
   } else if (!kfifo_put(&htt->txdone_fifo, tx_done)) {
               ^
include/linux/kfifo.h:392:9: warning: passing argument 2 of '__kfifo_in_r' makes pointer from integer without a cast [enabled by default]
  struct __kfifo *__kfifo = &__tmp->kfifo; \
         ^
/home/phil/rpmbuild/BUILD/ath10k-0.0/ath10k/htt_rx.c:2606:15: note: in expansion of macro 'kfifo_put'
   } else if (!kfifo_put(&htt->txdone_fifo, tx_done)) {
               ^
include/linux/kfifo.h:819:21: note: expected 'const void *' but argument is of type 'int'
 extern unsigned int __kfifo_in_r(struct __kfifo *fifo,
                     ^
include/linux/kfifo.h:407:6: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
     *(typeof(__tmp->type))__val; \
      ^
/home/phil/rpmbuild/BUILD/ath10k-0.0/ath10k/htt_rx.c:2606:15: note: in expansion of macro 'kfifo_put'
   } else if (!kfifo_put(&htt->txdone_fifo, tx_done)) {
               ^
make[2]: *** [/home/phil/rpmbuild/BUILD/ath10k-0.0/ath10k/htt_rx.o] Error 1
make[1]: *** [/home/phil/rpmbuild/BUILD/ath10k-0.0/ath10k] Error 2
make: *** [_module_/home/phil/rpmbuild/BUILD/ath10k-0.0] Error 2
make: Leaving directory `/usr/src/kernels/3.10.0-1127.el7.x86_64'
error: Bad exit status from /var/tmp/rpm-tmp.SHuzjP (%build)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.SHuzjP (%build)

Issue History

Date Modified Username Field Change
2020-07-10 01:57 wolfy New Issue
2020-07-10 01:57 wolfy Status new => assigned
2020-07-10 01:57 wolfy Assigned To => pperry
2020-07-10 03:13 pperry Note Added: 0007034
2020-07-10 03:29 wolfy Note Added: 0007035
2020-07-10 05:40 pperry Note Added: 0007036