Commit Graph

101 Commits

Author SHA1 Message Date
Bill Paul
dfd1e98eac Add device driver support for USB ethernet adapters based on the
Kawasaki LSI KL5KUSB101B chip, including the LinkSys USB10T, the
Entrega NET-USB-E45, the Peracom USB Ethernet Adapter, the 3Com
3c19250 and the ADS Technologies USB-10BT. This device is 10mbs
half-duplex only, so there's miibus or ifmedia support. This device
also requires firmware to be loaded into it, however KLSI allows
redistribution of the firmware images (I specifically asked about
this; they said it was ok).

Special thanks to Annelise Anderson for getting me in touch with
KLSI (eventually) and thanks to KLSI for providing the necessary
programming info.

Highlights:
- Add driver files to /sys/dev/usb
- update usbdevs and regenerate attendate files
- update usb_quirks.c
- Update HARDWARE.TXT and RELNOTES.TXT for i386 and alpha
- Update LINT, GENERIC and others for i386, alpha and pc98
- Add man page
- Add module
- Update sysinstall and userconfig.c
2000-01-05 04:27:24 +00:00
Bill Paul
ed63a7aaef This commit adds device driver support for the ADMtek AN986 Pegasus
USB ethernet chip. Adapters that use this chip include the LinkSys
USB100TX. There are a few others, but I'm not certain of their
availability in the U.S. I used an ADMtek eval board for development.
Note that while the ADMtek chip is a 100Mbps device, you can't really
get 100Mbps speeds over USB. Regardless, this driver uses miibus to
allow speed and duplex mode selection as well as autonegotiation.
Building and kldloading the driver as a module is also supported.

Note that in order to make this driver work, I had to make what some
may consider an ugly hack to sys/dev/usb/usbdi.c. The usbd_transfer()
function will use tsleep() for synchronous transfers that don't complete
right away. This is a problem since there are times when we need to
do sync transfers from an interrupt context (i.e. when reading registers
from the MAC via the control endpoint), where tsleep() us a no-no.
My hack allows the driver to have the code poll for transfer completion
subject to the xfer->timeout timeout rather that calling tsleep().
This hack is controlled by a quirk entry and is only enabled for the
ADMtek device.

Now, I'm sure there are a few of you out there ready to jump on me
and suggest some other approach that doesn't involve a busy wait. The
only solution that might work is to handle the interrupts in a kernel
thread, where you may have something resembling a process context that
makes it okay to tsleep(). This is lovely, except we don't have any
mechanism like that now, and I'm not about to implement such a thing
myself since it's beyond the scope of driver development. (Translation:
I'll be damned if I know how to do it.) If FreeBSD ever aquires such
a mechanism, I'll be glad to revisit the driver to take advantage of
it. In the meantime, I settled for what I perceived to be the solution
that involved the least amount of code changes. In general, the hit
is pretty light.

Also note that my only USB test box has a UHCI controller: I haven't
I don't have a machine with an OHCI controller available.

Highlights:

- Updated usb_quirks.* to add UQ_NO_TSLEEP quirk for ADMtek part.
- Updated usbdevs and regenerated generated files
- Updated HARDWARE.TXT and RELNOTES.TXT files
- Updated sysinstall/device.c and userconfig.c
- Updated kernel configs -- device aue0 is commented out by default
- Updated /sys/conf/files
- Added new kld module directory
1999-12-28 02:01:18 +00:00
Warner Losh
aa09a81979 Add sn device: smc 91xx based ethernet controllers 1999-12-18 06:23:03 +00:00
Jordan K. Hubbard
8b578ecb19 Correct comment about creating a boot floppy.
Submited by:	Jack O'Neill <jack@germanium.xtalwind.net>
1999-12-16 00:36:05 +00:00
Hellmuth Michaelis
af0f298122 update to isdn4bsd beta release 0.90 1999-12-14 21:14:28 +00:00
David E. O'Brien
5eacf82188 Document `chown's move. 1999-12-14 04:54:55 +00:00
Sheldon Hearn
3b08a8bbe7 Add a warning about the perils of using an older version of sysinstall
to upgrade to a newer version of FreeBSD.

PR:		12777
Reported by:	wayne@staff.msen.com (Michael R. Wayne)
1999-12-13 16:30:55 +00:00
Chris Piazza
0b96c7476e Extra capital letter in COnsole 1999-12-13 06:08:24 +00:00
Jordan K. Hubbard
80da3ae170 Note that Tekram controllers are supported again.
PR:		15090
Reported by:	Ilmar S. Habibulin <ilmar@ints.ru>
1999-12-12 21:06:44 +00:00
Chris Piazza
40921d4855 sd->da, wd->ad 1999-12-12 19:12:45 +00:00
Matthew Dillon
c137e096c2 Add blurb on massive improvements to NFS
Reviewed by:	jkh
1999-12-12 09:53:11 +00:00
Poul-Henning Kamp
2029959351 Remove references to ze and zp drivers. 1999-12-10 10:55:27 +00:00
Bill Paul
96f2e892a7 Add the if_dc driver and remove all of the al, ax, dm, pn and mx drivers
which it replaces. The new driver supports all of the chips supported
by the ones it replaces, as well as many DEC/Intel 21143 10/100 cards.

This also completes my quest to convert things to miibus and add
Alpha support.
1999-12-04 17:41:31 +00:00
Andrew Gallatin
a800cdfbb0 mention AlphaServer 1000 and AlphaServer DS20 1999-12-02 13:39:05 +00:00
Matthew N. Dodd
abe5426763 Remove the "MCA not supported" from RELNOTES.TXT and add
mention of the various devices that are supported.

Add some text and entry to LINT for 'controller mca0'.

I'd like to turn this option on in GENERIC as well as it
isn't impacting and has a small footprint.
1999-12-02 10:01:06 +00:00
Mike Smith
15e7af3ed4 Updates for 4.x:
- Add AMI and Mylex RAID controllers
 - Reflect the demise of the 'eg' and 'ft' drivers
 - Various minor cleanups
 - Add some initial Microchannel information (this could do with some
   fleshing out)
1999-12-02 09:16:02 +00:00
Jordan K. Hubbard
4b0bfc1904 Correct outdated aic entries.
Submitted by:	Greg Lewis <glewis@trc.adelaide.edu.au>
PR:		15186
1999-12-02 08:25:53 +00:00
David E. O'Brien
aac7434a63 Update compiler entries.
Note the 100% total death of /dev/*sd*.
1999-11-27 21:18:19 +00:00
Marcel Moolenaar
bed0c34527 Add signal changes.
i386 only: Add Linuxulator sysctl variables.
1999-11-22 10:22:39 +00:00
Jordan K. Hubbard
98bb29dc55 Remove obsolete token ring support comments.
Reminded by:	joerg
1999-11-12 19:28:48 +00:00
Wes Peters
2c1ebd063c Add information about Intel managed EEPro card.
PR:		docs/14505
Submitted by:	Stephen J. Roznowski    <sjr@home.net>
1999-11-09 06:58:02 +00:00
Dag-Erling Smørgrav
6bdb9bffcc Document my TCP/IP hacks. 1999-11-02 08:44:26 +00:00
Bill Paul
efee742ecc Mention in the documentation that the AOpen/Acer ALN-320 is a supported
ethernet card (PCI, VIA Rhine II chipset).
1999-09-22 19:46:14 +00:00
Bill Paul
1088f6c7c1 Spruce up the ADMtek driver: conver to newbus, miibus and add support
for the AN985 "Centaur" chip, which is apparently the next genetation
of the "Comet." The AN985 is also a tulip clone and is similar to the
AL981 except that it uses a 99C66 EEPROM and a serial MII interface
(instead of direct access to the PHY registers).

Also updated various documentation to mention the AN985 and created
a loadable module.

I don't think there are any cards that use this chip on the market yet:
the datasheet I got from ADMtek has boxes with big X's in them where the
diagrams should be, and the sample boards I got have chips without any
artwork on them.
1999-09-22 05:07:51 +00:00
Jordan K. Hubbard
edf52b48c7 VERY preliminary versions of these documents for the Alpha. I've
made only the most superficial changes so far to HARDWARE.TXT and
eliminated the stuff I absolutely knew didn't work.  That still leaves
a lot of work to do and this is mostly just a place-holder for now.
1999-09-06 15:10:54 +00:00
Bill Paul
e5a9fd5435 This commit adds driver support for PCI fast ethernet NICs based on
the Davicom DM9100 and DM9102 chipsets, including the Jaton Corporation
XPressNet. Datasheet is available from www.davicom8.com.

The DM910x chips are still more tulip clones. The API is reproduced
pretty faithfully, unfortunately the performance is pretty bad. The
transmitter seems to have a lot of problems DMAing multi-fragment
packets. The only way to make it work reliably is to coalesce transmitted
packets into a single contiguous buffer. The Linux driver (written by
Davicom) actually does something similar to this. I can't recomment this
NIC as anything more than a "connectivity solution."

This driver uses newbus and miibus and is supported on both i386
and alpha platforms.
1999-09-06 06:14:30 +00:00
Bill Paul
9555e59a1e This commit adds driver support for the Silicon Integrated Systems
SiS 900 and SiS 7016 PCI fast ethernet chipsets. Full manuals for the
SiS chips can be found at www.sis.com.tw.

This is a fairly simple chipset. The receiver uses a 128-bit multicast
hash table and single perfect entry for the station address. Transmit and
receive DMA and FIFO thresholds are easily tuneable. Documentation is
pretty decent and performance is not bad, even on my crufty 486. This
driver uses newbus and miibus and is supported on both the i386 and
alpha architectures.
1999-09-05 21:01:03 +00:00
Brian Feldman
0c5632c6b5 Update to include IPFW changes that have happened relatively recently. 1999-09-04 17:37:02 +00:00
Jordan K. Hubbard
a828799ddd Migrate these files down to their ${ARCH} subdir. I should have done
this awhile back (next commit will kludge up something reasonable
for the Alpha).
1999-09-04 08:54:14 +00:00
Andrew Gallatin
a3af6eee5a Mention our support of the xp1000 family 1999-08-25 21:14:03 +00:00
Bill Paul
68d88ef81b Mention that the 3Com 3cSOHO100-TX adapter (cheap version of the 3c905B) is
supported, as well as the 3c980B server adapter (newer rev of the 3c980,
same PCI ID) and the 3c905C-TX.
1999-08-22 16:34:52 +00:00
Bill Paul
23e4757cd7 This commit adds device driver support for the Sundance Technologies ST201
PCI fast ethernet controller. Currently, the only card I know that uses
this chip is the D-Link DFE-550TX. (Don't ask me where to buy these: the
only cards I have are samples sent to me by D-Link.)

This driver is the first to make use of the miibus code once I'm sure
it all works together nicely, I'll start converting the other drivers.

The Sundance chip is a clone of the 3Com 3c90x Etherlink XL design
only with its own register layout. Support is provided for ifmedia,
hardware multicast filtering, bridging and promiscuous mode.
1999-08-21 18:34:58 +00:00
Hellmuth Michaelis
2a7e6c3301 update list of ISDN hardware supported by isdn4bsd 0.83 1999-08-07 12:14:39 +00:00
Nik Clayton
f1b11ec4c5 Change "telesis" to "telesyn" to reflect their change of name.
PR:             docs/12435
Submitted by:   Adam Kranzel <shade@dnai.com>
1999-07-27 18:25:29 +00:00
Bill Paul
691c152864 This commit adds device driver support for Adaptec Duralink PCI fast
ethernet controllers based on the AIC-6915 "Starfire" controller chip.
There are single port, dual port and quad port cards, plus one 100baseFX
card. All are 64-bit PCI devices, except one single port model.

The Starfire would be a very nice chip were it not for the fact that
receive buffers have to be longword aligned. This requires buffer
copying in order to achieve proper payload alignment on the alpha.
Payload alignment is enforced on both the alpha and x86 platforms.
The Starfire has several different DMA descriptor formats and transfer
mechanisms. This driver uses frame descriptors for transmission which
can address up to 14 packet fragments, and a single fragment descriptor
for receive. It also uses the producer/consumer model and completion
queues for both transmit and receive. The transmit ring has 128
descriptors and the receive ring has 256.

This driver supports both FreeBSD/i386 and FreeBSD/alpha, and uses newbus
so that it can be compiled as a loadable kernel module. Support for BPF
and hardware multicast filtering is included.
1999-07-25 04:32:50 +00:00
Robert Nordier
d5432a043e Update ThinkPad special mode entry for atkbd0. Add an entry dealing
with failure to detect XT/AT-style keyboards in boot2 during install.

Submitted by: yokota
1999-07-15 19:33:22 +00:00
Bill Paul
3ebb090530 This commit adds driver support for the SysKonnect SK-984x series
gigabit ethernet adapters. This includes two single port cards
(single mode and multimode fiber) and two dual port cards (also single
mode and multimode fiber). SysKonnect is currently the only
vendor with a dual port gigabit ethernet NIC.

The ports on dual port adapters are treated as separate network
interfaces. Thus, if you have an SK-9844 dual port SX card, you
should have both sk0 and sk1 interfaces attached. Dual port cards
are implemented using two XMAC II chips connected to a single
SysKonnect GEnesis controller. Hence, dual port cards are really
one PCI device, as opposed to two separate PCI devices connected
through a PCI to PCI bridge. Note that SysKonnect's drivers use
the two ports for failover purposes rather that as two separate
interfaces, plus they don't support jumbo frames. This applies to
their Linux driver too. :)

Support is provided for hardware multicast filtering, BPF and
jumbo frames. The SysKonnect cards support TCP checksum offload
however this feature is not currently enabled (hopefully it will
be once we get checksum offload support).

There are still a few things that need to be implemeted, like
the ability to communicate with the on-board LM80 voltage/temperature
monitor, but I wanted to get the driver under CVS control and into
-current so people could bang on it.

A big thanks for SysKonnect for making all their programming info
for these cards (and for their FDDI and token ring cards) available
without NDA (see www.syskonnect.com).
1999-07-09 04:30:09 +00:00
Tatsumi Hosokawa
78518611ef Added a short README to PC-card boot.flp directory.
(please check English grammer...:-) )
1999-07-06 13:07:51 +00:00
Brian Feldman
1e9e99efc0 It's really mP6.
:)
1999-07-03 01:56:58 +00:00
Mike Smith
36b717ede4 Mention the Rise MP6, list merged items. There are probably a pile more
changes that need to be listed here.
1999-07-02 23:04:28 +00:00
Jordan K. Hubbard
f1141e3b94 Update these files to match current reality. 1999-07-02 17:11:58 +00:00
Bill Paul
74e5e304a4 Fix support for the PNIC II. Earlier I had assumed that the PNIC II was
similar to the PNIC I (supported by the pn driver). In fact, it's really
a Macronix 98715A with wake on LAN support added. According to LinkSys,
the PNIC II was jointly developed by Lite-On and Macronis. I get the
feeling Macronix did most of the work. (The datasheet has the Macronix
logo on it, and is in fact nearly identical to the 98715 datasheet, except
for the extra wake on LAN registers.) In any case, the PNIC II works just
fine with the Macronix driver.

The changes are:

- Move PCI ID for the PNIC II from the pn driver to the mx driver.
- Mention PNIC II support in mx.4.
- Mention PNIC II support in RELNOTES.TXT and HARDWARE.TXT.
1999-05-28 18:43:25 +00:00
Tim Vanderhoek
e87212489a Update for post 3.2R since this'll be quickly forgotten otherwise.
Say, isn't about time for a -SNAP release?
1999-05-24 23:52:46 +00:00
Tim Vanderhoek
15e406d3ee MF3S: typo 1999-05-24 23:44:57 +00:00
Tim Vanderhoek
6cc2d0051d Typos (one reported in misc/11876 by Andrew Boothman <andrew@cream.org>) 1999-05-24 23:32:00 +00:00
Bill Paul
33b3ee3898 - Fix up some comments in if_wi.c (no code changes)
- Mention that the 6Mbps turbo adapters are supported in HARDWARE.TXT
  and RELNOTES.TXT and the wi.4 man page
- Mention turbo adapters in the wicontrol.8 man page and provide a
  complete table of available transmit speed settings
1999-05-22 16:12:54 +00:00
David E. O'Brien
a5b3fd5d93 Remove `ix' driver. Justin Gibbs added support for the EtherExpress16 to
the `ie' driver in rev 1.41 of if_ie.c on 1997/04/14.  Thus retiring the
`ix' driver.

Forgotten by:	gibbs
1999-05-22 02:33:08 +00:00
David E. O'Brien
af28dc5848 Remove duplicated `ex0' entry. 1999-05-21 18:28:32 +00:00
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
Nick Hibma
c00ffac3b8 Update the list of devices supported (nothing spectacular) 1999-05-18 22:48:18 +00:00