Call for testers: Atheros AR8121(L1E)/AR8113/AR8114(L2E) ethernet

Pyun YongHyeon pyunyh at gmail.com
Fri Nov 7 21:25:32 PST 2008


On Fri, Nov 07, 2008 at 03:47:24PM +0900, To freebsd-current at FreeBSD.org wrote:
 > On Fri, Oct 31, 2008 at 12:44:43PM +0900, To freebsd-current at FreeBSD.org wrote:
 >  > On Thu, Oct 30, 2008 at 08:48:45PM +0900, To freebsd-current at FreeBSD.org wrote:
 >  >  > On Thu, Oct 30, 2008 at 01:06:37PM +0900, To freebsd-current at FreeBSD.org wrote:
 >  >  >  > 
 >  >  >  > Hi,
 >  >  >  > 
 >  >  >  > I had been working on writing a driver for Atheros AR8121(L1E),
 >  >  >  > AR8113/AR8114(L2E) ethernet controllers since Jeremy Chadwick sent
 >  >  >  > the hardware to me. I think it's feature complete state and time
 >  >  >  > for more testing for stability or some edge cases. I guess AR81xx
 >  >  >  > is commonly found on newer Asus EeePC or P5Q series of Asus
 >  >  >  > motherboard. If you have AR81xx controller would you give it spin
 >  >  >  > and let me know how it goes? You can get the latest driver at the
 >  >  >  > following URL.
 >  >  >  > http://people.freebsd.org/~yongari/ate/if_ate.c
 >  >  >  > http://people.freebsd.org/~yongari/ate/if_atereg.h
 >  >  >  > http://people.freebsd.org/~yongari/ate/if_atevar.h
 >  >  >  > http://people.freebsd.org/~yongari/ate/Makefile
 >  >  >  > or
 >  >  >  > http://people.freebsd.org/~yongari/ate/ate.20081030.tar.gz
 >  >  >  > The driver should build without problems on CURRENT, stable/7.
 >  >  >  > 
 >  >  >  > ATM the driver supports the following hardware features.
 >  >  >  >  - TSO
 >  >  >  >  - Rx TCP/UDP/IP checksum offload
 >  >  >  >  - VLAN tag insertion/stripping
 >  >  >  >  - Jumbo frame
 >  >  >  >  - WOL
 >  >  >  > It seems that hardware supports Tx checksum offload but I couldn't
 >  >  >  > make it work for TCP segments. Only short TCP segments seem to work
 >  >  >  > so I disabled Tx checksum offload.
 >  >  >  > Note, the hardware does not support descriptor based DMA on Rx side
 >  >  >  > so driver have to copy recevied frames to pass them to upper stack
 >  >  >  > so it will consume a lot of CPU cycles if you push the hardware to
 >  >  >  > the limit.
 >  >  >  > 
 >  >  > 
 >  >  > As bruffer pointed out the device name chosen conflicts with other
 >  >  > driver in tree so I renamed it to ale(4).The URL for the driver is
 >  >  > http://people.freebsd.org/~yongari/ale/if_ale.c
 >  >  > http://people.freebsd.org/~yongari/ale/if_alereg.h
 >  >  > http://people.freebsd.org/~yongari/ale/if_alevar.h
 >  >  > http://people.freebsd.org/~yongari/ale/Makefile
 >  >  > or
 >  >  > http://people.freebsd.org/~yongari/ale/ale.20081030.tar.gz
 >  >  > Sorry for confusion.
 >  >  > 
 >  > 
 >  > FYI:
 >  > There was a typo that keep ale(4) from building on stable/7. It was
 >  > fixed now and I reuploaded related files(URLs are the same as before).
 > 
 > Finally I've managed to make Tx checksum offload work and added one
 > more workaround for silicon bug. As usual updated ale(4) can be
 > found at the following URL.
 > 
 > http://people.freebsd.org/~yongari/ale/if_ale.c   
 > http://people.freebsd.org/~yongari/ale/if_alereg.h
 > http://people.freebsd.org/~yongari/ale/if_alevar.h
 > http://people.freebsd.org/~yongari/ale/Makefile
 > or 
 > http://people.freebsd.org/~yongari/ale/ale.20081107.tar.gz
 > 
 > The workaround takes more CPU cycles than previous one but you can
 > still saturate the link if you have fast CPU. I'll commit this
 > version within a week unless severe issues are reported.
 > 

One user reported non-working NFS over UDP and I disabled Rx
checksum offload as AR81xx hardware is not able to handle
fragmented IP datagrams correctly. So it's highly recommended to
disable Rx checksum offload or use the following updated files.

http://people.freebsd.org/~yongari/ale/ale.20081108.tar.gz

-- 
Regards,
Pyun YongHyeon


More information about the freebsd-current mailing list