This is a driver for SMC's 9000 series of Ethernet adapters suitable for use with FreeBSD 2.1 It was written by: Gardner Buchanan SHL Systemhouse Inc. Suite 501, 50 O'Connor St. Ottawa Ontario, Canada K1H 7C7 (613) 236-6604 x5375 This software is Copyright (C) 1996 by Gardner Buchanan. This FreeBSD driver is derived in part from the smc9194 Linux driver by Erik Stahlman and is therefore Copyright (C) 1996 by Erik Stahlman. This software also shamelessly borrows from the FreeBSD ep driver which is Copyright (c) 1994 Herb Peyerl All rights reserved. NOTE: Though I gave credit where it is due, please do not expect any of the contributors other than me (Gardner Buchanan, gbuchanan@shl.com) to be of any help with this driver. If you have questions or comments, please send them to me. The driver is set up for my SMC91C92 equipped Ampro LittleBoard embedded PC. It is adapted from Erik Stahlman's Linux driver which worked with his EFA Info*Express SVC VLB adaptor. According to SMC's databook, it will work for the entire SMC 9xxx series. (Ha Ha) Authors: Erik Stahlman erik@vt.edu Herb Peyerl hpeyerl@novatel.ca Andres Vega Garcia avega@sophia.inria.fr Serge Babkin babkin@hq.icb.chel.su Gardner Buchanan gbuchanan@shl.com Sources: o SMC databook o "smc9194.c:v0.10(FIXED) 02/15/96 by Erik Stahlman (erik@vt.edu)" o "if_ep.c,v 1.19 1995/01/24 20:53:45 davidg Exp" Known bugs: (1) The hardware multicast filter isn't used yet. (2) Setting of the hardware address isn't supported. (3) Hardware padding isn't used. (4) The statistics are probably not recorded properly. History: 02/15/96 Erik Stahlman smc9194.c:v0.10(FIXED) 02/15/96 03/01/96 Gardner Buchanan port to FreeBSD 03/15/96 Gardner Buchanan Finally works Installation and Use: You will need to add these files to your kernel source directory, edit the files.i386 file, configure a new kernel and build it. In detail: 1 - Put the two file if_sn.c and if_snreg.h in /usr/src/sys/i386/isa (in the same directory as the other isa ethernet drivers, like if_ep.c etc.) 2 - Edit the file /usr/src/sys/i386/conf/files.i386 and stick in a line like this one near the other isa network interfaces: i386/isa/if_sn.c optional sn device-driver It put mine just uner the ep_if.c line and built it by copying and editing that entry. 3 - Edit a kernel configuration file and put in a line like this: device sn0 at isa? port 0x300 net irq 10 vector snintr You will have to put in the correct IRQ and port addresses since the probe will not find the card if they are left out. There are dependencies among the probing orders of various Ethernet adapters. I have not figured out whether this matters for the SMC91Cxx. 4 - Configure and build the kernel, boot from it and watch for fireworks. I recommend booting in single user mode to try out the driver. You can ifconfig it by hand and test things out. If it panics, your disks are safely read-only. The interface is sn0. I have never attempted to configure more than one unit, but the code should handle it just fine. Good luck, and have fun.