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.
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.
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>
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).
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.
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.
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>
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.
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.
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.
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>
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>
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.
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.
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!
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.
1. Revamp package installer to use new dependency lists and also
pkg_add's new `read from stdin' mode to prevent a copy of the package
from hitting the disk unnecessarily.
2. More fixes for running "not as init" - don't get upset if CDROM already
mounted, do the right thing instead.
3. If running as init, assume first-time install and _don't show the
(W)rite option in the fdisk screen.
4. Many other little tweaks, some of which will have to wait for fuller testing
until I can create a boot floppy (testing certain system-destroying
features of sysinstall can be a royal pain). Expect some more commits.
Root floppy (which actually may be able to go completely away at some point
soon!) is now loadable from ftp/nfs/dos as well as CDROM and (of course)
floppy.
Fix more problems on Poul's Gripe List.
1. Fix a few bugs in the ftp installation code and implement proper
ftp and network shutdown routines.
2. Clean up the menus a fair bit - add a FreeBSD configuration menu.
3. Eliminate the last of the "chaining" - the installation now does
the most obvious thing in the most obvious cases and doesn't present
you with more menus than you were expecting. This makes it necessary to be
a little more explicit in places, but it's still less confusing.
4. Add a few more safety nets for the user. Change a few hard-and-fast
limits to warnings (it now runs as non-root, Bruce).
5. Add descriptions for all the supported ethernet cards.
6. Make the cpio floppy extract put up a menu requesting the drive you wish
to use if you have more than one; don't just always assume drive A.
use them yet, but it's close (we're working on the last wrinkles
in the CD install for now).
2. Complete the CDROM installation strategy code.
3. Simplify the distribtuion loading code.
4. General error message cleanup.
5. Write the /etc/fstab file now and split those routines into config.c
6. Clean up the menus a little more.
This is getting ridiculous. I may have to put the clear() back
and take the performance penalty, Poul.
Tweak the TCP/IP setup menu to look a little nicer.
Add lp0 to the list of available network devices (it was found before
but simply not described properly).
Justin can see it.
2. Attempt to fix the redisplay problems in label.c some more. Not clearing
the screen each time is certainly faster, but it's causing all sorts of
problems.
with the diff/CVS hassles - this represents far too many CVS commit
messages for you folks, and trying to document each and every iteration
of the code is a hassle (and not very useful at that).
implementation.
2. Totally rework device registration. It's about half the size and
more powerful now.
3. Add DOS discovery.
4. Start filling in some of the strategy routines.
5. Another clean-up pass over the menus.
6. Make wizard code use Disk typedef.
If I can get the first strategy routine finished tonite, we should have a working
install (from ftp, at least) this weekend.
It remains to be seen how successfully. The distribution loading code
is still not here yet, but the partition/newfs/mount/cpio-extract cycle
is as complete as it's ever going to get, modulo possible bug fixes.
The TCP/IP setup screen is also sort of here, albeit in a highly-changing
state due to the fact that per-interface information isn't being kept
right now but is being added (thanks, Gary!).
fixed, we should be able to fully set up the user's disk. Still to come
with next commit: filesystem setup, distribution extraction, final
configuration.
nor is it in sync with my working sources, but it leaves me less CVS hassles
to bring in the new files at this time. Still no documentation to translate
quite yet, but soon. This stuff is actually very close now.