Commit Graph

91 Commits

Author SHA1 Message Date
Bill Paul
ab431312b4 This commit adds driver support for PCI fast ethernet cards based on the
ADMtek AL981 "Comet" chipset. The AL981 is yet another DEC tulip clone,
except with simpler receive filter options. The AL981 has a built-in
transceiver, power management support, wake on LAN and flow control.
This chip performs extremely well; it's on par with the ASIX chipset
in terms of speed, which is pretty good (it can do 11.5MB/sec with TCP
easily).

I would have committed this driver sooner, except I ran into one problem
with the AL981 that required a workaround. When the chip is transmitting
at full speed, it will sometimes wedge if you queue a series of packets
that wrap from the end of the transmit descriptor list back to the
beginning. I can't explain why this happens, and none of the other tulip
clones behave this way. The workaround this is to just watch for the end
of the transmit ring and make sure that al_start() breaks out of its
packet queuing loop and waiting until the current batch of transmissions
completes before wrapping back to the start of the ring. Fortunately, this
does not significantly impact transmit performance.

This is one of those things that takes weeks of analysis just to come
up with two or three lines of code changes.
1999-05-21 04:37:48 +00:00
Bill Paul
d02c233129 Add driver support for gigabit ethernet adapters based on the Alteon
Networks Tigon 1 and Tigon 2 chipsets. There are a _lot_ of OEM'ed
gigabit ethernet adapters out there which use the Alteon chipset so
this driver covers a fair amount of hardware. I know that it works with
the Alteon AceNIC, 3Com 3c985 and Netgear GA620, however it should also
work with the DEC/Compaq EtherWORKS 1000, Silicon Graphics Gigabit
ethernet board, NEC Gigabit Ethernet board and maybe even the IBM and
and Sun boards. The Netgear board is the cheapest (~$350US) but still
yields fairly good performance.

Support is provided for jumbo frames with all adapters (just set the
MTU to something larger than 1500 bytes), as well as hardware multicast
filtering and vlan tagging (in conjunction with the vlan support in
-current, which I should merge into -stable soon). There are some hooks
for checksum offload support, but they're turned off for now since
FreeBSD doesn't have an officially sanctioned way to support checksum
offloading (yet).

I have not added the 'device ti0' entry to GENERIC since the driver
with all the firmware compiled in is quite large, and it doesn't really
fit into the category of generic hardware.
1999-04-06 17:08:31 +00:00
Jordan K. Hubbard
3e6a56bb87 Add an option for resetting and rescanning the probed device list, perhaps
to now detect that CD you just remembered to put in the drive or that
pccard NIC that you've inserted (anybody can put pccardd in an mfsroot image
now you know.. :)

Requested by:	Annelise Anderson <andrsn@andrsn.Stanford.EDU>
1999-04-06 08:25:53 +00:00
Bill Paul
31188d61c1 Add driver support (and man page) for PCI fast ethernet cards based
on the ASIX AX88140A chip. Update /sys/conf/files, RELNOTES.TXT,
/sys/i388/i386/userconfig.c, sysinstall/devices.c, GENERIC and LINT
accordingly.

For now, the only board that I know of that uses this chip is the
Alfa Inc. GFC2204. (Its predecessor, the GFC2202, was a DEC tulip card.)
Thanks again to Ulf for obtaining the board for me. If anyone runs
across another, please feel free to update the man page and/or the
release notes. (The same applies for the other drivers.)

FreeBSD should now have support for all of the DEC tulip workalike
chipsets currently on the market (Macronix, Lite-On, Winbond, ASIX).
And unless I'm mistaken, it should also have support for all PCI fast
ethernet chipsets in general (except maybe the SMC FEAST chip, which
nobody seems to ever use, including SMC). Now if only we could convince
3Com, Intel or whoever to cough up some documentation for gigabit
ethernet hardware.

Also updated RELNOTEX.TXT to mention that the SVEC PN102TX is supported
by the Macronix driver (assuming you actually have an SVEC PN102TX with
a Macronix chip on it; I tried to order a PN102TX once and got a box
labeled 'Hawking Technology PN102TX' that had a VIA Rhine board inside
it).
1999-01-09 18:12:08 +00:00
Bill Paul
726ff6a158 An early Christmas present: add driver support for a whole bunch of
PCI fast ethernet adapters, plus man pages.

if_pn.c: Netgear FA310TX model D1, LinkSys LNE100TX, Matrox FastNIC 10/100,
         various other PNIC devices

if_mx.c: NDC Communications SOHOware SFA100 (Macronix 98713A), various
         other boards based on the Macronix 98713, 98713A, 98715, 98715A
         and 98725 chips

if_vr.c: D-Link DFE530-TX, other boards based on the VIA Rhine and
         Rhine II chips (note: the D-Link and certain other cards
         that actually use a Rhine II chip still return the PCI
         device ID of the Rhine I. I don't know why, and it doesn't
         really matter since the driver treats both chips the same
         anyway.)

if_wb.c: Trendware TE100-PCIE and various other cards based on the
         Winbond W89C840F chip (the Trendware card is identical to
         the sample boards Winbond sent me, so who knows how many
         clones there are running around)

All drivers include support for ifmedia, BPF and hardware multicast
filtering.

Also updated GENERIC, LINT, RELNOTES.TXT, userconfig and
sysinstall device list.

I also have a driver for the ASIX AX88140A in the works.
1998-12-04 18:01:24 +00:00
Jordan K. Hubbard
fbe55bf292 Add entries for DiskOnChip2000 Flash device.
Submitted by:	phk
1998-10-19 14:58:38 +00:00
Bill Paul
589e38a609 Add driver support for PCI fast ethernet adapters based on the
RealTek 8129/8139 chipset like I've been threatening. Update kernel
configs, userconfig.c, relnotes and sysinstall. No man page yet;
comming soon.

I consider this driver stable enough that I want to give it some
exposure in -current.
1998-10-18 16:24:34 +00:00
Daniel O'Callaghan
3eba1a33e8 Fix typo in message. 1998-09-30 01:46:27 +00:00
Jordan K. Hubbard
eb0ffee8a1 Remove support for floppy tape installs. I'm sorry, we're outta
space, and it's either this or the DOS installs.  I think that the
DOS installs are somehow more important. :)
1998-09-26 17:05:08 +00:00
Justin T. Gibbs
c39581f667 Device name cleanup for CAM. 1998-09-15 10:24:46 +00:00
Bill Paul
a5be897656 Add device list entries for the tl and xl PCI ethernet devices. 1998-09-13 16:45:10 +00:00
Jordan K. Hubbard
8eac04a792 MF22: Paul Traina's changes. 1998-07-18 09:42:02 +00:00
Jordan K. Hubbard
eeae79cc34 Crank the max possible disks/slices constants way down.
The probe for this sometimes makes IDE drives chatter their guts out
and takes an inordinately long time in such cases..
1998-06-29 09:28:01 +00:00
Jordan K. Hubbard
515cf34afd Merge updates from 2.2 1998-05-24 20:01:33 +00:00
Jordan K. Hubbard
9b6f1a185f Make Mitsumi and Sony CDROM devs also use the `a' device. I think
they'll have (or are having) similar problems to those described
for the matcd device in PR#6576
1998-05-11 00:47:27 +00:00
Jordan K. Hubbard
92be7163cc It was incorrect to use the `c' device for the matcd driver;
apparently, unlike the IDE or SCSI CDROM drivers, this is magically
special-cased for audio CDs.  This also might explain what happened
with scd (Sony) CDs also since I made the same change there.  A follow-up
commit will fix that. Thanks, Dave!

PR:		6576
Submitted by:	Dave Marquardt <marquard@zilker.net>
1998-05-11 00:45:06 +00:00
Jordan K. Hubbard
2be6f70cf6 MF22: create raw slice entries. 1998-03-20 23:39:57 +00:00
Jordan K. Hubbard
e5610c61ba Ack, fix typo in last commit. 1998-03-20 18:26:04 +00:00
Jordan K. Hubbard
8ff4186a6f My face is red - make the code for creating slices actually work now. 1998-03-20 18:07:02 +00:00
Jordan K. Hubbard
95742f4173 1. If device node already exists, don't gratuituously try to make it
again.

2. Don't create slice entries when running multi-user; it adds far too
   much to sysinstall's startup time.  User is expected to have correct
   slice entries after system is installed.
1998-03-16 14:33:18 +00:00
Jordan K. Hubbard
9f5f4b12f4 When doing "make unders", also remember to make entries for
any slices that exist.
1998-03-15 16:15:47 +00:00
Jordan K. Hubbard
d5cbea7e97 Form device names correctly with new unit# syntax. 1998-02-10 18:43:11 +00:00
Jordan K. Hubbard
59617ad4b8 Totally change the way that devices are made in the MFS and subsequently
probed in sysinstall.  Rather than make template devices and use up lots
of inodes, also restricting the number of devices that can be dealt with,
mknod all necessary devices as necessary using built-in information.
This removes a number of constraints on the number and type of devices
that sysinstall can see.
1998-02-10 18:31:27 +00:00
Jordan K. Hubbard
c922e45175 MF22: match entries for wfd 1998-01-22 21:14:31 +00:00
Jordan K. Hubbard
9d8d61fb4d Add entry for SMC 9432TX cards (tx driver). 1998-01-21 19:25:49 +00:00
Jordan K. Hubbard
83ac5c703b Add wfd style devices to detection list (we'll have to put them on the
boot floppy too, of course - hope I still have enough inodes! :)
1998-01-19 23:28:41 +00:00
Jordan K. Hubbard
b46285e3cf Benign changes to support Justin's CAM code. 1998-01-16 12:53:04 +00:00
Peter Wemm
b97fa2ef50 Revert $FreeBSD$ to $Id$ 1997-02-22 14:13:04 +00:00
Jordan K. Hubbard
f8ea17db2b Add device entries and documentation for Intel EtherExpress Pro/10 driver. 1997-01-17 14:18:10 +00:00
Jordan K. Hubbard
d42e16a0d6 Keep our serial ports distinct so that first device is not found for
all (closes PR#2296).
Print better FTP failure diagnostics
Do better media failure checking in install.
1997-01-15 16:21:10 +00:00
Jordan K. Hubbard
615d72264e Register SLIP/PPP devices properly again.
Make the /etc resurrection more sensible for upgrade.  No longer
quite so annoying.
1997-01-15 13:39:50 +00:00
Jordan K. Hubbard
1130b656e5 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
Jordan K. Hubbard
fb25893d57 Add extra tweak for -current compilation and some debugging. 1997-01-06 11:32:44 +00:00
Jordan K. Hubbard
719de2bced Clean up device handling WRT slip and ppp devices. An incomplete transition
from one convention to another had things pretty fouled up in here.
1997-01-04 13:29:10 +00:00
Jordan K. Hubbard
e5b09b7d10 Do something I've wanted to do for quite some time - collapse all the
common layout code into some work functions and make all the layout-using
routine adopt them.  Also reorganize includes and generally clean up.
1997-01-03 06:32:39 +00:00
Jordan K. Hubbard
9f2e984973 Clean up some calls to close(). 1996-12-26 21:03:04 +00:00
Jordan K. Hubbard
507372af02 Now that I've got my source tree sorted out, bring all the things
I've been committing into 2.2 directly all this time.
1996-12-14 23:09:10 +00:00
Jordan K. Hubbard
0fd6d431cf Do a few things I've been threatening to do for a long time:
1. Don't use the MSDOSFS code for accessing FreeBSD distribution data.
   Use Robert Nordier's stand-alone DOS I/O library for the purpose.
   It this works as well as Robert says it does, it should drastically reduce
   (or even eliminate) our "I can't install from my DOS partition!" calls.

2. As a result of the above, go to stdio file descriptors for all
   media types.

3. Taking advantage of #2, start using libftpio for FTP transfers instead
   of maintaining our own parallel version of the FTP transfer code.
   Yay!  I ripped something out for a change!

#1 Submitted-By: Robert Nordier <rnordier@iafrica.com>
1996-12-11 09:35:06 +00:00
Jordan K. Hubbard
00b69db338 As Paul has just pointed out, much of my strncpy() usage was either
bogus or overly complex and really needed to be done more consistently
and sanely throughout - no question about it.  Done.

Suggested-By: Paul Traina <pst@Shockwave.COM>
1996-12-09 08:22:19 +00:00
Jordan K. Hubbard
ba5555f0e6 Several areas of improvement:
o Incorporate some of Tatsumi's bug fixes.
	o Remove the xperimnt and commerce distribution items; they haven't
	  been actual distributions for awhile.
	o Try to sanitize the device checking code a little more.
	o Cosmetic work on the network code.
1996-12-08 12:27:58 +00:00
Joerg Wunsch
4b8d17f492 Open devices read-only to test whether they are available. This
allows to use write-protected tapes...
1996-11-27 01:01:52 +00:00
Jordan K. Hubbard
532c723611 Add vx to list of devices. 1996-11-15 19:53:08 +00:00
Jordan K. Hubbard
2ac528a98f 1. Change device probing so that high speed network devices are found before
SLIP/PPP devices, putting them before the others in the network device
   selection menu.

2. Change "Other" to "URL" so as not to conflict with the keyboard accellerator
   for the "OK" button in FTP site selection menu.

3. Detect the NULL last symbol in the name list and initialize the other
   members correctly.
1996-10-05 11:56:50 +00:00
Jordan K. Hubbard
f6d3326b0c Fix EBUSY checking in devices.c - DTRT when it's detected on a CD. 1996-07-13 05:09:29 +00:00
Jordan K. Hubbard
0447d04bb0 Uh, this is what I was really thinking when I made the device registration
changes - honest! :-)
1996-06-13 17:07:41 +00:00
Jordan K. Hubbard
78dc4171c3 Dispense with the special case handling of cuaa* devices by synthesizing
separate entries for sl0 and ppp0 on each device.
1996-06-12 17:09:34 +00:00
Jordan K. Hubbard
2113a60c4b Bring this into sync.
I still have a _very very annoying_ display bug which occurs when a menu
item causes a submenu to be displayed - the screen repaints for the original
menu (which is restored upon return from the submenu) are off by about 4
characters.  I've tried restoring the screen, the cursor position, you name
it - same deal.  Grrrr!  This commit is my first step in trying to get someone
else to help me look into this one since I'm just tearing my hair out at this
point!
1996-04-23 01:29:35 +00:00
Jordan K. Hubbard
af4cbec4e1 1. Update all the copyrights to delete useless clauses 3 and 4.
2. Change more of the menu code over to new system.
3. Streamline label editor.
1996-04-13 13:32:15 +00:00
Jordan K. Hubbard
957bdf511e Major surgery.
1. Use new dialog menu hacks (no strings, just arrays of dialogMenuItem structs)
   so that I can create composite menus with radio/checkbox/... items in them,
   removing some long-standing UI bogons in various menus.  This work isn't
   finished yet, but will be done in two phases.  This is phase one.

2. Remove all the script installation stuff.  I never got time to document it,
   it was arcane and it just complicated much of the code.  There are better
   ways of doing this if I want to do auto-driven installations later.

3. Remove much dead code and otherwise attempt to remove as much historical
   grot as possible so that this code is easier to hack on.  This is also
   a two-stage process, phase one of which is now complete.
1996-04-07 03:52:36 +00:00
Jordan K. Hubbard
d28a7b994c Remove some rather useless debugging messages. 1996-03-24 09:36:41 +00:00