RT5392 Wireless not working under Linux 6.8.0-40 - IOMMU issue

Hi,
The recent 6.8.0-40 kernel update killed the wireless connection of my RT5392 card with the errors shown below which seems to indicate a DMA issue.

I have downloaded all the associated kernel packages (modules, modules-extras, headers, tools etc) which did not automatically come with the upgrade but this has not made any difference. The firmware file version was not updated from the previous kernel.

Reverting back to 6.5.0-45 kernal fixed the problem but is there any way to fix this so I can use the latest kernel or do I need to wait for the next kernel update?

reg@home:~$ sudo lshw -short
/0/100/1c.1/0            wlp3s0      network        RT5392 PCIe Wireless Network Adapter
/0/100/1c.5/0            enp4s0      network        RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller

reg@home:~$ sudo dmesg | grep -E wlp3s0\|rt2800pci\|rt2x\|ieee80211\|DMAR
[    0.010716] ACPI: DMAR 0x00000000DE024300 000078 (v01 HPQOEM SLIC-CPC 00000001 INTL 00000001)
[    0.010731] ACPI: Reserving DMAR table memory at [mem 0xde024300-0xde024377]
[    0.074005] DMAR: Host address width 36
[    0.074006] DMAR: DRHD base: 0x000000fed90000 flags: 0x1
[    0.074012] DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap c9008020660262 ecap f0105a
[    0.074014] DMAR: RMRR base: 0x000000ddd28000 end: 0x000000ddd45fff
[    0.074017] DMAR-IR: IOAPIC id 2 under DRHD base  0xfed90000 IOMMU 0
[    0.074019] DMAR-IR: HPET id 0 under DRHD base 0xfed90000
[    0.074020] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[    0.074301] DMAR-IR: Enabled IRQ remapping in x2apic mode
[    0.209502] DMAR: No ATSR found
[    0.209503] DMAR: No SATC found
[    0.209504] DMAR: dmar0: Using Queued invalidation
[    0.210488] DMAR: Intel(R) Virtualization Technology for Directed I/O
[   10.427311] rt2800pci 0000:03:00.0: enabling device (0100 -> 0102)
[   10.427506] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 5392, rev 0222 detected
[   10.431911] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 5392 detected
[   10.432003] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[   10.453262] rt2800pci 0000:03:00.0 wlp3s0: renamed from wlan0
[   11.268882] ieee80211 phy0: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2860.bin'
[   11.269235] ieee80211 phy0: rt2x00lib_request_firmware: Info - Firmware detected - version: 0.40
[   12.562031] wlp3s0: authenticate with 18:f1:45:70:32:b6 (local address=44:6d:57:f8:91:53)
[   12.562041] wlp3s0: send auth to 18:f1:45:70:32:b6 (try 1/3)
[   12.563611] wlp3s0: authenticated
[   12.564244] wlp3s0: associate with 18:f1:45:70:32:b6 (try 1/3)
[   12.567838] wlp3s0: RX AssocResp from 18:f1:45:70:32:b6 (capab=0x411 status=0 aid=1)
[   12.568355] wlp3s0: associated
[   26.802352] DMAR: DRHD: handling fault status reg 2
[   26.802361] DMAR: [DMA Read NO_PASID] Request device [03:00.0] fault addr 0xffff7000 [fault reason 0x06] PTE Read access is not set
[   29.686091] wlp3s0: authenticate with 18:f1:45:70:32:b6 (local address=44:6d:57:f8:91:53)
[   29.686102] wlp3s0: send auth to 18:f1:45:70:32:b6 (try 1/3)
[   30.826286] wlp3s0: send auth to 18:f1:45:70:32:b6 (try 2/3)
[   31.786288] wlp3s0: send auth to 18:f1:45:70:32:b6 (try 3/3)
[   31.986430] wlp3s0: authentication with 18:f1:45:70:32:b6 timed out
reg@home:~$ 

Cheers,
Reg

Add intel_iommu=off to GRUB_CMDLINE_LINUX="" in /etc/default/grub file then run sudo update-grub and then reboot

That worked great!! Thanks a million. :smiley:

1 Like