Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: Call for testers : age(4),

8 views
Skip to first unread message

Boris Samorodov

unread,
Apr 8, 2008, 4:03:40 PM4/8/08
to
On Thu, 13 Mar 2008 12:43:21 +0900 Pyun YongHyeon wrote:
> On Mon, Mar 10, 2008 at 04:31:50PM +0900, To freebsd...@FreeBSD.org wrote:
> > On Mon, Mar 10, 2008 at 01:34:12PM +0900, To freebsd...@FreeBSD.org wrote:
> > > Hi,
> > >
> > > Due to high pressure from FreeBSD user community to get a working
> > > driver for Attansic/Atheros L1 giagabit ethernet I had changed
> > > priorities in my TODO list. I had spent several weeks to write
> > > this driver and I managed to get a working driver. From my very
> > > limited testing the driver seems to work as expected.
> > >
> > > ATM the performance is horrible so there must be mis-programmed
> > > registers or incorrectly configured parameters. Due to the
> > > existence several variants of L1 hardware and lack of publicly
> > > available documentation I'd like to know how many variants are
> > > supported by this driver. L1 gigabit ethernet controller is
> > > frequently found in ASUS motherboard. Note, it seems that there are
> > > other variants of hardware as known as L2(Fast ethernet) and newer
> > > gigabit ethernet(AR81xx) from Atheros. These are not supported by
> > > this driver and they require a seperate driver. The following
> > > hardware features are supported by age(4).
> > >
> > > - TCP Segmentation Offload.
> > > - Hardware VLAN tag insertion/stripping.
> > > - TCP/UDP checksum offload.
> > > - Interrupt moderation.
> > > - Hardware statistics counter support.
> > > - Jumbo frame support.
> > > - WOL support.
> > >
> > > As I said, I already know poor performance issue of age(4) but I'm
> > > more interested in getting a stable driver. If you're owner of L1
> > > gigabit ethernet controller please give it spin and let me know
> > > how it goes on your system.
> > >
> > > Install:
> > > o Get age(4) jumbo diff at the following URL. The diff was
> > > generated against HEAD but I guess it would also apply to RELENG_7
> > > and 7.0-RELEASE.
> > > http://people.freebsd.org/~yongari/age/age.HEAD.diff
> >
> > For 7.0-RELEASE, use the following URL.
> > http://people.freebsd.org/~yongari/age/age.7.0R.diff

> It seems that previous version have a bug in getting ethernet
> hardware address. To diagnose it I've updated age(4) again and
> put updated files to the same URL.

> For CURRENT:
> http://people.freebsd.org/~yongari/age/age.HEAD.diff
> For RELENG_7/7.0-RELEASE:
> http://people.freebsd.org/~yongari/age/age.7.0R.diff

> > > o Patch kernel srouce and rebuild/reboot your kernel.
> > > #cd /usr/src
> > > #patch -p0 < /path/to/age.HEAD.diff
> > >
> > > Test:
> > > Use age(4) for your normal network activities and report success or
> > > any issues you've encountered. The driver may be chatty to ease of
> > > debugging.

At last I have some spare time to test your patches. I use RELENG_7.
Patches applied cleanly exept one simple case with
sys/modules/mii/Makefile. And now all works fine! Thank you!
I dreamed about using this on-board lan adapter...

Here is some info (Asus P5K m/b):
-----
host% dmesg | grep ^age
age0: <Attansic Technology Corp, L1 Gigabit Ethernet> mem 0xfe8c0000-0xfe8fffff irq 17 at device 0.0 on pci2
age0: PCI device revision : 0x00b0
age0: Chip id/revision : 0x9006
age0: 1280 Tx FIFO, 2364 Rx FIFO
age0: MSIX count : 0
age0: MSI count : 1
age0: Using 1 MSI messages.
age0: Read request size : 512 bytes.
age0: TLP payload size : 128 bytes.
age0: PCI VPD capability not found!
age0: Ethernet address: 00:1d:60:XX:XX:XX
age0: [FILTER]
age0: interrupt moderation is 100 us.
age0: interrupt moderation is 100 us.
age0: link state changed to UP

host% pciconf -vl | grep -A4 age0
age0@pci0:2:0:0: class=0x020000 card=0x82261043 chip=0x10481969 rev=0xb0 hdr=0x00
vendor = 'Attansic (Now owned by Atheros)'
device = 'L1 Gigabit Ethernet 10/100/1000Base-T Ethernet Controller'
class = network
subclass = ethernet

host% ifconfig age0
age0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=19b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4>
ether 00:1d:60:XX:XX:XX
inet 192.168.12.89 netmask 0xffffff00 broadcast 192.168.12.255
media: Ethernet autoselect (1000baseTX <full-duplex>)
status: active

host% vmstat -i
interrupt total rate
irq1: atkbd0 76453 2
irq16: nvidia0+++* 3110144 121
irq17: atapci1 235335 9
irq18: uhci2 ehci* 1 0
irq21: uhci1 109423 4
irq22: pcm0 16 0
cpu0: timer 51011849 1999
irq256: age0 72478 2
cpu3: timer 49962753 1958
cpu1: timer 51002577 1999
cpu2: timer 49962704 1958
Total 205543733 8058
-----


WBR
--
Boris Samorodov (bsam)
Research Engineer, http://www.ipt.ru Telephone & Internet SP
FreeBSD committer, http://www.FreeBSD.org The Power To Serve
_______________________________________________
freebsd...@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-curre...@freebsd.org"

Pyun YongHyeon

unread,
Apr 9, 2008, 2:57:57 AM4/9/08
to

atphy(4) should pick up PHY hardware.
Would you check whether ukphy(4) is attached to the PHY hardware?
Or would you show me 'devinfo -r' output?

Apart form its poor performance, I think age(4) works well for
normal desktop usage pattern. Three issues not resolved yet are

1. Poor performance. No idea how to improve performance without
documentation.

2. For L1 hardwares that have SPI flash interface, age(4) relys on
reading station address register which is supposed to be
initialized during hardware reset. This may not work under
certain circumtances. Linux seems to have SPI flash interface
code from vendor with lots of magic code. Because SPI flash
memory device of different vendors vary in their instruction
codes for read ID instruction, it's very hard to get instruction
codes without detailed information for the flash memory device
used on ethernet controller. Also I guess this SPI flash memory
device should be maintained in other parts of kernel, not in
each driver.

3. Sometimes chip id/revision returns 0xFFFF and hardware does not
work at all. I guess this could be related with controller/PHY
initialziation. Plugging in network cable before system boot
seems to fix the issue.

The third issue should be resolved before committing age(4) to
HEAD. Since I can't reprocude it no ETA for the third issue, sorry.

Thanks for testing!
--
Regards,
Pyun YongHyeon

Boris Samorodov

unread,
Apr 9, 2008, 8:44:24 AM4/9/08
to

host% dmesg | grep phy
atphy0: <Atheros F1 10/100/1000 media interface> PHY 0 on miibus0
atphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, auto

Output of 'devinfo -r' is here:
ftp://ftp.ipt.ru/pub/download/tmp/devinfo

Neither can I.


WBR
--
Boris Samorodov (bsam)
Research Engineer, http://www.ipt.ru Telephone & Internet SP
FreeBSD committer, http://www.FreeBSD.org The Power To Serve

0 new messages