Subject: LAN adapter driver
To: None <>
From: Christian Groessler <>
List: port-dreamcast
Date: 06/08/2002 16:45:13

here's my try at a driver for the lan adapter.

As information source I used the lan adapter patch to dcload-ip
(, the improved
version of this in the KOS library (, the
FreeBSD mb86960 driver and finally the mb86960 data sheet.
The driver is derived from the sys/dev/isa/if_fmv.c driver.

You can find a diff against recent -current on
You'll also need the patch in kern/17193.

I have a question:

According to the KOS library, the lan adapter is sitting on the G2
bus. Since the lan adapter has a special register decoding, I gave it
its own bus sitting on the shb bus.
The register decoding is as follows:

regnum  -  address
   0         0
   1         4
   2         8

You see it. I made bus_space_xxx functions which multiply the regnum by
4, so I could use the mi mb86960.c driver without change. (There was a
change needed, see kern/17193, but it is another issue.)

Is this OK to do, or should I solve this differently?

There are still some reliability problems, sometimes a tcp connection
gets stuck. The adapter is still working then as I can create new
connections which do work. Does anyone have an idea what this could

Please everyone with a lan adapter try it out and give feedback...