Subject: NetBSD-current test kernel with SMC ethernet support
To: SUNAGAWA Keiki <kei_sun@ba2.so-net.ne.jp>
From: Allen Briggs <briggs@ninthwonder.com>
List: port-mac68k
Date: 07/31/2000 08:00:46
I have built the GENERIC kernel with support for SMC-based ethernet
controllers--these apparently include the Focus/Interlan (smc91c92?)
as well as the AsanteFAST (smc91c100 10/100 w/ MII).  I had to update
the machine-independent sm* driver to support the 91c100 w/ MII,
revise the mac68k bus_space implementation to allow for byte swapping,
and glue the SMC nubus attachment.

I am running this with NFS on my Q950 (serial console, of course), and
in fact built the GENERIC kernel on an NFS-mounted filesystem using this
interface instead of the built-in SONIC.

I currently have to hard-wire the AsanteFAST to 100baseTX.  On my switch,
the on-board PHY happily negotiates 100baseTX with full-duplex, but the
91c100 controller doesn't support that.  I need to figure that one out.

The GENERIC kernel is available from:
	ftp://ftp.ninthwonder.com/pub/NetBSD/netbsd-GENERIC-smc.gz

If you have an SMC-based ethernet card, please give this driver a shot.
I don't know if SUNAGAWA Keiki is the only one out there...

Also, if you have nubus cards that appear to be nubus versions of PC
cards (soundblaster, etc.), I would like to see if we can get those
supported, too.  If you have one of these that you could loan, please
contact me privately.

Thanks again to the person who sent me the AsanteFAST cards!

Thanks,
-allen

PS. Annoying technical tidbit--the AsanteFAST, at least, wants all
2-byte memory accesses byteswapped _except_ access to the send/recv.
FIFO which is documented to take interspersed byte/word/long accesses
in any order and in any fashion.  Thankfully, the only place the driver
uses the bus_space_read_multi_2() and bus_space_write_multi_2()
functions is reading/writing that FIFO, so I made sure that all of my
bus_space functions did byte-swapping except for those.