Deactivate manpages repo-copied to man4 directory (all these drivers
not i386 specific anymore -- move them to appropriate place)
This commit is contained in:
parent
1f297a8943
commit
26a4cb66b9
@ -1,111 +1,67 @@
|
|||||||
# $FreeBSD$
|
# $FreeBSD$
|
||||||
|
|
||||||
MAN4= adv.4 adw.4 aha.4 ahb.4 ahc.4 aic.4 al.4 alpm.4 apm.4 ar.4 asc.4 \
|
MAN4= adv.4 adw.4 aha.4 ahb.4 aic.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 \
|
bktr.4 bt.4 cs.4 cx.4 cy.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 \
|
dgb.4 dpt.4 ed.4 el.4 en.4 ep.4 ex.4 fe.4 gsc.4 \
|
||||||
ie.4 io.4 joy.4 keyboard.4 labpc.4 le.4 lnc.4 matcd.4 mcd.4 \
|
ie.4 io.4 joy.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 \
|
meteor.4 mse.4 npx.4 \
|
||||||
ohci.4 pcf.4 pcm.4 pcvt.4 perfmon.4 pn.4 pnp.4 ppc.4 psm.4 \
|
pcf.4 perfmon.4 pnp.4 ppc.4 \
|
||||||
rdp.4 rl.4 sb.4 scd.4 screen.4 sf.4 si.4 sio.4 sis.4 sk.4 \
|
rdp.4 sb.4 scd.4 \
|
||||||
spkr.4 splash.4 sr.4 ste.4 syscons.4 sysmouse.4 ti.4 tl.4 tw.4 \
|
spkr.4 sr.4 tw.4 \
|
||||||
tx.4 uhci.4 ukbd.4 umass.4 ums.4 usb.4 vga.4 vr.4 vx.4 \
|
tx.4 vx.4 \
|
||||||
wb.4 wd.4 wfd.4 wi.4 wl.4 wt.4 xl.4 ze.4 zp.4
|
wd.4 wfd.4 wi.4 wl.4 wt.4 ze.4 zp.4
|
||||||
|
|
||||||
MLINKS= adv.4 ../adv.4
|
MLINKS= adv.4 ../adv.4
|
||||||
MLINKS+= adw.4 ../adw.4
|
MLINKS+= adw.4 ../adw.4
|
||||||
MLINKS+= aha.4 ../aha.4
|
MLINKS+= aha.4 ../aha.4
|
||||||
MLINKS+= ahb.4 ../ahb.4
|
MLINKS+= ahb.4 ../ahb.4
|
||||||
MLINKS+= ahc.4 ../ahc.4
|
|
||||||
MLINKS+= aic.4 ../aic.4
|
MLINKS+= aic.4 ../aic.4
|
||||||
MLINKS+= al.4 ../al.4
|
|
||||||
MLINKS+= alpm.4 ../alpm.4
|
MLINKS+= alpm.4 ../alpm.4
|
||||||
MLINKS+= apm.4 ../apm.4
|
MLINKS+= apm.4 ../apm.4
|
||||||
MLINKS+= ar.4 ../ar.4
|
MLINKS+= ar.4 ../ar.4
|
||||||
MLINKS+= asc.4 ../asc.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+= bktr.4 ../bktr.4
|
||||||
MLINKS+= bt.4 ../bt.4
|
MLINKS+= bt.4 ../bt.4
|
||||||
MLINKS+= cs.4 ../cs.4
|
MLINKS+= cs.4 ../cs.4
|
||||||
MLINKS+= cx.4 ../cx.4
|
MLINKS+= cx.4 ../cx.4
|
||||||
MLINKS+= cy.4 ../cy.4
|
MLINKS+= cy.4 ../cy.4
|
||||||
MLINKS+= de.4 ../de.4
|
|
||||||
MLINKS+= dgb.4 ../dgb.4
|
MLINKS+= dgb.4 ../dgb.4
|
||||||
MLINKS+= dm.4 ../dm.4
|
|
||||||
MLINKS+= dpt.4 ../dpt.4
|
MLINKS+= dpt.4 ../dpt.4
|
||||||
MLINKS+= ed.4 ../ed.4
|
MLINKS+= ed.4 ../ed.4
|
||||||
MLINKS+= el.4 ../el.4
|
MLINKS+= el.4 ../el.4
|
||||||
MLINKS+= en.4 ../en.4
|
MLINKS+= en.4 ../en.4
|
||||||
MLINKS+= ep.4 ../ep.4
|
MLINKS+= ep.4 ../ep.4
|
||||||
MLINKS+= ex.4 ../ex.4
|
MLINKS+= ex.4 ../ex.4
|
||||||
MLINKS+= fdc.4 ../fdc.4
|
|
||||||
MLINKS+= fe.4 ../fe.4
|
MLINKS+= fe.4 ../fe.4
|
||||||
MLINKS+= fxp.4 ../fxp.4
|
|
||||||
MLINKS+= gsc.4 ../gsc.4
|
MLINKS+= gsc.4 ../gsc.4
|
||||||
MLINKS+= ie.4 ../ie.4
|
MLINKS+= ie.4 ../ie.4
|
||||||
MLINKS+= io.4 ../io.4
|
MLINKS+= io.4 ../io.4
|
||||||
MLINKS+= joy.4 ../joy.4
|
MLINKS+= joy.4 ../joy.4
|
||||||
MLINKS+= keyboard.4 ../keyboard.4
|
|
||||||
MLINKS+= labpc.4 ../labpc.4
|
MLINKS+= labpc.4 ../labpc.4
|
||||||
MLINKS+= le.4 ../le.4
|
MLINKS+= le.4 ../le.4
|
||||||
MLINKS+= lnc.4 ../lnc.4
|
MLINKS+= lnc.4 ../lnc.4
|
||||||
MLINKS+= matcd.4 ../matcd.4
|
MLINKS+= matcd.4 ../matcd.4
|
||||||
MLINKS+= mcd.4 ../mcd.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+= meteor.4 ../meteor.4
|
||||||
MLINKS+= mouse.4 ../mouse.4
|
|
||||||
MLINKS+= mse.4 ../mse.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+= npx.4 ../npx.4
|
||||||
MLINKS+= ohci.4 ../ohci.4
|
|
||||||
MLINKS+= pcf.4 ../pcf.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+= perfmon.4 ../perfmon.4
|
||||||
MLINKS+= pn.4 ../pn.4
|
|
||||||
MLINKS+= pnp.4 ../pnp.4
|
MLINKS+= pnp.4 ../pnp.4
|
||||||
MLINKS+= ppc.4 ../ppc.4
|
MLINKS+= ppc.4 ../ppc.4
|
||||||
MLINKS+= psm.4 ../psm.4
|
|
||||||
MLINKS+= rdp.4 ../rdp.4
|
MLINKS+= rdp.4 ../rdp.4
|
||||||
MLINKS+= rl.4 ../rl.4
|
|
||||||
MLINKS+= sb.4 ../sb.4
|
MLINKS+= sb.4 ../sb.4
|
||||||
MLINKS+= scd.4 ../scd.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+= 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+= 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+= tw.4 ../tw.4
|
||||||
MLINKS+= tx.4 ../tx.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+= vx.4 ../vx.4
|
||||||
MLINKS+= wb.4 ../wb.4
|
|
||||||
MLINKS+= wd.4 ../wd.4
|
MLINKS+= wd.4 ../wd.4
|
||||||
MLINKS+= wfd.4 ../wfd.4
|
MLINKS+= wfd.4 ../wfd.4
|
||||||
MLINKS+= wi.4 ../wi.4
|
MLINKS+= wi.4 ../wi.4
|
||||||
MLINKS+= wl.4 ../wl.4
|
MLINKS+= wl.4 ../wl.4
|
||||||
MLINKS+= wt.4 ../wt.4
|
MLINKS+= wt.4 ../wt.4
|
||||||
MLINKS+= xl.4 ../xl.4
|
|
||||||
MLINKS+= ze.4 ../ze.4
|
MLINKS+= ze.4 ../ze.4
|
||||||
MLINKS+= zp.4 ../zp.4
|
MLINKS+= zp.4 ../zp.4
|
||||||
|
|
||||||
|
@ -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 .
|
|
@ -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 .
|
|
@ -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 .
|
|
@ -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 .
|
|
@ -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 .
|
|
@ -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 .
|
|
@ -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 .
|
|
@ -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
|
|
@ -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 .
|
|
@ -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
|
|
@ -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 .
|
|
@ -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 .
|
|
@ -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.
|
|
@ -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.
|
|
@ -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
|
|
@ -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.
|
|
@ -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
|
|
@ -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.
|
|
@ -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.
|
|
@ -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 .
|
|
@ -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.
|
|
@ -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
|
|
@ -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 .
|
|
@ -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.
|
|
@ -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.
|
|
@ -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 .
|
|
@ -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 .
|
|
@ -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.
|
|
@ -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 .
|
|
@ -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 .
|
|
@ -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 .
|
|
@ -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 .
|
|
@ -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 .
|
|
@ -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.
|
|
@ -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 .
|
|
@ -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 .
|
|
@ -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 .
|
|
@ -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.
|
|
@ -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 .
|
|
@ -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.
|
|
@ -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.
|
|
@ -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 .
|
|
Loading…
x
Reference in New Issue
Block a user