On 3/21/24 08:13, 施小丰(医用制品产业集团-医用制品集团本部) wrote:
Dear linux wireless team:
This is Danny, a embedded software engineer
I have successfully run the 8822CE module in Linux kernel 5.4 with imx6
hardware platform.
But it doesnt work in Kernel 6.1 though i have put many efforts to this issue.
So, we'd like to check with you whether the RTL8822CE chip is compatible with
Linux Kernel 6.1.
My usage is as below:
1. imx6 board
2. build RTL8822CE as M in kernel 6.1 menuconfig
3. Each time after the board startup, i run four commands
insmod rtw88_core.ko
insmod rtw88_pci.ko
insmod rtw88_8822c.ko
insmod rtw88_8822ce.ko
4. When run insmod rtw88_8822ce.ko, in most cases, the error will show as
below. (few times can work)
Detail error log is attached.
Same step (1) -(4) works very well with kernel 5.4 in same hadrware platform.
================
root@imx6solosabresd:~/8822CE# ./insmod.sh
[ 60.541840] rtw_8822ce 0000:01:00.0: enabling device (0000 -> 0003)
[ 60.558145] rtw_8822ce 0000:01:00.0: Firmware version 9.9.4, H2C version 15
[ 60.567135] rtw_8822ce 0000:01:00.0: Firmware version 9.9.15, H2C version 15
[ 60.706697] 8<--- cut here ---
[ 60.709775] Unhandled fault: imprecise external abort (0x1406) at 0x01b77740
[ 60.716832] [01b77740] *pgd=00000000
[ 60.720421] Internal error: : 1406 [#1] PREEMPT SMP ARM
[ 60.725653] Modules linked in: rtw88_8822ce(+) rtw88_8822c rtw88_pci rtw88_core
[ 60.732991] CPU: 0 PID: 796 Comm: insmod Not tainted 6.1.22-g9c59b15a9e72 #1
[ 60.740049] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
[ 60.746580] PC is at rtw_pci_read32+0x14/0x18 [rtw88_pci]
[ 60.752015] LR is at rtw_chip_info_setup+0x48/0x588 [rtw88_core]
[ 60.758170] pc : [<7f026048>] lr : [<7f0001c0>] psr: 60010013
[ 60.764442] sp : c1d0dd28 ip : 00000201 fp : 89344040
[ 60.769670] r10: 88b397a0 r9 : 88b3f890 r8 : 00000200
[ 60.774897] r7 : 000003da r6 : 000003d9 r5 : 7f03a2c8 r4 : 88b397a0
[ 60.781428] r3 : c09200f0 r2 : 00000000 r1 : 000000f0 r0 : 00000000
[ 60.787959] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
[ 60.795100] Control: 10c5387d Table: 15d10059 DAC: 00000051
[ 60.800848] Register r0 information: NULL pointer
[ 60.805564] Register r1 information: non-paged memory
[ 60.810620] Register r2 information: NULL pointer
Danny,
The RTL8822CE certainly works with kernel 6.1 on X86_64 hardware. Routine
rtw_pci_read32() where the unhandled fault happens has not been changed since
kernel 5.2.