lwfinger / rtl8192ee

Alternate (vendor) driver for RTL8192EE

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Causes hundreds of pcieport AER bus errors , disables TL-WN881ND device on RHEL-8 kernel 4.18.0-425.19.2.el8_8.x86_64

JVD66 opened this issue · comments

Good day -

I just bought a TL-WN8881ND wireless card today, it being the only wireless card available for sale today in my rural locality ,
and found that the default rtl8192ee driver causes multiple pcieport bus errors and failes to enter WAP (hostapd) mode , so I tried
cloning your rtl8192 GIT repo and building it.

Firstly, your repo needed some patches in order to build:

--- BEGIN PATCH:
$ git diff
diff --git a/os_dep/linux/os_intfs.c b/os_dep/linux/os_intfs.c
index fd3f555..991472c 100644
--- a/os_dep/linux/os_intfs.c
+++ b/os_dep/linux/os_intfs.c
@@ -1407,7 +1407,7 @@ static const struct net_device_ops rtw_netdev_ops = {
.ndo_stop = netdev_close,
.ndo_start_xmit = rtw_xmit_entry,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 35))

  • .ndo_select_queue = rtw_select_queue,
  • .ndo_select_queue = ((typeof(((struct net_device_ops*)0UL)->ndo_select_queue)) rtw_select_queue),
    #endif
    .ndo_set_mac_address = rtw_net_set_mac_address,
    .ndo_get_stats = rtw_net_get_stats,
    diff --git a/os_dep/linux/rtw_android.c b/os_dep/linux/rtw_android.c
    index 2100bfc..7af6848 100644
    --- a/os_dep/linux/rtw_android.c
    +++ b/os_dep/linux/rtw_android.c
    @@ -37,6 +37,8 @@
    #include <linux/irq.h>
    #endif

+#include <asm/uaccess.h>
+
#include "rtw_version.h"

extern void macstr2num(u8 *dst, u8 *src);
@@ -624,7 +626,7 @@ int rtw_android_priv_cmd(struct net_device *net, struct ifreq *ifr, int cmd)
goto exit;
}

-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 0, 0))
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0))
if (!access_ok(priv_cmd.buf, priv_cmd.total_len)){
#else
if (!access_ok(VERIFY_READ, priv_cmd.buf, priv_cmd.total_len)){
--END PATCH

Then, once I got it to build and install, and added your recommended blacklist of rtl8192ee
and forced load of 8192ee, hundreds of pcieport errors still appear, as with stock rtl819ee driver,
but also these Oops-es which cause the device to be totally ignored by the kernel and not to
appear in an 'ifconfig -a' listing at all :

May 10 15:55:28 devbox01.ptti.co.uk kernel: 8192ee: loading out-of-tree module taints kernel.
May 10 15:55:28 devbox01.ptti.co.uk systemd-vconsole-setup[706]: KD_FONT_OP_GET failed while trying to get the font metadata: Invalid argument
May 10 15:55:28 devbox01.ptti.co.uk systemd-vconsole-setup[706]: Fonts will not be copied to remaining consoles
May 10 15:55:28 devbox01.ptti.co.uk kernel: pcieport 0000:00:1c.4: AER: Multiple Corrected error received: 0000:00:1c.4
May 10 15:55:28 devbox01.ptti.co.uk kernel: pcieport 0000:00:1c.4: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID)
May 10 15:55:28 devbox01.ptti.co.uk kernel: pcieport 0000:00:1c.4: device [8086:a294] error status/mask=00000001/00002000
May 10 15:55:28 devbox01.ptti.co.uk kernel: pcieport 0000:00:1c.4: [ 0] RxErr
May 10 15:55:28 devbox01.ptti.co.uk kernel: pcieport 0000:00:1c.4: AER: Corrected error received: 0000:00:1c.4
May 10 15:55:28 devbox01.ptti.co.uk kernel: pcieport 0000:00:1c.4: AER: can't find device of ID00e4
May 10 15:55:28 devbox01.ptti.co.uk kernel: pcieport 0000:00:1c.4: AER: Corrected error received: 0000:00:1c.4
May 10 15:55:28 devbox01.ptti.co.uk kernel: pcieport 0000:00:1c.4: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID)
May 10 15:55:28 devbox01.ptti.co.uk kernel: pcieport 0000:00:1c.4: device [8086:a294] error status/mask=00000001/00002000
May 10 15:55:28 devbox01.ptti.co.uk kernel: pcieport 0000:00:1c.4: [ 0] RxErr
...
followed by 315 re-occurenece of same error sequence
...
May 10 15:55:28 devbox01.ptti.co.uk kernel: pcieport 0000:00:1c.4: AER: Corrected error received: 0000:00:1c.4
May 10 15:55:28 devbox01.ptti.co.uk kernel: pcieport 0000:00:1c.4: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID)
May 10 15:55:28 devbox01.ptti.co.uk kernel: pcieport 0000:00:1c.4: device [8086:a294] error status/mask=00000001/00002000
May 10 15:55:28 devbox01.ptti.co.uk kernel: pcieport 0000:00:1c.4: [ 0] RxErr
May 10 15:55:28 devbox01.ptti.co.uk kernel: WARNING: CPU: 2 PID: 697 at net/wireless/core.c:901 wiphy_register+0x676/0x9e0 [cfg80211]
May 10 15:55:28 devbox01.ptti.co.uk kernel: Modules linked in: nfsd(E) 8192ee(OE+) auth_rpcgss(E) nfs_acl(E) lockd(E) cfg80211(E) grace(E) sunrpc(E) rfkill(E) xfs(E) libcrc32c(E) sd_mod(E) t10_pi(E) sg(E) i915(E) cec(E) intel_gtt(E) drm_buddy(E) drm_dp_helper(E) drm_kms_helper(E) ahci(E) syscopyarea(E) igb(E) sysfillrect(E) sysimgblt(E) fb_sys_fops(E) ttm(E) crc32c_intel(E) drm(E) libahci(E) libata(E) dca(E) i2c_algo_bit(E) video(E) fuse(E)
May 10 15:55:28 devbox01.ptti.co.uk kernel: CPU: 2 PID: 697 Comm: systemd-modules Tainted: G OE --------- - - 4.18.0-425.19.2.el8_8.x86_64 #1
May 10 15:55:28 devbox01.ptti.co.uk kernel: Hardware name: Shuttle Inc. SZ270/FZ270, BIOS 1.10 03/19/2018
May 10 15:55:28 devbox01.ptti.co.uk kernel: RIP: 0010:wiphy_register+0x676/0x9e0 [cfg80211]
May 10 15:55:28 devbox01.ptti.co.uk kernel: Code: 29 83 ea 01 48 8d 14 52 48 c1 e2 04 48 01 c2 48 83 78 10 00 74 20 48 39 d0 0f 84 fd 00 00 00 48 83 c0 30 48 83 78 20 00 75 e5 <0f> 0b b8 ea ff ff ff e9 a2 fa ff ff 48 83 78 18 00 75 d9 0f 0b b8
May 10 15:55:28 devbox01.ptti.co.uk kernel: RSP: 0018:ffffa510c3c879c0 EFLAGS: 00010246
May 10 15:55:28 devbox01.ptti.co.uk kernel: RAX: ffffffffc0e0b660 RBX: ffff9189457695c0 RCX: ffff918946bb8868
May 10 15:55:28 devbox01.ptti.co.uk kernel: RDX: 0000000000000003 RSI: 0000000000000000 RDI: 0000000000000006
May 10 15:55:28 devbox01.ptti.co.uk kernel: RBP: ffffa510c3c87a48 R08: 0000000000000001 R09: 0000000000000005
May 10 15:55:28 devbox01.ptti.co.uk kernel: R10: 0000000000000005 R11: 000000000000000d R12: 0000000000000001
May 10 15:55:28 devbox01.ptti.co.uk kernel: R13: ffffa510c3d807c0 R14: ffffa510c3d8073b R15: ffff918944516000
May 10 15:55:28 devbox01.ptti.co.uk kernel: FS: 00007f7511222f80(0000) GS:ffff91908ec80000(0000) knlGS:0000000000000000
May 10 15:55:28 devbox01.ptti.co.uk kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
May 10 15:55:28 devbox01.ptti.co.uk kernel: CR2: 00007f1487f804bc CR3: 00000001601a4005 CR4: 00000000003706e0
May 10 15:55:28 devbox01.ptti.co.uk kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
May 10 15:55:28 devbox01.ptti.co.uk kernel: DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
May 10 15:55:28 devbox01.ptti.co.uk kernel: Call Trace:
May 10 15:55:28 devbox01.ptti.co.uk kernel: ? __rtnl_unlock+0x25/0x50
May 10 15:55:28 devbox01.ptti.co.uk kernel: ? netdev_run_todo+0x5e/0x2a0
May 10 15:55:28 devbox01.ptti.co.uk kernel: ? wiphy_apply_custom_regulatory+0xd7/0x110 [cfg80211]
May 10 15:55:28 devbox01.ptti.co.uk kernel: rtw_cfg80211_ndev_res_register+0x2e/0x60 [8192ee]
May 10 15:55:28 devbox01.ptti.co.uk kernel: rtw_os_ndev_register+0x66/0x140 [8192ee]
May 10 15:55:28 devbox01.ptti.co.uk kernel: rtw_os_ndevs_register+0x54/0xe0 [8192ee]
May 10 15:55:28 devbox01.ptti.co.uk kernel: pcieport 0000:00:1c.4: AER: Corrected error received: 0000:00:1c.4
May 10 15:55:28 devbox01.ptti.co.uk kernel: pcieport 0000:00:1c.4: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID)
May 10 15:55:28 devbox01.ptti.co.uk kernel: pcieport 0000:00:1c.4: device [8086:a294] error status/mask=00000001/00002000
May 10 15:55:28 devbox01.ptti.co.uk kernel: pcieport 0000:00:1c.4: [ 0] RxErr
May 10 15:55:28 devbox01.ptti.co.uk kernel: pcieport 0000:00:1c.4: AER: Corrected error received: 0000:00:1c.4
May 10 15:55:28 devbox01.ptti.co.uk kernel: pcieport 0000:00:1c.4: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID)
May 10 15:55:28 devbox01.ptti.co.uk kernel: pcieport 0000:00:1c.4: device [8086:a294] error status/mask=00000001/00002000
May 10 15:55:28 devbox01.ptti.co.uk kernel: pcieport 0000:00:1c.4: [ 0] RxErr
May 10 15:55:28 devbox01.ptti.co.uk kernel: rtw_os_ndevs_init+0x7b/0x110 [8192ee]
May 10 15:55:28 devbox01.ptti.co.uk kernel: pci_alloc_irq+0x7cf/0xd60 [8192ee]
May 10 15:55:28 devbox01.ptti.co.uk kernel: local_pci_probe+0x42/0x80
May 10 15:55:28 devbox01.ptti.co.uk kernel: pci_device_probe+0x109/0x1c0
May 10 15:55:28 devbox01.ptti.co.uk kernel: __driver_probe_device+0x1ec/0x440
May 10 15:55:28 devbox01.ptti.co.uk kernel: driver_probe_device+0x1f/0x90
May 10 15:55:28 devbox01.ptti.co.uk kernel: __driver_attach+0x77/0x170
May 10 15:55:28 devbox01.ptti.co.uk kernel: ? __device_attach_driver+0x100/0x100
May 10 15:55:28 devbox01.ptti.co.uk kernel: bus_for_each_dev+0x77/0xc0
May 10 15:55:28 devbox01.ptti.co.uk kernel: ? klist_add_tail+0x3b/0x70
May 10 15:55:28 devbox01.ptti.co.uk kernel: bus_add_driver+0x151/0x1f0
May 10 15:55:28 devbox01.ptti.co.uk kernel: ? 0xffffffffc069a000
May 10 15:55:28 devbox01.ptti.co.uk kernel: driver_register+0x6b/0xc0
May 10 15:55:28 devbox01.ptti.co.uk kernel: ? 0xffffffffc069a000
May 10 15:55:28 devbox01.ptti.co.uk kernel: init_module+0x5a/0x1000 [8192ee]
May 10 15:55:28 devbox01.ptti.co.uk kernel: do_one_initcall+0x46/0x1d0
May 10 15:55:28 devbox01.ptti.co.uk kernel: ? do_init_module+0x22/0x230
May 10 15:55:28 devbox01.ptti.co.uk kernel: ? kmem_cache_alloc_trace+0x142/0x280
May 10 15:55:28 devbox01.ptti.co.uk kernel: do_init_module+0x5a/0x230
May 10 15:55:28 devbox01.ptti.co.uk kernel: load_module+0x14bf/0x17f0
May 10 15:55:28 devbox01.ptti.co.uk kernel: ? __do_sys_finit_module+0xb1/0x110
May 10 15:55:28 devbox01.ptti.co.uk kernel: __do_sys_finit_module+0xb1/0x110
May 10 15:55:28 devbox01.ptti.co.uk kernel: do_syscall_64+0x5b/0x1b0
May 10 15:55:28 devbox01.ptti.co.uk kernel: entry_SYSCALL_64_after_hwframe+0x61/0xc6
May 10 15:55:28 devbox01.ptti.co.uk kernel: RIP: 0033:0x7f75103c89bd
May 10 15:55:28 devbox01.ptti.co.uk kernel: Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 9b 54 38 00 f7 d8 64 89 01 48
May 10 15:55:28 devbox01.ptti.co.uk kernel: RSP: 002b:00007ffc2e77a9a8 EFLAGS: 00000246 ORIG_RAX: 0000000000000139
May 10 15:55:28 devbox01.ptti.co.uk kernel: RAX: ffffffffffffffda RBX: 0000558f7c3c2990 RCX: 00007f75103c89bd
May 10 15:55:28 devbox01.ptti.co.uk kernel: RDX: 0000000000000000 RSI: 00007f751097e86d RDI: 0000000000000007
May 10 15:55:28 devbox01.ptti.co.uk kernel: RBP: 00007f751097e86d R08: 0000000000000000 R09: 0000558f7b191568
May 10 15:55:28 devbox01.ptti.co.uk kernel: R10: 0000000000000007 R11: 0000000000000246 R12: 0000000000000000
May 10 15:55:28 devbox01.ptti.co.uk kernel: R13: 0000558f7c3c2a10 R14: 0000000000020000 R15: 0000000000000000
May 10 15:55:28 devbox01.ptti.co.uk kernel: ---[ end trace a234105b44d668e9 ]---
May 10 15:55:28 devbox01.ptti.co.uk kernel: Failed to register cfg80211
May 10 15:55:28 devbox01.ptti.co.uk kernel: Failed to register device
May 10 15:55:28 devbox01.ptti.co.uk kernel: pcieport 0000:00:1c.4: AER: Corrected error received: 0000:00:1c.4
May 10 15:55:28 devbox01.ptti.co.uk kernel: pcieport 0000:00:1c.4: PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID)
May 10 15:55:28 devbox01.ptti.co.uk kernel: pcieport 0000:00:1c.4: device [8086:a294] error status/mask=00000001/00002000
May 10 15:55:28 devbox01.ptti.co.uk kernel: pcieport 0000:00:1c.4: [ 0] RxErr
May 10 15:55:28 devbox01.ptti.co.uk kernel: pcieport 0000:00:1c.4: AER: Corrected error received: 0000:00:1c.4
May 10 15:55:28 devbox01.ptti.co.uk kernel: pcieport 0000:00:1c.4: AER: can't find device of ID00e4

I also added your suggested 'HT_CAPAB' line to my /etc/hostapd.conf file

This will give you a minimal, insecure wireless network.

DO NOT BE SATISFIED WITH THAT!!!

A complete, well commented example configuration file is

available here:

/usr/share/doc/hostapd/hostapd.conf

For more information, look here:

http://wireless.kernel.org/en/users/Documentation/hostapd

ctrl_interface=/var/run/hostapd
ctrl_interface_group=wheel

Some usable default settings...

macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0

Uncomment these for base WPA & WPA2 support with a pre-shared key

wpa=3
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

DO NOT FORGET TO SET A WPA PASSPHRASE!!

wpa_passphrase=PTTi1066

Most modern wireless drivers in the kernel need driver=nl80211

driver=nl80211

Customize these for your local configuration...

interface=wlp5s0
ssid=PTTIDB01
hw_mode=g
channel=8

recommended by 'lwfinger', author of 8192ee driver:

HT_CAPAB=[RX-STBC1][SHORT-GI-40][SHORT-GI-20][DSSS_CCK-40][MAX-AMSDU-7935]

It is a very urgent work-related issue for me to configure this particular linux host with a WiFi card, which it does not have,
by Friday, to demo our software, which needs a WAP in this configuration, to a client .

Please can you suggest any way to fix to get your module to operate under Linux 4.18-425 (latest LTS RHEL-8 release),
or where I am going wrong with my config ? A prompt response would be much appreciated, else I will have to spend
£500 tomorrow to get a card delivered 300 miles by courier from my nearest metropolis tomorrow .

Thank you & Best Regards,
Jason Vas Dias jason.vas.dias@gmail.com - a software engineer .

t.txt

Sorry GIT Hub's bug reporter mangles text - this makes it unsuitable for use as a bug reporting tool .

I've attached the text version of the patch and log extracts.

If you run the command 'lspci -nnk', you will see that pciport is the driver for the PCI bridge(s). I have not worked on this driver for a long time, but this kind of error has never been reported before. There is a fundamental error in the communication over the PCI bus.

Do you have more than one PCIe slot to try, or a second computer in which to try the card?

What time zone are you in? I am in the US at UTC-5. If possible, I will try to be available later today - until 5:00 UTC, and then be back by 13:00 UTC.

Glad to hear that you had success.