Deactivate manpages repo-copied to man4 directory (all these drivers

not i386 specific anymore -- move them to appropriate place)
This commit is contained in:
Alexey Zelkin 1999-11-15 23:10:44 +00:00
parent 1f297a8943
commit 26a4cb66b9
43 changed files with 10 additions and 9148 deletions

View File

@ -1,111 +1,67 @@
# $FreeBSD$
MAN4= adv.4 adw.4 aha.4 ahb.4 ahc.4 aic.4 al.4 alpm.4 apm.4 ar.4 asc.4 \
atkbd.4 atkbdc.4 ax.4 bktr.4 bt.4 cs.4 cx.4 cy.4 de.4 \
dgb.4 dm.4 dpt.4 ed.4 el.4 en.4 ep.4 ex.4 fdc.4 fe.4 fxp.4 gsc.4 \
ie.4 io.4 joy.4 keyboard.4 labpc.4 le.4 lnc.4 matcd.4 mcd.4 \
mem.4 meteor.4 mouse.4 mse.4 mtio.4 mx.4 ncr.4 npx.4 \
ohci.4 pcf.4 pcm.4 pcvt.4 perfmon.4 pn.4 pnp.4 ppc.4 psm.4 \
rdp.4 rl.4 sb.4 scd.4 screen.4 sf.4 si.4 sio.4 sis.4 sk.4 \
spkr.4 splash.4 sr.4 ste.4 syscons.4 sysmouse.4 ti.4 tl.4 tw.4 \
tx.4 uhci.4 ukbd.4 umass.4 ums.4 usb.4 vga.4 vr.4 vx.4 \
wb.4 wd.4 wfd.4 wi.4 wl.4 wt.4 xl.4 ze.4 zp.4
MAN4= adv.4 adw.4 aha.4 ahb.4 aic.4 alpm.4 apm.4 ar.4 asc.4 \
bktr.4 bt.4 cs.4 cx.4 cy.4 \
dgb.4 dpt.4 ed.4 el.4 en.4 ep.4 ex.4 fe.4 gsc.4 \
ie.4 io.4 joy.4 labpc.4 le.4 lnc.4 matcd.4 mcd.4 \
meteor.4 mse.4 npx.4 \
pcf.4 perfmon.4 pnp.4 ppc.4 \
rdp.4 sb.4 scd.4 \
spkr.4 sr.4 tw.4 \
tx.4 vx.4 \
wd.4 wfd.4 wi.4 wl.4 wt.4 ze.4 zp.4
MLINKS= adv.4 ../adv.4
MLINKS+= adw.4 ../adw.4
MLINKS+= aha.4 ../aha.4
MLINKS+= ahb.4 ../ahb.4
MLINKS+= ahc.4 ../ahc.4
MLINKS+= aic.4 ../aic.4
MLINKS+= al.4 ../al.4
MLINKS+= alpm.4 ../alpm.4
MLINKS+= apm.4 ../apm.4
MLINKS+= ar.4 ../ar.4
MLINKS+= asc.4 ../asc.4
MLINKS+= atkbd.4 ../atkbd.4
MLINKS+= atkbdc.4 ../atkbdc.4
MLINKS+= ax.4 ../ax.4
MLINKS+= bktr.4 ../bktr.4
MLINKS+= bt.4 ../bt.4
MLINKS+= cs.4 ../cs.4
MLINKS+= cx.4 ../cx.4
MLINKS+= cy.4 ../cy.4
MLINKS+= de.4 ../de.4
MLINKS+= dgb.4 ../dgb.4
MLINKS+= dm.4 ../dm.4
MLINKS+= dpt.4 ../dpt.4
MLINKS+= ed.4 ../ed.4
MLINKS+= el.4 ../el.4
MLINKS+= en.4 ../en.4
MLINKS+= ep.4 ../ep.4
MLINKS+= ex.4 ../ex.4
MLINKS+= fdc.4 ../fdc.4
MLINKS+= fe.4 ../fe.4
MLINKS+= fxp.4 ../fxp.4
MLINKS+= gsc.4 ../gsc.4
MLINKS+= ie.4 ../ie.4
MLINKS+= io.4 ../io.4
MLINKS+= joy.4 ../joy.4
MLINKS+= keyboard.4 ../keyboard.4
MLINKS+= labpc.4 ../labpc.4
MLINKS+= le.4 ../le.4
MLINKS+= lnc.4 ../lnc.4
MLINKS+= matcd.4 ../matcd.4
MLINKS+= mcd.4 ../mcd.4
MLINKS+= mem.4 kmem.4 mem.4 ../mem.4 mem.4 ../kmem.4
MLINKS+= meteor.4 ../meteor.4
MLINKS+= mouse.4 ../mouse.4
MLINKS+= mse.4 ../mse.4
MLINKS+= mtio.4 ../mtio.4
MLINKS+= mx.4 ../mx.4
MLINKS+= ncr.4 ../ncr.4
MLINKS+= npx.4 ../npx.4
MLINKS+= ohci.4 ../ohci.4
MLINKS+= pcf.4 ../pcf.4
MLINKS+= pcm.4 ../pcm.4
MLINKS+= pcvt.4 vt.4 pcvt.4 ../pcvt.4 pcvt.4 ../vt.4
MLINKS+= perfmon.4 ../perfmon.4
MLINKS+= pn.4 ../pn.4
MLINKS+= pnp.4 ../pnp.4
MLINKS+= ppc.4 ../ppc.4
MLINKS+= psm.4 ../psm.4
MLINKS+= rdp.4 ../rdp.4
MLINKS+= rl.4 ../rl.4
MLINKS+= sb.4 ../sb.4
MLINKS+= scd.4 ../scd.4
MLINKS+= screen.4 ../screen.4
MLINKS+= sf.4 ../sf.4
MLINKS+= si.4 ../si.4
MLINKS+= sio.4 ../sio.4
MLINKS+= sis.4 ../sis.4
MLINKS+= sk.4 ../sk.4
MLINKS+= spkr.4 ../spkr.4 spkr.4 speaker.4 spkr.4 ../speaker.4
MLINKS+= splash.4 ../splash.4 \
splash.4 screensaver.4 splash.4 ../screensaver.4
MLINKS+= sr.4 ../sr.4
MLINKS+= ste.4 ../ste.4
MLINKS+= syscons.4 ../syscons.4 \
syscons.4 sc.4 syscons.4 ../sc.4
MLINKS+= sysmouse.4 ../sysmouse.4
MLINKS+= ti.4 ../ti.4
MLINKS+= tl.4 ../tl.4
MLINKS+= tw.4 ../tw.4
MLINKS+= tx.4 ../tx.4
MLINKS+= uhci.4 ../uhci.4
MLINKS+= ukbd.4 ../ukbd.4
MLINKS+= umass.4 ../umass.4
MLINKS+= ums.4 ../ums.4
MLINKS+= usb.4 ../usb.4
MLINKS+= vga.4 ../vga.4
MLINKS+= vr.4 ../vr.4
MLINKS+= vx.4 ../vx.4
MLINKS+= wb.4 ../wb.4
MLINKS+= wd.4 ../wd.4
MLINKS+= wfd.4 ../wfd.4
MLINKS+= wi.4 ../wi.4
MLINKS+= wl.4 ../wl.4
MLINKS+= wt.4 ../wt.4
MLINKS+= xl.4 ../xl.4
MLINKS+= ze.4 ../ze.4
MLINKS+= zp.4 ../zp.4

View File

@ -1,251 +0,0 @@
.\"
.\" Copyright (c) 1995, 1996, 1997, 1998
.\" Justin T. Gibbs. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd October 15, 1998
.Dt AHC 4 i386
.Os FreeBSD
.Sh NAME
.Nm ahc
.Nd Adaptec VL/EISA/PCI SCSI host adapter driver
.Sh SYNOPSIS
For one or more VL/EISA cards:
.Cd controller eisa0
.Cd controller ahc0
.Pp
For one or more PCI cards:
.Cd controller pci0
.Cd controller ahc0
.Pp
To allow PCI adapters to use memory mapped I/O if enabled:
.Cd options AHC_ALLOW_MEMIO
.Pp
For one or more SCSI busses:
.Cd controller scbus0 at ahc0
.Sh DESCRIPTION
This driver provides access to the
.Tn SCSI
bus(es) connected to Adaptec
.Tn AIC7770,
.Tn AIC7850,
.Tn AIC7860,
.Tn AIC7870,
.Tn AIC7880,
.Tn AIC7890,
.Tn AIC7891,
.Tn AIC7895,
.Tn AIC7896,
or
.Tn AIC7897
host adapter chips.
These chips are found on many motherboards as well as the following
Adaptec SCSI controller cards:
.Tn 274X(W),
.Tn 274X(T),
.Tn 284X,
.Tn 2920C,
.Tn 2930U2,
.Tn 2940,
.Tn 2940U,
.Tn 2940AU,
.Tn 2940UW,
.Tn 2940UW Dual,
.Tn 2940U2W,
.Tn 2940U2B,
.Tn 2950U2W,
.Tn 2950U2B,
.Tn 3940,
.Tn 3940U,
.Tn 3940AU,
.Tn 3940UW,
.Tn 3940AUW,
.Tn 3940U2W,
.Tn 3950U2,
and
.Tn 3985.
.Pp
Driver features include support for twin and wide busses,
fast, ultra and ultra2 synchronous transfers depending on controller type,
tagged queuing,
and SCB paging.
.Pp
Memory mapped I/O can be enabled for PCI devices with the
.Dq Dv AHC_ALLOW_MEMIO
configuration option.
Memory mapped I/O is more efficient than the alternative, programmed I/O.
Most PCI BIOSes will map devices so that either technique for communicating
with the card is available.
In some cases,
usually when the PCI device is sitting behind a PCI->PCI bridge,
the BIOS fails to properly initialize the chip for memory mapped I/O.
The symptom of this problem is usually a system hang if memory mapped I/O
is attempted.
Most modern motherboards perform the initialization correctly and work fine
with this option enabled.
.Pp
Per target configuration performed in the
.Tn SCSI-Select
menu, accessible at boot
in
.No non- Ns Tn EISA
models,
or through an
.Tn EISA
configuration utility for
.Tn EISA
models,
is honored by this driver with the stipulation that the
.Tn BIOS
must be enabled for
.Tn EISA
adaptors. This includes synchronous/asynchronous transfers,
maximum synchronous negotiation rate,
disconnection,
the host adapter's SCSI ID,
and,
in the case of
.Tn EISA
Twin Channel controllers,
the primary channel selection.
.Pp
Note that I/O addresses are determined automatically by the probe routines,
but care should be taken when using a 284x
.Pq Tn VESA No local bus controller
in an
.Tn EISA
system. Ensure that the jumpers setting the I/O area for the 284x match the
.Tn EISA
slot into which the card is inserted to prevent conflicts with other
.Tn EISA
cards.
.Pp
Performance and feature sets vary throughout the aic7xxx product line.
The following table provides a comparison of the different chips supported
by the
.Nm
driver. Note that wide and twin channel features, although always supported
by a particular chip, may be disabled in a particular motherboard or card
design.
.Pp
.Bd -filled -offset indent
.Bl -column "aic7770 " "10 " "EISA/VL " "10MHz " "16bit " "SCBs " Features
.Em "Chip MIPS Bus MaxSync MaxWidth SCBs Features"
aic7770 10 EISA/VL 10MHz 16Bit 4 1
aic7850 10 PCI/32 10MHz 8Bit 3
aic7860 10 PCI/32 20MHz 8Bit 3
aic7870 10 PCI/32 10MHz 16Bit 16
aic7880 10 PCI/32 20MHz 16Bit 16
aic7890 20 PCI/32 40MHz 16Bit 16 3 4 5 6 7
aic7891 20 PCI/64 40MHz 16Bit 16 3 4 5 6 7
aic7895 15 PCI/32 20MHz 16Bit 16 2 3 4 5
aic7896 20 PCI/32 40MHz 16Bit 16 2 3 4 5 6 7
aic7897 20 PCI/64 40MHz 16Bit 16 2 3 4 5 6 7
.El
.Pp
.Bl -enum -compact
.It
Multiplexed Twin Channel Device - One controller servicing two busses.
.It
Multi-function Twin Channel Device - Two controllers on one chip.
.It
Command Channel Secondary DMA Engine - Allows scatter gather list and
SCB prefetch.
.It
64 Byte SCB Support - SCSI CDB is embedded in the SCB to eliminate an extra DMA.
.It
Block Move Instruction Support - Doubles the speed of certain sequencer
operations.
.It
.Sq Bayonet
style Scatter Gather Engine - Improves S/G prefetch performance.
.It
Queuing Registers - Allows queuing of new transactions without pausing the
sequencer.
.El
.Ed
.Pp
.Sh SCSI CONTROL BLOCKS (SCBs)
Every transaction sent to a device on the SCSI bus is assigned a
.Sq SCSI Control Block
(SCB). The SCB contains all of the information required by the
controller to process a transaction. The chip feature table lists
the number of SCBs that can be stored in on chip memory. All chips
with model numbers greater than or equal to 7870 allow for the on chip
SCB space to be augmented with external SRAM up to a maximum of 255 SCBs.
Very few Adaptec controller have external SRAM.
If external SRAM is not available, SCBs are a limited resource and
using them in a straight forward manner would only allow us to
keep as many transactions as there are SCBs outstanding at a time.
This would not allow enough concurrency to fully utilize the SCSI
bus and it's devices. The solution to this problem is
.Em SCB Paging ,
a concept similar to memory paging. SCB paging takes advantage of
the fact that devices usually disconnect from the SCSI bus for long
periods of time without talking to the controller. The SCBs
for disconnected transactions are only of use to the controller
when the transfer is resumed. When the host queues another transaction
for the controller to execute, the controller firmware will use a
free SCB if one is available. Otherwise, the state of the most recently
disconnected (and therefor most likely to stay disconnected) SCB is
saved, via dma, to host memory, and the local SCB reused to start
the new transaction. This allows the controller to queue up to
255 transactions regardless of the amount of SCB space. Since the
local SCB space serves as a cache for disconnected transactions, the
more SCB space available, the less host bus traffic consumed saving
and restoring SCB data.
.Sh BUGS
Some Quantum drives (at least the Empire 2100 and 1080s) will not run on an
.Tn AIC7870
Rev B in synchronous mode at 10MHz. Controllers with this problem have a
42 MHz clock crystal on them and run slightly above 10MHz. This confuses
the drive and hangs the bus. Setting a maximum synchronous negotiation rate
of 8MHz in the
.Tn SCSI-Select
utility
will allow normal operation.
.Sh SEE ALSO
.Xr aha 4 ,
.Xr ahb 4 ,
.Xr cd 4 ,
.Xr da 4 ,
.Xr sa 4 ,
.Xr scsi 4
.Sh AUTHORS
The
.Nm
driver, the
.Tn AIC7xxx
sequencer-code assembler,
and the firmware running on the aic7xxx chips was written by
.An Justin T. Gibbs .
.Sh HISTORY
The
.Nm
driver appeared in
.Fx 2.0 .

View File

@ -1,152 +0,0 @@
.\" Copyright (c) 1997, 1998, 1999
.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul.
.\" 4. Neither the name of the author nor the names of any co-contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd May 20, 1999
.Dt AL 4 i386
.Os FreeBSD
.Sh NAME
.Nm al
.Nd
ADMtek Inc. AL981 Comet and AN985 Centaur fast ethernet device driver
.Sh SYNOPSIS
.Cd "device al0"
.Sh DESCRIPTION
The
.Nm
driver provides support for PCI ethernet adapters and embedded
controllers based on the ADMtek Inc. AL981 Comet and AN 985
Centaur fast ethernet controller chips.
.Pp
The ADMtek chip uses bus master DMA and is designed to be a
DEC 21x4x workalike. The only major difference between the DEC
and ADMtek parts is that the ADMtek receiver filter is programmed
using two special registers where as the DEC chip is programmed
by uploading a special setup frame via the transmit DMA engine.
The AL981 and AN985 can only be programmed with a single
perfect filter entry for the local station address and a 64-bit
multicast hash table; the DEC filter supports several other
options. The ADMtek fast ethernet controllers support both
10 and 100Mbps speeds in either full or half duplex using
an internal MII transceiver.
.Pp
The
.Nm
driver supports the following media types:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It autoselect
Enable autoselection of the media type and options.
The user can manually override
the autoselected mode by adding media options to the
.Pa /etc/rc.conf
fine.
.It 10baseT/UTP
Set 10Mbps operation. The
.Ar mediaopt
option can also be used to select either
.Ar full-duplex
or
.Ar half-duplex modes.
.It 100baseTX
Set 100Mbps (fast ethernet) operation. The
.Ar mediaopt
option can also be used to select either
.Ar full-duplex
or
.Ar half-duplex
modes.
.El
.Pp
The
.Nm
driver supports the following media options:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It full-duplex
Force full duplex operation
.It half-duplex
Force half duplex operation.
.El
.Pp
For more information on configuring this device, see
.Xr ifconfig 8 .
.Sh DIAGNOSTICS
.Bl -diag
.It "ax%d: couldn't map memory"
A fatal initialization error has occurred.
.It "ax%d: couldn't map interrupt"
A fatal initialization error has occurred.
.It "ax%d: watchdog timeout"
The device has stopped responding to the network, or there is a problem with
the network connection (cable).
.It "ax%d: no memory for rx list"
The driver failed to allocate an mbuf for the receiver ring.
.It "ax%d: no memory for tx list"
The driver failed to allocate an mbuf for the transmitter ring when
allocating a pad buffer or collapsing an mbuf chain into a cluster.
.It "ax%d: chip is in D3 power state -- setting to D0"
This message applies only to adapters which support power
management. Some operating systems place the controller in low power
mode when shutting down, and some PCI BIOSes fail to bring the chip
out of this state before configuring it. The controller loses all of
its PCI configuration in the D3 state, so if the BIOS does not set
it back to full power mode in time, it won't be able to configure it
correctly. The driver tries to detect this condition and bring
the adapter back to the D0 (full power) state, but this may not be
enough to return the driver to a fully operational condition. If
you see this message at boot time and the driver fails to attach
the device as a network interface, you will have to perform second
warm boot to have the device properly configured.
.Pp
Note that this condition only occurs when warm booting from another
operating system. If you power down your system prior to booting
.Fx ,
the card should be configured correctly.
.El
.Sh SEE ALSO
.Xr arp 4 ,
.Xr netintro 4 ,
.Xr ifconfig 8
.Rs
.%T ADMtek AL981 data sheet
.%O http://www.admtek.com.tw
.Re
.Sh HISTORY
The
.Nm
device driver first appeared in
.Fx 3.0 .
.Sh AUTHORS
The
.Nm
driver was written by
.An Bill Paul Aq wpaul@ctr.columbia.edu .

View File

@ -1,208 +0,0 @@
.\"
.\" Copyright (c) 1999
.\" Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer as
.\" the first lines of this file unmodified.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd May 21, 1999
.Dt ATKBD 4 i386
.Os FreeBSD
.Sh NAME
.Nm atkbd
.Nd
the AT keyboard interface
.Sh SYNOPSIS
.Cd "options ATKBD_DFLT_KEYMAP"
.Cd "makeoptions ATKBD_DFLT_KEYMAP"=\&"_keymap_name_\&"
.Cd "options KBD_DISABLE_KEYMAP_LOAD"
.Cd "device atkbd0 at atkbdc? irq 1"
.Sh DESCRIPTION
The
.Nm
driver, together with the
.Nm atkbdc
driver, provides access to the AT 84 keyboard or the AT enhanced keyboard
which is connected to the AT keyboard controller.
.Pp
This driver is required for the console drivers
.Xr syscons 4
and
.Xr pcvt 4 .
.Pp
There can be only one
.Nm
device defined in the kernel configuration file. This device also
requires the
.Nm atkbdc
keyboard controller to be present.
The
.Em irq
number must always be 1; there is no provision of changing the number.
.Ss Function Keys
The AT keyboard has a number of function keys.
They are numbered as follows and can be associated with strings
by the
.Xr kbdcontrol 1
command.
.Pp
.Bl -tag -width "Function Key Number" -compact -offset
.It "Function Key number"
Function Key
.It "1, 2,...12"
F1, F2,... F12
.It "13, 14,...24"
Shift+F1, Shift+F2,... Shift+F12
.It "25, 26,...36"
Ctl+F1, Ctl+F2,... Ctl+F12
.It "37, 38,...48"
Shift+Ctl+F1, Shift+Ctl+F2,... Shift+Ctl+F12
.It 49
Home and Numpad 7 (without NumLock)
.It 50
Up Arrow and Numpad 8 (without NumLock)
.It 51
Page Up and Numpad 9 (without NumLock)
.It 52
Numpad -
.It 53
Left Arrow and Numpad 4 (without NumLock)
.It 54
Numpad 5 (without NumLock)
.It 55
Right Arrow and Numpad 6 (without NumLock)
.It 56
Numpad +
.It 57
End and Numpad 1 (without NumLock)
.It 58
Down Arrow and Numpad 2 (without NumLock)
.It 59
Page Down and Numpad 3 (without NumLock)
.It 60
Ins and Numpad 0 (without NumLock)
.It 61
Del
.It 62
Left GUI Key
.It 63
Right GUI Key
.It 64
Menu
.El
.Pp
See the man page for the
.Xr kbdcontrol 1
command for how to assign a string to the function key.
.Sh DRIVER CONFIGURATION
.Ss Kernel Configuration Options
The following kernel configuration options control the
.Nm
driver.
.Bl -tag -width ATKBD_DFLT
.It Em ATKBD_DFLT_KEYMAP
This option sets the defauilt, built-in keymap of the
.Nm
driver to the named keymap.
See
.Sx EXAMPLE
below.
.It Em KBD_DISABLE_KEYMAP_LOAD
The keymap can be modified by the
.Xr kbdcontrol 1
command.
This option will disable this feature and prevent the user from
changing key assignment.
.El
.Pp
.Ss Driver Flags
The
.Nm
driver accepts the following driver flags. They can be set either in the
kernel configuration file
.Pq see Xr config 8 ,
or else in the User Configuration Menu at boot time
.Pq see Xr boot 8 .
.Bl -tag -width FAIL
.It bit 0 (FAIL_IF_NO_KBD)
By default the
.Nm
driver will install even if a keyboard is not actually connected to the
system.
This option prevents the driver from being installed in this situation.
.It bit 1 (NO_RESET)
When this option is given, the
.Nm
driver will not reset the keyboard when initializing it.
It may be useful for laptop computers whose function keys
have special functions and these functions are forgotten when the
keyboard is reset.
.It bit 2 (ALT_SCANCODESET)
Certain keyboards, such as those on some ThinkPad models, behave
like the old XT keyboard and require this option.
.El
.\".Sh FILES
.Sh EXAMPLE
The
.Nm
driver requires the keyboard controller
.Nm atkbdc .
Thus, the kernel configuration file should contain the following lines.
.Pp
.Dl "device atkbdc0 at isa"
.Dl "device atkbd0 at atkbdc? irq 1"
.Pp
The following example shows how to set the default, built-in keymap
to
.Pa jp.106.kbd .
.Pp
.Dl "options ATKBD_DFLT_KEYMAP"
.Dl "makeoptions ATKBD_DFLT_KEYMAP"=\&"jp.106\&"
.Dl "device atkbd0 at atkbdc? irq 1"
.Pp
.\".Sh DIAGNOSTICS
.\".Sh CAVEATS
.\".Sh BUGS
.Sh SEE ALSO
.Xr kbdcontrol 1 ,
.Xr atkbdc 4 ,
.Xr pcvt 4 ,
.Xr psm 4 ,
.Xr syscons 4 ,
.Xr boot 8 ,
.Xr config 8 .
.Sh HISTORY
The
.Nm
driver first appeared in
.Fx 3.1 .
.Sh AUTHORS
The
.Nm
driver was written by
.An Søren Schmidt Aq sos@FreeBSD.org
and
.An Kazutaka Yokota Aq yokota@FreeBSD.org .
This manual page was written by
.An Kazutaka Yokota .

View File

@ -1,112 +0,0 @@
.\"
.\" Copyright (c) 1999
.\" Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer as
.\" the first lines of this file unmodified.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd February 9, 1999
.Dt ATKBDC 4 i386
.Os FreeBSD
.Sh NAME
.Nm atkbdc
.Nd
the AT keyboard controller interface
.Sh SYNOPSIS
.Cd "options" \&"KBD_RESETDELAY=N\&"
.Cd "options" \&"KBD_MAXWAIT=N\&"
.Cd "options" \&"KBDIO_DEBUG=N\&"
.Cd "controller atkbdc0 at isa? port IO_KBD"
.Sh DESCRIPTION
The keyboard controller
.Nm
provides I/O services for the AT keyboard and PS/2 mouse style
pointing devices.
This controller is required for the keyboard driver
.Nm atkbd
and the PS/2 pointing device driver
.Nm psm .
.Pp
There can be only one
.Nm
device configured in the system.
.Sh DRIVER CONFIGURATION
.Ss Kernel Configuration Options
The following kernel configuration options can be used to control the
.Nm
driver.
They may be set in the kernel configuration file
.Pq see Xr config 8 .
.Bl -tag -width MOUSE
.It Em KBD_RESETDELAY=X, KBD_MAXWAIT=Y
The keyboard driver
.Nm atkbd
and the pointing device driver
.Nm psm
may ask the
.Nm
driver to reset these devices during the boot process.
It sometimes takes a long time before these devices respond to
the reset command.
These options control how long the
.Nm
driver should
wait before eventually giving up -- the driver will wait
.Fa X
*
.Fa Y
msecs at most. If the drivers seem unable to detect
devices, you may want to increase these values. The default values are
200 msec for
.Fa X
and 5
for
.Fa Y .
.It Em KBDIO_DEBUG=N
Sets the debug level to
.Fa N .
The default value is zero, which suppresses all debugging output.
.El
.\".Ss Driver Flags
.\".Sh FILES
.\".Sh EXAMPLE
.\".Sh DIAGNOSTICS
.\".Sh CAVEATS
.\".Sh BUGS
.Sh SEE ALSO
.Xr atkbd 4 ,
.Xr psm 4 ,
.Xr config 8 .
.Sh HISTORY
The
.Nm
driver first appeared in
.Fx 3.1 .
It is based on the kbdio module in
.Fx 2.2 .
.Sh AUTHORS
The kbdio module, the
.Nm
driver and this manual page were written by
.An Kazutaka Yokota Aq yokota@FreeBSD.org .

View File

@ -1,155 +0,0 @@
.\" Copyright (c) 1997, 1998, 1999
.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul.
.\" 4. Neither the name of the author nor the names of any co-contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd January 2, 1999
.Dt AX 4 i386
.Os FreeBSD
.Sh NAME
.Nm ax
.Nd
ASIX Electronics AX88140A and AX88141 fast ethernet device driver
.Sh SYNOPSIS
.Cd "device ax0"
.Sh DESCRIPTION
The
.Nm
driver provides support for PCI ethernet adapters and embedded
controllers based on the ASIX AX88140A and AX88141 fast ethernet
controller chips, including the Alfa Inc. GFC2204 and the CNet Pro110B.
The AX88141 is a new version of the AX88140A with power management
and magic packet support.
.Pp
The ASIX chip uses bus master DMA and is designed to be a
DEC 21x4x workalike. The only major difference between the DEC
and ASIX parts is that the ASIX receiver filter is programmed
using two special registers where as the DEC chip is programmed
by uploading a special setup frame via the transmit DMA engine.
The ASIX receive filter can only be programmed with a single
perfect filter entry for the local station address and a 64-bit
multicast hash table; the DEC filter supports several other
options. The ASIX fast ethernet controller supports both
10 and 100Mbps speeds in either full or half duplex using
an external MII transceiver.
.Pp
The
.Nm
driver supports the following media types:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It autoselect
Enable autoselection of the media type and options.
The user can manually override
the autoselected mode by adding media options to the
.Pa /etc/rc.conf
file.
.It 10baseT/UTP
Set 10Mbps operation. The
.Ar mediaopt
option can also be used to select either
.Ar full-duplex
or
.Ar half-duplex
modes.
.It 100baseTX
Set 100Mbps (fast ethernet) operation. The
.Ar mediaopt
option can also be used to select either
.Ar full-duplex
or
.Ar half-duplex
modes.
.El
.Pp
The
.Nm
driver supports the following media options:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It full-duplex
Force full duplex operation
.It half-duplex
Force half duplex operation.
.El
.Pp
For more information on configuring this device, see
.Xr ifconfig 8 .
.Sh DIAGNOSTICS
.Bl -diag
.It "ax%d: couldn't map memory"
A fatal initialization error has occurred.
.It "ax%d: couldn't map interrupt"
A fatal initialization error has occurred.
.It "ax%d: watchdog timeout"
The device has stopped responding to the network, or there is a problem with
the network connection (cable).
.It "ax%d: no memory for rx list"
The driver failed to allocate an mbuf for the receiver ring.
.It "ax%d: no memory for tx list"
The driver failed to allocate an mbuf for the transmitter ring when
allocating a pad buffer or collapsing an mbuf chain into a cluster.
.It "ax%d: chip is in D3 power state -- setting to D0"
This message applies only to adapters which support power
management. Some operating systems place the controller in low power
mode when shutting down, and some PCI BIOSes fail to bring the chip
out of this state before configuring it. The controller loses all of
its PCI configuration in the D3 state, so if the BIOS does not set
it back to full power mode in time, it won't be able to configure it
correctly. The driver tries to detect this condition and bring
the adapter back to the D0 (full power) state, but this may not be
enough to return the driver to a fully operational condition. If
you see this message at boot time and the driver fails to attach
the device as a network interface, you will have to perform second
warm boot to have the device properly configured.
.Pp
Note that this condition only occurs when warm booting from another
operating system. If you power down your system prior to booting
.Fx ,
the card should be configured correctly.
.El
.Sh SEE ALSO
.Xr arp 4 ,
.Xr netintro 4 ,
.Xr ifconfig 8
.Rs
.%T ASIX AX81140A data sheet
.%O http://www.asix.com.tw
.Re
.Sh HISTORY
The
.Nm
device driver first appeared in
.Fx 3.0 .
.Sh AUTHORS
The
.Nm
driver was written by
.An Bill Paul Aq wpaul@ctr.columbia.edu .

View File

@ -1,119 +0,0 @@
.\"
.\" Copyright (c) 1997 David E. O'Brien
.\"
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd January 19, 1997
.Dt DE 4 i386
.Os FreeBSD
.Sh NAME
.Nm de
.Nd
DEC DC21x4x Ethernet device driver
.Sh SYNOPSIS
.Cd "device de0"
.Sh DESCRIPTION
The
.Nm
driver provides support for the Ethernet adapters based on the Digital
Equipment DC21x4x based self-contained Ethernet chips.
.Pp
It supports the DEC PCI DE435 card, DEC EISA DE425, DEC DE450, DEC DE500,
SMC 8432, 9332 and 9334, Cogent EM100FX and EM440TX, Asante,
ZNYX ZX3xx, and others based on the 21040 and 21041 Ethernet controllers or
the 21140[A], 21141, 21142 and 21143 Fast 100Mbps Ethernet controllers.
.Pp
The
.Nm
driver supports the following media types:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxx
.It autoselect
Enable autoselection of the media type and options
.It 10baseT/UTP
Set 10Mbps operation on the 10baseT port
.It 10base2/BNC
Set 10Mbps operation on the BNC port
.It 10base5/AUI
Set 10Mbps operation on the AUI port
.It 100baseTX
Set 100Mbps (fast ethernet) operation
.It 100baseFX
Set 100Mbps operation
.It 100baseT4
Set 100Mbps operation (4-pair cat-3 cable)
.El
.Pp
The
.Nm
driver supports the following media options:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxx
.It full-duplex
Set full duplex operation
.El
.Pp
Note that the media types available depend on the particular card in use.
Some cards are explicitly programmed to a particular media type by a
setup utility and are not changeable.
.Pp
Use the
.Xr ifconfig 8
command an in particular the
.Fl m
flag to list the supported media types for your particular card.
.Pp
The old
.Dq ifconfig linkN
method of configuration is not supported.
.Sh DIAGNOSTICS
.Bl -diag
.It "de%d: waking device from sleep/snooze mode"
The 21041 and 21140A chips support suspending the operation of the card.
.It "de%d: error: desired IRQ of %d does not match device's actual IRQ of %d"
The device probe detected that the board is configured for a different
interrupt than the one specified in the kernel configuration file.
.It "de%d: not configured; limit of %d reached or exceeded"
There is a limit of 32
.Nm
devices allowed in a single machine.
.It "de%d: not configured; 21040 pass 2.0 required (%d.%d found)"
.It "de%d: not configured; 21140 pass 1.1 required (%d.%d found)"
Certain revisions of the chipset are not supported by this driver.
.El
.Sh CAVEATS
Since the 21040 is available on both EISA and PCI boards, one must be careful
in how defines the 21040 in the kernel config file.
.Sh SEE ALSO
.Xr arp 4 ,
.Xr netintro 4 ,
.Xr ifconfig 8
.Sh AUTHORS
The
.Nm
device driver was written by
.An Matt Thomas .
This manual page was written by
.An David E. O'Brien .

View File

@ -1,150 +0,0 @@
.\" Copyright (c) 1997, 1998, 1999
.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul.
.\" 4. Neither the name of the author nor the names of any co-contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd September 4, 1999
.Dt DM 4 i386
.Os FreeBSD
.Sh NAME
.Nm dm
.Nd
Davicom DM9100/DM9102 fast ethernet device driver
.Sh SYNOPSIS
.Cd "controller miibus0"
.Cd "device dm0"
.Sh DESCRIPTION
The
.Nm
driver provides support for PCI ethernet adapters and embedded
controllers based on the Davicom DM9100 and DM9102 PCI
fast ethernet controller chips including the Jaton Corporation
XPressNet.
.Pp
The DM9100 and DM9102 are designed to be DEC 21x4x workalikes. The
register layout, DMA descriptor scheme and receive filter programming
are identical to the DEC part. The DM9102
is a 100Mbps ethernet MAC and MII-compliant transceiver
in a single package. The DM9100 is similar to the DM9102 except
that it has no internal PHY, requiring instead an external transceiver
to be attached to its MII interface.
.Pp
The
.Nm
driver supports the following media types:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It autoselect
Enable autoselection of the media type and options.
The user can manually override
the autoselected mode by adding media options to the
.Pa /etc/rc.conf
fine.
.It 10baseT/UTP
Set 10Mbps operation. The
.Ar mediaopt
option can also be used to select either
.Ar full-duplex
or
.Ar half-duplex modes.
.It 100baseTX
Set 100Mbps (fast ethernet) operation. The
.Ar mediaopt
option can also be used to select either
.Ar full-duplex
or
.Ar half-duplex
modes.
.El
.Pp
The
.Nm
driver supports the following media options:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It full-duplex
Force full duplex operation
.It half-duplex
Force half duplex operation.
.El
.Pp
For more information on configuring this device, see
.Xr ifconfig 8 .
.Sh DIAGNOSTICS
.Bl -diag
.It "dm%d: couldn't map ports/memory"
A fatal initialization error has occurred.
.It "dm%d: couldn't map interrupt"
A fatal initialization error has occurred.
.It "dm%d: watchdog timeout"
The device has stopped responding to the network, or there is a problem with
the network connection (cable).
.It "dm%d: no memory for rx list"
The driver failed to allocate an mbuf for the receiver ring.
.It "dm%d: no memory for tx list"
The driver failed to allocate an mbuf for the transmitter ring when
allocating a pad buffer or collapsing an mbuf chain into a cludmr.
.It "dm%d: chip is in D3 power state -- setting to D0"
This message applies only to adapters which support power
management. Some operating sydmms place the controller in low power
mode when shutting down, and some PCI BIOSes fail to bring the chip
out of this state before configuring it. The controller loses all of
its PCI configuration in the D3 state, so if the BIOS does not set
it back to full power mode in time, it won't be able to configure it
correctly. The driver tries to detect this condition and bring
the adapter back to the D0 (full power) state, but this may not be
enough to return the driver to a fully operational condition. If
you see this message at boot time and the driver fails to attach
the device as a network interface, you will have to perform second
warm boot to have the device properly configured.
.Pp
Note that this condition only occurs when warm booting from another
operating sydmm. If you power down your sydmm prior to booting
.Fx ,
the card should be configured correctly.
.El
.Sh SEE ALSO
.Xr arp 4 ,
.Xr netintro 4 ,
.Xr ifconfig 8
.Rs
.%T Davicom DM9102 datasheet
.%O http://www.davicom8.com
.Re
.Sh HISTORY
The
.Nm
device driver first appeared in
.Fx 3.0 .
.Sh AUTHORS
The
.Nm
driver was written by
.An Bill Paul Aq wpaul@ee.columbia.edu .

View File

@ -1,70 +0,0 @@
.\"
.\" Copyright (c) 1994 Wilko Bulte
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. The name of the author may not be used to endorse or promote products
.\" derived from this software withough specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd August 31, 1994
.Dt FDC 4 i386
.Os FreeBSD
.Sh NAME
.Nm fdc
.Nd
PC architecture floppy disk controller driver
.Sh SYNOPSIS
.Cd "controller fdc0 at isa? port" \&"IO_FD1\&" "bio flags 0x1 irq 6 drq 2"
.Cd "disk fd0 at fdc0 drive 0
.Cd "disk fd1 at fdc0 drive 1
.Sh DESCRIPTION
This driver provides access to floppy disk drives and QIC40/80 tapedrives.
In /dev for each floppy device a number of minor devices are present. The
/dev/fd* devices with trailing alphabetic characters are used to indicate
.Sq partitions
on the floppy disk. The /dev/fd*.<number> are devices that
indicate the size of the floppy disk (so: 720kB, 1440kB etc). The latter
are used for formatting disks using fdformat or for accessing different
density disks in multidensity drive. Example: 720kB disk in a 1.44Mb drive.
.Pp
Normally, the driver will ask the system's CMOS memory to obtain the
floppy drive configuration. Some machines do not store any form of a
configuration value in their CMOS. Use the flags value
.Ql 0x1
to pretend a 1.44 MB floppy drive as the first unit, without asking the
CMOS for it.
.Sh FILES
.Bl -tag -width Pa -compact
.It /dev/fd*
floppy disk device nodes
.It /dev/fd*.<size in kB>
floppy disk device nodes where the trailing number indicates the floppy
capacity
.It Pa /sys/i386/conf/GENERIC
sample generic kernel config file
.It Pa /sys/i386/isa/fd.c
floppy driver source
.El
.Sh SEE ALSO
.Xr fdformat 1 ,
.Xr disktab 5

View File

@ -1,96 +0,0 @@
.\"
.\" Copyright (c) 1997 David E. O'Brien
.\"
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd January 19, 1997
.Dt FXP 4 i386
.Os FreeBSD
.Sh NAME
.Nm fxp
.Nd
Intel EtherExpress Pro/100B ethernet device driver
.Sh SYNOPSIS
.Cd "device fxp0"
.Sh DESCRIPTION
The
.Nm
driver provides support for the EtherExpress Pro/10, Pro/100B, and Pro/100+
PCI Fast Ethernet adapters based on the Intel i82557 or i82559 ethernet
chips.
.Pp
The
.Nm
driver supports the following media types:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It autoselect
Enable autoselection of the media type and options
.It 10baseT/UTP
Set 10Mbps operation
.It 100baseTX
Set 100Mbps (fast ethernet) operation
.El
.Pp
The
.Nm
driver supports the following media options:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It full-duplex
Set full duplex operation
.El
.Pp
Note that 100baseTX media type is only available on the Pro/100B and Pro/100+.
For further information on configuring this device, see
.Xr ifconfig 8 .
.Sh DIAGNOSTICS
.Bl -diag
.It "fxp%d: couldn't map memory"
A fatal initialization error has occurred.
.It "fxp%d: couldn't map interrupt"
A fatal initialization error has occurred.
.It "fxp%d: Failed to malloc memory"
There are not enough mbuf's available for allocation.
.It "fxp%d: device timeout"
The device has stopped responding to the network, or there is a problem with
the network connection (cable).
.El
.Sh SEE ALSO
.Xr arp 4 ,
.Xr netintro 4 ,
.Xr ifconfig 8
.Sh HISTORY
The
.Nm
device driver first appeared in
.Fx 2.1 .
.Sh AUTHORS
The
.Nm
device driver was written by
.An David Greenman .
This manual page was written by
.An David E. O'Brien .

View File

@ -1,152 +0,0 @@
.\"
.\" $FreeBSD$
.\"
.Dd January 8, 1995
.Dt KEYBOARD 4 i386
.Os FreeBSD
.Sh NAME
.Nm keyboard
.Nd pc keyboard interface
.Sh DESCRIPTION
The PC keyboard is used as the console character input device. The keyboard
is owned by the current virtual console.
To switch between the virtual consoles use the sequence
.Ar ALT+Fn ,
which means hold down ALT and press one of the function keys. The
virtual console with the same number as the function key is then
selected as the current virtual console and given exclusive use of
the keyboard and display.
The console allows entering values that are not physically
present on the keyboard via a special keysequence.
To use this facility press and hold down ALT,
then enter a decimal number from 0-255 via the numerical keypad, then
release ALT. The entered value is then used as the ASCII value for one
character. This way it is possible to enter any ASCII value, not present
on the keyboard.
The console driver also includes a history function. It is activated by
pressing the scroll-lock key. This holds the display, and enables the cursor
arrows for scrolling up and down through the last scrolled out lines.
The keyboard is configurable to suit the individual user and the different
national layout.
The keys on the keyboard can have any of the following functions:
Normal key - Enter the ASCII value associated with the key.
Function key - Enter a string of ASCII values.
Switch Key - Switch virtual console.
Modifier Key - Change the meaning of another key.
The keyboard is seen as a number of keys numbered from 1 to n. This
number is often referred to as the "scancode" for a given key. The number
of the key is transmitted as an 8 bit char with bit 7 as 0 when a key is
pressed, and the number with bit 7 as 1 when released. This makes it
possible to make the mapping of the keys fully configurable.
The meaning of every key is programmable via the PIO_KEYMAP ioctl call, that
takes a structure keymap_t as argument. The layout of this structure is as
follows:
.Pp
.Bd -literal -offset indent
struct keymap {
u_short n_keys;
struct key_t {
u_char map[NUM_STATES];
u_char spcl;
u_char flgs;
} key[NUM_KEYS];
};
.Ed
.Pp
The field n_keys tells the system how many keydefinitions (scancodes)
follows. Each scancode is then specified in the key_t substructure.
Each scancode can be translated to any of 8 different values, depending
on the shift, control, and alt state. These eight possibilities are
represented by the map array, as shown below:
alt
scan cntrl alt alt cntrl
code base shift cntrl shift alt shift cntrl shift
map[n] 0 1 2 3 4 5 6 7
---- ------------------------------------------------------
0x1E 'a' 'A' 0x01 0x01 'a' 'A' 0x01 0x01
This is the default mapping for the key labelled 'A' which normally has
scancode 0x1E. The eight states are as shown, giving the 'A' key its
normal behavior.
The spcl field is used to give the key "special" treatment, and is
interpreted as follows.
Each bit corresponds to one of the states above. If the bit is 0 the
key emits the number defined in the corresponding map[] entry.
If the bit is 1 the key is "special". This means it does not emit
anything; instead it changes the "state". That means it is a shift,
control, alt, lock, switch-screen, function-key or no-op key.
The bitmap is backwards ie. 7 for base, 6 for shift etc.
The flgs field defines if the key should react on caps-lock (1),
num-lock (2), both (3) or ignore both (0).
The
.Xr kbdcontrol 1
utility is used to load such a description into/outof
the kernel at runtime. This makes it possible to change the key
assignments at runtime, or more important to get (GIO_KEYMAP ioctl)
the exact key meanings from the kernel (fx. used by the X server).
The function keys can be programmed using the SETFKEY ioctl call.
This ioctl takes a argument of the type fkeyarg_t:
.Bd -literal -offset indent
struct fkeyarg {
u_short keynum;
char keydef[MAXFK];
char flen;
};
.Ed
.Pp
The field keynum defines which function key that is programmed.
The array keydef should contain the new string to be used (MAXFK long),
and the length should be entered in flen.
The GETFKEY ioctl call works in a similar manner, except it returns
the current setting of keynum.
The function keys are numbered like this:
.Bd -literal -offset indent
F1-F12 key 1 - 12
Shift F1-F12 key 13 - 24
Ctrl F1-F12 key 25 - 36
Ctrl+shift F1-F12 key 37 - 48
Home key 49
Up arrow key 50
Page Up key 51
(keypad) - key 52
Left arrow key 53
(keypad) 5 key 54
Right arrow key 55
(keypad) + key 56
End key 57
Down arrow key 58
Page down key 59
Insert key 60
Delete key 61
Right window key 62
Left window key 63
Menu key 64
.Ed
The
.Xr kbdcontrol 1
utility also allows changing these values at runtime.
.Pp
.Sh AUTHORS
.An Søren Schmidt Aq sos@FreeBSD.org

View File

@ -1,193 +0,0 @@
.\" Copyright (c) 1991 The Regents of the University of California.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)mem.4 5.3 (Berkeley) 5/2/91
.\" $FreeBSD$
.\"
.Dd May 2, 1991
.Dt MEM 4 i386
.Os
.Sh NAME
.Nm mem ,
.Nm kmem
.Nd memory files
.Sh DESCRIPTION
The special file
.Nm /dev/mem
is an interface to the physical memory of the computer.
Byte offsets in this file are interpreted as physical memory addresses.
Reading and writing this file is equivalent to reading and writing
memory itself.
Only offsets within the bounds of
.Nm /dev/mem
are allowed.
.Pp
Kernel virtual memory is accessed through the interface
.Nm /dev/kmem
in the same manner as
.Nm /dev/mem .
Only kernel virtual addresses that are currently mapped to memory are allowed.
.Pp
On
.Tn ISA
the
.Tn I/O
memory space begins at physical address 0x000a0000
and runs to 0x00100000.
The
per-process data
size
for the current process
is
.Dv UPAGES
long, and ends at virtual
address 0xf0000000.
.Sh IOCTL INTERFACE
Several architectures allow attributes to be associated with ranges of physical
memory. These attributes can be manipulated via
.Fn ioctl
calls performed on
.Nm /dev/mem .
Declarations and data types are to be found in
.Pa <memrange.h>
.Pp
The specific attributes, and number of programmable ranges may vary between
architectures. The full set of supported attributes is:
.Bl -tag -width 10
.It MDF_UNCACHEABLE
The region is not cached.
.It MDF_WRITECOMBINE
Writes to the region may be combined or performed out of order.
.It MDF_WRITETHROUGH
Writes to the region are committed synchronously.
.It MDF_WRITEBACK
Writes to the region are committed asynchronously.
.It MDF_WRITEPROTECT
The region cannot be written to.
.El
.Pp
Memory ranges are described by
.Fa struct mem_range_desc :
.Bd -literal -offset indent
u_int64_t mr_base; /\(** physical base address \(**/
u_int64_t mr_len; /\(** physical length of region \(**/
int mr_flags; /\(** attributes of region \(**/
char mr_owner[8];
.Ed
.Pp
In addition to the region attributes listed above, the following flags
may also be set in the
.Fa mr_flags
field:
.Bl -tag -width 10
.It MDF_FIXBASE
The region's base address cannot be changed.
.It MDF_FIXLEN
The region's length cannot be changed.
.It MDF_FIRMWARE
The region is believed to have been established by the system firmare.
.It MDF_ACTIVE
The region is currently active.
.It MDF_BOGUS
We believe the region to be invalid or otherwise erroneous.
.It MDF_FIXACTIVE
The region cannot be disabled.
.It MDF_BUSY
The region is currently owned by another process and may not be
altered.
.El
.Pp
Operations are performed using
.Fa struct mem_range_op :
.Bd -literal -offset indent
struct mem_range_desc *mo_desc;
int mo_arg[2];
.Ed
.Pp
The
.Fa MEMRANGE_GET
ioctl is used to retrieve current memory range attributes. If
.Fa mo_arg[0]
is set to 0, it will be updated with the total number of memory range
descriptors. If greater than 0, the array at
.Fa mo_desc
will be filled with a corresponding number of descriptor structures,
or the maximum, whichever is less.
.Pp
The
.Fa MEMRANGE_SET
ioctl is used to add, alter and remove memory range attributes. A range
with the MDF_FIXACTIVE flag may not be removed; a range with the MDF_BUSY
flag may not be removed or updated.
.Pp
.Fa mo_arg[0]
should be set to MEMRANGE_SET_UPDATE to update an existing
or establish a new range, or to MEMRANGE_SET_REMOVE to remove a range.
.Pp
.Sh RETURN VALUES
.Bl -tag -width 10
.It EOPNOTSUPP
Memory range operations are not supported on this architecture.
.It ENXIO
No memory range descriptors are available (eg. firmware has not enabled
any).
.It EINVAL
The memory range supplied as an argument is invalid or overlaps another
range in a fashion not supported by this architecture.
.It EBUSY
An attempt to remove or update a range failed because the range is busy.
.It ENOSPC
An attempt to create a new range failed due to a shortage of hardware
resources (eg. descriptor slots).
.It ENOENT
An attempt to remove a range failed because no range matches the descriptor
base/length supplued.
.It EPERM
An attempt to remove a range failed because the range is permanently
enabled.
.El
.Sh BUGS
Busy range attributes are not yet managed correctly.
.Sh FILES
.Bl -tag -width Pa -compact
.It Pa /dev/mem
.It Pa /dev/kmem
.El
.Sh SEE ALSO
.Xr memcontrol 8
.Sh HISTORY
The
.Nm mem ,
.Nm kmem
files appeared in
.At v6 .
The ioctl interface for memory range attributes was added in
.Fx 3.2 .

View File

@ -1,382 +0,0 @@
.\"
.\" Copyright (c) 1997
.\" Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer as
.\" the first lines of this file unmodified.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd December 3, 1997
.Dt MOUSE 4 i386
.Os FreeBSD
.Sh NAME
.Nm mouse
.Nd mouse and pointing device drivers
.Sh SYNOPSIS
.Fd #include <machine/mouse.h>
.Sh DESCRIPTION
The mouse drivers
.Xr mse 4 ,
.Xr psm 4
and
.Xr sysmouse 4
provide user programs with movement and button state information of the mouse.
Currently there are specific device drivers for bus, InPort and PS/2 mice.
The serial mouse is not directly supported by a dedicated driver, but
it is accessible via the serial device driver or via
.Xr moused 8
and
.Xr sysmouse 4 .
.Pp
The user program simply opens a mouse device with a
.Xr open 2
call and reads
mouse data from the device via
.Xr read 2 .
Movement and button states are usually encoded in fixed-length data packets.
Some mouse devices may send data in variable length of packets.
Actual protocol (data format) used by each driver differs widely.
.Pp
The mouse drivers may have ``non-blocking'' attribute which will make
the driver return immediately if mouse data is not available.
.Pp
Mouse device drivers often offer several levels of operation.
The current operation level can be examined and changed via
.Xr ioctl 2
commands.
The level zero is the lowest level at which the driver offers the basic
service to user programs.
Most drivers provide horizontal and vertical movement of the mouse
and state of up to three buttons at this level.
At the level one, if supported by the driver, mouse data is encoded
in the standard format
.Dv MOUSE_PROTO_SYSMOUSE
as follows:
.Pp
.Bl -tag -width Byte_1 -compact
.It Byte 1
.Bl -tag -width bit_7 -compact
.It bit 7
Always one.
.It bit 6..3
Always zero.
.It bit 2
Left button status; cleared if pressed, otherwise set.
.It bit 1
Middle button status; cleared if pressed, otherwise set. Always one,
if the device does not have the middle button.
.It bit 0
Right button status; cleared if pressed, otherwise set.
.El
.It Byte 2
The first half of horizontal movement count in two's complement;
-128 through 127.
.It Byte 3
The first half of vertical movement count in two's complement;
-128 through 127.
.It Byte 4
The second half of the horizontal movement count in two's complement;
-128 through 127. To obtain the full horizontal movement count, add
the byte 2 and 4.
.It Byte 5
The second half of the vertical movement count in two's complement;
-128 through 127. To obtain the full vertical movement count, add
the byte 3 and 5.
.It Byte 6
The bit 7 is always zero. The lower 7 bits encode the first half of
Z axis movement count in two's complement; -64 through 63.
.It Byte 7
The bit 7 is always zero. The lower 7 bits encode the second half of
the Z axis movement count in two's complement; -64 through 63.
To obtain the full Z axis movement count, add the byte 6 and 7.
.It Byte 8
The bit 7 is always zero. The bits 0 through 6 reflect the state
of the buttons 4 through 10.
If a button is pressed, the corresponding bit is cleared. Otherwise
the bit is set.
.El
.Pp
The first 5 bytes of this format is compatible with the MouseSystems
format. The additional 3 bytes have their MSBs always set to zero.
Thus, if the user program can interpret the MouseSystems data format and
tries to find the first byte of the format by detecting the bit pattern
10000xxxb,
it will discard the additional bytes, thus, be able to decode x, y
and states of 3 buttons correctly.
.Pp
Device drivers may offer operation levels higher than one.
Refer to manual pages of individual drivers for details.
.Sh IOCTLS
The following
.Xr ioctl 2
commands are defined for the mouse drivers. The degree of support
varies from one driver to another. This section gives general
description of the commands.
Refer to manual pages of individual drivers for specific details.
.Pp
.Bl -tag -width MOUSE -compact
.It Dv MOUSE_GETLEVEL Ar int *level
.It Dv MOUSE_SETLEVEL Ar int *level
These commands manipulate the operation level of the mouse driver.
.Pp
.It Dv MOUSE_GETHWINFO Ar mousehw_t *hw
Returns the hardware information of the attached device in the following
Except for the
.Dv iftype
field, the device driver may not always fill the structure with correct
values.
Consult manual pages of individual drivers for details of support.
.Bd -literal
typedef struct mousehw {
int buttons; /* number of buttons */
int iftype; /* I/F type */
int type; /* mouse/track ball/pad... */
int model; /* I/F dependent model ID */
int hwid; /* I/F dependent hardware ID */
} mousehw_t;
.Ed
.Pp
The
.Dv buttons
field holds the number of buttons detected by the driver. The driver
may put an arbitrary value, such as two, in this field, if it cannot
determine the exact number.
.Pp
The
.Dv iftype
is the type of interface:
.Dv MOUSE_IF_SERIAL ,
.Dv MOUSE_IF_BUS ,
.Dv MOUSE_IF_INPORT ,
.Dv MOUSE_IF_PS2 ,
.Dv MOUSE_IF_SYSMOUSE
or
.Dv MOUSE_IF_UNKNOWN .
.Pp
The
.Dv type
tells the device type:
.Dv MOUSE_MOUSE ,
.Dv MOUSE_TRACKBALL ,
.Dv MOUSE_STICK ,
.Dv MOUSE_PAD ,
or
.Dv MOUSE_UNKNOWN .
.Pp
The
.Dv model
may be
.Dv MOUSE_MODEL_GENERIC
or one of
.Dv MOUSE_MODEL_XXX
constants.
.Pp
The
.Dv hwid
is the ID value returned by the pointing device. It
depend on the interface type; refer to the manual page of
specific mouse drivers for possible values.
.Pp
.It Dv MOUSE_GETMODE Ar mousemode_t *mode
The command reports the current operation parameters of the mouse driver.
.Bd -literal
typedef struct mousemode {
int protocol; /* MOUSE_PROTO_XXX */
int rate; /* report rate (per sec) */
int resolution; /* MOUSE_RES_XXX, -1 if unknown */
int accelfactor; /* acceleration factor */
int level; /* driver operation level */
int packetsize; /* the length of the data packet */
unsigned char syncmask[2]; /* sync. bits */
} mousemode_t;
.Ed
.Pp
The
.Dv protocol
field tells the format in which the device status is returned
when the mouse data is read by the user program.
It is one of
.Dv MOUSE_PROTO_XXX
constants.
.Pp
The
.Dv rate
field is the status report rate (reports/sec) at which the device will send
movement reports to the host computer. -1 if unknown or not applicable.
.Pp
The
.Dv resolution
field holds a value specifying resolution of the pointing device.
It is a positive value or one of
.Dv MOUSE_RES_XXX
constants.
.Pp
The
.Dv accelfactor
field holds a value to control acceleration feature.
It must be zero or greater.
If it is zero, acceleration is disabled.
.Pp
The
.Dv packetsize
field tells the length of the fixed-size data packet or the length
of the fixed part of the variable-length packet.
The size depends on the interface type, the device type and model, the
protocol and the operation level of the driver.
.Pp
The array
.Dv syncmask
holds a bit mask and pattern to detect the first byte of the
data packet.
.Dv syncmask[0]
is the bit mask to be ANDed with a byte. If the result is equal to
.Dv syncmask[1] ,
the byte is likely to be the first byte of the data packet.
Note that this method of detecting the first byte is not 100% reliable,
thus, should be taken only as an advisory measure.
.Pp
.It Dv MOUSE_SETMODE Ar mousemode_t *mode
The command changes the current operation parameters of the mouse driver
as specified in
.Ar mode .
Only
.Dv rate ,
.Dv resolution ,
.Dv level
and
.Dv accelfactor
may be modifiable. Setting values in the other field does not generate
error and has no effect.
.Pp
If you do not want to change the current setting of a field, put -1
there.
You may also put zero in
.Dv resolution
and
.Dv rate ,
and the default value for the fields will be selected.
.\" .Pp
.\" .It Dv MOUSE_GETVARS Ar mousevar_t *vars
.\" Get internal variables of the mouse driver.
.\" The variables which can be manipulated through these commands
.\" are specific to each driver.
.\" This command may not be supported by all drivers.
.\" .Bd -literal
.\" typedef struct mousevar {
.\" int var[16]; /* internal variables */
.\" } mousevar_t;
.\" .Ed
.\" .Pp
.\" If the commands are supported, the first element of the array is
.\" filled with a signature value.
.\" Apart from the signature data, there is currently no standard concerning
.\" the other elements of the buffer.
.\" .Pp
.\" .It Dv MOUSE_SETVARS Ar mousevar_t *vars
.\" Get internal variables of the mouse driver.
.\" The first element of the array must be a signature value.
.\" This command may not be supported by all drivers.
.Pp
.It Dv MOUSE_READDATA Ar mousedata_t *data
The command reads the raw data from the device.
.Bd -literal
typedef struct mousedata {
int len; /* # of data in the buffer */
int buf[16]; /* data buffer */
} mousedata_t;
.Ed
.Pp
The calling process must fill the
.Dv len
field with the number of bytes to be read into the buffer.
This command may not be supported by all drivers.
.Pp
.It Dv MOUSE_READSTATE Ar mousedata_t *state
The command reads the raw state data from the device.
It uses the same structure as above.
This command may not be supported by all drivers.
.Pp
.It Dv MOUSE_GETSTATUS Ar mousestatus_t *status
The command returns the current state of buttons and
movement counts in the following structure.
.Bd -literal
typedef struct mousestatus {
int flags; /* state change flags */
int button; /* button status */
int obutton; /* previous button status */
int dx; /* x movement */
int dy; /* y movement */
int dz; /* z movement */
} mousestatus_t;
.Ed
.Pp
The
.Dv button
and
.Dv obutton
fields hold the current and the previous state of the mouse buttons.
When a button is pressed, the corresponding bit is set.
The mouse drivers may support up to 31 buttons with the bit 0 through 31.
Few button bits are defined as
.Dv MOUSE_BUTTON1DOWN
through
.Dv MOUSE_BUTTON8DOWN .
The first three buttons correspond to left, middle and right buttons.
.Pp
If the state of the button has changed since the last
.Dv MOUSE_GETSTATUS
call, the corresponding bit in the
.Dv flags
field will be set.
If the mouse has moved since the last call, the
.Dv MOUSE_POSCHANGED
bit in the
.Dv flags
field will also be set.
.Pp
The other fields hold movement counts since the last
.Dv MOUSE_GETSTATUS
call. The internal counters will be reset after every call to this
command.
.El
.Sh FILES
.Bl -tag -width /dev/sysmouseXX -compact
.It Pa /dev/cuaa%d
serial ports
.It Pa /dev/mse%d
bus and InPort mouse device
.It Pa /dev/psm%d
PS/2 mouse device
.It Pa /dev/sysmouse
virtual mouse device
.El
.Sh SEE ALSO
.Xr ioctl 2 ,
.Xr mse 4 ,
.Xr psm 4 ,
.Xr sysmouse 4 ,
.Xr moused 8
.\".Sh HISTORY
.Sh AUTHORS
This manual page was written by
.An Kazutaka Yokota Aq yokota@FreeBSD.org .

View File

@ -1,299 +0,0 @@
.\" Copyright (c) 1996
.\" Mike Pritchard <mpp@FreeBSD.org>. All rights reserved.
.\"
.\" Copyright (c) 1983, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)mtio.4 8.1 (Berkeley) 6/5/93
.\" $FreeBSD$
.\"
.Dd February 11, 1996
.Dt MTIO 4 i386
.Os FreeBSD 2.2
.Sh NAME
.Nm mtio
.Nd
.Tn FreeBSD
magtape interface
.Sh DESCRIPTION
The special files
named
.Pa /dev/[nr]sa*
refer to SCSI tape drives,
which may be attached to the system.
.Pa /dev/[nr]sa*.ctl
are control devices that can be used to issue ioctls to the SCSI
tape driver to set parameters that are required to last beyond the
unmounting of a tape.
.Pp
.Pp
The rewind devices automatically rewind
when the last requested read, write or seek has finished, or the end of the tape
has been reached. The letter
.Ql n
is usually prepended to
the name of the no-rewind devices.
.Pp
Tapes can be written with either fixed length records or variable length
records. See
.Xr sa 4
for more information. Two end-of-file markers mark the end of a tape, and
one end-of-file marker marks the end of a tape file.
If the tape is not to be rewound it is positioned with the
head in between the two tape marks, where the next write
will over write the second end-of-file marker.
.Pp
All of the magtape devices may be manipulated with the
.Xr mt 1
command.
.Pp
A number of
.Xr ioctl 2
operations are available
on raw magnetic tape.
The following definitions are from
.Aq Pa sys/mtio.h :
.Bd -literal
/*
* Structures and definitions for mag tape io control commands
*/
/* structure for MTIOCTOP - mag tape op command */
struct mtop {
short mt_op; /* operations defined below */
daddr_t mt_count; /* how many of them */
};
/* operations */
#define MTWEOF 0 /* write an end-of-file record */
#define MTFSF 1 /* forward space file */
#define MTBSF 2 /* backward space file */
#define MTFSR 3 /* forward space record */
#define MTBSR 4 /* backward space record */
#define MTREW 5 /* rewind */
#define MTOFFL 6 /* rewind and put the drive offline */
#define MTNOP 7 /* no operation, sets status only */
#define MTCACHE 8 /* enable controller cache */
#define MTNOCACHE 9 /* disable controller cache */
#if defined(__FreeBSD__)
/* Set block size for device. If device is a variable size dev */
/* a non zero parameter will change the device to a fixed block size */
/* device with block size set to that of the parameter passed in. */
/* Resetting the block size to 0 will restore the device to a variable */
/* block size device. */
#define MTSETBSIZ 10
/* Set density values for device. They are defined in the SCSI II spec */
/* and range from 0 to 0x17. Sets the value for the opened mode only */
#define MTSETDNSTY 11
#define MTERASE 12 /* erase to EOM */
#define MTEOD 13 /* Space to EOM */
#define MTCOMP 14 /* select compression mode 0=off, 1=def */
#define MTRETENS 15 /* re-tension tape */
#define MTWSS 16 /* write setmark(s) */
#define MTFSS 17 /* forward space setmark */
#define MTBSS 18 /* backward space setmark */
#define MT_COMP_ENABLE 0xffffffff
#define MT_COMP_DISABLED 0xfffffffe
#define MT_COMP_UNSUPP 0xfffffffd
/*
* Values in mt_dsreg that say what the device is doing
*/
#define MTIO_DSREG_NIL 0 /* Unknown */
#define MTIO_DSREG_REST 1 /* Doing Nothing */
#define MTIO_DSREG_RBSY 2 /* Communicating with tape (but no motion) */
#define MTIO_DSREG_WR 20 /* Writing */
#define MTIO_DSREG_FMK 21 /* Writing Filemarks */
#define MTIO_DSREG_ZER 22 /* Erasing */
#define MTIO_DSREG_RD 30 /* Reading */
#define MTIO_DSREG_FWD 40 /* Spacing Forward */
#define MTIO_DSREG_REV 41 /* Spacing Reverse */
#define MTIO_DSREG_POS 42 /* Hardware Positioning (direction unknown) */
#define MTIO_DSREG_REW 43 /* Rewinding */
#define MTIO_DSREG_TEN 44 /* Retensioning */
#define MTIO_DSREG_UNL 45 /* Unloading */
#define MTIO_DSREG_LD 46 /* Unloading */
#endif
/* structure for MTIOCGET - mag tape get status command */
struct mtget {
short mt_type; /* type of magtape device */
/* the following two registers are grossly device dependent */
short mt_dsreg; /* ``drive status'' register */
short mt_erreg; /* ``error'' register */
/* end device-dependent registers */
short mt_resid; /* residual count */
#if defined (__FreeBSD__)
daddr_t mt_blksiz; /* presently operating blocksize */
daddr_t mt_density; /* presently operating density */
daddr_t mt_comp; /* presently operating compression */
daddr_t mt_blksiz0; /* blocksize for mode 0 */
daddr_t mt_blksiz1; /* blocksize for mode 1 */
daddr_t mt_blksiz2; /* blocksize for mode 2 */
daddr_t mt_blksiz3; /* blocksize for mode 3 */
daddr_t mt_density0; /* density for mode 0 */
daddr_t mt_density1; /* density for mode 1 */
daddr_t mt_density2; /* density for mode 2 */
daddr_t mt_density3; /* density for mode 3 */
/* the following are not yet implemented */
u_char mt_comp0; /* compression type for mode 0 */
u_char mt_comp1; /* compression type for mode 1 */
u_char mt_comp2; /* compression type for mode 2 */
u_char mt_comp3; /* compression type for mode 3 */
/* end not yet implemented */
#endif
daddr_t mt_fileno; /* file number of current position */
daddr_t mt_blkno; /* block number of current position */
};
/* structure for MTIOCERRSTAT - tape get error status command */
/* really only supported for SCSI tapes right now */
struct scsi_tape_errors {
/*
* These are latched from the last command that had a SCSI
* Check Condition noted for these operations. The act
* of issuing an MTIOCERRSTAT unlatches and clears them.
*/
u_int8_t io_sense[32]; /* Last Sense Data For Data I/O */
u_int32_t io_resid; /* residual count from last Data I/O */
u_int8_t io_cdb[16]; /* Command that Caused the Last Data Sense */
u_int8_t ctl_sense[32]; /* Last Sense Data For Control I/O */
u_int32_t ctl_resid; /* residual count from last Control I/O */
u_int8_t ctl_cdb[16]; /* Command that Caused the Last Control Sense */
/*
* These are the read and write cumulative error counters.
* (how to reset cumulative error counters is not yet defined).
* (not implemented as yet but space is being reserved for them)
*/
struct {
u_int32_t retries; /* total # retries performed */
u_int32_t corrected; /* total # corrections performed */
u_int32_t processed; /* total # corrections succssful */
u_int32_t failures; /* total # corrections/retries failed */
u_int64_t nbytes; /* total # bytes processed */
} wterr, rderr;
};
union mterrstat {
struct scsi_tape_errors scsi_errstat;
char _reserved_padding[256];
};
/*
* Constants for mt_type byte. These are the same
* for controllers compatible with the types listed.
*/
#define MT_ISTS 0x01 /* TS-11 */
#define MT_ISHT 0x02 /* TM03 Massbus: TE16, TU45, TU77 */
#define MT_ISTM 0x03 /* TM11/TE10 Unibus */
#define MT_ISMT 0x04 /* TM78/TU78 Massbus */
#define MT_ISUT 0x05 /* SI TU-45 emulation on Unibus */
#define MT_ISCPC 0x06 /* SUN */
#define MT_ISAR 0x07 /* SUN */
#define MT_ISTMSCP 0x08 /* DEC TMSCP protocol (TU81, TK50) */
#define MT_ISCY 0x09 /* CCI Cipher */
#define MT_ISCT 0x0a /* HP 1/4 tape */
#define MT_ISFHP 0x0b /* HP 7980 1/2 tape */
#define MT_ISEXABYTE 0x0c /* Exabyte */
#define MT_ISEXA8200 0x0c /* Exabyte EXB-8200 */
#define MT_ISEXA8500 0x0d /* Exabyte EXB-8500 */
#define MT_ISVIPER1 0x0e /* Archive Viper-150 */
#define MT_ISPYTHON 0x0f /* Archive Python (DAT) */
#define MT_ISHPDAT 0x10 /* HP 35450A DAT drive */
#define MT_ISMFOUR 0x11 /* M4 Data 1/2 9track drive */
#define MT_ISTK50 0x12 /* DEC SCSI TK50 */
#define MT_ISMT02 0x13 /* Emulex MT02 SCSI tape controller */
/* mag tape io control commands */
#define MTIOCTOP _IOW('m', 1, struct mtop) /* do a mag tape op */
#define MTIOCGET _IOR('m', 2, struct mtget) /* get tape status */
/* these two do not appear to be used anywhere */
#define MTIOCIEOT _IO('m', 3) /* ignore EOT error */
#define MTIOCEEOT _IO('m', 4) /* enable EOT error */
/*
* When more SCSI-3 SSC (streaming device) devices are out there
* that support the full 32 byte type 2 structure, we'll have to
* rethink these ioctls to support all the entities they haul into
* the picture (64 bit blocks, logical file record numbers, etc..).
*/
#define MTIOCRDSPOS _IOR('m', 5, u_int32_t) /* get logical blk addr */
#define MTIOCRDHPOS _IOR('m', 6, u_int32_t) /* get hardware blk addr */
#define MTIOCSLOCATE _IOW('m', 5, u_int32_t) /* seek to logical blk addr */
#define MTIOCHLOCATE _IOW('m', 6, u_int32_t) /* seek to hardware blk addr */
#define MTIOCERRSTAT _IOR('m', 7, union mterrstat) /* get tape errors */
#ifndef KERNEL
#define DEFTAPE "/dev/nrsa0"
#endif
#ifdef KERNEL
/*
* minor device number
*/
#define T_UNIT 003 /* unit selection */
#define T_NOREWIND 004 /* no rewind on close */
#define T_DENSEL 030 /* density select */
#define T_800BPI 000 /* select 800 bpi */
#define T_1600BPI 010 /* select 1600 bpi */
#define T_6250BPI 020 /* select 6250 bpi */
#define T_BADBPI 030 /* undefined selection */
#endif
#endif /* _SYS_MTIO_H_ */
.Ed
.Pp
.Sh FILES
.Bl -tag -width /dev/[nr]sa* -compact
.It Pa /dev/[nr]sa*
.El
.Sh SEE ALSO
.Xr mt 1 ,
.Xr tar 1 ,
.Xr st 4
.Sh HISTORY
The
.Nm mtio
manual appeared in
.Bx 4.2 .
An i386 version first appeared in
.Fx 2.2 .
.Sh BUGS
The status should be returned in a device independent format.
.Pp
The special file naming should be redone in a more consistent and
understandable manner.

View File

@ -1,173 +0,0 @@
.\" Copyright (c) 1997, 1998
.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul.
.\" 4. Neither the name of the author nor the names of any co-contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd November 5, 1998
.Dt MX 4 i386
.Os FreeBSD
.Sh NAME
.Nm mx
.Nd
Macronix 98713/98715/98725 fast ethernet device driver
.Sh SYNOPSIS
.Cd "controller miibus0"
.Cd "device mx0"
.Sh DESCRIPTION
The
.Nm
driver provides support for PCI ethernet adapters and embedded
controllers based on the Macronix 98713, 98713A, 98715, 98715A and
98725 fast ethernet controller chips. This includes the NDC
Communications SOHOware SFA110, the SVEC PN102-TX
fast ethernet card, and various other adapters. The
.Nm
driver also supports the Lite-On 82c115 PNIC II chip, which is
actually similar in design to the Macronix 98715A with the addition
of wake on LAN support. Supported PNIC II cards include the
LinkSys LNE100TX Version 2.
.Pp
The Macronix chips use bus master DMA and are designed to be
DEC 'tulip' workalikes. The original 98713 had an MII bus for
controlling an external PHY, however the 98713A and up use an
internal transceiver with NWAY support. The Macronix parts are
advertised as being register compatible with the DEC 21x4x
controllers. All of the Macronix controllers support both
10 and 100Mbps speeds in either full or half duplex.
.Pp
The
.Nm
driver supports the following media types:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It autoselect
Enable autoselection of the media type and options.
The user can manually override
the autoselected mode by adding media options to the
.Pa /etc/rc.conf
file.
.It 10baseT/UTP
Set 10Mbps operation. The
.Ar mediaopt
option can also be used to select either
.Ar full-duplex
or
.Ar half-duplex modes.
.It 100baseTX
Set 100Mbps (fast ethernet) operation. The
.Ar mediaopt
option can also be used to select either
.Ar full-duplex
or
.Ar half-duplex
modes.
.El
.Pp
The
.Nm
driver supports the following media options:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It full-duplex
Force full duplex operation
.It half-duplex
Force half duplex operation.
.El
.Pp
Note that the 100baseTX media type is only available if supported
by the adapter.
For more information on configuring this device, see
.Xr ifconfig 8 .
.Sh DIAGNOSTICS
.Bl -diag
.It "mx%d: couldn't map memory"
A fatal initialization error has occurred.
.It "mx%d: couldn't map interrupt"
A fatal initialization error has occurred.
.It "mx%d: watchdog timeout"
The device has stopped responding to the network, or there is a problem with
the network connection (cable).
.It "mx%d: no memory for rx list"
The driver failed to allocate an mbuf for the receiver ring.
.It "mx%d: no memory for tx list"
The driver failed to allocate an mbuf for the transmitter ring when
allocating a pad buffer or collapsing an mbuf chain into a cluster.
.It "mx%d: chip is in D3 power state -- setting to D0"
This message applies only to adapters which support power
management. Some operating systems place the controller in low power
mode when shutting down, and some PCI BIOSes fail to bring the chip
out of this state before configuring it. The controller loses all of
its PCI configuration in the D3 state, so if the BIOS does not set
it back to full power mode in time, it won't be able to configure it
correctly. The driver tries to detect this condition and bring
the adapter back to the D0 (full power) state, but this may not be
enough to return the driver to a fully operational condition. If
you see this message at boot time and the driver fails to attach
the device as a network interface, you will have to perform second
warm boot to have the device properly configured.
.Pp
Note that this condition only occurs when warm booting from another
operating system. If you power down your system prior to booting
.Fx ,
the card should be configured correctly.
.El
.Sh SEE ALSO
.Xr arp 4 ,
.Xr netintro 4 ,
.Xr ifconfig 8
.Rs
.%T Macronix 98713/A, 98715/A and 98725 data sheets
.%O http://www.macronix.com
.Re
.Rs
.%T Macronix 98713/A and 98715/A app notes
.%O http://www.macronix.com
.Re
.Sh HISTORY
The
.Nm
device driver first appeared in
.Fx 3.0 .
.Sh AUTHORS
The
.Nm
driver was written by
.An Bill Paul Aq wpaul@ctr.columbia.edu .
.Sh BUGS
The Macronix application notes claim that in order to put the
chips in normal operation, the driver must write a certian magic
number into the CSR16 register. The numbers are documented in
the app notes, but the exact meaning of the bits is not.
.Pp
The 98713A seems to have a problem with 10Mbps full duplex mode.
The transmitter works but the receiver tends to produce many
unexplained errors leading to very poor overall performance. The
98715A does not exhibit this problem. All other modes on the
98713A seem to work correctly.

View File

@ -1,46 +0,0 @@
.\"
.\" Copyright (c) 1994 James A. Jegers
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd July 10, 1996
.Dt NCR 4 i386
.Os
.Sh NAME
.Nm ncr
.Nd NCR 53C8xx SCSI driver
.Sh SYNOPSIS
.Cd "device ncr0"
.Sh DESCRIPTION
The
.Nm
driver provides support for the NCR/Symbios 53C810, 53C810a,
53C815, 53C820, 53C825a, 53C860, 53C875, 53C875j, 53C885,
53C895 and 53C896 SCSI controller chips.
.Sh SEE ALSO
.Xr cd 4 ,
.Xr ch 4 ,
.Xr da 4 ,
.Xr intro 4 ,
.Xr sa 4 ,
.Xr scsi 4

View File

@ -1,70 +0,0 @@
.\" Copyright (c) 1999
.\" Nick Hibma <hibma@skylink.it>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul.
.\" 4. Neither the name of the author nor the names of any co-contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY NICK HIBMA AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL NICK HIBMA OR THE VOICES IN HIS HEAD
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd February 21, 1999
.Dt 0HCI 4 i386
.Os FreeBSD
.Sh NAME
.Nm ohci
.Nd
OHCI USB Host Controller Driver
.Sh SYNOPSIS
.Cd "controller ohci0"
.Sh DESCRIPTION
The
.Nm
driver provides support for OHCI-type PCI based USB controllers. This
includes
.Bl -tag -width xxxxx
.It AcerLabs M5237 (Aladdin-V)
.It OPTi 82C861 (FireLink)
.It NEC uPD 9210
.It CMD Tech 670 (USB0670)
.It CMD Tech 673 (USB0673)
.El
or any other OHCI v1.0 compliant controller.
.Sh SEE ALSO
.Xr uhci 4
.Sh HISTORY
The
.Nm
device driver first appeared in
.Fx 3.0 .
.Sh AUTHORS
The
.Nm
driver was written by
.An Lennart Augustsson Aq augustss@carlstedt.se
for the
.Nx
project.

View File

@ -1,202 +0,0 @@
.\"
.\" Copyright (c) 1998, Luigi Rizzo
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd June 3, 1998
.Dt PCM 4 i386
.Os FreeBSD
.Sh NAME
.Nm pcm
.Nd FreeBSD audio device driver
.Sh SYNOPSIS
.Cd "device pcm0 at isa? port? irq 5 drq 1 flags 0x15"
.Sh DESCRIPTION
The
.Nm pcm
driver provides support for various ISA sound cards that are compatible
with the WSS/MSS specs, or with the SBPro and SB16. Only audio
capture/playback is supported by the driver, and true full duplex
operation is available on most cards.
.Pp
Apart from the usual parameters, the flags field is used to specify
the secondary DMA channel (generally used for capture in full duplex
cards). Flags are set to 0 for cards not using a secondary DMA
channel, or to 0x10 + C to specify channel C.
.Pp
PnP audio cards are also supported using the
.Nm pnp
support which is available in FreeBSD starting from release 2.2.6.
See the
.Xr pnp 4
manpage for more information. In particular, remember that unit
numbers for (recognized)
PnP cards are assigned after the legacy ISA devices, and that the
actual resources (port, irq and drq) used by the driver are read from
the PnP configuration and not from the "device pcm0" line.
So, if you have the following line in your kernel config file:
.Pp
.Cd "device pcm0 ..."
.Pp
your first PnP audio card will be unit #1, i.e. it will be accessible
as /dev/audio1, /dev/dsp1, etc.
Many applications default to using /dev/audio, but appropriate
symlinks will be created as a side-effect of the the following command:
.Pp
.Cd cd /dev
.Cd ./MAKEDEV snd1
.Pp
The driver works best with WSS/MSS cards, which have a very clean
architecture and an orthogonal set of features. They also happen to be
among the cheapest audio cards on the market.
Other cards such as SB and ESS have a more complex internal
architecture, and often no documentation available. As a consequence,
support for these cards is slightly worse.
.Pp
The driver does its best to recognize the installed harware and drive
it correctly, so that you don't have to give too many details in the
kernel config files. For PnP cards this is actually easy since they
identify themselves. For legacy ISA cards, the driver first looks for
MSS cards at addresses 0x530 and 0x604, then for SB
cards at 0x220 and 0x240 (obviously, unless overridden in the kernel
config file by specifying an address).
.Sh IOCTL
The driver supports most of the Voxware ioctls(), and most
applications work unmodified (including popular mpeg players and linux
binaries). A few
differences exist (the most important one is the ability to use
memory-mapped access to the audio buffers). As a consequence, some
applications may need to be recompiled with a slightly modified
audio module. See /usr/include/machine/soundcard.h for a complete
list of the supported ioctls.
.Sh SUPPORTED CARDS
.Pp
Below we include a list of supported codecs/cards, including, if
possible, the pnp configuration information where applicable
(we give default parameters, your actual resources may vary).
.Bl -tag -width 2m % begin list
.It CS4237, CS4236, CS4232, CS4231
.Cd "pnp 1 0 os enable port0 0x534 port2 0x220 irq0 5 drq0 1 drq1 3"
.Pp
All these cards work perfectly in full duplex using the MSS mode.
This chipset is used, among others, on the A/Open AW35 and AW32, on
some Intel motherboards, and (the CS4231) on some non-PnP cards.
.Pp
The CS4232 is reported as buggy in the Voxware documentation but
I am not sure if this is true. On one of my Intel motherboards,
capture does not work simply because the capture DMA channel is
not wired to the ISA DMA controller.
.It GUSPnP
.Cd "pnp 1 0 os enable port0 0x220 port1 0x320 port2 0x32c irq0 5 drq0 7 drq1 5"
.Pp
Supported in full duplex using the MSS mode. The GUSPnP does not use a
real CS4231, and I suspect a bug in the emulation when operating
with mu-law format. Since the card is discontinued, I did not bother
to include special code to set the card in "Mode3" (where mu-law is
known to work) and rather I use U8 format internally, and do the
conversion in software within the driver. This loses resolution,
so you should use 16-bit modes with this card when possible.
.It Yamaha OPL-SAx
.Cd "pnp 1 0 os enable port0 0x220 port1 0x530 port2 0x388 port3 0x370 irq0 5 drq0 1 drq1 3"
.Pp
Works perfectly in all modes. This chip is used in several PnP cards,
but also (in non-PnP mode) on motherboards and laptops (e.g. the
Toshiba Libretto).
.It OPTi931
.Cd "pnp 1 1 os enable port0 0x534 port2 0x220 port3 0xe0d irq0 10 drq0 1 drq1 6"
.Pp
The chip is buggy, but the driver has many workarounds to make it work
in full duplex because for some time these were the only full duplex
cards I could find. u-law formats uses U8 format internally because of
a bug in the chip.
.It SB16, Vibra16C, and old SB16/AWExx cards
.Cd "pnp 1 0 os enable port0 0x220 irq0 5 drq0 1 drq1 5"
.Pp
These codecs have limited full duplex capabilities, by doing 8-bit
in one direction and 16-bit in the other one. The driver supports this
mode of operation but keep in mind that it is not a supported mode of
operation from CreativeLabs.
.It Vibra16X and newer SB16/AWExx cards
.Cd "pnp 1 0 os enable port0 0x220 irq0 5 drq0 1 drq1 3"
.Pp
Recently CreativeLabs has changed the codec (DSP) and the new one is
somewhat different from the old one. The most apparent difference is
the use of two 8-bit DMA channels, which seems to have broken our full
duplex support. Maybe one can achieve full duplex by making use of the
wavetable to play audio, but since this driver does not support the
wavetable you have to stick with half duplex.
.It SBPro and clones
This is the default mode of operation for most other cards. We have
only limited (and possibly buggy) support for them: 8-bit, half
duplex, even if the hardware in some cases (e.g. ESS chips) might do more.
.El
.Pp
.Sh DIAGNOSTICS AND TROUBLESHOOTING
.Bl -tag -width 2m
.It "This is XXX but LDN Y is disabled"
.Pp
This means that the bios has left the PnP device disabled, and you
have to enable it manually booting with "-c" and giving the pnp
configuration shown above.
.It "pcmX: unit not configured, perhaps you want pcmY ?"
This means that you are using the wrong unit. Generally this happens
when you are using a PnP card without creating the symlinks to the
correct unit. Re-create the symlinks (and possibly also the device
entries) in the /dev directory to point to the right one.
.It "timeout flushing dbuf_out ..."
This means a problem in the configuration of the card (specifically,
in the DMA channel) or (much less likely) in the driver, which has
not recognized the card correctly. Check the DMA channel used for
capture.
.It capture does not work
This usually happens when the input dma channel is misconfigured.
.El
.Sh BUGS
Due to lack of documentation,
SB16 support is not very good. Also, mixer support is not complete,
and some features of your cards (e.g. global volume control) might not
be supported on all devices.
.Sh HISTORY
The
.Nm pcm
device driver first appeared in
.Fx 2.2.6
.Sh AUTHORS
The
.Nm
device driver and this manual page were written by
.An Luigi Rizzo Aq luigi@iet.unipi.it

View File

@ -1,917 +0,0 @@
.\"
.\" Copyright (c) 1992, 1995 Hellmuth Michaelis, Brian Dunford-Shore,
.\" Joerg Wunsch and Holger Veit.
.\"
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Hellmuth Michaelis,
.\" Brian Dunford-Shore, Joerg Wunsch and Holger Veit.
.\" 4. The name authors may not be used to endorse or promote products
.\" derived from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" @(#)pcvt.4, 3.20, Last Edit-Date: [Sun Apr 2 18:23:39 1995]
.\" $FreeBSD$
.\"
.\" Man page pcvt(4) created after pcvt_ioctl.h on 13-Jan-93
.\" by Joerg Wunsch
.\"
.\" updated for rel 2.10 (-hm)
.\" updated for rel 2.20 (-hm)
.\" updated for rel 3.00 (-jw)
.\" updated for final rel 3.00 (-hm)
.\" removed references to 386BSD (-hm)
.\"
.Dd February 27, 1994
.Dt PCVT 4 i386
.Sh NAME
.Nm pcvt ,
.Nm vt
.Nd PC console virtual screen system
.Sh SYNOPSIS
options
.Do
.Em PCVT_FREEBSD = version
|
.Em PCVT_NETBSD = version
.Dc
.br
.Op options Dq Em PCVT_NSCREENS = number
.br
.Op options Dq Em PCVT_XXXX
.Po
see
.Sx Configuration
below
.Pc
.Pp
.Cd "device vt0 at isa?"
.Sh DESCRIPTION
.Ss Overview
The
.Nm pcvt
driver provides a virtual screen system with several additional
features not available in historic console drivers.
Besides the ability of handling
multiple virtual screens,
the probably most important is an emulation of a wide range
of DEC VT-220
.if t \(tm
.if n (TM)
functionality. See
.Sx Features
for a detailed description.
.Pp
The
.Nm pcvt
driver requires the keyboard driver
.Nm atkbd
to be also configured in the kernel.
.Ss Features
.Bl -bullet
.It
Almost full DEC VT220
.if t \(tm
.if n (TM)
functionality
.Po
moving towards VT320
.if t \(tm
.if n (TM)
.Pc
.It
Completely independent virtual terminals for MDA/HGC/CGA/EGA and VGA
.It
25, 28, 35, 40, 43 or 50x80 screen resolution for each virtual screen
.It
Fully remappable keyboard to support national keyboards
.It
All VT220 character sets plus ISO Latin-1 and DEC technical supported
.It
VT220 downloadable character set supported when run on EGA/VGA
.It
VT220 user defined keys for each virtual terminal
.It
Optional function key label support
.if t \('a
.if n 'a
la Hewlett-Packard
.It
Display function codes functionality
.It
Support for MDA, CGA, EGA and VGA display adaptors
.It
Support for 132 column operation on VGA chipsets
.It
X Window Support for XFree86 >= 1.2 using the pccons model, or
for XFree86 >= 2.0 using the syscons model
.Po
requires
.Em PCVT_USL_VT_COMPAT
to be configured
.Pc
.El
What it cannot:
.Bl -bullet
.It
No double wide/high characters
.It
No softscroll
.It
No inverse background
.It
No VT220 printer output support
.It
No VT52 support at all
.It
No 8-bit controls
.It
Only limited AT-keyboard
.Pq 84 keys
support
.Pq yet
.It
Help you to make money...
.El
.Ss Configuration
The
.Nm pcvt
console driver is currently available for the Intel-based BSD operating
systems
.Tn NetBSD/i386
(release 0.9 or higher),
and
.Tn FreeBSD
(release 1.0-GAMMA or higher) .
In order to get the appropriate system support, one of the options
.Em PCVT_NETBSD ,
or
.Em PCVT_FREEBSD
must be defined in the system's config file
.Pq see Xr config 8 .
In addition, for the
.Tn FreeBSD
and
.Tn NetBSD
operating systems, it is necessary to set this option to the operating
system's version number.
For
.Tn FreeBSD
this version number must be expressed as a 3-digit number.
E.\& g., if you are running the 1.0 release
.Pq which is actually version 1.0.2 ,
you should define
.Em PCVT_FREEBSD = 102
For
.Em NetBSD
this version number must be expressed as 9 if you are running NetBSD 0.9
and anything greater than 9 for NetBSD-current (pre 1.0). It is recommended
to use (as with
.Tn FreeBSD )
100 for
.Nx 1.0
and 999 for
.Tn NetBSD-current.
E.g., if you are running the
.Nx 1.0
release, you should define
.Em PCVT_NETBSD = 100
The
.Nm pcvt
driver has been designed to be highly configurable in order to satisfy
everyone's needs. The preferred way for those configurations is to
provide appropriate
.Em options
lines within the config file, possibly overriding the built-in default
values. Therefore it is possible to compile several distinct kernels
with different driver behaviour on a single machine.
The following list gives a short overview of the available configuration
options. Refer to the file
.Pa i386/isa/pcvt/pcvt_hdr.h
in the kernel source tree for detailed documentation.
Note: the following conventions apply to all the Boolean options.
If an option is given with no value, a value of 1
.Pq activated
is substituted. If an option value is given as 0, this options is
deactivated. Any other value is substituted by 1, too. If an option
is omitted, a built-in default is assumed.
.Bl -tag -width indent -compact
.It Em PCVT_NSCREENS
Defines the number of virtual screens.
.br
Default: 8
.It Em PCVT_VT220KEYB
If activated, a keyboard layout resembling a DEC VT200 (TM) is generated.
If deactivated, a mixture between VT220 and HP is used. See the files
.Pa Keyboard.VT
and
.Pa Keyboard.HP
in the
.Nm pcvt
documentation directory for a full description.
.br
Default: off
.It Em PCVT_SCREENSAVER
Enables the builtin screensaver feature.
.br
Default: on
.It Em PCVT_PRETTYSCRNS
If enabled, a blinking-star screensaver is used. If disabled, the screen
is simply blanked
.Pq which might be useful for energy-saving monitors .
.br
Default: on
.It Em PCVT_CTRL_ALT_DEL
If enabled, the key combination
.Aq Em Ctrl
.Aq Em Alt
.Aq Em Del
invokes a CPU reset.
.br
Default: off
.It Em PCVT_USEKBDSEC
Do NOT override a security lock for the keyboard.
.br
Default: on
.It Em PCVT_24LINESDEF
If enabled, the 25-line modi
.Po
VT emulation with 25 lines, and HP emulation with 28 lines
.Pc
default to 24 lines only to provide a better compatibility to the
original DEV VT220 (TM). Thus it should be possible to use the
terminal information for those terminals without further changes.
Note that this is a startup option; it is possible to toggle between
the 24- and 25-lines' display by the
.Xr scon 1
utility.
.br
Default: off
.It Em PCVT_EMU_MOUSE
Emulate a three-button mouse via the keypad. Useful for notebooks when
running XFree86. See
.Sx Mouse emulation
below.
.br
Default: off
.It Em PCVT_META_ESC
If enabled, a sequence composed of
.Aq Em esc ,
followed by the normal key code is emitted if a key is pressed with the
.Aq Em Alt
key modifier. If disabled, then normal key code with the value
.Em 0x80
added is sent.
.br
Default: off
.El
Note that there are further options available which are mainly used for
debugging purposes or as a workaround for hardware problems. They are
found in
.Pa i386/isa/pcvt/pcvt_hdr.h
along with their documentation.
.Ss Internal Functions
The functionality described below may be accessed via
.Xr ioctl 2
system calls with a file descriptor opened on a device node
related to the
.Nm pcvt
driver.
To make use of them, a program should contain the following line:
.Dl #include <machine/pcvt_ioctl.h>
Any parameter definitions cited below can be found in that file.
.Em Keyboard related functions
Three functions are related to basic keyboard hardware:
.Bl -tag -width 20n -offset indent -compact
.It KBDRESET
reset keyboard, set defaults;
.It KBDGTPMAT
get current typematic value, parameter is a pointer to int where
the values is stored to;
.It KBDSTPMAT
set current typematic value, similar to above command.
.El
Symbolic values are available for the appropriate constants.
To specify the initial typematic delay time, they are
KBD_TPD250 for 250 ms through
KBD_TPD1000 for 1000 ms, in steps of 250 ms. The typematic repeat
rates are
KBD_TPM300, specifying 30.0 characters per second through
KBD_TPM20 for 2.0 characters per second. The intermediate values
are: 30.0, 26.7, 24.0, 21.8, 20.0, 18.5, 17.1, 16.0, 15.0, 13.3,
12.0, 10.9, 10.0, 9.2, 8.6, 8.0, 7.5, 6.7, 6.0, 5.5, 5.0, 4.6, 4.3,
4.0, 3.7, 3.3, 3.0, 2.7, 2.5, 2.3, 2.1, 2.0 characters per second.
.Bl -tag -width 20n -offset indent -compact
.It KBDGREPSW
get key repetition switch, and
.It KBDSREPSW
set key repetition switch
.El
again take a pointer to int as argument. They manipulate the
drivers internal keyboard repetition flag, possible values are:
KBD_REPEATOFF or KBD_REPEATON.
.Bl -tag -width 20n -offset indent -compact
.It KBDGLEDS
get LED state, and
.It KBDSLEDS
set LED state manipulate the keyboard indicators, but do not influence
the drivers idea of lock key state.
.El
The int where the argument points to
may have the values
KBD_SCROLLLOCK, KBD_NUMLOCK, KBD_CAPSLOCK, which may be used in any
conjunction.
.Bl -tag -width 20n -offset indent -compact
.It KBDGLOCK
gets state of SCROLL,NUM,CAPS, and
.It KBDSLOCK
sets state of SCROLL,NUM,CAPS + LEDs
.El
should be used in a same manner to get/set the drivers internal
LED flags.
.Em Keyboard remapping
One important feature of the
.Nm pcvt
driver is its ability to overload the built in key definition.
.Bl -tag -width 20n -offset indent -compact
.It KBDGCKEY
get current key values,
.It KBDSCKEY
set new key assignment values, and
.It KBDGOKEY
get original key assignment values
.El
arrange those functions. The take a pointer to a
.Em struct kbd_ovlkey
as argument as described below. In addition,
.Bl -tag -width 20n -offset indent -compact
.It KBDRMKEY
removes a key assignment, taking a pointer to an int as argument which
contains the affected key number;
.It KBDDEFAULT
removes all key assignments.
.El
.Bd -literal
struct kbd_ovlkey /* complete definition of a key */
{
u_short keynum; /* the key itself */
u_short type; /* type of key, see below */
u_char subu; /* subtype, ignored on write */
char unshift[KBDMAXOVLKEYSIZE+1]; /* emitted string, unshifted */
u_char subs; /* subtype, ignored on write */
char shift[KBDMAXOVLKEYSIZE+1]; /* emitted string, shifted */
u_char subc; /* subtype, ignored on write */
char ctrl[KBDMAXOVLKEYSIZE+1]; /* emitted string, control */
u_char suba; /* subtype, ignored on write */
char altgr[KBDMAXOVLKEYSIZE+1]; /* emitted string, altgr */
};
.Ed
The appropriate values for the
.Em type
field are:
.Bl -tag -width 20n -offset indent -compact
.It KBD_NONE
no function, key is disabled,
.It KBD_SHIFT
keyboard shift,
.It KBD_META
alternate shift, sets bit8 to ASCII code,
.It KBD_NUM
numeric shift, keypad numeric / application mode,
.It KBD_CTL
control code generation,
.It KBD_CAPS
caps shift - swaps case of letter,
.It KBD_ASCII
ASCII code generating key,
.It KBD_SCROLL
stop output,
.It KBD_FUNC
function key,
.It KBD_KP
keypad keys,
.It KBD_BREAK
ignored,
.It KBD_ALTGR
AltGr translation feature,
.It KBD_SHFTLOCK
shift lock,
.It KBD_CURSOR
cursor keys, and
.It KBD_RETURN
.Dq Return
or
.Dq Enter
keys.
.El
The
.Em subtype
field contains one of the values
.Bl -tag -width 20n -offset indent -compact
.It KBD_SUBT_STR
key is bound to a string, or
.It KBD_SUBT_FNC
key is bound to a function.
.El
.Em Mouse emulation
The mouse emulator
.Pq if configured in
fakes a three-button mouse using the Mouse Systems protocol. The first
.Nm pcvt
device node not used by a virtual screen is the mouse device. I.\& e.,
for the default value of 8 virtual screens,
.Pa /dev/ttyv0
through
.Pa /dev/ttyv7
would refer to the virtual screens, and
.Pa /dev/ttyv8
were the mouse emulator device. The mouse emulation is turned on by
pressing the
.Aq Em NumLock
key. The pointer is moved by the numerical keypad keys, into the
obvious directions. The pointer is initially moved in single steps,
and is accelerated after an adjustable time
.Pq default: 500 ms
by about 6 times. The mouse buttons are emulated by three normal
keys, by default the function keys
.Aq Em \&F1 ,
.Aq Em \&F2 ,
and
.Aq Em \&F3 .
There are two selectable flavors available: normal and
.Dq sticky
buttons. Normal buttons behave as expected.
.Dq Sticky
buttons are notified as button-press on the first keypress. They
.Dq stick
until the key is pressed again
.Pq or another button-emulating key instead .
Button presses and releases are notified to the user by a simple
.Dq pling ,
or
.Dq plong ,
respectively, generated from the PC's built-in speaker.
The following commands control the emulation.
.Bl -tag -width 20n -offset indent -compact
.It KBDMOUSEGET
get the current definitions, and
.It KBDMOUSESET
set new definitions.
.El
Both accept a
.Li struct mousedefs *
as the third argument to the ioctl call:
.Bd -literal
struct mousedefs {
int leftbutton; /* (PC) scan code for "left button" key */
int middlebutton; /* (PC) scan code for "mid button" key */
int rightbutton; /* (PC) scan code for "right button" key */
int stickybuttons; /* if true, the buttons are "sticky" */
int acceltime; /* timeout in microseconds to start pointer */
/* movement acceleration */
/* defaults to: scan(F1), scan(F2), scan(F3), false, 500000 */
};
.Ed
.Em Downloadable character set interface
EGA and VGA video adaptors provide the capability of downloadable
software fonts. Since the
.Sq native character set
of any IBM-compatible PC video board does not allow the full interpretation
of DEC multinational character set or ISO Latin-1
.Pq ISO 8859-1 ,
this might be very useful for a U**X environment.
.Bl -tag -width 20n -offset indent -compact
.It VGASETFONTATTR
set font attr, and
.It VGAGETFONTATTR
get font attr
.El
are used to manipulate the drivers information about a downloaded
font. The take a pointer to a
.Em struct vgafontattr
as argument:
.Bd -literal
struct vgafontattr {
int character_set; /* VGA character set */
int font_loaded; /* Mark font loaded or unloaded */
int screen_size; /* Character rows per screen */
int character_scanlines; /* Scanlines per character - 1 */
int screen_scanlines; /* Scanlines per screen - 1 byte */
};
.Ed
Each character of each font is to be downloaded with
.Bl -tag -width 20n -offset indent -compact
.It VGALOADCHAR
load vga char,
.El
taking a pointer to
.Em struct vgaloadchar
as its argument:
.Bd -literal
struct vgaloadchar {
int character_set; /* VGA character set to load into */
int character; /* Character to load */
int character_scanlines; /* Scanlines per character */
u_char char_table[32]; /* VGA character shape table */
};
.Ed
The field
.Em character_set
takes the values
CH_SET0, CH_SET1, CH_SET2, CH_SET3 on EGA's or VGA's. Since VGA's
might have up to eight simultaneously loaded fonts, they can take
CH_SET4, CH_SET5, CH_SET6, or CH_SET7, too.
Note that there's a dependence between the font size
and a possible screen height
.Pq in character rows ,
depending on the video adaptor used:
.Bd -literal
Screen size (rows) on: EGA VGA
Font size
8 x 8 43 50
8 x 10 35 40
8 x 14 25 28
8 x 16 not 25
applicable
.Ed
.Em General screen manipulation commands
.Bl -tag -width 20n -offset indent -compact
.It VGACURSOR
sets cursor shape,
.El
taking a pointer to the following structure as argument:
.Bd -literal
struct cursorshape {
int screen_no; /* screen number for which to set, */
/* or -1 to set on current active screen */
int start; /* top scanline, range 0... Character Height - 1 */
int end; /* end scanline, range 0... Character Height - 1 */
};
.Ed
.Bl -tag -width 20n -offset indent -compact
.It VGASETSCREEN
set screen info, and
.It VGAGETSCREEN
get screen info,
.El
provide an interface to some general driver internal variables
which might modify the behaviour of the screens,
or which might simply be used to force the driver to switch
to one certain screen. Their argument is a pointer to the structure:
.Bd -literal
struct screeninfo {
int adaptor_type; /* type of video adaptor installed */
/* read only, ignored on write (yet!) */
int totalfonts; /* no of downloadable fonts */
/* read only, ignored on write */
int totalscreens; /* no of virtual screens */
/* read only, ignored on write */
int screen_no; /* screen number, this was got from */
/* on write, if -1, apply pure_vt_mode */
/* and/or screen_size to current screen*/
/* else to screen_no supplied */
int current_screen; /* screen number, which is displayed. */
/* on write, if -1, make this screen */
/* the current screen, else set current*/
/* displayed screen to parameter */
int pure_vt_mode; /* flag, pure VT mode or HP/VT mode */
/* on write, if -1, no change */
int screen_size; /* screen size */
/* on write, if -1, no change */
int force_24lines; /* force 24 lines if 25 lines VT mode */
/* or 28 lines HP mode to get pure */
/* VT220 screen size */
/* on write, if -1, no change */
int vga_family; /* if adaptor_type = VGA, this reflects*/
/* the chipset family after a read */
/* nothing happenes on write ... */
int vga_type; /* if adaptor_type = VGA, this reflects*/
/* the chipset after a read */
/* nothing happenes on write ... */
int vga_132; /* set to 1 if driver has support for */
/* 132 column operation for chipset */
/* currently ignored on write */
};
.Ed
Its field
.Em pure_vt_mode
may take the values M_HPVT for a mixed VTxxx and HP Mode, with function
key labels and a status line, or M_PUREVT for only VTxxx sequences
recognized, with no labels.
.Bl -tag -width 20n -offset indent -compact
.It VGASETCOLMS
sets the number of columns for the current screen,
.El
its parameter is a pointer to an integer containing either a value of 80,
or a value of 132. Note that setting the number of columns to 132 is
only supported on VGA adaptors. Any unsupported numbers cause the ioctl
to fail with
.Em errno
.Pq see Xr intro 2
being set to
.Em EINVAL .
.Em VGA color palette interface
Only on VGA adaptors, there's a color palette register at the output.
It is responsible for the red, green and blue output voltage provided
for each of the 256 internal color codes, each lying in the range of
0 through 63 (with 63 representing the brightest value for a base color).
Thus, these adaptors map each color code to a color of a
.Dq palette
out of 262144 colors. The commands
.Bl -tag -width 20n -offset indent -compact
.It VGAREADPEL
read VGA palette entry, and
.It VGAWRITEPEL
write VGA palette entry
.El
establish an interface to these palette registers. Their argument is
a pointer to:
.Bd -literal
struct vgapel {
unsigned idx; /* index into palette, 0 .. 255 valid */
unsigned r, g, b; /* RGB values, masked by VGA_PMASK (63) */
};
.Ed
.Em Driver identification
.Bl -tag -width 20n -offset indent -compact
.It VGAPCVTID
returns information if the current compiled in driver is pcvt and it's
major and minor revision numbers. the call is taking a pointer to the
following structure as argument:
.El
.Bd -literal
struct pcvtid {
#define PCVTIDNAMELN 16 /* driver id - string length */
char name[PCVTIDNAMELN]; /* driver name, == PCVTIDSTR */
#define PCVTIDNAME "pcvt" /* driver id - string */
int rmajor; /* revision number, major */
#define PCVTIDMAJOR 3
int rminor; /* revision number, minor */
#define PCVTIDMINOR 00
};
.Ed
.Bl -tag -width 20n -offset indent -compact
.It VGAPCVTINFO
returns information if the current compiled in driver is pcvt and it's
compile time options. the call is taking a pointer to the following
structure as argument:
.El
.Bd -literal
struct pcvtinfo {
u_int opsys; /* PCVT_xxx(x)BSD */
#define CONF_UNKNOWNOPSYS 0
#define CONF_386BSD 1 /* unsupported !!! */
#define CONF_NETBSD 2
#define CONF_FREEBSD 3
u_int opsysrel; /* Release for NetBSD/FreeBSD */
u_int nscreens; /* PCVT_NSCREENS */
u_int scanset; /* PCVT_SCANSET */
u_int updatefast; /* PCVT_UPDATEFAST */
u_int updateslow; /* PCVT_UPDATESLOW */
u_int sysbeepf; /* PCVT_SYSBEEPF */
u_int pcburst; /* PCVT_PCBURST */
u_int kbd_fifo_sz; /* PCVT_KBD_FIFO_SZ */
/* config booleans */
u_long compile_opts; /* PCVT_xxxxxxxxxxxxxxx */
};
.Ed
.Em Screen saver
Depending on the configuration of a
.Nm pcvt
driver, their might be a simple screen saver available. It is controlled
by the command
.Bl -tag -width 20n -offset indent -compact
.It VGASCREENSAVER
set timeout for screen saver in seconds; 0 turns it off,
.El
taking a pointer to an integer as argument. Despite of its command name,
this is available on
.Em any
kind of adaptor if configured in by the
.Xr config 8
option
.Dq PCVT_SCREENSAVER
.Em Compatibility commands for USL-style VT's
Release 3.00 of this
.Nm pcvt
driver supports a subset of the USL-style commands used to control
the virtual terminal interface. This feature is mainly intended to
allow
.Em XFree86 ,
release 2.0 or higher, to switch between virtual screens even when
running an X server. They are ugly with respect to the implied semantics
.Pq i.\& e., they break Berkeley semantics
and are therefore not recommended for common use. See the file
.Pa i386/include/pcvt_ioctl.h
for their documentation.
.Sh FILES
.Bl -tag -width /usr/include/machine/pcvt_ioctl.h
.It Pa /usr/include/machine/pcvt_ioctl.h
Definitions for
.Xr ioctl 2
function calls
.It Pa /dev/ttyv?
.It Pa /dev/console
Device nodes to access the
.Nm pcvt
driver
.It Pa i386/isa/pcvt/pcvt_hdr.h
.Pq relative to the kernel source tree
Documents the various compile-time options to tailor
.Nm pcvt .
.Sh HISTORY
The
.Nm pcvt
driver has been developed for and contributed to 386BSD release 0.1. Since
release 3.00 explicit support is provided for NetBSD 0.9. It is expected
that no further development on pcvt is done for 386BSD 0.1 after release 3.00,
in fact, 386BSD support was dropped with release 3.20.
.Sh AUTHORS
Written by
.An Hellmuth Michaelis Aq hm@hcshh.hcs.de
with much help from
.An Brian Dunford-Shore Aq brian@morpheus.wustl.edu
.br
.if n Joerg Wunsch
.if t J\(:org Wunsch
.Aq joerg_wunsch@uriah.sax.de
.br
This driver is based on several people's previous
work, notably by
.An William Jolitz'
and
.An Don Ahn's
historic
.Xr pccons 4
implementation
.br
.Aq ljolitz@cardio.ucsf.edu
.br
.An Holger Veit Aq veit@first.gmd.de
.Sh SEE ALSO
.Xr intro 2 ,
.Xr ioctl 2 ,
.Xr atkbd 4 ,
.Xr keyboard 4 ,
.Xr screen 4 ,
.Xr config 8 ,
.Xr ispcvt 8
.Sh BUGS
Certainly existent. See the file
.Pa BugList
in the Documentation directory for an up-to-date list.
.Ss Tested Video Boards
.Bd -literal
Manufacturer Chipset Monitor
2theMax (?) ET4000 VGA Color
Video7 Inc. Video 7 VGA Color
Diamond Stealth VRAM S3 NEC 3FGx
Trident TVGA 8800CS NEC 3D
Data General C&T P82C604 VGA Color
NoName Hercules W86855AF Mono
Kyocera (Mainboard) WD90C11 Sony Color
unknown ET3000 NEC 3D
.Ed
.Ss Tested Keyboards
.Bd -literal
Manufacturer Type Layout
Cherry MF II US
Cherry/Tandon MF II German
Hewlett-Packard MF II US
Hewlett-Packard MF II German
Tatung AT German
.Ed
There is absolutely NO support for the ancient PC-keyboards
.Pq they had 83 keys .
There is only limited support for AT-keyboards
.Bo
they have 84 keys, and a separate numeric keypad,
they don't have F11/F12 keys
.Bc
because the emulator needs F9 through F12 for control functions, and due to
the current design of the keyboard driver there is no
.Pq full
support for national keyboards because
of the lack of an ALtGr key.
MF-keyboards are fully supported, 101- and 102-key versions.

View File

@ -1,160 +0,0 @@
.\" Copyright (c) 1997, 1998
.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul.
.\" 4. Neither the name of the author nor the names of any co-contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd November 7, 1998
.Dt PN 4 i386
.Os FreeBSD
.Sh NAME
.Nm pn
.Nd
Lite-On 82c168/82c169 PNIC fast ethernet device driver
.Sh SYNOPSIS
.Cd "device pn0"
.Sh DESCRIPTION
The
.Nm
driver provides support for PCI ethernet adapters and embedded
controllers based on the Lite-On 82c168 and 82c169 fast ethernet
controller chips. This includes the LinkSys LNE100TX, the
Bay Networks Netgear FA310TX revision D1, the Matrox Networks
FastNIC 10/100, the Kingston KNE110TX (EtherRx VP),
and various other commodity fast ethernet cards.
.Pp
The Lite-On chips use bus master DMA and are designed to be
DEC 'tulip' workalikes. Many vendors that formerly based their
designs around the DEC 21x4x devices are now using the PNIC
instead. The chips support both an internal transceiver
and external transceivers via an MII bus. The Lite-On parts are
advertised as being register compatible with the DEC 21x4x
controllers, however there are some differences in the way the
EEPROM and MII access is done. The PNIC controllers support both
10 and 100Mbps speeds in either full or half duplex.
.Pp
The
.Nm
driver supports the following media types:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It autoselect
Enable autoselection of the media type and options.
The user can manually override
the autoselected mode by adding media options to the
.Pa /etc/rc.conf
fine.
.It 10baseT/UTP
Set 10Mbps operation. The
.Ar mediaopt
option can also be used to select either
.Ar full-duplex
or
.Ar half-duplex modes.
.It 100baseTX
Set 100Mbps (fast ethernet) operation. The
.Ar mediaopt
option can also be used to select either
.Ar full-duplex
or
.Ar half-duplex
modes.
.El
.Pp
The
.Nm
driver supports the following media options:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It full-duplex
Force full duplex operation
.It half-duplex
Force half duplex operation.
.El
.Pp
Note that the 100baseTX media type is only available if supported
by the adapter.
For more information on configuring this device, see
.Xr ifconfig 8 .
.Sh DIAGNOSTICS
.Bl -diag
.It "pn%d: couldn't map memory"
A fatal initialization error has occurred.
.It "pn%d: couldn't map interrupt"
A fatal initialization error has occurred.
.It "pn%d: watchdog timeout"
The device has stopped responding to the network, or there is a problem with
the network connection (cable).
.It "pn%d: no memory for rx list"
The driver failed to allocate an mbuf for the receiver ring.
.It "pn%d: no memory for tx list"
The driver failed to allocate an mbuf for the transmitter ring when
allocating a pad buffer or collapsing an mbuf chain into a cluster.
.It "pn%d: chip is in D3 power state -- setting to D0"
This message applies only to adapters which support power
management. Some operating systems place the controller in low power
mode when shutting down, and some PCI BIOSes fail to bring the chip
out of this state before configuring it. The controller loses all of
its PCI configuration in the D3 state, so if the BIOS does not set
it back to full power mode in time, it won't be able to configure it
correctly. The driver tries to detect this condition and bring
the adapter back to the D0 (full power) state, but this may not be
enough to return the driver to a fully operational condition. If
you see this message at boot time and the driver fails to attach
the device as a network interface, you will have to perform second
warm boot to have the device properly configured.
.Pp
Note that this condition only occurs when warm booting from another
operating system. If you power down your system prior to booting
.Fx ,
the card should be configured correctly.
.El
.Sh SEE ALSO
.Xr arp 4 ,
.Xr netintro 4 ,
.Xr ifconfig 8
.Sh HISTORY
The
.Nm
device driver first appeared in
.Fx 3.0 .
.Sh AUTHORS
The
.Nm
driver was written by
.An Bill Paul Aq wpaul@ctr.columbia.edu .
.Sh BUGS
The internal NWAY support on the 82c168 chip is horribly broken, which
means that autoselection will not work, except maybe for half-duplex
10Mbps links. In order to use other modes (e.g. 100Mbps) it will be
necessary to
use
.Xr ifconfig 8
to set the interface manually. Autoselection for 82c169 boards using
MII transceivers should work correctly.

View File

@ -1,771 +0,0 @@
.\"
.\" Copyright (c) 1997
.\" Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer as
.\" the first lines of this file unmodified.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd January 30, 1999
.Dt PSM 4 i386
.Os FreeBSD
.Sh NAME
.Nm psm
.Nd
PS/2 mouse style pointing device driver
.Sh SYNOPSIS
.Cd "options" \&"PSM_HOOKAPM\&"
.Cd "options" \&"PSM_RESETAFTERSUSPEND\&"
.Cd "options" \&"KBD_RESETDELAY=N\&"
.Cd "options" \&"KBD_MAXWAIT=N\&"
.Cd "options" \&"PSM_DEBUG=N\&"
.Cd "options" \&"KBDIO_DEBUG=N\&"
.Cd "device psm0 at atkbdc? irq 12"
.Sh DESCRIPTION
The
.Nm
driver provides support for the PS/2 mouse style pointing device.
Currently there can be only one
.Nm
device node in the system.
As the PS/2 mouse port is located
at the auxiliary port of the keyboard controller,
the keyboard controller driver,
.Nm atkbdc ,
must also be configured in the kernel.
Note that there is currently no provision of changing the
.Em irq
number.
.Pp
Basic PS/2 style pointing device has two or three buttons.
Some devices may have a roller or a wheel and/or additional buttons.
.Ss Device Resolution
The PS/2 style pointing device usually has several grades of resolution,
that is, sensitivity of movement. They are typically 25, 50, 100 and 200
pulse per inch. Some devices may have finer resolution.
The current resolution can be changed at runtime. The
.Nm
driver allows the user to initially set the resolution
via the driver flag
.Pq see Sx DRIVER CONFIGURATION
or change it later via the
.Xr ioctl 2
command
.Dv MOUSE_SETMODE
.Pq see Sx IOCTLS .
.Ss Report Rate
Frequency, or report rate, at which the device sends movement
and button state reports to the host system is also configurable.
The PS/2 style pointing device typically supports 10, 20, 40, 60, 80, 100
and 200 reports per second.
60 or 100 appears to be the default value for many devices.
Note that when there is no movement and no button has changed its state,
the device won't send anything to the host system.
The report rate can be changed via an ioctl call.
.Ss Operation Levels
The
.Nm
driver has three levels of operation.
The current operation level can be set via an ioctl call.
.Pp
At the level zero the basic support is provided; the device driver will report
horizontal and vertical movement of the attached device
and state of up to three buttons.
The movement and status are encoded in a series of fixed-length data packets
.Pq see Sx Data Packet Format .
This is the default level of operation and the driver is initially
at this level when opened by the user program.
.Pp
The operation level one, the `extended' level, supports a roller (or wheel),
if any, and up to 11 buttons.
The movement of the roller is reported as movement along the Z axis.
8 byte data packets are sent to the user program at this level.
.Pp
At the operation level two, data from the pointing device is passed to the
user program as is.
Modern PS/2 type pointing devices often use proprietary data format.
Therefore, the user program is expected to have
intimate knowledge about the format from a particular device when operating
the driver at this level.
This level is called `native' level.
.Ss Data Packet Format
Data packets read from the
.Nm
driver are formatted differently at each operation level.
.Pp
A data packet from the PS/2 mouse style pointing device
is three bytes long at the operation level zero:
.Pp
.Bl -tag -width Byte_1 -compact
.It Byte 1
.Bl -tag -width bit_7 -compact
.It bit 7
One indicates overflow in the vertical movement count.
.It bit 6
One indicates overflow in the horizontal movement count.
.It bit 5
Set if the vertical movement count is negative.
.It bit 4
Set if the horizontal movement count is negative.
.It bit 3
Always one.
.\" The ALPS GlidePoint clears this bit when the user `taps' the surface of
.\" the pad, otherwise the bit is set.
.\" Most, if not all, other devices always set this bit.
.It bit 2
Middle button status; set if pressed. For devices without the middle
button, this bit is always zero.
.It bit 1
Right button status; set if pressed.
.It bit 0
Left button status; set if pressed.
.El
.It Byte 2
Horizontal movement count in two's compliment;
-256 through 255.
Note that the sign bit is in the first byte.
.It Byte 3
Vertical movement count in two's compliment;
-256 through 255.
Note that the sign bit is in the first byte.
.El
.Pp
At the level one, a data packet is encoded
in the standard format
.Dv MOUSE_PROTO_SYSMOUSE
as defined in
.Xr mouse 4 .
.Pp
At the level two, native level, there is no standard on the size and format
of the data packet.
.Ss Acceleration
The
.Nm
driver can somewhat `accelerate' the movement of the pointing device.
The faster you move the device, the further the pointer
travels on the screen.
The driver has an internal variable which governs the effect of
the acceleration. Its value can be modified via the driver flag
or via an ioctl call.
.Ss Device Number
The minor device number of the
.Nm
is made up of:
.Bd -literal -offset indent
minor = (`unit' << 1) | `non-blocking'
.Ed
.Pp
where `unit' is the device number (usually 0) and the `non-blocking' bit
is set to indicate ``don't block waiting for mouse input,
return immediately''.
The `non-blocking' bit should be set for \fIXFree86\fP,
therefore the minor device number usually used for \fIXFree86\fP is 1.
See
.Sx FILES
for device node names.
.Sh DRIVER CONFIGURATION
.Ss Kernel Configuration Options
There are following kernel configuration options to control the
.Nm
driver.
They may be set in the kernel configuration file
.Pq see Xr config 8 .
.Bl -tag -width MOUSE
.It Em PSM_HOOKAPM
The built-in PS/2 pointing device of some laptop computers is somehow
not operable immediately after the system `resumes' from
the power saving mode,
though it will eventually become available.
There are reports that
stimulating the device by performing I/O will help
waking up the device quickly. This option will add a piece of code
to the
.Nm
driver to hook
the APM `resume' event and exercise some harmless I/O operations to the
device.
.It Em PSM_RESETAFTERSUSPEND
This option adds more drastic action for the above problem.
It will make the
.Nm
driver to reset the pointing device after the APM resume event.
It has no effect unless the
.Em PSM_HOOKAPM
option is enabled as well.
.It Em KBD_RESETDELAY=X, KBD_MAXWAIT=Y
The
.Nm
driver will attempt to reset the pointing device during the boot process.
It sometimes takes a long while before the device will respond after
reset. These options control how long the driver should wait before
it eventually gives up waiting. The driver will wait
.Fa X
*
.Fa Y
msecs at most. If the driver seems unable to detect your pointing
device, you may want to increase these values. The default values are
200 msec for
.Fa X
and 5
for
.Fa Y .
.It Em PSM_DEBUG=N, KBDIO_DEBUG=N
Sets the debug level to
.Fa N .
The default debug level is zero. See
.Sx DIAGNOSTICS
for debug logging.
.El
.Ss Driver Flags
The
.Nm
driver accepts the following driver flags. Set them in the
kernel configuration file or in the User Configuration Menu at
the boot time
.Pq see Xr boot 8 .
.Pp
.Bl -tag -width MOUSE
.It bit 0..3 RESOLUTION
This flag specifies the resolution of the pointing device.
It must be zero through four. The greater the value
is, the finer resolution the device will select.
Actual resolution selected by this field varies according to the model
of the device. Typical resolutions are:
.Pp
.Bl -tag -width 0_(medium_high)__ -compact
.It Em 1 (low)
25 pulse per inch (ppi)
.It Em 2 (medium low)
50 ppi
.It Em 3 (medium high)
100 ppi
.It Em 4 (high)
200 ppi
.El
.Pp
Leaving this flag zero will selects the default resolution for the
device (whatever it is).
.It bit 4..7 ACCELERATION
This flag controls the amount of acceleration effect.
The smaller the value of this flag is, more sensitive the movement becomes.
The minimum value allowed, thus the value for the most sensitive setting,
is one. Setting this flag to zero will completely disables the
acceleration effect.
.It bit 8 NOCHECKSYNC
The
.Nm
driver tries to detect the first byte of the data packet by checking
the bit pattern of that byte. Although this method should work with most
PS/2 pointing devices, it may interfere with some devices which are not
so compatible with known devices.
If you think your pointing device is not functioning as expected,
and the kernel frequently prints the following message to the console,
.Bd -literal -offset indent
psmintr: out of sync (xxxx != yyyy).
.Ed
.Pp
set this flag to disable synchronization check and see if it helps.
.It bit 9 NOIDPROBE
The
.Nm
driver will not try to identify the model of the pointing device and
will not carry out model-specific initialization.
The device should always act like a standard PS/2 mouse without such
initialization.
Extra features, such as wheels and additional buttons, won't be
recognized by the
.Nm
driver.
.It bit 10 NORESET
When this flag is set, the
.Nm
driver won't reset the pointing device when initializing the device.
If the FreeBSD kernel
is started after another OS has run, the pointing device will inherit
settings from the previous OS.
However, because there is no way for the
.Nm
driver to know the settings, the device and the driver may not
work correctly.
The flag should never be necessary under normal circumstances.
.It bit 11 FORCETAP
Some pad devices report as if the fourth button is pressed
when the user `taps' the surface of the device (see
.Sx CAVEATS ) .
This flag will make the
.Nm
driver assume that the device behaves this way.
Without the flag, the driver will assume this behavior
for ALPS GlidePoint models only.
.It bit 12 IGNOREPORTERROR
This flag makes
.Nm
driver ignore certain error conditions when probing the PS/2 mouse port.
It should never be necessary under normal circumstances.
.El
.Sh IOCTLS
There are a few
.Xr ioctl 2
commands for mouse drivers.
These commands and related structures and constants are defined in
.Ao Pa machine/mouse.h Ac .
General description of the commands is given in
.Xr mouse 4 .
This section explains the features specific to the
.Nm
driver.
.Pp
.Bl -tag -width MOUSE -compact
.It Dv MOUSE_GETLEVEL Ar int *level
.It Dv MOUSE_SETLEVEL Ar int *level
These commands manipulate the operation level of the
.Nm
driver.
.Pp
.It Dv MOUSE_GETHWINFO Ar mousehw_t *hw
Returns the hardware information of the attached device in the following
structure.
.Bd -literal
typedef struct mousehw {
int buttons; /* number of buttons */
int iftype; /* I/F type */
int type; /* mouse/track ball/pad... */
int model; /* I/F dependent model ID */
int hwid; /* I/F dependent hardware ID */
} mousehw_t;
.Ed
.Pp
The
.Dv buttons
field holds the number of buttons on the device.
The
.Nm
driver currently can detect the 3 button mouse from Logitech and report
accordingly.
The 3 button mouse from the other manufacturer may or may not be
reported correctly. However, it will not affect the operation of
the driver.
.Pp
The
.Dv iftype
is always
.Dv MOUSE_IF_PS2 .
.Pp
The
.Dv type
tells the device type:
.Dv MOUSE_MOUSE ,
.Dv MOUSE_TRACKBALL ,
.Dv MOUSE_STICK ,
.Dv MOUSE_PAD ,
or
.Dv MOUSE_UNKNOWN .
The user should not heavily rely on this field, as the
driver may not always, in fact it is very rarely able to, identify
the device type.
.Pp
The
.Dv model
is always
.Dv MOUSE_MODEL_GENERIC
at the operation level 0.
It may be
.Dv MOUSE_MODEL_GENERIC
or one of
.Dv MOUSE_MODEL_XXX
constants at higher operation levels.
Again the
.Nm
driver may or may not set an appropriate value in this field.
.Pp
The
.Dv hwid
is the ID value returned by the device.
Known IDs include:
.Pp
.Bl -tag -width 0__ -compact
.It Em 0
Mouse (Microsoft, Logitech and many other manufacturers)
.It Em 2
Microsoft Ballpoint mouse
.It Em 3
Microsoft IntelliMouse
.El
.Pp
.It Dv MOUSE_GETMODE Ar mousemode_t *mode
The command gets the current operation parameters of the mouse
driver.
.Bd -literal
typedef struct mousemode {
int protocol; /* MOUSE_PROTO_XXX */
int rate; /* report rate (per sec), -1 if unknown */
int resolution; /* MOUSE_RES_XXX, -1 if unknown */
int accelfactor; /* acceleration factor */
int level; /* driver operation level */
int packetsize; /* the length of the data packet */
unsigned char syncmask[2]; /* sync. bits */
} mousemode_t;
.Ed
.Pp
The
.Dv protocol
is
.Dv MOUSE_PROTO_PS2
at the operation level zero and two.
.Dv MOUSE_PROTO_SYSMOUSE
at the operation level one.
.Pp
The
.Dv rate
is the status report rate (reports/sec) at which the device will send
movement report to the host computer.
Typical supported values are 10, 20, 40, 60, 80, 100 and 200.
Some mice may accept other arbitrary values too.
.Pp
The
.Dv resolution
of the pointing device must be one of
.Dv MOUSE_RES_XXX
constants or a positive value. The greater the value
is, the finer resolution the mouse will select.
Actual resolution selected by the
.Dv MOUSE_RES_XXX
constant varies according to the model of mouse. Typical resolutions are:
.Pp
.Bl -tag -width MOUSE_RES_MEDIUMHIGH__ -compact
.It Dv MOUSE_RES_LOW
25 ppi
.It Dv MOUSE_RES_MEDIUMLOW
50 ppi
.It Dv MOUSE_RES_MEDIUMHIGH
100 ppi
.It Dv MOUSE_RES_HIGH
200 ppi
.El
.Pp
The
.Dv accelfactor
field holds a value to control acceleration feature
.Pq see Sx Acceleration .
It must be zero or greater. If it is zero, acceleration is disabled.
.Pp
The
.Dv packetsize
field specifies the length of the data packet. It depends on the
operation level and the model of the pointing device.
.Pp
.Bl -tag -width level_0__ -compact
.It Em level 0
3 bytes
.It Em level 1
8 bytes
.It Em level 2
Depends on the model of the device
.El
.Pp
The array
.Dv syncmask
holds a bit mask and pattern to detect the first byte of the
data packet.
.Dv syncmask[0]
is the bit mask to be ANDed with a byte. If the result is equal to
.Dv syncmask[1] ,
the byte is likely to be the first byte of the data packet.
Note that this detection method is not 100% reliable,
thus, should be taken only as an advisory measure.
.Pp
.It Dv MOUSE_SETMODE Ar mousemode_t *mode
The command changes the current operation parameters of the mouse driver
as specified in
.Ar mode .
Only
.Dv rate ,
.Dv resolution ,
.Dv level
and
.Dv accelfactor
may be modifiable. Setting values in the other field does not generate
error and has no effect.
.Pp
If you do not want to change the current setting of a field, put -1
there.
You may also put zero in
.Dv resolution
and
.Dv rate ,
and the default value for the fields will be selected.
.\" .Pp
.\" .It Dv MOUSE_GETVARS Ar mousevar_t *vars
.\" .It Dv MOUSE_SETVARS Ar mousevar_t *vars
.\" These commands are not supported by the
.\" .Nm
.\" driver.
.Pp
.It Dv MOUSE_READDATA Ar mousedata_t *data
.\" The command reads the raw data from the device.
.\" .Bd -literal
.\" typedef struct mousedata {
.\" int len; /* # of data in the buffer */
.\" int buf[16]; /* data buffer */
.\" } mousedata_t;
.\" .Ed
.\" .Pp
.\" Upon returning to the user program, the driver will place the number
.\" of valid data bytes in the buffer in the
.\" .Dv len
.\" field.
.\" .Pp
.It Dv MOUSE_READSTATE Ar mousedata_t *state
.\" The command reads the hardware settings from the device.
.\" Upon returning to the user program, the driver will place the number
.\" of valid data bytes in the buffer in the
.\" .Dv len
.\" field. It is usually 3 bytes.
.\" The buffer is formatted as follows:
.\" .Pp
.\" .Bl -tag -width Byte_1 -compact
.\" .It Byte 1
.\" .Bl -tag -width bit_6 -compact
.\" .It bit 7
.\" Reserved.
.\" .It bit 6
.\" 0 - stream mode, 1 - remote mode.
.\" In the stream mode, the pointing device sends the device status
.\" whenever its state changes. In the remote mode, the host computer
.\" must request the status to be sent.
.\" The
.\" .Nm
.\" driver puts the device in the stream mode.
.\" .It bit 5
.\" Set if the pointing device is currently enabled. Otherwise zero.
.\" .It bit 4
.\" 0 - 1:1 scaling, 1 - 2:1 scaling.
.\" 1:1 scaling is the default.
.\" .It bit 3
.\" Reserved.
.\" .It bit 2
.\" Left button status; set if pressed.
.\" .It bit 1
.\" Middle button status; set if pressed.
.\" .It bit 0
.\" Right button status; set if pressed.
.\" .El
.\" .It Byte 2
.\" .Bl -tag -width bit_6_0 -compact
.\" .It bit 7
.\" Reserved.
.\" .It bit 6..0
.\" Resolution code: zero through three. Actual resolution for
.\" the resolution code varies from one device to another.
.\" .El
.\" .It Byte 3
.\" The status report rate (reports/sec) at which the device will send
.\" movement report to the host computer.
.\" .El
These commands are not currently supported by the
.Nm
driver.
.Pp
.It Dv MOUSE_GETSTATUS Ar mousestatus_t *status
The command returns the current state of buttons and
movement counts as described in
.Xr mouse 4 .
.El
.Sh FILES
.Bl -tag -width /dev/npsm0 -compact
.It Pa /dev/psm0
`non-blocking' device node
.It Pa /dev/bpsm0
`blocking' device node under
.Em devfs .
.El
.Sh EXAMPLE
.Dl "options" \&"PSM_HOOKAPM\&"
.Dl "device psm0 at atkbdc? irq 12"
.Pp
Add the
.Nm
driver to the kernel with the optional code to stimulate the pointing device
after the `resume' event.
.Pp
.Dl "device psm0 at atkbdc? flags 0x024 irq 12"
.Pp
Set the device resolution high (4) and the acceleration factor to 2.
.Sh DIAGNOSTICS
.Pp
At debug level 0, little information is logged except for the following
line during boot process:
.Bd -literal -offset indent
psm0: device ID X
.Ed
.Pp
where
.Fa X
the device ID code returned by the found pointing device.
See
.Dv MOUSE_GETINFO
for known IDs.
.Pp
At debug level 1 more information will be logged
while the driver probes the auxiliary port (mouse port).
Messages are logged with the LOG_KERN facility at the LOG_DEBUG level
.Pq see Xr syslogd 8 .
.Bd -literal -offset indent
psm0: current command byte:xxxx
kbdio: TEST_AUX_PORT status:0000
kbdio: RESET_AUX return code:00fa
kbdio: RESET_AUX status:00aa
kbdio: RESET_AUX ID:0000
[...]
psm: status 00 02 64
psm0 irq 12 on isa
psm0: model AAAA, device ID X, N buttons
psm0: config:00000www, flags:0000uuuu, packet size:M
psm0: syncmask:xx, syncbits:yy
.Ed
.Pp
The first line shows the command byte value of the keyboard
controller just before the auxiliary port is probed.
It usually is 4D, 45, 47 or 65, depending on how the motherboard BIOS
initialized the keyboard controller upon power-up.
.Pp
The second line shows the result of the keyboard controller's
test on the auxiliary port interface, with zero indicating
no error; note that some controllers report no error even if
the port does not exist in the system, however.
.Pp
The third through fifth lines show the reset status of the pointing device.
The functioning device should return the sequence of FA AA <ID>.
The ID code is described above.
.Pp
The seventh line shows the current hardware settings.
.\" See
.\" .Dv MOUSE_READSTATE
.\" for definitions.
These bytes are formatted as follows:
.Pp
.Bl -tag -width Byte_1 -compact
.It Byte 1
.Bl -tag -width bit_6 -compact
.It bit 7
Reserved.
.It bit 6
0 - stream mode, 1 - remote mode.
In the stream mode, the pointing device sends the device status
whenever its state changes. In the remote mode, the host computer
must request the status to be sent.
The
.Nm
driver puts the device in the stream mode.
.It bit 5
Set if the pointing device is currently enabled. Otherwise zero.
.It bit 4
0 - 1:1 scaling, 1 - 2:1 scaling.
1:1 scaling is the default.
.It bit 3
Reserved.
.It bit 2
Left button status; set if pressed.
.It bit 1
Middle button status; set if pressed.
.It bit 0
Right button status; set if pressed.
.El
.It Byte 2
.Bl -tag -width bit_6_0 -compact
.It bit 7
Reserved.
.It bit 6..0
Resolution code: zero through three. Actual resolution for
the resolution code varies from one device to another.
.El
.It Byte 3
The status report rate (reports/sec) at which the device will send
movement report to the host computer.
.El
.Pp
Note that the pointing device will not be enabled until the
.Nm
driver is opened by the user program.
.Pp
The rest of the lines show the device ID code, the number of detected
buttons and internal variables.
.Pp
At debug level 2, much more detailed information is logged.
.Sh CAVEATS
Many pad devices behave as if the first (left) button were pressed if
the user `taps' the surface of the pad.
In contrast, some pad products, e.g. some verions of ALPS GlidePoint
and Interlink VersaPad, treat the tapping action
as fourth button events.
.Pp
It is reported that Interlink VersaPad rquires both
.Em PSM_HOOKAPM
and
.Em PSM_RESETAFTERSUSPEND
options in order to recover from suspended state.
Add these options to your kernel configuration file if the device
does not seem to work properly after the system is resumed.
.Pp
Some PS/2 mouse models from MouseSystems require to be put in the
high resolution mode to work properly. Use the driver flag to
set resolution.
.Pp
There is not a guaranteed way to re-synchronize with the first byte
of the packet once we are out of synchronization with the data
stream. However, if you are using the \fIXFree86\fP server and experiencing
the problem, you may be able to make the X server synchronize with the mouse
by switching away to a virtual terminal and getting back to the X server,
unless the X server is accessing the mouse via
.Xr moused 8 .
Clicking any button without moving the mouse may also work.
.Sh BUGS
The ioctl command
.Dv MOUSEIOCREAD
has been removed. It was never functional anyway.
.Sh SEE ALSO
.Xr ioctl 2 ,
.Xr syslog 3 ,
.Xr atkbdc 4 ,
.Xr mouse 4 ,
.Xr mse 4 ,
.Xr sysmouse 4 ,
.Xr moused 8 ,
.Xr syslogd 8
.\".Sh HISTORY
.Sh AUTHORS
The
.Nm
driver is based on the work done by quite a number of people, including
.An Eric Forsberg ,
.An Sandi Donno ,
.An Rick Macklem ,
.An Andrew Herbert ,
.An Charles Hannum ,
.An Shoji Yuen
and
.An Kazutaka Yokota
to name the few.
.Pp
This manual page was written by
.An Kazutaka Yokota Aq yokota@FreeBSD.org .

View File

@ -1,192 +0,0 @@
.\" Copyright (c) 1997, 1998
.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul.
.\" 4. Neither the name of the author nor the names of any co-contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd November 4, 1998
.Dt RL 4 i386
.Os FreeBSD
.Sh NAME
.Nm rl
.Nd
RealTek 8129/8139 fast ethernet device driver
.Sh SYNOPSIS
.Cd "device rl0"
.Sh DESCRIPTION
The
.Nm
driver provides support for PCI ethernet adapters and embedded
controllers based on the RealTek 8129 and 8139 fast ethernet controller
chips. This includes the Allied Telesyn AT2550, Genius GF100TXR,
NDC Communications NE100TX-E, OvisLink LEF-8129TX, OvisLink LEF-8139TX,
Netronix Inc. EA-1210 NetEther 10/100, KTX-9130TX 10/100 Fast Ethernet,
Encore ENL832-TX 10/100 M PCI, Longshine LCS-8038TX-R, the
SMC EZ Card 10/100 PCI 1211-TX, and various other cheap adapters.
It also supports the Accton EN1207D which has a
chip labeled MPX5030 (or MPX5038) which appears to be a RealTek workalike.
.Pp
The RealTek controllers use bus master DMA but do not use a
descriptor-based data transfer mechanism. The receiver uses a
single fixed size ring buffer from which packets must be copied
into mbufs. For transmission, there are only four outbound packet
address registers which require all outgoing packets to be stored
as contiguous buffers. Furthermore, outbound packet buffers must
be longword aligned or else transmission will fail.
.Pp
The 8129 differs from the 8139 in that the 8139 has an internal
PHY which is controlled through special direct access registers
whereas the 8129 uses an external PHY via an MII bus. The 8139
supports both 10 and 100Mbps speeds in either full or half duplex.
The 8129 can support the same speeds and modes given an appropriate
PHY chip.
.Pp
The
.Nm
driver supports the following media types:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It autoselect
Enable autoselection of the media type and options. This is only
supported if the PHY chip attached to the RealTek controller
supports NWAY autonegotiation. The user can manually override
the autoselected mode by adding media options to the
.Pa /etc/rc.conf
file.
.It 10baseT/UTP
Set 10Mbps operation. The
.Ar mediaopt
option can also be used to select either
.Ar full-duplex
or
.Ar half-duplex modes.
.It 100baseTX
Set 100Mbps (fast ethernet) operation. The
.Ar mediaopt
option can also be used to select either
.Ar full-duplex
or
.Ar half-duplex
modes.
.El
.Pp
The
.Nm
driver supports the following media options:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It full-duplex
Force full duplex operation
.It half-duplex
Force half duplex operation.
.El
.Pp
Note that the 100baseTX media type is only available if supported
by the adapter.
For more information on configuring this device, see
.Xr ifconfig 8 .
.Sh DIAGNOSTICS
.Bl -diag
.It "rl%d: couldn't map memory"
A fatal initialization error has occurred.
.It "rl%d: couldn't map interrupt"
A fatal initialization error has occurred.
.It "rl%d: watchdog timeout"
The device has stopped responding to the network, or there is a problem with
the network connection (cable).
.It "rl%d: no memory for rx list"
The driver failed to allocate an mbuf for the receiver ring.
.It "rl%d: no memory for tx list"
The driver failed to allocate an mbuf for the transmitter ring when
allocating a pad buffer or collapsing an mbuf chain into a cluster.
.It "rl%d: chip is in D3 power state -- setting to D0"
This message applies only to adapters which support power
management. Some operating systems place the controller in low power
mode when shutting down, and some PCI BIOSes fail to bring the chip
out of this state before configuring it. The controller loses all of
its PCI configuration in the D3 state, so if the BIOS does not set
it back to full power mode in time, it won't be able to configure it
correctly. The driver tries to detect this condition and bring
the adapter back to the D0 (full power) state, but this may not be
enough to return the driver to a fully operational condition. If
you see this message at boot time and the driver fails to attach
the device as a network interface, you will have to perform second
warm boot to have the device properly configured.
.Pp
Note that this condition only occurs when warm booting from another
operating system. If you power down your system prior to booting
.Fx ,
the card should be configured correctly.
.El
.Sh SEE ALSO
.Xr arp 4 ,
.Xr netintro 4 ,
.Xr ifconfig 8
.Rs
.%B The RealTek 8129 and 8139 datasheets
.%O ftp.realtek.com.tw:/lancard/data sheet
.Re
.Sh HISTORY
The
.Nm
device driver first appeared in
.Fx 3.0 .
.Sh AUTHORS
The
.Nm
driver was written by
.An Bill Paul Aq wpaul@ctr.columbia.edu .
.Sh BUGS
Since outbound packets must be longword aligned, the transmit
routine has to copy an unaligned packet into an mbuf cluster buffer
before transmission. The driver abuses the fact that the cluster buffer
pool is allocated at system startup time in a contiguous region starting
at a page boundary. Since cluster buffers are 2048 bytes, they are
longword aligned by definition. The driver probably should not be
depending on this characteristic.
.Pp
The RealTek data sheets are of especially poor quality: the grammar
and spelling are awful and there is a lot of information missing,
particularly concerning the receiver operation. One particularly
important fact that the data sheets fail to mention relates to the
way in which the chip fills in the receive buffer. When an interrupt
is posted to signal that a frame has been received, it is possible that
another frame might be in the process of being copied into the receive
buffer while the driver is busy handling the first one. If the driver
manages to finish processing the first frame before the chip is done
DMAing the rest of the next frame, the driver may attempt to process
the next frame in the buffer before the chip has had a chance to finish
DMAing all of it.
.Pp
The driver can check for an incomplete frame by inspecting the frame
length in the header preceeding the actual packet data: an incomplete
frame will have the magic length of 0xFFF0. When the driver encounters
this value, it knows that it has finished processing all currently
available packets. Neither this magic value nor its significance are
documented anywhere in the RealTek data sheets.

View File

@ -1,166 +0,0 @@
.\"
.\" $FreeBSD$
.\"
.Dd January 8, 1995
.Dt SCREEN 4 i386
.Os FreeBSD
.Sh NAME
.Nm screen
.Nd pc display interface
.Sh DESCRIPTION
Access to the
.Ar virtual consoles
are obtained through the device files
ttyv0 - ttyvb in /dev.
Each of these files correspond to a separate
virtual console.
All virtual console devices can be open at once, but only one is
active at a time. The active virtual console "owns" the keyboard and
display screen.
.Pp
Output to a virtual console that not currently is on the display is
saved in a buffer that holds a "screenfull" (normally 25) lines.
Any output written to
.Ar /dev/console
(the original console device) is echoed to /dev/ttyv0.
.Pp
To switch between the virtual consoles one uses the sequence
.Ar ALT+Fn
, which means hold down ALT and press one of the function keys. The
virtual console with the same number as the function key is then
selected as the current virtual console, and given exclusive use of
the keyboard and display. This switch sequence can be changed via
the keyboard mapping ioctl call (see keyboard.4)
.Pp
The console allows entering values that are not physically
present on the keyboard via a special keysequence.
To use this facility press and hold down ALT,
then enter a decimal number from 0-255 via the numerical keypad, then
release ALT. The entered value is then used as the ASCII value for one
character. This way it is possible to enter any ASCII value.
The console driver also includes a history function. It is activated by
pressing the scroll-lock key. This holds the display, and enables the cursor
arrows for scrolling up and down through the last scrolled out lines.
The console understands a subset of the ANSI x3.64 character
sequences. For compatibility with the old pccons, the PC3 character
sequences is also supported.
.Pp
.Bd -literal
ANSI Seq Function Termcap entry
======= ======= ===================================== ==============
-- E7 Save cursor position sc
-- E8 Restore saved cursor position rc
CUU E[nA move cursor up n lines up/UP (ku)
CUD E[nB move cursor down n lines do/DO (kd)
CUF E[nC move cursor right n characters nd/RI (kr)
CUB E[nD move cursor left n characters --/LE (kl)
HPA E[n` move cursor to character position n ch
HPR E[na move cursor right n characters --
VPA E[nd move cursor to line n cv
VPR E[ne move cursor down n lines --
CPL E[nF move cursor to start of line, -- (@7)
n lines up
CNL E[nE move cursor to start of line, nw
n lines down
CUP E[y;xH Move cursor to x, y cm
HVP E[y;xf Move cursor to x, y --
CBT E[nZ Move cursor back n tab stops bt (kB)
IL E[nL Insert n blank lines al/AL
ICH E[n@ Insert n blank characters ic/IC
DL E[nM Delete n lines dl/DL
DCH E[nP Delete n characters dc/DC
ED E[nJ Erase part or all of display: cd
n=0 from cursor to end of display,
n=1 from begin of display to cursor,
n=2 entire display.
EL E[nK Erase part or all of line: ce
n=0 from cursor to end of line,
n=1 from begin of line to cursor,
n=2 entire line.
ECH E[nX Erase n characters ec
SU E[nS Scroll display n lines up (forward) sf/SF
SD E[nT Scroll display n lines down (reverse) sr/SR
SGR E[nm Set character attributes: --
n= 0 normal attribute (all off)
n= 1 bold (highlight)
n= 4 underscore (if supported by HW)
n= 5 blink (if supported by HW)
n= 7 reverse
n=3X set foreground color (see table)
n=4X set background color (see table)
X=0 black X=1 red
X=2 green X=3 brown
X=4 blue X=5 magenta
X=6 cyan X=7 white
-- E[s Save cursor position sc
-- E[u Restore saved cursor position rc
-- E[=p;dB Set bell pitch (p) and duration (d), --
picth is in units of 840 nS,
duration is units of 0,1 S.
-- E[=tC Set cursor type, 1 selects a blinking --
cursor, 0 a steady cursor.
-- E[=nA Set the border color to color n
(see table) (if supported by HW)
-- E[=nF set normal foreground color to n --
(see table)
-- E[=nG set normal background color to n --
(see table)
-- E[=nH set reverse foreground color to n --
(see table)
-- E[=nI set reverse background color to n --
(see table)
n= 0 black n= 8 grey
n= 1 blue n= 9 light blue
n= 2 green n=10 light green
n= 3 cyan n=11 light cyan
n= 4 red n=12 light red
n= 5 magenta n=13 light magenta
n= 6 brown n=14 yellow
n= 7 white n=15 light white
note: the first E in the sequences stands for ESC (0x1b)
.Ed
.Pp
.Sh AUTHORS
.An Søren Schmidt Aq sos@FreeBSD.org

View File

@ -1,161 +0,0 @@
.\" Copyright (c) 1997, 1998, 1999
.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul.
.\" 4. Neither the name of the author nor the names of any co-contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd July 22, 1999
.Dt SF 4 i386
.Os FreeBSD
.Sh NAME
.Nm sf
.Nd
Adaptec AIC-6915 "Starfire" PCI fast ethernet adapter driver
.Sh SYNOPSIS
.Cd "device sf0"
.Sh DESCRIPTION
The
.Nm
driver provides support for Adaptec Duralink fast ethernet adapters
based on the Adaptec AIC-6915 "Starfire" chipset. This includes the
following:
.Bl -bullet -offset indent
.It
ANA-62011 64-bit single port 10/100baseTX adapter
.It
ANA-62022 64-bit dual port 10/100baseTX adapter
.It
ANA-62044 64-bit quad port 10/100baseTX adapter
.It
ANA-69011 32-bit single port 10/100baseTX adapter
.It
ANA-62020 64-bit single port 100baseFX adapter
.El
.Pp
The AIC-6915 is a bus master controller with an MII interface. It
supports high and low priority transmit and receive queues, TCP/IP
checksum offload, multiple DMA descriptor formats and both polling
and producer/consumer DMA models. The AIC-6915 receive filtering
options include a 16 entry perfect filter, a 512-bit hash table
for multicast addresses, a 512-bit hash table for priority address
matching and VLAN filtering. An external MII-compliant transceiver
is required for media interfacing.
.Pp
Multiport adapters consist of several AIC-6915 controllers connected
via a PCI to PCI bridge. Each controller is treated as a separate
interface by the
.Nm
driver.
.Pp
The
.Nm
driver supports the following media types:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It autoselect
Enable autoselection of the media type and options.
The user can manually override
the autoselected mode by adding media options to the
.Pa /etc/rc.conf
file.
.It 10baseT/UTP
Set 10Mbps operation. The
.Ar mediaopt
option can also be used to select either
.Ar full-duplex
or
.Ar half-duplex
modes.
.It 100baseTX
Set 100Mbps (fast ethernet) operation. The
.Ar mediaopt
option can also be used to select either
.Ar full-duplex
or
.Ar half-duplex
modes.
.El
.Pp
The
.Nm
driver supports the following media options:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It full-duplex
Force full duplex operation
.It half-duplex
Force half duplex operation.
.El
.Pp
For more information on configuring this device, see
.Xr ifconfig 8 .
.Sh DIAGNOSTICS
.Bl -diag
.It "sf%d: couldn't map memory"
A fatal initialization error has occurred. This may
happen if the PCI BIOS not configured the device, which may be because
the BIOS has been configured for a "Plug and Play" operating system.
The "Plug and Play OS" setting int he BIOS should be set to "no" or
"off" in order for PCI devices to work properly with FreeBSD.
.It "sf%d: couldn't map ports"
A fatal initialization error has occurred.
happen if the PCI BIOS not configured the device, which may be because
the BIOS has been configured for a "Plug and Play" operating system.
The "Plug and Play OS" setting int he BIOS should be set to "no" or
"off" in order for PCI devices to work properly with FreeBSD.
.It "sf%d: couldn't map interrupt"
A fatal initialization error has occurred.
.It "sf%d: no memory for softc struct!"
The driver failed to allocate memory for per-device instance information
during initialization.
.It "sf%d: failed to enable I/O ports/memory mapping!"
The driver failed to initialize PCI I/O port or shared memory access.
This might happen if the card is not in a bus-master slot.
.It "sf%d: watchdog timeout"
The device has stopped responding to the network, or there is a problem with
the network connection (cable).
.El
.Sh SEE ALSO
.Xr arp 4 ,
.Xr netintro 4 ,
.Xr ifconfig 8 ,
.Rs
.%T The Adaptec AIC-6915 Programmer's Manual
.%O ftp://ftp.adaptec.com/pub/BBS/userguides/aic6915_pg.pdf
.Re
.Sh HISTORY
The
.Nm
device driver first appeared in
.Fx 3.0 .
.Sh AUTHORS
The
.Nm
driver was written by
.An Bill Paul Aq wpaul@ctr.columbia.edu .

View File

@ -1,163 +0,0 @@
.\" $FreeBSD$
.Dd September 16, 1995
.Os FreeBSD
.Dt SI 4 i386
.Sh NAME
.Nm si
.Nd Driver for Specialix International SI/XIO or SX intelligent serial card.
.Sh SYNOPSIS
.Cd "device si0"
.Cd "device si0 at isa? irq 12 iomem 0xd0000"
.Sh DESCRIPTION
The Specialix SI/XIO and SX hardware makes up an 8 to 32 port RS-232 serial
multiplexor.
.Pp
The first instance of the device lines above is for EISA and PCI host cards,
the second is for ISA host cards.
.Pp
The system uses two components: A "Host adapter", which is plugged into
an ISA, EISA or PCI slot and provides intelligence and buffering/processing
capabilities, as well as an external bus in the form of a 37 pin cable.
.Pp
On this cable, "modules" are connected. The "SI" module comes in a 4 and 8
port version. The "XIO" and "SX" modules come only in
8 port versions.
.Pp
The host adapter polls and transfers data between the modules and the rest
of the machine. The Host adapter provides a 256 byte transmit and 256 byte
receive FIFO for each of the 32 ports that it can maintain.
.Pp
The XIO modules can operate each of their 8 ports at 115,200 baud.
The SI version can run at 57,600 baud. The SX modules can operate each of their
8 ports at up to 921,600 baud.
.Pp
SX modules are only supported when connected to an SX host card. SI or
XIO modules are supported on any host card.
.Pp
The host adapter uses a shared memory block in the traditional ISA bus
"hole" between 0xA0000 and 0xEFFFF. The adapter can be configured outside
range, but requires the memory range to be explicitly non-cached. The
driver does not yet support this mode of operation.
.Pp
SX ISA Host cards have an 8/16 bit mode switch or jumper on them. This switch
or jumper MUST be set for 8 bit mode.
.Pp
The ISA adapters can use Irq's 11, 12 or 15 (and 9 and 10 in the case of
SX host cards).
.Pp
The si device driver may have some of it's configuration settings changed
at run-time with the
.Xr sicontrol 8
utility.
.Pp
The si device driver also responds to the
.Xr comcontrol 8
utility for configuring drain-on-close timeouts.
.Pp
The driver also defines 3 sysctl variables that can be manipulated:
machdep.si_debug sets the debug level for the whole driver. It depends
on the driver being compiled with SI_DEBUG. machdep.si_pollrate
sets how often per second the driver polls for lost interrupts.
machdep.si_realpoll sets whether or not the card will treat the
poll intervals as if they were interrupts.
.Pp
An open on a /dev device node controlled by the si driver obeys the same
semantics as the
.Xr sio 4
driver. It fully supports the usual semantics of the cua ports, and the
"initial termios" and "locked termios" settings. In summary, an open on a
tty port will block until DCD is raised, unless O_NONBLOCK is specified.
CLOCAL is honored. An open on a cua port will always succeed, but DCD
transitions will be honored after DCD rises for the first time.
.Pp
Up to four SI/XIO host cards may be controlled by the si driver.
Due to the lack of available interrupts, only 3 ISA SI/XIO host cards can be
used at once.
.Pp
The lowest 5 bits of the minor device number are used to select the port
number on the module cluster. The next 2 bits select which of 4 host adapter
cards. This allows a maximum of 128 ports on this driver.
.Pp
Bit 7 is used to differentiate a tty/dialin port (bit 7=0) and a
cua/callout port (bit 7=1).
.Pp
Bit 8 through 15 (on
.Tn FreeBSD )
are unavailable as they are a shadow of the
major device number.
.Pp
If bit 16 is a 1, the device node is referring to the "initial state" device.
This "initial state" is used to prime the
.Xr termios 4
settings of the device when it is initially opened.
If bit 17 is a 1, the device node is referring to the "locked state" device.
The "locked state" is used to prevent the
.Xr termios 4
settings from being changed.
.Pp
To manipulate the initial/locked settings, the
.Xr stty 1
command is useful. When setting the "locked" variables, enabling the mode
on the lock device will lock the termios mode, while disabling the mode will
unlock it.
.Sh FILES
.Bl -tag -width /dev/si_control -compact
.It Pa /dev/si_control
global driver control file for
.Xr sicontrol 8
.It Pa /dev/ttyA*
terminal/dialin ports
.It Pa /dev/cuaA*
dialout ports
.It Pa /dev/ttyiA*
initial termios state devices
.It Pa /dev/ttylA*
locked termios state devices
.It Pa /dev/cuaiA*
initial termios state devices for dialout ports
.It Pa /dev/cualA*
locked termios state devices for dialout ports
.El
.Sh SEE ALSO
.Xr stty 1 ,
.Xr sio 4 ,
.Xr termios 4 ,
.Xr tty 4 ,
.Xr comcontrol 8 ,
.Xr sicontrol 8
.Sh HISTORY
This driver is loosely based on driver code originating at Specialix, which
was ported to run on BSDI by
.An Andy Rutter Aq andy@specialix.co.uk .
The System V driver source is/was available by ftp from
.Sy ftp.specialix.co.uk .
.Pp
This driver is not supported by Specialix International.
.Sh AUTHORS
.An Peter Wemm Aq peter@netplex.com.au
obtained the code from
.An Andy Rutter
and ported it to
.Fx
and threw the man page together.
.An Bruce Evans Aq bde@zeta.org.au
provided a large amount of assistance during porting.
.An Nick Sayer Aq nick@specialix.com
wrote the EISA, PCI and SX portions.
.Sh BUGS
The interrupt tuning rate is not believed to be optimal at this time for
maximum efficiency.
.Pp
Polled mode (a feature of standard Specialix drivers) is not implemented,
but it can be approximated by turning on machdep.si_realpoll. The poll
frequency is set by machdep.si_pollrate (in units of 1/100th of a second).
.Pp
The driver does not yet support baud rates higher than 115,200 on SX
modules.
.Pp
Operation outside the traditional ISA "hole" is not yet supported, although it
should work if the test is removed from the probe routine.
.Pp
Multiple host cards are supported although combinations of hosts on
different bus types have not been tested - device numbering is known to
be a problem and may lead to unexpected results.

View File

@ -1,324 +0,0 @@
.\" Copyright (c) 1990, 1991 The Regents of the University of California.
.\" All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" the Systems Programming Group of the University of Utah Computer
.\" Science Department.
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" from: @(#)dca.4 5.2 (Berkeley) 3/27/91
.\" from: com.4,v 1.1 1993/08/06 11:19:07 cgd Exp
.\" $FreeBSD$
.\"
.Dd October 10, 1995
.Dt SIO 4 i386
.Os FreeBSD
.Sh NAME
.Nm sio
.Nd
fast interrupt driven asynchronous serial communications interface
.Sh SYNOPSIS
For standard ports:
.Cd "device sio0 at isa? port" \&"IO_COM1\&" irq 4
.Cd "device sio1 at isa? port" \&"IO_COM2\&" irq 3
.Cd "device sio2 at isa? port" \&"IO_COM3\&" irq 5
.Cd "device sio3 at isa? port" \&"IO_COM4\&" irq 9
.Pp
For AST compatible multiport cards with 4 ports:
.Cd "options" \&"COM_MULTIPORT\&"
.Cd "device sio4 at isa? port 0x2a0 flags 0x701"
.Cd "device sio5 at isa? port 0x2a8 flags 0x701"
.Cd "device sio6 at isa? port 0x2b0 flags 0x701"
.Cd "device sio7 at isa? port 0x2b8 flags 0x701 irq 12"
.Pp
For Boca Board compatible multiport cards with 8 ports:
.Cd "options" \&"COM_MULTIPORT\&"
.Cd "device sio4 at isa? port 0x100 flags 0xb05"
.Cd "..."
.Cd "device sio11 at isa? port 0x138 flags 0xb05 irq 12"
.Pp
For Hayes ESP cards:
.Cd "options" \&"COM_ESP\&"
.Cd "..."
.Pp
Meaning of
.Ar flags :
.Bl -tag -offset indent -compact -width 0x000000
.It 0x00001
shared IRQs
.It 0x00002
disable FIFO
.It 0x00004
no AST/4 compatible IRQ control register
.It 0x00008
recover sooner from lost output interrupts
.It 0x00010
device is potential system console
.It 0x00020
device is forced to become system console
.It 0x00040
device is reserved for low-level IO (e. g. for remote kernel debugging)
.It 0x00080
use this port for remote kernel debugging
.It 0x0 Ns Em ?? Ns 00
minor number of master port
.It 0x20000
device is assumed to use a 16650A-type (extended FIFO) chip
.El
.Pp
Minor numbering:
.br
0b\fIOLIMMMMM\fR
.br
call\fBO\fRut
.br
\fBL\fRock
.br
\fBI\fRnitial
.br
\fBMMMMMM\fRinor
.Sh DESCRIPTION
The
.Nm sio
driver provides support for NS8250-, NS16450-, NS16550 and NS16550A-based
.Tn EIA
.Tn RS-232C
.Pf ( Tn CCITT
.Tn V.24 )
communications interfaces. The NS8250 and NS16450 have single character
buffers, the NS16550A has 16 character FIFO input and output buffers.
.Pp
Input and output for each line may set to one of following baud rates;
50, 75, 110, 134.5, 150, 300, 600, 1200, 1800, 2400, 4800, 9600,
19200, 38400, 57600, or 115200. Your hardware may limit your baud
rate choices.
.Pp
The driver supports `multiport' cards.
Multiport cards are those that have one or more groups of ports
that share an Interrupt Request (IRQ) line per group.
Shared IRQs on different cards are not supported.
Frequently 4 ports share 1 IRQ; some 8 port cards have 2 groups of 4 ports,
thus using 2 IRQs.
Some cards allow the first 2 serial ports to have separate IRQs per port
(as per DOS PC standard).
.Pp
Some cards have an IRQ control register for each group.
Some cards require special initialization related to such registers.
Only AST/4 compatible IRQ control registers are supported.
Some cards have an IRQ status register for each group.
The driver does not require or use such registers yet.
To work, the control and status registers for a group, if any,
must be mapped to the scratch register (register 7)
of a port in the group.
Such a port is called a
.Em master
port.
.Pp
The
.Em flags
keyword may be used on each
.Em device sio
line in the kernel configuration file
to disable the FIFO on 16550A UARTs
(see the synopsis).
Disabling the FIFO should rarely be necessary.
.Pp
The
.Em flags
keyword
.Em must
be used for all ports that are part of an IRQ sharing group.
One bit specifies IRQ sharing; another bit specifies whether the port does
.Em not
require AST/4 compatible initialization.
The minor number of the device corresponding a master port
for the group is encoded as a bitfield in the high byte.
The same master port must be specified for all ports in a group.
.Pp
The
.Em irq
specification must be given for master ports
and for ports that are not part of an IRQ sharing group,
and not for other ports.
.Pp
In the synopsis,
.Em flags 0x701
means that the 8th port (sio7) is the master
port, and that the port is on a multiport card with shared IRQs
and an AST/4 compatible IRQ control register.
.Pp
.Em flags 0xb05
means that the 12th port (sio11) is the master
port, and that the port is on a multiport card with shared IRQs
and no special IRQ control register.
.Pp
Which port is the master port depends on the card type.
Consult the hardware documentation of your card.
Since IRQ status registers are never used,
and IRQ control registers are only used for AST/4 compatible cards,
and some cards map the control/status registers to all ports in a group,
any port in a group will sometimes do for the master port.
Choose a port containing an IRQ status register for forwards compatibility,
and the highest possible port for consistency.
.Pp
Serial ports controlled by the
.Nm sio
driver can be used for both `callin' and `callout'.
For each port there is a callin device and a callout device.
The minor number of the callout device is 128 higher
than that of the corresponding callin port.
The callin device is general purpose.
Processes opening it normally wait for carrier
and for the callout device to become inactive.
The callout device is used to steal the port from
processes waiting for carrier on the callin device.
Processes opening it do not wait for carrier
and put any processes waiting for carrier on the callin device into
a deeper sleep so that they do not conflict with the callout session.
The callout device is abused for handling programs that are supposed
to work on general ports and need to open the port without waiting
but are too stupid to do so.
.Pp
The
.Nm sio
driver also supports an initial-state and a lock-state control
device for each of the callin and the callout "data" devices.
The minor number of the initial-state device is 32 higher
than that of the corresponding data device.
The minor number of the lock-state device is 64 higher
than that of the corresponding data device.
The termios settings of a data device are copied
from those of the corresponding initial-state device
on first opens and are not inherited from previous opens.
Use
.Xr stty 1
in the normal way on the initial-state devices to program
initial termios states suitable for your setup.
.Pp
The lock termios state acts as flags to disable changing
the termios state. E.g., to lock a flag variable such as
CRTSCTS, use
.Em stty crtscts
on the lock-state device. Speeds and special characters
may be locked by setting the corresponding value in the lock-state
device to any nonzero value.
.Pp
Correct programs talking to correctly wired external devices
work with almost arbitrary initial states and almost no locking,
but other setups may benefit from changing some of the default
initial state and locking the state.
In particular, the initial states for non (POSIX) standard flags
should be set to suit the devices attached and may need to be
locked to prevent buggy programs from changing them.
E.g., CRTSCTS should be locked on for devices that support
RTS/CTS handshaking at all times and off for devices that don't
support it at all. CLOCAL should be locked on for devices
that don't support carrier. HUPCL may be locked off if you don't
want to hang up for some reason. In general, very bad things happen
if something is locked to the wrong state, and things should not
be locked for devices that support more than one setting. The
CLOCAL flag on callin ports should be locked off for logins
to avoid certain security holes, but this needs to be done by
getty if the callin port is used for anything else.
.Sh FILES
.Bl -tag -width /dev/ttyid? -compact
.It Pa /dev/ttyd?
for callin ports
.It Pa /dev/ttyid?
.It Pa /dev/ttyld?
corresponding callin initial-state and lock-state devices
.Pp
.It Pa /dev/cuaa?
for callout ports
.It Pa /dev/cuaia?
.It Pa /dev/cuala?
corresponding callout initial-state and lock-state devices
.El
.Pp
.Bl -tag -width /etc/rc.serial -compact
.It Pa /etc/rc.serial
examples of setting the initial-state and lock-state devices
.El
.Pp
The devices numbers are made from the set [0-9a-v] so that more than
10 ports can be supported.
.Sh DIAGNOSTICS
.Bl -diag
.It sio%d: silo overflow.
Problem in the interrupt handler.
.El
.Bl -diag
.It sio%d: interrupt-level buffer overflow.
Problem in the bottom half of the driver.
.El
.Bl -diag
.It sio%d: tty-level buffer overflow.
Problem in the application.
Input has arrived faster than the given module could process it
and some has been lost.
.El
.\" .Bl -diag
.\" .It sio%d: reduced fifo trigger level to %d.
.\" Attempting to avoid further silo overflows.
.\" .El
.Sh SEE ALSO
.Xr stty 1 ,
.Xr termios 4 ,
.Xr tty 4 ,
.Xr comcontrol 8
.Sh HISTORY
The
.Nm
driver is derived from the
.Tn HP9000/300
.Xr dca 4
driver and is
.Ud
.Sh BUGS
Data loss may occur at very high baud rates on slow systems,
or with too many ports on any system,
or on heavily loaded systems when crtscts cannot be used.
The use of NS16550A's reduces system load and helps to avoid data loss.
.Pp
Stay away from plain NS16550's. These are early
implementations of the chip with non-functional FIFO hardware.
.Pp
The constants which define the locations
of the various serial ports are holdovers from
.Tn DOS .
As shown, hex addresses can be and for clarity probably should be used instead.
.Pp
Note that on the AST/4 the card's dipswitches should
.Em not
be set to use interrupt sharing. AST/4-like interrupt sharing is only used when
.Em multiple
AST/4 cards are installed in the same system. The sio driver does not
support more than 1 AST/4 on one IRQ.
.Pp
The examples in the synopsis are too vendor-specific.

View File

@ -1,149 +0,0 @@
.\" Copyright (c) 1997, 1998, 1999
.\" Bill Paul <wpaul@ee.columbia.edu>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul.
.\" 4. Neither the name of the author nor the names of any co-contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd September 4, 1999
.Dt SIS 4 i386
.Os FreeBSD
.Sh NAME
.Nm sis
.Nd
Silicon Integrated Systems fast ethernet device driver
.Sh SYNOPSIS
.Cd "controller miibus0"
.Cd "device sis0"
.Sh DESCRIPTION
The
.Nm
driver provides support for PCI ethernet adapters and embedded
controllers based on the Silicon Integrated Systems SiS 900
and SiS 7016 fast ethernet controller chips.
.Pp
The SiS 900 is a 100Mbps ethernet MAC and MII-compliant transceiver
in a single package. It uses a bus master DMA and a scatter/gather
descriptor scheme. The SiS 7016 is similar to the SiS 900 except
that it has no internal PHY, requiring instead an external transceiver
to be attached to its MII interface.
The SiS 900 and SiS 7016 both have a 128-bit multicast hash filter
and a single perfect filter entry for the station address.
.Pp
The
.Nm
driver supports the following media types:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It autoselect
Enable autoselection of the media type and options.
The user can manually override
the autoselected mode by adding media options to the
.Pa /etc/rc.conf
fine.
.It 10baseT/UTP
Set 10Mbps operation. The
.Ar mediaopt
option can also be used to select either
.Ar full-duplex
or
.Ar half-duplex modes.
.It 100baseTX
Set 100Mbps (fast ethernet) operation. The
.Ar mediaopt
option can also be used to select either
.Ar full-duplex
or
.Ar half-duplex
modes.
.El
.Pp
The
.Nm
driver supports the following media options:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It full-duplex
Force full duplex operation
.It half-duplex
Force half duplex operation.
.El
.Pp
For more information on configuring this device, see
.Xr ifconfig 8 .
.Sh DIAGNOSTICS
.Bl -diag
.It "sis%d: couldn't map ports/memory"
A fatal initialization error has occurred.
.It "sis%d: couldn't map interrupt"
A fatal initialization error has occurred.
.It "sis%d: watchdog timeout"
The device has stopped responding to the network, or there is a problem with
the network connection (cable).
.It "sis%d: no memory for rx list"
The driver failed to allocate an mbuf for the receiver ring.
.It "sis%d: no memory for tx list"
The driver failed to allocate an mbuf for the transmitter ring when
allocating a pad buffer or collapsing an mbuf chain into a clusisr.
.It "sis%d: chip is in D3 power state -- setting to D0"
This message applies only to adapters which support power
management. Some operating sysisms place the controller in low power
mode when shutting down, and some PCI BIOSes fail to bring the chip
out of this state before configuring it. The controller loses all of
its PCI configuration in the D3 state, so if the BIOS does not set
it back to full power mode in time, it won't be able to configure it
correctly. The driver tries to detect this condition and bring
the adapter back to the D0 (full power) state, but this may not be
enough to return the driver to a fully operational condition. If
you see this message at boot time and the driver fails to attach
the device as a network interface, you will have to perform second
warm boot to have the device properly configured.
.Pp
Note that this condition only occurs when warm booting from another
operating sysism. If you power down your sysism prior to booting
.Fx ,
the card should be configured correctly.
.El
.Sh SEE ALSO
.Xr arp 4 ,
.Xr netintro 4 ,
.Xr ifconfig 8
.Rs
.%T SiS 900 and SiS 7016 datasheets
.%O http://www.sis.com.tw
.Re
.Sh HISTORY
The
.Nm
device driver first appeared in
.Fx 3.0 .
.Sh AUTHORS
The
.Nm
driver was written by
.An Bill Paul Aq wpaul@ee.columbia.edu .

View File

@ -1,159 +0,0 @@
.\" Copyright (c) 1997, 1998, 1999
.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul.
.\" 4. Neither the name of the author nor the names of any co-contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd July 3, 1999
.Dt SK 4 i386
.Os FreeBSD
.Sh NAME
.Nm sk
.Nd
SysKonnect SK-984x PCI gigabit ethernet adapter driver
.Sh SYNOPSIS
.Cd "device sk0"
.Sh DESCRIPTION
The
.Nm
driver provides support for the SysKonnect SK-984x series PCI
gigabit ethernet adapters, including the following:
.Bl -bullet -offset indent
.It
SK-9841 SK-NET GE-LX single port, single mode fiber adapter
.It
SK-9842 SK-NET GE-SX single port, multimode fiber adapter
.It
SK-9843 SK-NET GE-LX dual port, single mode fiber adapter
.It
SK-9844 SK-NET GE-SX duak port, multimode fiber adapter
.El
.Pp
The SysKonnect adapters consist of two main components: the XaQti Corp.
XMAC II gigabit MAC and the SysKonnect GEnesis controller ASIC. The
XMAC provides the gigabit MAC and PHY suspport while the GEnesis
provides an interface to the PCI bus, DMA support, packet buffering
and arbitration. The GEnesis can control up to two XMACs simultaneously,
allowing dual-port NIC configurations.
.Pp
The
.Nm
driver configures dual port SysKonnect adapters such that each XMAC
is treated as a separate logical network interface. Both ports can
operate indepenently of each other and can be connected to separate
networks. The SysKonnect driver software currently only uses the
second port on dual port adapters for failover purposes: if the link
on the primary port fails, the SysKonnect driver will automatically
switch traffic onto the second port.
.Pp
The XaQti XMAC II supports full and half duplex operation with
autonegotiation. The XMAC also supports unlimited frame sizes.
Support for jumbo frames is provided via the interface MTU setting.
Selecting an MTU larger than 1500 bytes with the
.Xr ifconfig 8
utility configures the adapter to receive and transmit jumbo frames.
Using jumbo frames can greatly improve performance for certain tasks,
such as file transfers and data streaming.
.Pp
The
.Nm
driver supports the following media types:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It autoselect
Enable autoselection of the media type and options.
The user can manually override
the autoselected mode by adding media options to the
.Pa /etc/rc.conf
file.
.It 1000baseSX
Set 1000Mbps (gigabit ethernet) operation. Both
.Ar full-duplex
and
.Ar half-duplex
modes are supported.
.El
.Pp
The
.Nm
driver supports the following media options:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It full-duplex
Force full duplex operation
.It half-duplex
Force half duplex operation.
.El
.Pp
For more information on configuring this device, see
.Xr ifconfig 8 .
.Sh DIAGNOSTICS
.Bl -diag
.It "sk%d: couldn't map memory"
A fatal initialization error has occurred.
.It "sk%d: couldn't map ports"
A fatal initialization error has occurred.
.It "sk%d: couldn't map interrupt"
A fatal initialization error has occurred.
.It "sk%d: no memory for softc struct!"
The driver failed to allocate memory for per-device instance information
during initialization.
.It "sk%d: failed to enable memory mapping!"
The driver failed to initialize PCI shared memory mapping. This might
happen if the card is not in a bus-master slot.
.It "sk%d: no memory for jumbo buffers!"
The driver failed to allocate memory for jumbo frames during
initialization.
.It "sk%d: watchdog timeout"
The device has stopped responding to the network, or there is a problem with
the network connection (cable).
.El
.Sh SEE ALSO
.Xr arp 4 ,
.Xr netintro 4 ,
.Xr vlan 4 ,
.Xr ifconfig 8
.Rs
.%T XaQti XMAC II datasheet
.%O http://www.xaqti.com
.Re
.Rs
.%T SysKonnect GEnesis programming manual
.%O http://www.syskonnect.com
.Re
.Sh HISTORY
The
.Nm
device driver first appeared in
.Fx 3.0 .
.Sh AUTHORS
The
.Nm
driver was written by
.An Bill Paul Aq wpaul@ctr.columbia.edu .

View File

@ -1,242 +0,0 @@
.\"
.\" Copyright (c) 1999
.\" Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer as
.\" the first lines of this file unmodified.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd February 9, 1999
.Dt SPLASH 4 i386
.Os FreeBSD
.Sh NAME
.Nm splash
.Nd
splash screen / screen saver interface
.Sh SYNOPSIS
.Cd "pseudo-device splash"
.Sh DESCRIPTION
The
.Nm
pseudo device driver adds support for the splash screen and screen
savers to the kernel.
This driver is required if the splash bitmap image is to be loaded or
any screen saver is to be used.
.Sh SPLASH SCREEN
You can load and display an arbitrary bitmap image file as welcome banner
on the screen when the system is about to start. This image will remain on
the screen during kernel initialization process until the ``Login'' prompt
appears on the screen or until a screen saver is loaded and initialized.
The image will also disappear if you hit any key, although this may not work
immediately if the kernel is still probing devices.
.Pp
If you specify
.Fl c
or
.Fl v
boot option when loading kernel, the splash image will not appear. However, it
is still loaded and can be used as a screen saver later: see below.
.Pp
In order to display the bitmap, the bitmap file itself and the
matching splash image decoder module must be loaded by the boot loader.
Currently the following decoder module is available:
.Pp
.Bl -tag -width splash_decoder -compact
.It Pa splash_bmp.ko
W*ndows BMP file decoder.
While the BMP file format allows images of various color depths, this
decoder currently only handles 256 color bitmaps. Bitmaps of other color
depths will not be displayed.
.It Pa splash_pcx.ko
ZSoft PCX decoder.
This decoder currently only supports version 5 8-bpp single-plane
images.
.El
.Pp
The
.Sx EXAMPLES
section illustrates how to set up the splash screen.
.Pp
If the standard VGA video mode is used,
the size of the bitmap must be 320x200 or less.
If you enable the VESA mode support in the kernel,
either by statically linking the VESA module or by loading the VESA module
.Pq see Xr vga 4 ,
you can load bitmaps up to a resolution of 1024x768, depending on the VESA
BIOS and the amount of video memory on the video card.
.Sh SCREEN SAVER
The screen saver will activate when the system is considered idle: i.e.
when the user has not typed a key or moved the mouse for a specified period
of time. As the screen saver is an optional module, it must be explicitly
loaded into memory. Currently the following screen saver modules are
available:
.Pp
.Bl -tag -width splash_module.ko -compact
.It Pa blank_saver.ko
This screen saver simply blanks the screen.
.It Pa daemon_saver.ko
Animated BSD Daemon screen saver.
.It Pa fade_saver.ko
The screen will gradually fade away.
.It Pa green_saver.ko
If the monitor supports power saving mode, it will be turned off.
.It Pa logo_saver.ko
Animated graphical BSD Daemon.
.It Pa rain_saver.ko
Draws shower on the screen.
.It Pa snake_saver.ko
Draws a snake of string.
.It Pa star_saver.ko
Twinkling stars.
.It Pa warp_saver.ko
Streaking stars.
.El
.Pp
Screen saver modules can be loaded using
.Xr kldload 8 :
.Pp
.Dl kldload logo_saver
.Pp
The timeout value in seconds can be specified as follows:
.Pp
.Dl vidcontrol -t N
.Pp
Alternatively, you can set the
.Ar saver
variable in the
.Pa /etc/rc.conf
to the screen saver of your choice and
the timeout value to the
.Ar blanktime
variable so that the screen saver is automatically loaded
and the timeout value is set when the system starts.
.Pp
The screen saver may be instantly activated by hitting the
.Ar saver
key: the defaults are
.Em Shift-Pause
on the AT enhanced keyboard and
.Em Shift-Ctrl-NumLock/Pause
on the AT 84 keyboard. You can change the
.Ar saver
key by modifying the keymap
.Pq see Xr kbdcontrol 1 , Xr keymap 5 ,
and assign the
.Ar saver
function to a key of your preference.
.Pp
The screen saver will not run if the screen is not in text mode.
.Sh SPLASH SCREEN AS A SCREEN SAVER
If you load a splash image but do not load a screen saver,
you can continue using the splash module as a screen saver.
The screen blanking interval can be specified as described in the
.Sx SCREEN SAVER
section above.
.\".Sh DRIVER CONFIGURATION
.Sh FILES
.Bl -tag -width /modules/splash_xxxx.ko -compact
.It /boot/defaults/loader.conf
boot loader configuration defaults
.It /etc/rc.conf
system configuration information
.It /modules/splash_*.ko
splash image decoder modules
.It /modules/*_saver.ko
screen saver modules
.It /modules/vesa.ko
the VESA support module
.El
.Sh EXAMPLE
In order to load the splash screen or the screen saver, you must
have the following line in the kernel configuration file.
.Pp
.Dl pseudo-device splash
.Pp
Next, edit
.Pa /boot/loader.conf
.Pq see Xr loader.conf 5
and include the following lines:
.Bd -literal -offset indent
splash_bmp_load="YES"
bitmap_load="YES"
bitmap_name="chuck.bmp"
.Ed
.Pp
In the above example, the file
.Pa chuck.bmp
is loaded.
In the following example, the VESA module
is loaded so that a bitmap file which cannot be displayed in standard
VGA modes may be shown using one of the VESA video modes.
.Bd -literal -offset indent
splash_pcx_load="YES"
vesa_load="YES"
bitmap_load="YES"
bitmap_name="chuck.pcx"
.Ed
.Pp
If the VESA support is statically linked to the kernel, it is not
necessary to load the VESA module.
Just load the bitmap file and the splash decoder module as in the
first example above.
.\".Sh DIAGNOSTICS
.Sh CAVEATS
Both the splash screen and the screen saver work with
.Xr syscons 4
only. They are not available for the alternative console driver
.Xr pcvt 4 .
.Sh BUGS
If you load a screen saver while another screen saver has already
been loaded, the first screen saver will not be automatically unloaded
and will remain in memory, wasting kernel memory space.
.Sh SEE ALSO
.Xr vidcontrol 1 ,
.Xr syscons 4 ,
.Xr vga 4 ,
.Xr loader.conf 5 ,
.Xr rc.conf 5 ,
.Xr kldload 8 ,
.Xr kldunload 8 .
.Sh HISTORY
The
.Nm
driver first appeared in
.Fx 3.1 .
.Sh AUTHORS
The
.Nm
driver and this manual page were written by
.An Kazutaka Yokota Aq yokota@FreeBSD.org .
The
.Pa splash_bmp
module was written by
.An Michael Smith Aq msmith@FreeBSD.org
and
.An Kazutaka Yokota .
The
.Pa splash_pcx
module was written by
.An Dag-Erling Smørgrav Aq des@FreeBDS.org
based on the
.Pa splash_bmp
code.

View File

@ -1,149 +0,0 @@
.\" Copyright (c) 1997, 1998, 1999
.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul.
.\" 4. Neither the name of the author nor the names of any co-contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd August 21, 1999
.Dt STE 4 i386
.Os FreeBSD
.Sh NAME
.Nm ste
.Nd
Sundance Technologies ST201 fast ethernet device driver
.Sh SYNOPSIS
.Cd "controller miibus0"
.Cd "device ste0"
.Sh DESCRIPTION
The
.Nm
driver provides support for PCI ethernet adapters and embedded
controllers based on the Sundance Technologies ST201 PCI fast
ethernet controller chip. This includes the D-Link DFE-550TX.
.Pp
The Sundance ST201 uses bus master DMA and is designed to be a
3Com Etherlink XL workalike. It uses the same DMA descriptor
structure and is very similar in operation, however its register
layout is different. The ST201 has a 64-bit multicast hash filter
and a single perfect filter entry for the station address. IT
supports both 10 and 100Mbps speeds in either full or half duplex
using an MII transceiver.
.Pp
The
.Nm
driver supports the following media types:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It autoselect
Enable autoselection of the media type and options.
The user can manually override
the autoselected mode by adding media options to the
.Pa /etc/rc.conf
fine.
.It 10baseT/UTP
Set 10Mbps operation. The
.Ar mediaopt
option can also be used to select either
.Ar full-duplex
or
.Ar half-duplex modes.
.It 100baseTX
Set 100Mbps (fast ethernet) operation. The
.Ar mediaopt
option can also be used to select either
.Ar full-duplex
or
.Ar half-duplex
modes.
.El
.Pp
The
.Nm
driver supports the following media options:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It full-duplex
Force full duplex operation
.It half-duplex
Force half duplex operation.
.El
.Pp
For more information on configuring this device, see
.Xr ifconfig 8 .
.Sh DIAGNOSTICS
.Bl -diag
.It "ste%d: couldn't map ports/memory"
A fatal initialization error has occurred.
.It "ste%d: couldn't map interrupt"
A fatal initialization error has occurred.
.It "ste%d: watchdog timeout"
The device has stopped responding to the network, or there is a problem with
the network connection (cable).
.It "ste%d: no memory for rx list"
The driver failed to allocate an mbuf for the receiver ring.
.It "ste%d: no memory for tx list"
The driver failed to allocate an mbuf for the transmitter ring when
allocating a pad buffer or collapsing an mbuf chain into a cluster.
.It "ste%d: chip is in D3 power state -- setting to D0"
This message applies only to adapters which support power
management. Some operating systems place the controller in low power
mode when shutting down, and some PCI BIOSes fail to bring the chip
out of this state before configuring it. The controller loses all of
its PCI configuration in the D3 state, so if the BIOS does not set
it back to full power mode in time, it won't be able to configure it
correctly. The driver tries to detect this condition and bring
the adapter back to the D0 (full power) state, but this may not be
enough to return the driver to a fully operational condition. If
you see this message at boot time and the driver fails to attach
the device as a network interface, you will have to perform second
warm boot to have the device properly configured.
.Pp
Note that this condition only occurs when warm booting from another
operating system. If you power down your system prior to booting
.Fx ,
the card should be configured correctly.
.El
.Sh SEE ALSO
.Xr arp 4 ,
.Xr netintro 4 ,
.Xr ifconfig 8
.Rs
.%T Sundance ST201 data sheet
.%O http://www.sundanceti.com
.Re
.Sh HISTORY
The
.Nm
device driver first appeared in
.Fx 3.0 .
.Sh AUTHORS
The
.Nm
driver was written by
.An Bill Paul Aq wpaul@ee.columbia.edu .

View File

@ -1,495 +0,0 @@
.\"
.\" Copyright (c) 1999
.\" Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer as
.\" the first lines of this file unmodified.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd June 30, 1999
.Dt SYSCONS 4 i386
.Os FreeBSD
.Sh NAME
.Nm syscons ,
.Nm sc
.Nd
the console driver
.Sh SYNOPSIS
.Cd "options MAXCONS=N"
.Cd "options SC_ALT_MOUSE_IMAGE"
.Cd "options SC_DISABLE_DDBKEY"
.Cd "options SC_DISABLE_REBOOT"
.Cd "options SC_HISTORY_SIZE=N"
.Cd "options SC_MOUSE_CHAR=C"
.Cd "options SC_NO_CUTPASTE"
.Cd "options SC_NO_FONT_LOADING"
.Cd "options SC_NO_HISTORY"
.Cd "options SC_NO_PALETTE_LOADING"
.Cd "options SC_NO_SYSMOUSE"
.Cd "options SC_PIXEL_MODE"
.Cd "options SC_TWOBUTTON_MOUSE
.Cd "options SC_NORM_ATTR"=\&"_attribute_\&"
.Cd "options SC_NORM_REV_ATTR"=\&"_attribute_\&"
.Cd "options SC_KERNEL_CONS_ATTR"=\&"_attribute_\&"
.Cd "options SC_KERNEL_CONS_REV_ATTR"=\&"_attribute_\&"
.Cd "options SC_DFLT_FONT"
.Cd "makeoptions SC_DFLT_FONT"=\&"_font_name_\&"
.Cd "device sc0 at isa?"
.Sh DESCRIPTION
The
.Nm
driver provides multiple virtual terminals.
It resembles the SCO color console driver.
.Pp
The
.Nm
driver is implemented on top of the keyboard driver
.Pq Xr atkbd 4
and the video card driver
.Pq Xr vga 4
and so requires both of them to be configured in the system.
.Pp
There can be only one
.Nm
device defined in the system.
.Ss Virtual Terminals
The
.Nm
driver provides multiple virtual terminals which appear as if they were
separate terminals.
One virtual terminal is considered current and exclusively
occupies the screen and the keyboard; the other virtual terminals
are placed in the background.
.Pp
In order to use virtual terminals, they must be individually
marked ``on'' in
.Pa /etc/ttys
so that
.Xr getty 8
will recognize them to be active and run
.Xr login 1
to let the user to login to the system.
By default, only the first eight virtual terminals are activated in
.Pa /etc/ttys .
.Pp
You press the
.Em Alt
key and a switch key to switch between
virtual terminals.
The following table summarizes the correspondence between the switch
key and the virtual terminal.
.Bd -literal -offset indent
Alt-F1 ttyv0 Alt-F7 ttyv6 Shift-Alt-F1 ttyv10
Alt-F2 ttyv1 Alt-F8 ttyv7 Shift-Alt-F2 ttyv11
Alt-F3 ttyv2 Alt-F9 ttyv8 Shift-Alt-F3 ttyv12
Alt-F4 ttyv3 Alt-F10 ttyv9 Shift-Alt-F4 ttyv13
Alt-F5 ttyv4 Alt-F11 ttyv10 Shift-Alt-F5 ttyv14
Alt-F6 ttyv5 Alt-F12 ttyv11 Shift-Alt-F6 ttyv15
.Ed
.Pp
You can also use the ``nscr'' key (usually the
.Em PrintScreen
key on the AT Enhanced keyboard) to cycle available virtual terminals.
.Pp
The default number of available virtual terminals is 16.
This can be changed by the kernel configuration option
.Em MAXCONS
(see below).
.Pp
Note that the X server usually requires a virtual terminal for display
purposes, so at least one terminal must be left unused by
.Xr getty 8
so that it can be used by the X server.
.Ss Key Definitions and Function Key Strings
The
.Nm
driver, in conjunction with the keyboard driver, allows the user
to change key definitions and function key strings.
The
.Xr kbdcontrol 1
command will load a key definition file (known as ``keymap'' file),
dump the current keymap, and assign a string to a function key.
See
.Xr keyboard 4
and
.Xr keymap 5
for the keymap file.
.Pp
You may want to set the
.Ar keymap
variable in
.Pa /etc/rc.conf.local
to the desired keymap file so that it will be automatically loaded
when the system starts up.
.Ss Software Font
For most modern video cards, e.g. VGA, the
.Nm
driver and the video card driver allow the user to change
the font used on the screen.
The
.Xr vidcontrol 1
command can be used to load a font file from
.Pa /usr/share/syscons/fonts .
.Pp
The font comes in various sizes: 8x8, 8x14 and 8x16.
The 8x16 font is typically used for the VGA card in the 80-column-
by-25-line mode.
Other video modes may require different size of font.
It is better to always load these three sizes of the same font.
.Pp
You may set
.Ar font8x8 ,
.Ar font8x14
and
.Ar font8x16
variables in
.Pa /etc/rc.conf.local
to the desired font files so that they will be automatically loaded
when the system starts up.
.Pp
Optionally you can make a particular font file as the default font.
See the
.Em SC_DFLT_FONT
option below.
.Ss Screen Map
If your video card does not support software font, you may still be able
to have similar effect by re-mapping font hard-wired in the video card.
Use
.Xr vidcontrol 1
to load a screen map file which defines mapping between character codes.
.Ss Mouse Support and Copy-and-Paste
You can use your mouse to copy text on the screen and paste it as if
it is typed by hand.
You must be running the mouse daemon
.Xr moused 8
and enable the mouse cursor in the virtual terminal via
.Xr vidcontrol 1 .
.Pp
Pressing the mouse button 1 (usually the left button) will start selection.
Releasing the button 1 will end the selection process.
The selected text will be marked by inverting foreground and
background colors.
You can press the button 3 (usually the right button) to extend
the selected region.
The selected text is placed in the copy buffer and can be pasted
at the cursor position by your pressing the button 2 (usually the
middle button) as many times as you like.
.Pp
If your mouse has only two buttons, you may want to use the
.Em SC_TWOBUTTON_MOUSE
option below to make the right button to paste the text.
Alternatively you can make the mouse daemon
to emulate the middle button.
See the man page for
.Xr moused 8
for more details.
.Ss Back Scrolling
The
.Nm
driver allows the user to browse the output which has ``scrolled off''
from the top of the screen.
.Pp
Press the ``slock'' key (usually
.Em ScrllLock
and/or
.Em Pause
keys on many AT Enhanced keyboards) and the terminal is
in the ``back scrolling'' mode.
It is indicated by the
.Em Scroll Lock
LED.
Use arrow keys,
.Em Page Up/Down
keys and
.Em Home/End
keys to scroll buffered terminal output.
Press the ``slock'' key again to get back to the normal terminal mode.
.Pp
The size of the back-scroll buffer can be set by the
.Em SC_HISTORY_SIZE
option below.
.Ss Screen Saver
The
.Nm
driver can be made to put up the screen saver if the current
virtual terminal is idle, that is, the user is not typing
on the keyboard nor moving mouse.
See
.Xr splash 4
and
.Xr vidcontrol 1
for more details.
.Sh DRIVER CONFIGURATION
.Ss Kernel Configuration Options
The following kernel configuration options control the
.Nm
driver.
.Bl -tag -width MOUSE
.It Em MAXCONS=N
This option sets the number of virtual terminals to
.Fa N .
The default value is 16.
.It Em SC_ALT_MOUSE_IMAGE
This option selects the alternative way of displaying the mouse cursor
in the virtual terminal.
It may be vastly costly for some video cards to draw the arrow-shaped
cursor and you may want to try this option.
However, the appearance of the alternative mouse cursor may not be
very appealing.
.It Em SC_DISABLE_DDBKEY
This option disables the ``debug'' key (by default, it is
.Em Alt-Esc ,
or
.Em Ctl-PrintScreen
).
It will prevent the user from
entering the kernel debugger DDB by pressing the key combination.
DDB will still be invoked when the kernel panics or hits a break point
if it is included in the kernel.
.It Em SC_DISABLE_REBOOT
This option disables the ``reboot'' key (by default, it is
.Em Ctl-Alt-Del
), so that the casual user may not accidentally reboot the system.
.It Em SC_HISTORY_SIZE=N
Sets the size of back scroll buffer to
.Fa N
lines.
The default value is 100.
.It Em SC_MOUSE_CHAR=C
Unless the
.Em SC_ALT_MOUSE_IMAGE
option above is specified, the
The
.Nm
driver reserves four consecutive character codes in order to display the
mouse cursor in the virtual terminals in some systems.
This option specifies the first character code to
.Fa C
to be used for this purpose.
The default value is 0xd0.
A good candidate is 0x03.
.It Em SC_PIXEL_MODE
Adds support for pixel (raster) mode console.
This mode is useful on some laptop computers, but less so on
most other systems, and it adds substantial amount of code to syscons.
If the this option is NOT defined, you can reduce the kernel size a lot.
See the
.Em VESA800X600
flag below.
.It Em SC_TWOBUTTON_MOUSE
If you have a two button mouse, you may want to add this option
to use the right button of the mouse to paste text.
See
.Sx Mouse Support and Copy-and-Paste
above.
.It Em SC_NORM_ATTR=\&"_attribute_\&"
.It Em SC_NORM_REV_ATTR=\&"_attribute_\&"
.It Em SC_KERNEL_CONS_ATTR=\&"_attribute_\&"
.It Em SC_KERNEL_CONS_REV_ATTR=\&"_attribute_\&"
These options will set the default colors.
Available colors are defined in
.Pa /usr/include/machine/pc/display.h .
See
.Sx EXAMPLE
below.
.It Em SC_DFLT_FONT
This option will specify the default font.
Available fonts are: iso, iso2, koi8-r, cp437, cp850, cp865 and cp866.
16-line, 14-line and 8-line font data will be compiled in.
Without this option, the
.Nm
driver will use whatever font already loaded in the video card,
unless you explicitly load software font at startup.
See
.Sx EXAMPLE
below.
.El
.Pp
The following options will remove some features from the
.Nm
driver and save kernel memory.
.Bl -tag -width MOUSE
.It Em SC_NO_CUTPASTE
This option disables ``copy and paste'' operation in virtual
terminals.
.It Em SC_NO_FONT_LOADING
The
.Nm
driver can load software font on some video cards.
This option removes this feature.
.It Em SC_NO_HISTORY
This option disables back-scrolling in virtual terminals.
.\".It Em SC_NO_PALETTE_LOADING
.It Em SC_NO_SYSMOUSE
This option removes mouse support in the
.Nm
driver.
The mouse daemon
.Xr moused 8
will fail if this option is defined.
This option implies the
.Em SC_NO_CUTPASTE
option too.
.El
.Ss Driver Flags
The following driver flags can be used to control the
.Nm
driver.
They can be set either in the kernel configuration file
.Pq see Xr config 8 ,
or else in the User Configuration Menu at boot
time
.Pq see Xr boot 8 .
.Bl -tag -width bit_0
.\".It bit 0 (VISUAL_BELL)
.\"Uses the ``visual'' bell.
.\"The screen will blink instead of generating audible sound.
.\".It bit 1,2 (CURSOR_TYPE)
.\"This option specifies the cursor appearance.
.\"Possible values are:
.\".Bl -tag -width TYPE -compact
.\".It Em 0
.\"normal block cursor
.\".It Em 2
.\"blinking block cursor
.\".It Em 4
.\"underline cursor
.\".It Em 6
.\"blinking underline (aka destructive) cursor
.\".El
.\".It bit 6 (QUIET_BELL)
.\"This option suppresses the bell, whether audible or visual,
.\"if it is rung in a background virtual terminal.
.It bit 7 (VESA800X600)
This option puts the video card in the VESA 800x600 dots, 16 color
mode.
It may be useful for laptop computers for which the 800x600 mode
is otherwise unsupported by the X server.
Note that in order for this flag to work, the kernel must be
compiled with the
.Em SC_PIXEL_MODE
option explained above.
.\"Note also that the ``copy-and-paste'' function is not currently supported
.\"in this mode and the mouse pointer will not be displayed.
.El
.Sh FILES
.Bl -tag -width /usr/share/syscons/xxxxyyyyzzz -compact
.It Pa /dev/console
.It Pa /dev/consolectl
.It Pa /dev/ttyv?
virtual terminals
.It Pa /etc/ttys
terminal initialization information
.It Pa /usr/share/syscons/fonts/*
font files
.It Pa /usr/share/syscons/keymaps/*
key map files
.It Pa /usr/share/syscons/scrmaps/*
screen map files
.El
.Sh EXAMPLE
As the
.Nm
driver requires the keyboard driver and the video card driver,
the kernel configuration file should contain the following lines.
.Pp
.Bd -literal -offset indent
device atkbdc0 at isa? port IO_KBD
device atkbd0 at atkbdc? irq 1
device vga0 at isa? conflicts
device sc0 at isa?
pseudo-device splash
.Ed
.Pp
If you do not intend to load the splash image or use the screen saver,
the last line is not necessary, and can be omitted.
.Pp
Note that the keyboard controller driver
.Nm atkbdc
is required by the keyboard driver
.Nm atkbd .
.Pp
The following lines will set the default colors.
The normal text will be green on black background.
The reversed text will be yellow on green background.
Note that you cannot put any white space inside the quoted string,
because of the current implementation of
.Xr config 8 .
.Pp
.Dl "options SC_NORM_ATTR"=\&"(FG_GREEN|BG_BLACK)\&"
.Dl "options SC_NORM_REV_ATTR"=\&"(FG_YELLOW|BG_GREEN)\&"
.Pp
The following lines will set the default colors of the kernel message.
The kernel message will be printed bright red on black background.
The reversed message will be black on red background.
.Pp
.Dl "options SC_KERNEL_CONS_ATTR"=\&"(FG_LIGHTRED|BG_BLACK)\&"
.Dl "options SC_KERNEL_CONS_REV_ATTR"=\&"(FG_BLACK|BG_RED)\&"
.Pp
The following example adds the font files
.Pa cp850-8x16.fnt ,
.Pa cp850-8x14.font
and
.Pa cp850-8x8.font
to the kernel.
.Pp
.Dl "options SC_DFLT_FONT"
.Dl "makeoptions SC_DFLT_FONT"=\&"cp850\&"
.Dl "device sc0 at isa?
.Pp
.\".Sh DIAGNOSTICS
.\".Sh CAVEATS
.Sh BUGS
This manual page is incomplete and urgently needs revision.
.Sh SEE ALSO
.Xr kbdcontrol 1 ,
.Xr login 1 ,
.Xr vidcontrol 1 ,
.Xr atkbd 4 ,
.Xr atkbdc 4 ,
.Xr keyboard 4 ,
.Xr screen 4 ,
.Xr splash 4 ,
.Xr ukbd 4 ,
.Xr vga 4 ,
.Xr keymap 5 ,
.Xr rc.conf 5 ,
.Xr screenmap 5 ,
.Xr ttys 5 ,
.Xr config 8 ,
.Xr getty 8 ,
.Xr kldload 8 ,
.Xr moused 8 .
.Sh HISTORY
The
.Nm
driver first appeared in
.Fx 1.0 .
.Sh AUTHORS
The
.Nm
driver was written by
.An Søren Schmidt Aq sos@FreeBSD.org .
This manual page was written by
.An Kazutaka Yokota Aq yokota@FreeBSD.org .

View File

@ -1,463 +0,0 @@
.\" Copyright (c) 1997
.\" John-Mark Gurney. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. Neither the name of the author nor the names of any co-contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY John-Mark Gurney AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd December 3, 1997
.Dt SYSMOUSE 4 i386
.Os FreeBSD
.Sh NAME
.Nm sysmouse
.\" .Nd supplies mouse data from syscons for other applications
.Nd virtualized mouse driver
.Sh SYNOPSIS
.Fd #include <machine/mouse.h>
.Fd #include <machine/console.h>
.Sh DESCRIPTION
The console driver, in conjunction with the mouse daemon
.Xr moused 8 ,
supplies mouse data to the user process in the standardized way via the
.Nm
driver.
This arrangement makes it possible for the console and the user process
.Pq such as the Tn X\ Window System
to share the mouse.
.Pp
The user process which wants to utilize mouse operation simply opens
.Pa /dev/sysmouse
with a
.Xr open 2
call and reads
mouse data from the device via
.Xr read 2 .
Make sure that
.Xr moused 8
is running, otherwise the user process won't see any data coming from
the mouse.
.Pp
.Ss Operation Levels
The
.Nm
driver has two levels of operation.
The current operation level can be referred to and changed via ioctl calls.
.Pp
The level zero, the basic level, is the lowest level at which the driver
offers the basic service to user programs.
The
.Nm
driver
provides horizontal and vertical movement of the mouse
and state of up to three buttons in the
.Tn MouseSystems
format as follows.
.Pp
.Bl -tag -width Byte_1 -compact
.It Byte 1
.Bl -tag -width bit_7 -compact
.It bit 7
Always one.
.It bit 6..3
Always zero.
.It bit 2
Left button status; cleared if pressed, otherwise set.
.It bit 1
Middle button status; cleared if pressed, otherwise set. Always one,
if the device does not have the middle button.
.It bit 0
Right button status; cleared if pressed, otherwise set.
.El
.It Byte 2
The first half of horizontal movement count in two's complement;
-128 through 127.
.It Byte 3
The first half of vertical movement count in two's complement;
-128 through 127.
.It Byte 4
The second half of the horizontal movement count in two's complement;
-128 through 127. To obtain the full horizontal movement count, add
the byte 2 and 4.
.It Byte 5
The second half of the vertical movement count in two's complement;
-128 through 127. To obtain the full vertical movement count, add
the byte 3 and 5.
.El
.Pp
At the level one, the extended level, mouse data is encoded
in the standard format
.Dv MOUSE_PROTO_SYSMOUSE
as defined in
.Xr mouse 4 .
.\" .Ss Acceleration
.\" The
.\" .Nm
.\" driver can somewhat `accelerate' the movement of the pointing device.
.\" The faster you move the device, the further the pointer
.\" travels on the screen.
.\" The driver has an internal variable which governs the effect of
.\" the acceleration. Its value can be modified via the driver flag
.\" or via an ioctl call.
.Sh IOCTLS
This section describes two classes of
.Xr ioctl 2
commands:
commands for the
.Nm
driver itself, and commands for the console and the console control drivers.
.Ss Sysmouse Ioctls
There are a few commands for mouse drivers.
General description of the commands is given in
.Xr mouse 4 .
Followings are the features specific to the
.Nm
driver.
.Pp
.Bl -tag -width MOUSE -compact
.It Dv MOUSE_GETLEVEL Ar int *level
.It Dv MOUSE_SETLEVEL Ar int *level
These commands manipulate the operation level of the mouse driver.
.Pp
.It Dv MOUSE_GETHWINFO Ar mousehw_t *hw
Returns the hardware information of the attached device in the following
structure. Only the
.Dv iftype
field is guaranteed to be filled with the correct value in the current
version of the
.Nm
driver.
.Bd -literal
typedef struct mousehw {
int buttons; /* number of buttons */
int iftype; /* I/F type */
int type; /* mouse/track ball/pad... */
int model; /* I/F dependent model ID */
int hwid; /* I/F dependent hardware ID */
} mousehw_t;
.Ed
.Pp
The
.Dv buttons
field holds the number of buttons detected by the driver.
.Pp
The
.Dv iftype
is always
.Dv MOUSE_IF_SYSMOUSE.
.Pp
The
.Dv type
tells the device type:
.Dv MOUSE_MOUSE ,
.Dv MOUSE_TRACKBALL ,
.Dv MOUSE_STICK ,
.Dv MOUSE_PAD ,
or
.Dv MOUSE_UNKNOWN .
.Pp
The
.Dv model
is always
.Dv MOUSE_MODEL_GENERIC
at the operation level 0.
It may be
.Dv MOUSE_MODEL_GENERIC
or one of
.Dv MOUSE_MODEL_XXX
constants at higher operation levels.
.Pp
The
.Dv hwid
is always zero.
.Pp
.It Dv MOUSE_GETMODE Ar mousemode_t *mode
The command gets the current operation parameters of the mouse
driver.
.Bd -literal
typedef struct mousemode {
int protocol; /* MOUSE_PROTO_XXX */
int rate; /* report rate (per sec) */
int resolution; /* MOUSE_RES_XXX, -1 if unknown */
int accelfactor; /* acceleration factor */
int level; /* driver operation level */
int packetsize; /* the length of the data packet */
unsigned char syncmask[2]; /* sync. bits */
} mousemode_t;
.Ed
.Pp
The
.Dv protocol
field tells the format in which the device status is returned
when the mouse data is read by the user program.
It is
.Dv MOUSE_PROTO_MSC
at the operation level zero.
.Dv MOUSE_PROTO_SYSMOUSE
at the operation level one.
.Pp
The
.Dv rate
is always set to -1.
.Pp
The
.Dv resolution
is always set to -1.
.Pp
The
.Dv accelfactor
is always 0.
.Pp
The
.Dv packetsize
field specifies the length of the data packet. It depends on the
operation level.
.Pp
.Bl -tag -width level_0__ -compact
.It Em level 0
5 bytes
.It Em level 1
8 bytes
.El
.Pp
The array
.Dv syncmask
holds a bit mask and pattern to detect the first byte of the
data packet.
.Dv syncmask[0]
is the bit mask to be ANDed with a byte. If the result is equal to
.Dv syncmask[1] ,
the byte is likely to be the first byte of the data packet.
Note that this method of detecting the first byte is not 100% reliable,
thus, should be taken only as an advisory measure.
.Pp
.It Dv MOUSE_SETMODE Ar mousemode_t *mode
The command changes the current operation parameters of the mouse driver
as specified in
.Ar mode .
Only
.Dv level
may be modifiable. Setting values in the other field does not generate
error and has no effect.
.\" .Pp
.\" .It Dv MOUSE_GETVARS Ar mousevar_t *vars
.\" .It Dv MOUSE_SETVARS Ar mousevar_t *vars
.\" These commands are not supported by the
.\" .Nm
.\" driver.
.Pp
.It Dv MOUSE_READDATA Ar mousedata_t *data
.It Dv MOUSE_READSTATE Ar mousedata_t *state
These commands are not supported by the
.Nm
driver.
.Pp
.It Dv MOUSE_GETSTATUS Ar mousestatus_t *status
The command returns the current state of buttons and
movement counts in the structure as defined in
.Xr mouse 4 .
.El
.Ss Console and Consolectl Ioctls
The user process issues console
.Fn ioctl
calls to the current virtual console in order to control
the mouse pointer.
The console
.Fn ioctl
also provides a method for the user process to receive a
.Xr signal 3
when a button is pressed.
.Pp
The mouse daemon
.Xr moused 8
uses
.Fn ioctl
calls to the console control device
.Pa /dev/consolectl
to inform the console of mouse actions including mouse movement
and button status.
.Pp
Both classes
.Fn ioctl
commands are defined as
.Dv CONS_MOUSECTL
which takes the following argument.
.Bd -literal
struct mouse_info {
int operation;
union {
struct mouse_data data;
struct mouse_mode mode;
struct mouse_event event;
} u;
};
.Ed
.Pp
.Bl -tag -width operation -compact
.It Dv operation
This can be one of
.Pp
.Bl -tag -width MOUSE_MOVEABS -compact
.It Dv MOUSE_SHOW
Enables and displays mouse cursor.
.It Dv MOUSE_HIDE
Disables and hides mouse cursor.
.It Dv MOUSE_MOVEABS
Moves mouse cursor to position supplied in
.Dv u.data .
.It Dv MOUSE_MOVEREL
Adds position supplied in
.Dv u.data
to current position.
.It Dv MOUSE_GETINFO
Returns current mouse position in the current virtual console
and button status in
.Dv u.data .
.It Dv MOUSE_MODE
This sets the
.Xr signal 3
to be delivered to the current process when a button is pressed.
The signal to be delivered is set in
.Dv u.mode .
.El
.Pp
The above operations are for virtual consoles. The operations defined
below are for the console control device and used by
.Xr moused 8
to pass mouse data to the console driver.
.Pp
.Bl -tag -width MOUSE_MOVEABS -compact
.It Dv MOUSE_ACTION
.It Dv MOUSE_MOTIONEVENT
These operations take the information in
.Dv u.data
and act upon it. Mouse data will be sent to the
.Nm
driver if it is open.
.Dv MOUSE_ACTION
also processes button press actions and sends signal to the process if
requested or performs cut and paste operations
if the current console is a text interface.
.It Dv MOUSE_BUTTONEVENT
.Dv u.data
specifies a button and its click count. The console driver will
use this information for signal delivery if requested or
for cut and paste operations if the console is in text mode.
.El
.Pp
.Dv MOUSE_MOTIONEVENT
and
.Dv MOUSE_BUTTONEVENT
are newer interface and are designed to be used together.
They are intended to replace functions performed by
.Dv MOUSE_ACTION
alone.
.Pp
.It Dv u
This union is one of
.Pp
.Bl -tag -width data -compact
.It Dv data
.Bd -literal
struct mouse_data {
int x;
int y;
int z;
int buttons;
};
.Ed
.Pp
.Dv x ,
.Dv y
and
.Dv z
represent movement of the mouse along respective directions.
.Dv buttons
tells the state of buttons. It encodes up to 31 buttons in the bit 0 though
the bit 30. If a button is held down, the corresponding bit is set.
.Pp
.It Dv mode
.Bd -literal
struct mouse_mode {
int mode;
int signal;
};
.Ed
.Pp
The
.Dv signal
field specifies the signal to be delivered to the process. It must be
one of the values defined in
.Ao Pa signal.h Ac .
The
.Dv mode
field is currently unused.
.Pp
.It Dv event
.Bd -literal
struct mouse_event {
int id;
int value;
};
.Ed
.Pp
The
.Dv id
field specifies a button number as in
.Dv u.data.buttons .
Only one bit/button is set.
The
.Dv value
field
holds the click count: the number of times the user has clicked the button
successively.
.Pp
.El
.El
.Sh FILES
.Bl -tag -width /dev/consolectl -compact
.It Pa /dev/consolectl
device to control the console
.It Pa /dev/sysmouse
virtualized mouse driver
.It Pa /dev/ttyv%d
virtual consoles
.El
.Sh SEE ALSO
.Xr vidcontrol 1 ,
.Xr ioctl 2 ,
.Xr signal 3 ,
.Xr mouse 4 ,
.Xr moused 8
.Sh HISTORY
The
.Nm
manual page example first appeared in
.Fx 2.2 .
.Sh AUTHORS
This
manual page was written by
.An John-Mark Gurney Aq gurney_j@efn.org
and
.An Kazutaka Yokota Aq yokota@FreeBSD.org .

View File

@ -1,192 +0,0 @@
.\" Copyright (c) 1997, 1998, 1999
.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul.
.\" 4. Neither the name of the author nor the names of any co-contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd March 4, 1999
.Dt TI 4 i386
.Os FreeBSD
.Sh NAME
.Nm ti
.Nd
Alteon Networks Tigon I and Tigon II gigabit ethernet driver
.Sh SYNOPSIS
.Cd "device ti0"
.Sh DESCRIPTION
The
.Nm
driver provides support for PCI gigabit ethernet adapters based on
the Alteon Networks Tigon gigabit ethernet controller chip. The Tigon
contains an embedded R4000 CPU, gigabit MAC, dual DMA channels and
a PCI interface unit. The Tigon II contains two R4000 CPUs and other
refinements. Either chip can be used in either a 32-bit or 64-bit PCI
slot. Communication with the chip is achieved via PCI shared memory
and bus master DMA. The Tigon I and II support hardware multicast
address filtering, VLAN tag extraction and insertion, and jumbo
ethernet frames sizes up to 9000 bytes. Note that the Tigon I chipset
is no longer in active production: all new adapters should come equipped
with Tigon II chipsets.
.Pp
There are several PCI boards available from both Alteon and other
vendors that use the Tigon chipset under OEM contract. The
.Nm
driver has been tested with the following Tigon-based adapters:
.Bl -bullet -offset indent
.It
The Alteon AceNIC V gigabit ethernet adapter
.It
The 3Com 3c985-SX gigabit ethernet adapter
.It
The Netgear GA620 gigabit ethernet adapter
.El
.Pp
The following should also be supported but have not yet been tested:
.Bl -bullet -offset indent
.It
The Digital EtherWORKS 1000SX PCI Gigabit Adapter
.It
Silicon Graphics PCI gigabit ethernet adapter
.El
.Pp
While the Tigon chipset supports 10, 100 and 1000Mbps speeds, support for
10 and 100Mbps speeds is only available on boards with the proper
transceivers. Most adapters are only designed to work at 1000Mbps,
however the driver should support those NICs that work at lower speeds
as well.
.Pp
Support for jumbo frames is provided via the interface MTU setting.
Selecting an MTU larger than 1500 bytes with the
.Xr ifconfig 8
utility configures the adapter to receive and transmit jumbo frames.
Using jumbo frames can greatly improve performance for certain tasks,
such as file transfers and data streaming.
.Pp
Support for vlans is also available using the
.Xr vlan 4
mechanism. See the
.Xr vlan 4
man page for more details.
.Pp
The
.Nm
driver supports the following media types:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It autoselect
Enable autoselection of the media type and options.
The user can manually override
the autoselected mode by adding media options to the
.Pa /etc/rc.conf
file.
.It 10baseT/UTP
Set 10Mbps operation. The
.Ar mediaopt
option can also be used to select either
.Ar full-duplex
or
.Ar half-duplex modes.
.It 100baseTX
Set 100Mbps (fast ethernet) operation. The
.Ar mediaopt
option can also be used to select either
.Ar full-duplex
or
.Ar half-duplex
modes.
.It 1000baseSX
Set 1000Mbps (gigabit ethernet) operation. Only full
.Ar full-duplex
mode is supported at this speed.
.El
.Pp
The
.Nm
driver supports the following media options:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It full-duplex
Force full duplex operation
.It half-duplex
Force half duplex operation.
.El
.Pp
For more information on configuring this device, see
.Xr ifconfig 8 .
.Sh DIAGNOSTICS
.Bl -diag
.It "ti%d: couldn't map memory"
A fatal initialization error has occurred.
.It "ti%d: couldn't map interrupt"
A fatal initialization error has occurred.
.It "ti%d: no memory for softc struct!"
The driver failed to allocate memory for per-device instance information
during initialization.
.It "ti%d: failed to enable memory mapping!"
The driver failed to initialize PCI shared memory mapping. This might
happen if the card is not in a bus-master slot.
.It "ti%d: no memory for jumbo buffers!"
The driver failed to allocate memory for jumbo frames during
initialization.
.It "ti%d: bios thinks we're in a 64 bit slot, but we aren't"
The BIOS has programmed the NIC as though it had been installed in
a 64-bit PCI slot, but in fact the NIC is in a 32-bit slot. This happens
as a result of a bug in some BIOSes. This can be worked around on the
Tigon II, but on the Tigon I initialization will fail.
.It "ti%d: board self-diagnostics failed!"
The ROMFAIL bit in the CPU state register was set after system
startup, indicating that the on-board NIC diagnostics failed.
.It "ti%d: unknown hwrev"
The driver detected a board with an unsupported hardware revision. The
.Nm
driver supports revision 4 (Tigon 1) and revision 6 (Tigon 2) chips
and has firmware only for those devices.
.It "ti%d: watchdog timeout"
The device has stopped responding to the network, or there is a problem with
the network connection (cable).
.El
.Sh SEE ALSO
.Xr arp 4 ,
.Xr netintro 4 ,
.Xr vlan 4 ,
.Xr ifconfig 8 ,
.Rs
.%T Alteon Gigabit Ethernet/PCI NIC manuals
.%O http://www.alteon.com/support/openkits
.Re
.Sh HISTORY
The
.Nm
device driver first appeared in
.Fx 3.0 .
.Sh AUTHORS
The
.Nm
driver was written by
.An Bill Paul Aq wpaul@ctr.columbia.edu .

View File

@ -1,127 +0,0 @@
.\" Copyright (c) 1997, 1998
.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul.
.\" 4. Neither the name of the author nor the names of any co-contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd May 1, 1998
.Dt TL 4 i386
.Os FreeBSD
.Sh NAME
.Nm tl
.Nd
Texas Instruments ThunderLAN ethernet device driver
.Sh SYNOPSIS
.Cd "device tl0"
.Sh DESCRIPTION
The
.Nm
driver provides support for PCI ethernet adapters based on the Texas
Instruments ThunderLAN ethernet controller chip. This includes a large
number of Compaq PCI-bus ethernet adapters as well as the integrated
ethernet controllers built in to several models of Compaq Prosignia
servers and Compaq Deskpro desktop machines. This driver also supports
the Olicom OC-2135/2138, OC-2325 and OC-2326 10/100 TX UTP adapters
and the Racore 8165 10/100baseTX and 8148 10baseT/100baseTX/100baseFX
multi-personality cards.
.Pp
The ThunderLAN controller has a standard MII interface that supports
up to 32 physical interface devices (PHYs). It also has a built-in
10baseT PHY hardwired at MII address 31, which may be used in some
10Mbps-only hardware configurations. In 100Mbps configurations, a
National Semiconductor DP83840A or other MII-compliant PHY may be
attached to the ThunderLAN's MII bus. If a DP83840A or equivalent
is available, the ThunderLAN chip can operate at either 100Mbps or
10Mbps in either half-duplex or full-duplex modes. The ThunderLAN's
built-in PHY and the DP83840A also support autonegotiation.
.Pp
The
.Nm
driver supports the following media types:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It autoselect
Enable autoselection of the media type and options. Note that this
option is only available on those PHYs that support autonegotiation.
Also, the PHY will not advertise those modes that have been explcitly
disabled using the following media options.
.It 10baseT/UTP
Set 10Mbps operation
.It 100baseTX
Set 100Mbps (fast ethernet) operation
.It 10base5/AUI
Enable AUI/BNC interface (useful only with the built-in PHY).
.El
.Pp
The
.Nm
driver supports the following media options:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It full-duplex
Force full duplex operation
.It half-duplex
Force half duplex operation.
.It hw-loopback
Enable hardware loopback mode.
.El
.Pp
Note that the 100baseTX media type is only available if supported
by the PHY.
For more information on configuring this device, see
.Xr ifconfig 8 .
.Sh DIAGNOSTICS
.Bl -diag
.It "tl%d: couldn't map memory"
A fatal initialization error has occurred.
.It "tl%d: couldn't map interrupt"
A fatal initialization error has occurred.
.It "tl%d: device timeout"
The device has stopped responding to the network, or there is a problem with
the network connection (cable).
.It "tl%d: no memory for rx list"
The driver failed to allocate an mbuf for the receiver ring.
.It "tl%d: no memory for tx list"
The driver failed to allocate an mbuf for the transmitter ring when
allocating a pad buffer or collapsing an mbuf chain into a cluster.
.El
.Sh SEE ALSO
.Xr arp 4 ,
.Xr netintro 4 ,
.Xr ifconfig 8
.Sh HISTORY
The
.Nm
device driver first appeared in
.Fx 2.2 .
.Sh AUTHORS
The
.Nm
driver was written by
.An Bill Paul Aq wpaul@ctr.columbia.edu .

View File

@ -1,70 +0,0 @@
.\" Copyright (c) 1999
.\" Nick Hibma <hibma@skylink.it>. All rights reserved.
.\"
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul.
.\" 4. Neither the name of the author nor the names of any co-contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY NICK HIBMA AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL NICK HIBMA OR THE VOICES IN HIS HEAD
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\" $FreeBSD$
.\"
.Dd February 21, 1999
.Dt UHCI 4 i386
.Os FreeBSD
.Sh NAME
.Nm uhci
.Nd
UHCI USB Host Controller Driver
.Sh SYNOPSIS
.Cd "controller uhci0"
.Sh DESCRIPTION
The
.Nm
driver provides support for UHCI-type PCI based USB controllers. This
includes
.Bl -tag -width xxxxx
.It Intel 82371AB/EB (PIIX4)
.It Intel 82371SB (PIIX3)
.It VIA 83C572
.El
or any other UHCI v1.1 compliant controller.
.Sh SEE ALSO
.Xr ohci 4
.Sh HISTORY
The
.Nm
device driver first appeared in
.Fx 3.0 .
.Sh AUTHORS
The
.Nm
driver was written by
.An Lennart Augustsson Aq augustss@carlstedt.se
for the
.Nx
project.

View File

@ -1,168 +0,0 @@
.\" Copyright (c) 1997, 1998
.\" Nick Hibma <hibma@skylink.it>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul.
.\" 4. Neither the name of the author nor the names of any co-contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY NICK HIBMA AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL NICK HIBMA OR THE VOICES IN HIS HEAD
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\" $FreeBSD$
.\"
.Dd April 11, 1999
.Dt UKBD 4 i386
.Os FreeBSD
.Sh NAME
.Nm ukbd
.Nd USB keyboard driver
.Sh SYNOPSIS
.Cd "device ukbd0"
.Sh DESCRIPTION
The
.Nm
driver provides support for keyboards that attach to the USB port.
.Nm usb
and one of
.Nm uhci
or
.Nm ohci
must be configured in the kernel as well.
.Sh CONFIGURATION
By default the keyboard subsystem does not create the appropriate devices yet.
Make sure you configure compile the kernel with the following option in the
kernel config file:
.Bd -literal -offset indent
options "KBD_INSTALL_CDEV"
.Ed
.Pp
Go to /dev and make device nodes kbd*:
.Bd -literal -offset indent
sh MAKEDEV kbd0 kbd1
.Ed
.Pp
If both an AT keyboard as well as USB keyboards are used at the same time, the
AT keyboard will appear as kbd0 in /dev. The USB keyboards will be kbd1, kbd2,
etc. You can see some information about the keyboard with the following command:
.Bd -literal -offset indent
kbdcontrol -i < /dev/kbd1
.Ed
.Pp
or load a keymap with
.Bd -literal -offset indent
kbdcontrol -l keymaps/pt.iso < /dev/kbd1
.Ed
.Pp
See
.Nm kbcontrol
for more possible options.
.Pp
You can swap console keyboards by using the command
.Bd -literal -offset indent
kbdcontrol -k /dev/kbd1
.Ed
.Pp
From this point on onwards the first USB keyboard will be the keyboard
to be used as the console.
.Pp
If you want to use a USB keyboard as your default and not use an AT keyboard at
all, you will have to remove the
.Nm atkbd0
from the kernel configuration file. Because of the order of the device
initialisation, the USB keyboard will be detected AFTER the console driver
initialises itself and you have to explicitly tellthe console
driver to use the existence of the USB keyboard. This can be done in
one of the following two ways.
.Pp
Run the following command as a part of system initialization:
.Bd -literal -offset indent
kbdcontrol -k /dev/kbd0 < /dev/ttyv0 > /dev/null
.Ed
.Pp
(Note that as the USB keyboard is the only keyboard, it is accessed as
/dev/kbd0) or otherwise tell the console driver to periodically look for a
keyboard by setting a flag in the kernel configuration file:
.Bd -literal -offset indent
device sc0 at isa? flags 0x100
.Ed
.Pp
With the above flag, the console driver will try to detect any
keyboard in the system if it didn't detect one while it was
initialized at boot time.
.Sh DRIVER CONFIGURATION
.Bd -literal -offset indent
options "KBD_INSTALL_CDEV"
.Ed
.Pp
Make the keyboards available through a character device in /dev
.Bd -literal -offset indent
options "UKBD_DFLT_KEYMAP"
makeoptions "UKBD_DFLT_KEYMAP=fr.iso"
.Ed
.Pp
The above lines will put the French ISO keymap in the ukbd driver.
You can specify any keymap in /usr/share/syscons/keymaps with this
option.
.Bd -literal -offset indent
options "KBD_DISABLE_KEYMAP_LOADING"
.Ed
.Pp
Don't allow the user to change the keymap. Note that this options
also has effect on the AT keyboard driver `atkbd'.
.Sh FILES
.Bl -tag -width /dev/kbd0 -compact
.It Pa /dev/kbd*
blocking device nodes
.Sh EXAMPLE
.Bd -literal -offset indent
device ukbd0
.Ed
.Pp
Add the
.Nm ukbd
driver to the kernel.
.Sh SEE ALSO
.Xr kbdcontrol 1 ,
.Xr ohci 4 ,
.Xr syscons 4 ,
.Xr uhci 4 ,
.Xr usb 4 ,
.Xr config 8
.\".Sh HISTORY
.Sh AUTHORS
The
.Nm ukbd
driver was written by
.An Lennart Augustsson Aq augustss@cs.chalmers.se
for
.Nx
and was substantially rewritten for
.Fx
by
.An Kazutaka YOKOTA Aq yokota@zodiac.mech.utsunomiya-u.ac.jp .
.Pp
This manual page was written by
.An Nick Hibma Aq hibma@skylink.it
with a large amount of input from
.An Kazutaka YOKOTA Aq yokota@zodiac.mech.utsunomiya-u.ac.jp .

View File

@ -1,104 +0,0 @@
.\" Copyright (c) 1999
.\" Nick Hibma <hibma@skylink.it>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul.
.\" 4. Neither the name of the author nor the names of any co-contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY NICK HIBMA AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL NICK HIBMA OR THE VOICES IN HIS HEAD
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\" $FreeBSD$
.\"
.Dd May 3, 1999
.Dt UMASS 4 i386
.Os FreeBSD
.Sh NAME
.Nm umass
.Nd USB Mass Storage Devices Driver
.Sh SYNOPSIS
.Cd "controller umass0"
.Sh DESCRIPTION
The
.Nm
driver provides support for Mass Storage devices that attach to the USB
port. Supported are
.Bl -tag -compact -width xxxxxx
.It Iomega Zip 100 drive
.El
.Nm usb
and one of
.Nm uhci
or
.Nm ohci
must be configured in the kernel as well. Last but not least, support for
SCSI drives,
.Nm da
.Sh EXAMPLE
.Dl controller umass0
.Dl controller scbus0
.Dl device da0
.Dl device pass0
.Pp
Add the
.Nm umass
driver to the kernel.
.Pp
.Dl camcontrol rescan 0
.Pp
Rescan a Zip drive that was added after boot. The command above
assumes that the Zip drive is the first SCSI bus in the system.
.Pp
.Dl disklabel -w -r da0 zip100
.Dl newfs da0c
.Dl mount -t ufs /dev/da0c /mnt
.Pp
Write a disklabel to the Zip drive (see
.Nm vpo
for the
.Nm disktab
entry), creates the filesystem and mounts the new filesystem on /mnt.
.Pp
.Dl newfs_msdos /dev/da0
.Pp
Create a new FAT type filesystem.
.Sh SEE ALSO
.Xr ohci 4 ,
.Xr uhci 4 ,
.Xr usb 4 ,
.Xr vpo 4 ,
.Xr disktab 5 ,
.Xr camcontrol 8 ,
.Xr disklabel 8
.\".Sh HISTORY
.Sh AUTHORS
The
.Nm umass
driver was written by
.An MAEKAWA Masahide Aq bishop@rr.iij4u.or.jp
and
.An Nick Hibma Aq hibma@skylink.it .
.Pp
This manual page was written by
.An Nick Hibma Aq hibma@skylink.it .

View File

@ -1,123 +0,0 @@
.\" Copyright (c) 1999
.\" Nick Hibma <hibma@skylink.it>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul.
.\" 4. Neither the name of the author nor the names of any co-contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY NICK HIBMA AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL NICK HIBMA OR THE VOICES IN HIS HEAD
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\" $FreeBSD$
.\"
.Dd April 11, 1999
.Dt UMS 4 i386
.Os FreeBSD
.Sh NAME
.Nm ums
.Nd USB mouse driver
.Sh SYNOPSIS
.Cd "device ums0"
.Sh DESCRIPTION
The
.Nm
driver provides support for mice that attach to the USB port. Supported are
mice with any number of buttons and mice with a wheel.
.Nm usb
and one of
.Nm uhci
or
.Nm ohci
must be configured in the kernel as well.
.Pp
The /dev/ums device presents the mouse as a
.Ar sysmouse
or
.Ar mousesystems
type device. See
.Nm moused
for an explanation of these mouse types.
.Sh FILES
.Bl -tag -width /dev/ums0 -compact
.It Pa /dev/ums0
blocking device node
.Sh EXAMPLE
.Dl device ums0
.Pp
Add the
.Nm ums
driver to the kernel.
.Pp
.Dl moused -p /dev/ums0 -t auto
.Pp
Use the first
.Nm USB
mouse on the system as your console mouse.
.Pp
Change the "Pointer" section in
.Nm XF86Config
to the following
.Pp
.Dl Device "/dev/ums0"
.Dl Protocol "Auto"
.Pp
to be able to use the USB mouse under X. When using the XiG accelerated X
server, change the mouse device to /dev/ums0 and the mouse type to
"MouseSystems".
.Pp
If you want to be able to use the mouse in both virtual consoles as well
as in X change it to:
.Pp
.Dl Device "/dev/sysmouse"
.Dl Protocol "Auto"
.Pp
For XFree86 3.3.1 the entry should be:
.Pp
.Dl Device "/dev/sysmouse"
.Dl Protocol "MouseSystems"
.Pp
.Sh SEE ALSO
.Xr ohci 4 ,
.Xr sysmouse 4 ,
.Xr uhci 4 ,
.Xr usb 4 ,
.Xr XF86Config 5 ,
.Xr moused 8
.\".Sh HISTORY
.Sh AUTHORS
The
.Nm ums
driver was written by
.An Lennart Augustsson Aq augustss@cs.chalmers.se
for
.Nx
and was adopted for
.Fx
by
.An MAEKAWA Masahide Aq bishop@rr.iij4u.or.jp .
.Pp
This manual page was written by
.An Nick Hibma Aq hibma@skylink.it
with input from
.An Kazutaka YOKOTA Aq yokota@zodiac.mech.utsunomiya-u.ac.jp .

View File

@ -1,298 +0,0 @@
.\" Copyright (c) 1997, 1998
.\" Nick Hibma <hibma@skylink.it>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul.
.\" 4. Neither the name of the author nor the names of any co-contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY NICK HIBMA AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL NICK HIBMA OR THE VOICES IN HIS HEAD
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd February 21, 1999
.Dt USB 4 i386
.Os FreeBSD
.Sh NAME
.Nm usb
.Nd Universal Serial Bus
.Sh SYNOPSIS
.Cd "controller usb0"
.Sh DESCRIPTION
.Fx
provides machine-independent bus support and drivers for
.Tn USB
devices.
.Pp
The
.Nm
driver has three layers: the controller, the bus, and the
device layer. The controller attaches to a physical bus
(like
.Xr pci 4 ).
The
.Tn USB
bus attaches to the controller and the root hub attaches
to the controller.
Any devices attached to the bus will attach to the root hub
or another hub attached to the USB bus.
.Pp
The
.Nm uhub
device will always be present as it is needed for the
root hub.
.Pp
.Sh INTRODUCTION TO USB
The
.Tn USB
is a 12 Mb/s serial bus (1.5 Mb/s for low speed devices).
Each
.Tn USB
has a host controller that is the master of the bus;
all other devices on the bus only speak when spoken to.
.Pp
There can be up to 127 devices (apart from the host controller)
on a bus, each with its own address.
The addresses are assigned
dynamically by the host when each device is attached to the bus.
.Pp
Within each device there can be up to 16 endpoints.
Each endpoint
is individually addressed and the addresses are static.
Each of these endpoints will communicate in one of four different modes:
control, isochronous, bulk, or interrupt.
A device always has at least one endpoint.
This endpoint has address 0 and is a control
endpoint and is used to give commands to and extract basic data,
such as descriptors, from the device.
Each endpoint, except the control endpoint, is unidirectional.
.Pp
The endpoints in a device are grouped into interfaces.
An interface is a logical unit within a device; e.g.
a compound device with both a keyboard and a trackball would present
one interface for each.
An interface can sometimes be set into different modes,
called alternate settings, which affects how it operates.
Different alternate settings can have different endpoints
within it.
.Pp
A device may operate in different configurations.
Depending on the
configuration the device may present different sets of endpoints
and interfaces.
.Pp
Each device located on a hub has several
.Xr config 8
locators:
.Bl -tag -compact -width xxxxxx
.It Cd port
this is the number of the port on the closest upstream hub.
.It Cd configuration
this is the configuration the device must be in for this driver to attach.
This locator does not set the configuration; it is iterated by the bus
enumeration.
.It Cd interface
this is the interface number within a device that an interface driver
attaches to.
.El
.Pp
The bus enumeration of the
.Tn USB
bus proceeds in several steps:
.Bl -enum
.It
Any device specific driver can to attach to the device.
.It
If none is found, any device class specific driver can attach.
.It
If none is found, all configurations are iterated over.
For each configuration all the interface are iterated over and interface
drivers can attach.
If any interface driver attached in a certain
configuration the iteration over configurations is stopped.
.It
If still no drivers have been found, the generic
.Tn USB
driver can attach.
.El
.Sh USB CONTROLLER INTERFACE
Use the following to get access to the
.Tn USB
specific structurs and defines.
.Bd -literal
#include <sys/dev/usb.h>
.Ed
.Pp
The
.Pa /dev/usbN
can be opened and a few operations can be performed on it.
The
.Xr poll 2
system call will say that I/O is possible on the controller device when a
.Tn USB
device has been connected or disconnected to the bus.
.Pp
The following
.Xr ioctl 2
commands are supported on the controller device:
.Bl -tag -width xxxxxx
.It Dv USB_DISCOVER
This command will cause a complete bus discovery to be initiated.
If any devices attached or detached from the bus they will be
processed during this command.
This is the only way that new devices are found on the bus.
.It Dv USB_DEVICEINFO Fa "struct usb_device_info"
This command can be used to retrieve some information about a device
on the bus.
The
.Va addr
field should be filled before the call and the other fields will
be filled by information about the device on that address.
Should no such device exist an error is reported.
.Bd -literal
struct usb_device_info {
uByte addr; /* device address */
char product[USB_MAX_STRING_LEN];
char vendor[USB_MAX_STRING_LEN];
char revision[8];
uByte class;
uByte config;
uByte lowspeed;
int power;
int nports;
uByte ports[16];
#define USB_PORT_ENABLED 0xff
#define USB_PORT_SUSPENDED 0xfe
#define USB_PORT_POWERED 0xfd
#define USB_PORT_DISABLED 0xfc
};
.Ed
.Pp
The
.Va product ,
.Va vendor ,
and
.Va revision
fields contain self-explanatory descriptions of the device.
.Pp
The
.Va class
field contains the device class.
.Pp
The
.Va config
field shows the current configuration of the device.
.Pp
The
.Va lowspeed
field
is set if the device is a
.Tn USB
low speed device.
.Pp
The
.Va power
field shows the power consumption in milli-amps drawn at 5 volts,
or zero if the device is self powered.
.Pp
If the device is a hub the
.Va nports
field is non-zero and the
.Va ports
field contains the addresses of the connected devices.
If no device is connected to a port one of the
.Va USB_PORT_*
values indicates its status.
.It Dv USB_DEVICESTATS Fa "struct usb_device_stats"
This command retrieves statistics about the controller.
.Bd -literal
struct usb_device_stats {
u_long requests[4];
};
.Ed
.Pp
The
.Va requests
field is indexed by the transfer kind, i.e.
.Va UE_* ,
and indicates how many transfers of each kind that has been completed
by the controller.
.It Dv USB_REQUEST Fa "struct usb_ctl_request"
This command can be used to execute arbitrary requests on the control pipe.
This is
.Em DANGEROUS
and should be used with great care since it
can destroy the bus integrity.
.El
.Pp
The include file
.Aq Pa dev/usb/usb.h
contains definitions for the types used by the various
.Xr ioctl 2
calls.
The naming convention of the fields for the various
.Tn USB
descriptors exactly follows the naming in the
.Tn USB
specification.
Byte sized fields can be accessed directly, but word (16 bit)
sized fields must be access by the
.Fn UGETW field
and
.Fn USETW field value
macros to handle byte order and alignment properly.
.Pp
The include file
.Aq Pa dev/usb/usbhid.h
similarly contains the definitions for
Human Interface Devices
.Pq Tn HID .
.Sh SEE ALSO
The
.Tn USB
specifications can be found at
.Dv http://www.usb.org/developers/docs.htm .
.Pp
.Xr pci 4 ,
.Xr ohci 4 ,
.Xr ugen 4 ,
.Xr uhci 4 ,
.Xr uhid 4 ,
.Xr ukbd 4 ,
.Xr ulpt 4 ,
.Xr ums 4 ,
.Xr usbd 8 ,
.Xr usbdevs 8
.Sh HISTORY
The
.Nm
driver first appeared in
.Fx 3.0 .
.Sh AUTHORS
The
.Nm
driver was written by
.An Lennart Augustsson Aq augustss@carlstedt.se
for the
.Nx
project.

View File

@ -1,170 +0,0 @@
.\"
.\" Copyright (c) 1999
.\" Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer as
.\" the first lines of this file unmodified.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd June 30, 1999
.Dt VGA 4 i386
.Os FreeBSD
.Sh NAME
.Nm vga
.Nd
generic video card interface
.Sh SYNOPSIS
.Cd "options VESA"
.Cd "options VESA_DEBUG=N"
.Cd "options VGA_ALT_SEQACCESS"
.Cd "options VGA_NO_FONT_LOADING"
.Cd "options VGA_NO_MODE_CHANGE"
.Cd "options VGA_SLOW_IOACCESS"
.Cd "options VGA_WIDTH90"
.Cd "device vga0 at isa? port ? conflicts"
.Sh DESCRIPTION
The
.Nm
driver is a generic video card driver which provides access to
video cards. This driver is required for the console driver
.Xr syscons 4 .
The console driver will call the
.Nm
driver to manipulate video hardware (changing video modes, loading font, etc).
.Pp
The keyword
.Em conflicts
is required, as the video card may use I/O ports in the same range
as other drivers.
.Pp
The
.Nm
driver supports the standard video cards: MDA, CGA, EGA and VGA. In
addition, the driver can utilize VESA BIOS extensions if the video card
supports them. VESA support can either be statically included in the kernel
or can be loaded as a separate module.
.Pp
In order to statically link the VESA support to the kernel, the
.Em VESA
option (see below) must be defined in the kernel configuration file.
.Pp
The
.Nm vesa
module can be dynamically loaded into the kernel using
.Xr kldload 8 .
.Sh DRIVER CONFIGURATION
.Ss Kernel Configuration Options
The following kernel configuration options
.Pq see Xr config 8
can be used to control the
.Nm
driver.
These options provide compatibility with certain VGA cards.
.Bl -tag -width MOUSE
.It Em VGA_ALT_SEQACCESS
You may want to try this option if the mouse pointer is not drawn correctly
or the font does not seem to be loaded properly on the VGA card.
However, it may cause flicker on some systems.
.It Em VGA_SLOW_IOACCESS
Older VGA cards may require this option for proper operation.
It makes the driver perform byte-wide I/O to VGA registers and
slow down a little.
.It Em VGA_WIDTH90
This option enables 90 column modes: 90x25, 90x30, 90x43, 90x50, 90x60.
These modes are not always supported by the video card and the display.
It is highly likely that LCD display cannot work with these modes.
.El
.Pp
The following options add optional features to the driver.
.Bl -tag -width MOUSE
.It Em VESA
Add VESA BIOS support to the driver.
If the VGA card has the VESA BIOS extension 1.2 or later,
this option will utilize the VESA BIOS service to switch to high
resolution modes.
.It Em VESA_DEBUG=N
Set the VESA support debug level to
.Fa N .
The default value is zero, which suppresses all debugging output.
.El
.Pp
The following options will remove some features from the
.Nm
driver and save kernel memory.
.Bl -tag -width MOUSE
.It Em VGA_NO_FONT_LOADING
The
.Nm
driver can load software font to EGA and VGA cards.
This option removes this feature.
.It Em VGA_NO_MODE_CHANGE
This option prevents the driver from changing video modes.
.El
.\".Sh FILES
.Sh EXAMPLE
Your kernel configuration should normally have:
.Pp
.Dl "device vga0 at isa? port ? conflicts"
.Pp
The following lines should be included in the kernel configuration file
in order to enable the VESA BIOS Extension support.
.Pp
.Dl "options VESA"
.Dl "device vga0 at isa? port ? conflicts"
.Pp
If you do not want VESA support included in the kernel, but
want to use occasionally, do not add the
.Em VESA
option. And load the
.Nm vesa
module as desired:
.Pp
.Dl kldload vesa
.Pp
.\".Sh DIAGNOSTICS
.\".Sh CAVEATS
.\".Sh BUGS
.Sh SEE ALSO
.Xr syscons 4 ,
.Xr config 8 ,
.Xr kldload 8 ,
.Xr kldunload 8 .
.Sh STANDARD
.Rs
.%T "VESA BIOS Extension (VBE)"
.%A Video Electronics Standards Association
.Re
.Sh HISTORY
The
.Nm
driver first appeared in
.Fx 3.1 .
.Sh AUTHORS
The
.Nm
driver was written by
.An Søren Schmidt Aq sos@FreeBSD.org
and
.An Kazutaka Yokota Aq yokota@FreeBSD.org .
This manual page was written by
.An Kazutaka Yokota .

View File

@ -1,165 +0,0 @@
.\" Copyright (c) 1997, 1998
.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul.
.\" 4. Neither the name of the author nor the names of any co-contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd November 22, 1998
.Dt VR 4 i386
.Os FreeBSD
.Sh NAME
.Nm vr
.Nd
VIA Technologies VT3043 and VT86C100A ethernet device driver
.Sh SYNOPSIS
.Cd "device vr0"
.Sh DESCRIPTION
The
.Nm
driver provides support for PCI ethernet adapters and embedded
controllers based on the VIA Technologies VT3043 Rhine I and
VT86C100A Rhine II fast ethernet controller chips. This includes
the D-Link DFE530-TX, the Hawking Technologies PN102TX, the
AOpen/Acer ALN-320, and various other commodity fast ethernet
cards.
.Pp
The VIA Rhine chips use bus master DMA and have a descriptor layout
designed to resemble that of the DEC 21x4x "tulip" chips. The register
layout is different however and the receive filter in the Rhine chips
is much simpler and is programmed through registers rather than by
downloading a special setup frame through the transmit DMA engine.
Transmit and receive DMA buffers must be longword
aligned. The Rhine chips are meant to be interfaced with external
physical layer devices via an MII bus. They support both
10 and 100Mbps speeds in either full or half duplex.
.Pp
The
.Nm
driver supports the following media types:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It autoselect
Enable autoselection of the media type and options.
The user can manually override
the autoselected mode by adding media options to the
.Pa /etc/rc.conf
file.
.It 10baseT/UTP
Set 10Mbps operation. The
.Ar mediaopt
option can also be used to select either
.Ar full-duplex
or
.Ar half-duplex modes.
.It 100baseTX
Set 100Mbps (fast ethernet) operation. The
.Ar mediaopt
option can also be used to select either
.Ar full-duplex
or
.Ar half-duplex
modes.
.El
.Pp
The
.Nm
driver supports the following media options:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It full-duplex
Force full duplex operation
.It half-duplex
Force half duplex operation.
.El
.Pp
Note that the 100baseTX media type is only available if supported
by the adapter.
For more information on configuring this device, see
.Xr ifconfig 8 .
.Sh DIAGNOSTICS
.Bl -diag
.It "vr%d: couldn't map memory"
A fatal initialization error has occurred.
.It "vr%d: couldn't map interrupt"
A fatal initialization error has occurred.
.It "vr%d: watchdog timeout"
The device has stopped responding to the network, or there is a problem with
the network connection (cable).
.It "vr%d: no memory for rx list"
The driver failed to allocate an mbuf for the receiver ring.
.It "vr%d: no memory for tx list"
The driver failed to allocate an mbuf for the transmitter ring when
allocating a pad buffer or collapsing an mbuf chain into a cluster.
.It "vr%d: chip is in D3 power state -- setting to D0"
This message applies only to adapters which support power
management. Some operating systems place the controller in low power
mode when shutting down, and some PCI BIOSes fail to bring the chip
out of this state before configuring it. The controller loses all of
its PCI configuration in the D3 state, so if the BIOS does not set
it back to full power mode in time, it won't be able to configure it
correctly. The driver tries to detect this condition and bring
the adapter back to the D0 (full power) state, but this may not be
enough to return the driver to a fully operational condition. If
you see this message at boot time and the driver fails to attach
the device as a network interface, you will have to perform second
warm boot to have the device properly configured.
.Pp
Note that this condition only occurs when warm booting from another
operating system. If you power down your system prior to booting
.Fx ,
the card should be configured correctly.
.El
.Sh SEE ALSO
.Xr arp 4 ,
.Xr netintro 4 ,
.Xr ifconfig 8
.Rs
.%T The VIA Technologies VT86C100A data sheet
.%O http://www.via.com.tw
.Re
.Sh HISTORY
The
.Nm
device driver first appeared in
.Fx 3.0 .
.Sh AUTHORS
The
.Nm
driver was written by
.An Bill Paul Aq wpaul@ctr.columbia.edu .
.Sh BUGS
The
.Nm
driver always copies transmit mbuf chains into longword-aligned
buffers prior to transmission in order to pacify the Rhine chips.
If buffers are not aligned correctly, the chip will round the
supplied buffer address and begin DMAing from the wrong location.
This buffer copying impairs transmit performance on slower systems but can't
be avoided. On faster machines (e.g. a Pentium II), the performance
impact is much less noticable.

View File

@ -1,159 +0,0 @@
.\" Copyright (c) 1997, 1998
.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul.
.\" 4. Neither the name of the author nor the names of any co-contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd November 4, 1998
.Dt WB 4 i386
.Os FreeBSD
.Sh NAME
.Nm wb
.Nd
Winbond W89C840F fast ethernet device driver
.Sh SYNOPSIS
.Cd "device wb0"
.Sh DESCRIPTION
The
.Nm
driver provides support for PCI ethernet adapters and embedded
controllers based on the Winbond W89C840F fast ethernet controller
chip. This includes the Trendware TE100-PCIE and various other cheap
boards. The 840F should not be confused with the 940F, which is
an NE2000 clone and only supports 10Mbps speeds.
.Pp
The Winbond controller uses bus master DMA and is designed to be
a DEC 'tulip' workalike. It differs from the standard DEC design
in several ways: the control and status registers are spaced 4
bytes apart instead of 8, and the receive filter is programmed through
registers rather than by downloading a special setup frame via
the transmit DMA engine. Using an external PHY, the Winbond chip
supports both 10 and 100Mbps speeds in either full or half duplex.
.Pp
The
.Nm
driver supports the following media types:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It autoselect
Enable autoselection of the media type and options. This is only
supported if the PHY chip attached to the Winbond controller
supports NWAY autonegotiation. The user can manually override
the autoselected mode by adding media options to the
.Pa /etc/rc.conf
file.
.It 10baseT/UTP
Set 10Mbps operation. The
.Ar mediaopt
option can also be used to select either
.Ar full-duplex
or
.Ar half-duplex modes.
.It 100baseTX
Set 100Mbps (fast ethernet) operation. The
.Ar mediaopt
option can also be used to select either
.Ar full-duplex
or
.Ar half-duplex
modes.
.El
.Pp
The
.Nm
driver supports the following media options:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It full-duplex
Force full duplex operation
.It half-duplex
Force half duplex operation.
.El
.Pp
Note that the 100baseTX media type is only available if supported
by the adapter.
For more information on configuring this device, see
.Xr ifconfig 8 .
.Sh DIAGNOSTICS
.Bl -diag
.It "wb%d: couldn't map memory"
A fatal initialization error has occurred.
.It "wb%d: couldn't map interrupt"
A fatal initialization error has occurred.
.It "wb%d: watchdog timeout"
The device has stopped responding to the network, or there is a problem with
the network connection (cable).
.It "wb%d: no memory for rx list"
The driver failed to allocate an mbuf for the receiver ring.
.It "wb%d: no memory for tx list"
The driver failed to allocate an mbuf for the transmitter ring when
allocating a pad buffer or collapsing an mbuf chain into a cluster.
.It "wb%d: chip is in D3 power state -- setting to D0"
This message applies only to adapters which support power
management. Some operating systems place the controller in low power
mode when shutting down, and some PCI BIOSes fail to bring the chip
out of this state before configuring it. The controller loses all of
its PCI configuration in the D3 state, so if the BIOS does not set
it back to full power mode in time, it won't be able to configure it
correctly. The driver tries to detect this condition and bring
the adapter back to the D0 (full power) state, but this may not be
enough to return the driver to a fully operational condition. If
you see this message at boot time and the driver fails to attach
the device as a network interface, you will have to perform second
warm boot to have the device properly configured.
.Pp
Note that this condition only occurs when warm booting from another
operating system. If you power down your system prior to booting
.Fx ,
the card should be configured correctly.
.El
.Sh SEE ALSO
.Xr arp 4 ,
.Xr netintro 4 ,
.Xr ifconfig 8
.Sh HISTORY
The
.Nm
device driver first appeared in
.Fx 3.0 .
.Sh AUTHORS
The
.Nm
driver was written by
.An Bill Paul Aq wpaul@ctr.columbia.edu .
.Sh BUGS
The Winbond chip seems to behave strangely in some cases when the
link partner switches modes. If for example both sides are set to
10Mbps half-duplex, and the other end is changed to 100Mbps
full-duplex, the Winbond's receiver suddenly starts writing trash
all over the RX descriptors. The
.Nm
driver handles this by forcing a reset of both the controller
chip and attached PHY. This is drastic, but it appears to be the
only way to recover properly from this condition.

View File

@ -1,177 +0,0 @@
.\" Copyright (c) 1997, 1998
.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Bill Paul.
.\" 4. Neither the name of the author nor the names of any co-contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd August 16, 1998
.Dt XL 4 i386
.Os FreeBSD
.Sh NAME
.Nm xl
.Nd
3Com Etherlink XL and Fast Etherlink XL ethernet device driver
.Sh SYNOPSIS
.Cd "device xl0"
.Sh DESCRIPTION
The
.Nm
driver provides support for PCI ethernet adapters and embedded
controllers based on the 3Com "boomerang" and "cyclone" bus-master
Etherlink XL chips. This includes the 3c900-TP, 3c900-COMBO, 3c905-TX,
3c905-T4, 3c905B-TP, 3c905B-T4 and 3c905B-TX, and embedded 3c905-TX
and 3c905B-TX ethernet hardware in certain Dell Optiplex and Dell
Precision desktop machines, and certain Dell Latitude laptop docking
stations.
.Pp
The Etherlink XL chips support built-in 10baseT, 10base2 and 10base5
transceivers as well as an MII bus for externally attached PHY
transceivers. The 3c905 series typically uses a National Semiconductor
NS 83840A 10/100 PHY for 10/100 Mbps support in full or half-duplex.
The 3c905B adapters have built-in autonegotiation logic mapped onto
the MII for compatibility with previous drivers. Fast Etherlink XL
adapters such as the 3c905-TX and 3c905B-TX are capable of 10 or
100Mbps data rates in either full or half duplex and can be manually
configured for any supported mode or automatically negotiate the highest
possible mode with a link partner.
.Pp
The
.Nm
driver supports the following media types:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It autoselect
Enable autoselection of the media type and options. Note that this
option is only available with the 3c905 and 3c905B adapters with
external PHYs or built-in autonegotiation logic. For 3c900 adapters,
the driver will choose the mode specified in the EEPROM. The user can
change this by adding media options to the
.Pa /etc/rc.conf
file.
.It 10baseT/UTP
Set 10Mbps operation. The
.Ar mediaopt
option can also be used to select either
.Ar full-duplex
or
.Ar half-duplex modes.
.It 100baseTX
Set 100Mbps (fast ethernet) operation. The
.Ar mediaopt
option can abso be used to select either
.Ar full-duplex
or
.Ar half-duplex modes.
.It 10base5/AUI
Enable AUI transceiver (available only on COMBO cards).
.It 10base2/BNC
Enable BNC coax transceiver (available only on COMBO cards).
.El
.Pp
The
.Nm
driver supports the following media options:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It full-duplex
Force full duplex operation
.It half-duplex
Force half duplex operation.
.El
.Pp
Note that the 100baseTX media type is only available if supported
by the adapter.
For more information on configuring this device, see
.Xr ifconfig 8 .
.Sh DIAGNOSTICS
.Bl -diag
.It "xl%d: couldn't map memory"
A fatal initialization error has occurred.
.It "xl%d: couldn't map interrupt"
A fatal initialization error has occurred.
.It "xl%d: device timeout"
The device has stopped responding to the network, or there is a problem with
the network connection (cable).
.It "xl%d: no memory for rx list"
The driver failed to allocate an mbuf for the receiver ring.
.It "xl%d: no memory for tx list"
The driver failed to allocate an mbuf for the transmitter ring when
allocating a pad buffer or collapsing an mbuf chain into a cluster.
.It "xl%d: command never completed!"
Some commands issued to the 3c90x ASIC take time to complete: the
driver is supposed to wait until the 'command in progress' bit in
the status register clears before continuing. In rare instances, this
bit may not clear. To avoid getting caught in an infinite wait loop,
the driver only polls the bit for a finite number of times before
giving up, at which point it issues this message. This message may
be printed during driver initialization on slower machines. If you
see this message but the driver continues to function normally, the
message can probably be ignored.
.It "xl%d: chip is in D3 power state -- setting to D0"
This message applies only to 3c905B adapters, which support power
management. Some operating systems place the 3c905B in low power
mode when shutting down, and some PCI BIOSes fail to bring the chip
out of this state before configuring it. The 3c905B loses all of
its PCI configuration in the D3 state, so if the BIOS does not set
it back to full power mode in time, it won't be able to configure it
correctly. The driver tries to detect this condition and bring
the adapter back to the D0 (full power) state, but this may not be
enough to return the driver to a fully operational condition. If
you see this message at boot time and the driver fails to attach
the device as a network interface, you will have to perform second
warm boot to have the device properly configured.
.Pp
Note that this condition only occurs when warm booting from another
operating system. If you power down your system prior to booting
.Fx ,
the card should be configured correctly.
.It "xl%d: WARNING: no media options bits set in the media options register!"
This warning may appear when using the driver on some Dell Latitude
docking stations with built-in 3c905-TX adapters. For whatever the
reason, the 'MII available' bit in the media options register on
this particular equipment is not set, even though it should be (the
3c905-TX always uses an external PHY transceiver). The driver will
attempt to guess the proper media type based on the PCI device ID
word. The driver makes a lot of noise about this condition because
the author considers it a manufacturing defect.
.El
.Sh SEE ALSO
.Xr arp 4 ,
.Xr netintro 4 ,
.Xr ifconfig 8
.Sh HISTORY
The
.Nm
device driver first appeared in
.Fx 3.0 .
.Sh AUTHORS
The
.Nm
driver was written by
.An Bill Paul Aq wpaul@ctr.columbia.edu .