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

Pyun YongHyeon pyunyh at gmail.com
Thu Nov 6 22:49:30 PST 2008


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.

Thanks.
-- 
Regards,
Pyun YongHyeon


More information about the freebsd-current mailing list