Bug 230807 - if_alc.ko driver not working for Killer Networking E2200
Summary: if_alc.ko driver not working for Killer Networking E2200
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: CURRENT
Hardware: amd64 Any
: --- Affects Many People
Assignee: Pyun YongHyeon
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2018-08-21 18:42 UTC by Daniel McKee
Modified: 2020-01-08 03:56 UTC (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel McKee 2018-08-21 18:42:22 UTC
Driver loads, but will not pick up DHCP nor will a static IP address yield any IP traffic -- Cannot even ping the gateway or any other device on the local network.

This driver worked previously.
Comment 1 Eugene Grosbein freebsd_committer 2018-08-22 15:32:40 UTC
(In reply to Daniel McKee from comment #0)

The driver worked previously - with same hardware? In what OS version/revision did it work? Please show lines concerning alc hardware from dmesg output and pciconf -lvv

Do you have any errors in dmesg output? Does "tcpdump -npi alc0" shows any incoming packets when you do your tests?
Comment 2 Mark Linimon freebsd_committer freebsd_triage 2018-08-29 19:19:45 UTC
Please show us the exact revision you are running.  Thanks.
Comment 3 Daniel McKee 2018-09-14 19:26:53 UTC
I am mistaken.  It was not working previously.  However I did find this post as to a possible (?) fix;

https://forums.freebsd.org/threads/setting-up-ethernet-device-atheros-ar8161.60635/

Specifically;

 /*
        * Force maximum payload size to 128 bytes for
        * E2200/E2400/E2500.
        * Otherwise it triggers DMA write error.
        */
       if ((sc->alc_flags & ALC_FLAG_E2X00) != 0)
           sc->alc_dma_wr_burst = 0;
Comment 4 Daniel McKee 2018-09-14 19:28:01 UTC
EDIT:

By adding the same last two lines (with modified if condition) and rebuilding the whole system, it works, but I don't know if it exactly works fine or not.
Comment 5 Mark Millard 2019-11-25 02:26:04 UTC
A ThreadRipper 1950X X399 AORUS gaming 7 I use has an E2500:

alc0: <Killer E2500 Gigabit Ethernet> port 0x1000-0x107f mem 0xba000000-0xba03ffff irq 27 at device 0.0 numa-domain 0 on pci5
alc0: 11776 Tx FIFO, 12032 Rx FIFO
alc0: Using 1 MSIX message(s).
alc0: 4GB boundary crossed, switching to 32bit DMA addressing mode.
miibus0: <MII bus> numa-domain 0 on alc0
atphy0: <Atheros F1 10/100/1000 PHY> PHY 0 on miibus0
atphy0:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto, auto-flow
alc0: Using defaults for TSO: 65518/35/2048
alc0: Ethernet address: . . .

(Note the numa domain use, in case numa matters for some reason.)

While Fedora (such as 31 now but for a long time) and Windows 10 Pro x64
(1903 now but for a long time) have had no problems using this EtherNet
interface when native-booted from their drives, I've historically either
booted the FreeBSD drive under HyperV so Windows would deal with the
EtherNet or used the poorly working WiFi for native FreeBSD.

This was not limited to any specific versions of FreeBSD but has been
true over some time. I recently jumped from head -r352341 to -r355027 and
the behavior did not change.

My experiments with things like "tcpdump -npi alc0" did not show packets
coming in.

I have not tried making any code changes.
Comment 6 Mark Millard 2020-01-08 03:56:13 UTC
(In reply to Mark Millard from comment #5)

While I was not looking for such at the time,
I noticed somewhat after switching to non-NUMA
on the ThreadRipper that the E2500 had started
working.

I'm not aware of any other configuration change
that would be likely to have contributed.

It has been working ever since I switched to
non-NUMA. I waited to see if it would stay
operational for a time (weeks) before making
this comment.