View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001021 | channel: elrepo/el7 | kmod-ath10k | public | 2020-07-10 01:57 | 2020-07-10 05:40 |
Reporter | wolfy | Assigned To | pperry | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | assigned | Resolution | open | ||
Summary | 0001021: Please provide kmod-ath10k for EL7 | ||||
Description | Could you please try to backport the ath10k driver as kmod for kernel 3.10.1127 ? TIA | ||||
Additional Information | Yesterday 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 :) | ||||
Tags | No tags attached. | ||||
Reported upstream | |||||
|
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. |
|
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. |
|
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) |