Discussion:
alc(4): add support for 816x devices (and request for review)
(too old to reply)
Leonardo Taccari
2015-01-14 10:10:44 UTC
Permalink
Hello tech-net@, current-users@ and Jared[0],
my new laptop has an Atheros AR8171 PCIe Gigabit Ethernet card that ATM
is not supported in NetBSD.
Some months ago alc(4) driver in FreeBSD was modified in order to
support the 816x devices too.
I have tried to port the changes from FreeBSD to NetBSD and at least
with the AR8171 ethernet card the alc(4) driver *works*. However, I
do not have the needed knowledge and the patches that I will attach in
this email should be considered a cargo-cult.
Another problem that I have introduced is that it wrongly recognise
multiple atphy(4):

alc0 at pci2 dev 0 function 0: Atheros AR8171 PCIe Gigabit Ethernet
alc0: interrupting at ioapic0 pin 18
alc0: Ethernet address XX:XX:XX:XX:XX:XX
atphy0 at alc0 phy 0: Atheros AR8035 10/100/1000 PHY, rev. 9
atphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, auto
atphy1 at alc0 phy 1: Atheros AR8035 10/100/1000 PHY, rev. 9
atphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, auto
atphy2 at alc0 phy 2: Atheros AR8035 10/100/1000 PHY, rev. 9
atphy2: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, auto
[...]
atphy31 at alc0 phy 31: Atheros AR8035 10/100/1000 PHY, rev. 9
atphy31: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, auto
ifmedia_match: multiple match for 0x20/0xffbff8ff, selected instance 0

If a developer has got some time please review the patches (especially
the various REVIEWME). I am completely available in order to test the
further changes. When I will have got the ok I will take care to fill
a PR containing the patches and man pages updates.

The patches attached in this email are for -current. Please also note
that I have also added a line to src/sys/dev/pci/pcidevs for another
ar816x card.
I will also attach a complete dmesg.


[0]: Jared, according to "cvs log" it seems that you first ported
alc(4) to NetBSD. I have added you in cc: for this reason.


Thank you very much for your attention!
Ciao,
L.
Christos Zoulas
2015-01-14 15:23:50 UTC
Permalink
-=-=-=-=-=-
my new laptop has an Atheros AR8171 PCIe Gigabit Ethernet card that ATM
is not supported in NetBSD.
Some months ago alc(4) driver in FreeBSD was modified in order to
support the 816x devices too.
I have tried to port the changes from FreeBSD to NetBSD and at least
with the AR8171 ethernet card the alc(4) driver *works*. However, I
do not have the needed knowledge and the patches that I will attach in
this email should be considered a cargo-cult.
Another problem that I have introduced is that it wrongly recognise
alc0 at pci2 dev 0 function 0: Atheros AR8171 PCIe Gigabit Ethernet
alc0: interrupting at ioapic0 pin 18
alc0: Ethernet address XX:XX:XX:XX:XX:XX
atphy0 at alc0 phy 0: Atheros AR8035 10/100/1000 PHY, rev. 9
atphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, auto
atphy1 at alc0 phy 1: Atheros AR8035 10/100/1000 PHY, rev. 9
atphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, auto
atphy2 at alc0 phy 2: Atheros AR8035 10/100/1000 PHY, rev. 9
atphy2: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, auto
[...]
atphy31 at alc0 phy 31: Atheros AR8035 10/100/1000 PHY, rev. 9
atphy31: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, auto
ifmedia_match: multiple match for 0x20/0xffbff8ff, selected instance 0
If a developer has got some time please review the patches (especially
the various REVIEWME). I am completely available in order to test the
further changes. When I will have got the ok I will take care to fill
a PR containing the patches and man pages updates.
The patches attached in this email are for -current. Please also note
that I have also added a line to src/sys/dev/pci/pcidevs for another
ar816x card.
I will also attach a complete dmesg.
[0]: Jared, according to "cvs log" it seems that you first ported
alc(4) to NetBSD. I have added you in cc: for this reason.
Thank you very much for your attention!
Ciao,
L.
Looks pretty good, perhaps this:

- if (phy != sc->alc_phyaddr)
- return;
-

is causing your multiple phy issue?

christos


--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Loading...