Page MenuHomeFreeBSD

alc(4): always disable MSI-X by default
Needs ReviewPublic

Authored by ivy on May 28 2025, 12:08 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Jul 7, 3:38 PM
Unknown Object (File)
Wed, Jun 25, 5:48 PM
Unknown Object (File)
Jun 24 2025, 7:39 PM
Unknown Object (File)
Jun 24 2025, 11:22 AM
Unknown Object (File)
Jun 16 2025, 9:19 AM
Unknown Object (File)
Jun 16 2025, 9:14 AM
Unknown Object (File)
Jun 16 2025, 2:55 AM
Unknown Object (File)
Jun 5 2025, 4:03 PM
Subscribers

Details

Reviewers
des
kevans
zlei
kib
Group Reviewers
network
Summary

We currently disable MSI-X for the "Killer" variants of this part,
since the card claims to support it but it doesn't work. User
reports indicate that at least some other AR81xx parts have the
same problem, so disable MSI-X on all variants by default.
MSI-X can still be enabled by setting msix_disable=0.

Reported by: Ricardo Martin
MFC after: 1 week

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 64481
Build 61365: arc lint + arc unit

Event Timeline

ivy requested review of this revision.May 28 2025, 12:08 AM

User reports indicate that at least some other AR81xx parts have the same problem

@ivy Any details which parts have the same problem ?

@ivy Any details which parts have the same problem ?

it was reported on AR8171:

alc0@pci0:3:0:0: class=0x020000 rev=0x10 hdr=0x00 vendor=0x1969 device=0x10a1 subvendor=0x1849 subdevice=0x10a1
vendor = 'Qualcomm Atheros'
device = 'QCA8171 Gigabit Ethernet'
class = network
subclass = ethernet

i am not 100% convinced this is a hardware problem since Linux appears to enable MSI-X by default, but either way it doesn't work. (i spent a long time looking at this originally and could not work out what Linux was doing differently, and hardware documentation seems to be unavailable.)

In D50558#1154278, @ivy wrote:

@ivy Any details which parts have the same problem ?

it was reported on AR8171:

alc0@pci0:3:0:0: class=0x020000 rev=0x10 hdr=0x00 vendor=0x1969 device=0x10a1 subvendor=0x1849 subdevice=0x10a1
vendor = 'Qualcomm Atheros'
device = 'QCA8171 Gigabit Ethernet'
class = network
subclass = ethernet

i am not 100% convinced this is a hardware problem since Linux appears to enable MSI-X by default, but either way it doesn't work. (i spent a long time looking at this originally and could not work out what Linux was doing differently, and hardware documentation seems to be unavailable.)

I noticed that @kib introduced support for Mikrotik 10/25G NIC via commit 77b637338a36 . So probably it is too aggressive to disable MSI-X totally.
I do not use alc(4) but I support you to disable MSI-X only on AR8171 and Killer devices.

i am not 100% convinced this is a hardware problem since Linux appears to enable MSI-X by default, but either way it doesn't work.

A quick search with the key words "ar8171 msix" shows that there's an old report [1] about the MSI-X issue with Linux driver. I have not looked into the Linux driver sources so I'm not sure whether it is still valid or not.

[1] https://www.linuxquestions.org/questions/linux-hardware-18/problem-with-onboard-ethernet-adapter-4175597014/