Three part commit:
1. Import UART technical description from Frank Durda IV <uhclem@nemesis.lonestar.org>. 2. Push existing sio chapter out of hw.sgml and make a separate document out of it. 3. Make hw.sgml include the first two under serial devices section. Submitted by: Frank Durda IV <uhclem@nemesis.lonestar.org> & I
This commit is contained in:
parent
76f252fec1
commit
178a20e5aa
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=257
5 changed files with 1344 additions and 200 deletions
|
@ -1,4 +1,4 @@
|
||||||
# $Id: Makefile,v 1.8 1996-02-11 00:16:06 jkh Exp $
|
# $Id: Makefile,v 1.9 1996-02-16 13:28:19 jkh Exp $
|
||||||
|
|
||||||
SRCS= authors.sgml basics.sgml bibliography.sgml boothelp.sgml
|
SRCS= authors.sgml basics.sgml bibliography.sgml boothelp.sgml
|
||||||
SRCS+= booting.sgml contrib.sgml crypt.sgml ctm.sgml current.sgml dialup.sgml
|
SRCS+= booting.sgml contrib.sgml crypt.sgml ctm.sgml current.sgml dialup.sgml
|
||||||
|
@ -8,8 +8,8 @@ SRCS+= handbook.sgml history.sgml hw.sgml install.sgml kerberos.sgml
|
||||||
SRCS+= kernelconfig.sgml kerneldebug.sgml memoryuse.sgml
|
SRCS+= kernelconfig.sgml kerneldebug.sgml memoryuse.sgml
|
||||||
SRCS+= mirrors.sgml nfs.sgml nutshell.sgml
|
SRCS+= mirrors.sgml nfs.sgml nutshell.sgml
|
||||||
SRCS+= porting.sgml ports.sgml ppp.sgml printing.sgml relnotes.sgml
|
SRCS+= porting.sgml ports.sgml ppp.sgml printing.sgml relnotes.sgml
|
||||||
SRCS+= routing.sgml scsi.sgml sections.sgml
|
SRCS+= routing.sgml scsi.sgml sections.sgml sio.sgml
|
||||||
SRCS+= skey.sgml slipc.sgml slips.sgml stable.sgml submitters.sgml sup.sgml
|
SRCS+= skey.sgml slipc.sgml slips.sgml stable.sgml submitters.sgml sup.sgml
|
||||||
SRCS+= synching.sgml troubleshooting.sgml userppp.sgml
|
SRCS+= synching.sgml troubleshooting.sgml userppp.sgml uart.sgml
|
||||||
|
|
||||||
.include <bsd.sgml.mk>
|
.include <bsd.sgml.mk>
|
||||||
|
|
219
handbook/hw.sgml
219
handbook/hw.sgml
|
@ -1,4 +1,4 @@
|
||||||
<!-- $Id: hw.sgml,v 1.15 1996-02-06 10:48:50 jkh Exp $ -->
|
<!-- $Id: hw.sgml,v 1.16 1996-02-16 13:28:20 jkh Exp $ -->
|
||||||
<!-- The FreeBSD Documentation Project -->
|
<!-- The FreeBSD Documentation Project -->
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
@ -87,6 +87,27 @@ Slippery when wet. Beware of dog.
|
||||||
you're putting together an NFS or NEWS server that will be doing a lot
|
you're putting together an NFS or NEWS server that will be doing a lot
|
||||||
of multiuser disk I/O.
|
of multiuser disk I/O.
|
||||||
|
|
||||||
|
<sect2><heading>CDROM drives</heading>
|
||||||
|
<p>My SCSI preferences extend to SCSI CDROM drives as well, and the
|
||||||
|
<htmlurl url="http://www.toshiba.com" name="Toshiba"> XM-3501B (now
|
||||||
|
released in a caddy-less model called the XM-5401B) drive has always
|
||||||
|
performed well for me. Generally speaking, most SCSI CDROM drives I've
|
||||||
|
seen have been of pretty solid construction (probably because they don't
|
||||||
|
occupy the lower end of the market, due to their higher price) and you
|
||||||
|
probably won't go wrong with an HP or NEC SCSI CDROM drive either.
|
||||||
|
|
||||||
|
<sect2><heading>Tape drives</heading>
|
||||||
|
<p>I've had pretty good luck with both
|
||||||
|
<htmlurl url="http://www.Exabyte.COM:80/Products/8mm/8505XL/Rfeatures.html"
|
||||||
|
name="8mm drives"> from <htmlurl url="http://www.exabyte.com"
|
||||||
|
name="Exabyte"> and
|
||||||
|
<htmlurl url="http://www-dmo.external.hp.com:80/tape/_cpb0001.htm"
|
||||||
|
name="4mm (DAT)"> drives from <htmlurl url="http://www.hp.com" name="HP">.
|
||||||
|
|
||||||
|
<p>For backup purposes, I'd have to give the higher recommendation to the
|
||||||
|
Exabyte due to the more robust nature (and higher storage capacity) of
|
||||||
|
8mm tape.
|
||||||
|
|
||||||
<sect2><heading>Video Cards</heading>
|
<sect2><heading>Video Cards</heading>
|
||||||
<p>If you can also afford to buy a commercial X server for $99 from
|
<p>If you can also afford to buy a commercial X server for $99 from
|
||||||
<htmlurl url="http://www.xinside.com/" name="X Inside"> then I
|
<htmlurl url="http://www.xinside.com/" name="X Inside"> then I
|
||||||
|
@ -219,200 +240,8 @@ Slippery when wet. Beware of dog.
|
||||||
<sect1><heading>* Sound cards</heading>
|
<sect1><heading>* Sound cards</heading>
|
||||||
<sect1><heading>Serial ports and multiport cards</heading>
|
<sect1><heading>Serial ports and multiport cards</heading>
|
||||||
|
|
||||||
<p>The <tt>sio</tt> driver provides support for NS8250-,
|
&uart;
|
||||||
NS16450-, NS16550 and NS16550A-based EIA RS-232C (CCITT
|
&sio;
|
||||||
V.24) communications interfaces. Several multiport
|
|
||||||
cards are supported as well. See the <tt>sio(4)</tt>
|
|
||||||
manual page for detailed technical documentation.
|
|
||||||
|
|
||||||
<sect2><heading>Digiboard PC/8</heading>
|
|
||||||
|
|
||||||
<p><em>Contributed by &a.awebster;.<newline>26 August
|
|
||||||
1995.</em>
|
|
||||||
|
|
||||||
Here is a config snippet from a machine with
|
|
||||||
digiboard PC/8 with 16550. It has 8 modems connected
|
|
||||||
to these 8 lines, and they work just great. Do not
|
|
||||||
forget to add <tt>options "COM_MULTIPORT"</tt> or it
|
|
||||||
will not work very well!
|
|
||||||
|
|
||||||
<tscreen><verb>
|
|
||||||
device sio4 at isa? port 0x100 tty flags 0xb05
|
|
||||||
device sio5 at isa? port 0x108 tty flags 0xb05
|
|
||||||
device sio6 at isa? port 0x110 tty flags 0xb05
|
|
||||||
device sio7 at isa? port 0x118 tty flags 0xb05
|
|
||||||
device sio8 at isa? port 0x120 tty flags 0xb05
|
|
||||||
device sio9 at isa? port 0x128 tty flags 0xb05
|
|
||||||
device sio10 at isa? port 0x130 tty flags 0xb05
|
|
||||||
device sio11 at isa? port 0x138 tty flags 0xb05 irq 9 vector siointr
|
|
||||||
</verb></tscreen>
|
|
||||||
|
|
||||||
The trick in setting this up is that the MSB of the
|
|
||||||
flags represent the last SIO port, in this case 11 so
|
|
||||||
flags are 0xb05.
|
|
||||||
|
|
||||||
<sect2><heading>Boca 16</heading>
|
|
||||||
|
|
||||||
<p><em>Contributed by &a.whiteside;.<newline>26 August
|
|
||||||
1995.</em>
|
|
||||||
|
|
||||||
The procedures to make a Boca 16 pord board with
|
|
||||||
FreeBSD are pretty straightforward, but you will need
|
|
||||||
a couple things to make it work:
|
|
||||||
|
|
||||||
<enum>
|
|
||||||
<item>You either need the kernel sources installed
|
|
||||||
so you can recompile the necessary options or
|
|
||||||
you will need someone else to compile it for you.
|
|
||||||
The 2.0.5 default kernel does <bf>not</bf> come with
|
|
||||||
multiport support enabled and you will need to add
|
|
||||||
a device entry for each port anyways.
|
|
||||||
</item>
|
|
||||||
<item>Two, you will need to know the interrupt and IO
|
|
||||||
setting for your Boca Board so you can set these
|
|
||||||
options properly in the kernel.</item>
|
|
||||||
</enum>
|
|
||||||
|
|
||||||
One important note - the actual UART chips for the
|
|
||||||
Boca 16 are in the connector box, not on the internal
|
|
||||||
board itself. So if you have it unplugged, probes of
|
|
||||||
those ports will fail. I have never tested booting with
|
|
||||||
the box unplugged and plugging it back in, and I
|
|
||||||
suggest you do not either.
|
|
||||||
|
|
||||||
If you do not already have a custom kernel
|
|
||||||
configuration file set up, refer to <ref
|
|
||||||
id="kernelconfig" name="Kernel Configuration"> for
|
|
||||||
general procedures. The following are the specifics
|
|
||||||
for the Boca 16 board and assume you are using the
|
|
||||||
kernel name MYKERNEL and editing with vi.
|
|
||||||
|
|
||||||
<enum>
|
|
||||||
<item>Add the line
|
|
||||||
<tscreen><verb>
|
|
||||||
options "COM_MULTIPORT"
|
|
||||||
</verb></tscreen>
|
|
||||||
to the config file.
|
|
||||||
</item>
|
|
||||||
|
|
||||||
<item>Where the current <tt>device sio
|
|
||||||
<em>xxx</em></tt> lines are, you will need to add
|
|
||||||
16 more devices. <em>Only the last device
|
|
||||||
includes the interrupt vector for the
|
|
||||||
board</em>. (See the <tt>sio(4)</tt> manual page
|
|
||||||
for detail as to why.)
|
|
||||||
|
|
||||||
The following example is for a Boca Board with an
|
|
||||||
interrupt of 3, and a base IO address 100h. The
|
|
||||||
IO address for Each port is +8 hexadecimal from
|
|
||||||
the previous port, thus the 100h, 108h, 110h...
|
|
||||||
addresses.
|
|
||||||
|
|
||||||
<tscreen><verb>
|
|
||||||
device sio1 at isa? port 0x100 tty flags 0x1005
|
|
||||||
device sio2 at isa? port 0x108 tty flags 0x1005
|
|
||||||
device sio3 at isa? port 0x110 tty flags 0x1005
|
|
||||||
device sio4 at isa? port 0x118 tty flags 0x1005
|
|
||||||
[...]
|
|
||||||
device sio15 at isa? port 0x170 tty flags 0x1005
|
|
||||||
device sio16 at isa? port 0x178 tty flags 0x1005 irq 3 vector siointr
|
|
||||||
</verb></tscreen>
|
|
||||||
|
|
||||||
The flags entry <em>must</em> be changed from
|
|
||||||
this example unless you are using the exact same
|
|
||||||
sio assignments. Flags are set according to
|
|
||||||
0x<em>MYY</em> where <em>M</em> indicates the
|
|
||||||
minor number of the master port (the last port on
|
|
||||||
a Boca 16) and <em>YY</em> indicates if FIFO is
|
|
||||||
enabled or disabled(enabled), IRQ sharing is
|
|
||||||
used(yes) and if there is an AST/4 compatible IRQ
|
|
||||||
control register(no).
|
|
||||||
|
|
||||||
In this example,
|
|
||||||
<tscreen><verb>
|
|
||||||
flags 0x1005
|
|
||||||
</verb></tscreen>
|
|
||||||
|
|
||||||
indicates that the master port is sio16. If I
|
|
||||||
added another board and assigned sio17 through
|
|
||||||
sio28, the flags for all 16 ports on
|
|
||||||
<em>that</em> board would be 0x1C05, where 1C
|
|
||||||
indicates the minor number of the master port.
|
|
||||||
Do not change the 05 setting.</item>
|
|
||||||
|
|
||||||
<item>Save and complete the kernel configuration,
|
|
||||||
recompile, install and reboot.
|
|
||||||
|
|
||||||
Presuming you have successfully installed the
|
|
||||||
recompiled kernel and have it set to the correct
|
|
||||||
address and IRQ, your boot message should
|
|
||||||
indicate the successful probe of the Boca ports
|
|
||||||
as follows: (obviously the sio numbers, IO and
|
|
||||||
IRQ could be different)
|
|
||||||
|
|
||||||
<tscreen><verb>
|
|
||||||
sio1 at 0x100-0x107 flags 0x1005 on isa
|
|
||||||
sio1: type 16550A (multiport)
|
|
||||||
sio2 at 0x108-0x10f flags 0x1005 on isa
|
|
||||||
sio2: type 16550A (multiport)
|
|
||||||
sio3 at 0x110-0x117 flags 0x1005 on isa
|
|
||||||
sio3: type 16550A (multiport)
|
|
||||||
sio4 at 0x118-0x11f flags 0x1005 on isa
|
|
||||||
sio4: type 16550A (multiport)
|
|
||||||
sio5 at 0x120-0x127 flags 0x1005 on isa
|
|
||||||
sio5: type 16550A (multiport)
|
|
||||||
sio6 at 0x128-0x12f flags 0x1005 on isa
|
|
||||||
sio6: type 16550A (multiport)
|
|
||||||
sio7 at 0x130-0x137 flags 0x1005 on isa
|
|
||||||
sio7: type 16550A (multiport)
|
|
||||||
sio8 at 0x138-0x13f flags 0x1005 on isa
|
|
||||||
sio8: type 16550A (multiport)
|
|
||||||
sio9 at 0x140-0x147 flags 0x1005 on isa
|
|
||||||
sio9: type 16550A (multiport)
|
|
||||||
sio10 at 0x148-0x14f flags 0x1005 on isa
|
|
||||||
sio10: type 16550A (multiport)
|
|
||||||
sio11 at 0x150-0x157 flags 0x1005 on isa
|
|
||||||
sio11: type 16550A (multiport)
|
|
||||||
sio12 at 0x158-0x15f flags 0x1005 on isa
|
|
||||||
sio12: type 16550A (multiport)
|
|
||||||
sio13 at 0x160-0x167 flags 0x1005 on isa
|
|
||||||
sio13: type 16550A (multiport)
|
|
||||||
sio14 at 0x168-0x16f flags 0x1005 on isa
|
|
||||||
sio14: type 16550A (multiport)
|
|
||||||
sio15 at 0x170-0x177 flags 0x1005 on isa
|
|
||||||
sio15: type 16550A (multiport)
|
|
||||||
sio16 at 0x178-0x17f irq 3 flags 0x1005 on isa
|
|
||||||
sio16: type 16550A (multiport master)
|
|
||||||
</verb></tscreen>
|
|
||||||
|
|
||||||
If the messages go by too fast to see, <tt>dmesg
|
|
||||||
> more</tt> will show you the boot
|
|
||||||
messages.</item>
|
|
||||||
|
|
||||||
<item>Next, appropriate entries in <tt>/dev</tt> for the devices
|
|
||||||
must be made using the <tt>/dev/MAKEDEV</tt>
|
|
||||||
script. After becoming root:
|
|
||||||
<tscreen>
|
|
||||||
# cd /dev<newline>
|
|
||||||
# ./MAKEDEV tty1<newline>
|
|
||||||
# ./MAKEDEV cua1<newline>
|
|
||||||
<em>(everything in between)</em><newline>
|
|
||||||
# ./MAKEDEV ttyg<newline>
|
|
||||||
# ./MAKEDEV cuag
|
|
||||||
</tscreen>
|
|
||||||
|
|
||||||
If you do not want or need callout devices for some
|
|
||||||
reason, you can dispense with making the <tt>cua*</tt>
|
|
||||||
devices.</item>
|
|
||||||
|
|
||||||
<item>If you want a quick and sloppy way to make
|
|
||||||
sure the devices are working, you can simply plug
|
|
||||||
a modem into each port and (as root) <tt>echo at
|
|
||||||
> ttyd*</tt> for each device you have
|
|
||||||
made. You <em>should</em> see the RX lights flash
|
|
||||||
for each working port.</item>
|
|
||||||
</enum>
|
|
||||||
|
|
||||||
|
|
||||||
<sect1><heading>* Parallel ports</heading>
|
<sect1><heading>* Parallel ports</heading>
|
||||||
<sect1><heading>* Modems</heading>
|
<sect1><heading>* Modems</heading>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<!-- $Id: sections.sgml,v 1.8 1996-02-11 00:16:15 jkh Exp $ -->
|
<!-- $Id: sections.sgml,v 1.9 1996-02-16 13:28:21 jkh Exp $ -->
|
||||||
<!-- The FreeBSD Documentation Project -->
|
<!-- The FreeBSD Documentation Project -->
|
||||||
|
|
||||||
<!-- Entities containing all the pieces of the handbook are -->
|
<!-- Entities containing all the pieces of the handbook are -->
|
||||||
|
@ -37,6 +37,7 @@
|
||||||
<!ENTITY relnotes SYSTEM "relnotes.sgml">
|
<!ENTITY relnotes SYSTEM "relnotes.sgml">
|
||||||
<!ENTITY routing SYSTEM "routing.sgml">
|
<!ENTITY routing SYSTEM "routing.sgml">
|
||||||
<!ENTITY scsi SYSTEM "scsi.sgml">
|
<!ENTITY scsi SYSTEM "scsi.sgml">
|
||||||
|
<!ENTITY sio SYSTEM "sio.sgml">
|
||||||
<!ENTITY skey SYSTEM "skey.sgml">
|
<!ENTITY skey SYSTEM "skey.sgml">
|
||||||
<!ENTITY slipc SYSTEM "slipc.sgml">
|
<!ENTITY slipc SYSTEM "slipc.sgml">
|
||||||
<!ENTITY slips SYSTEM "slips.sgml">
|
<!ENTITY slips SYSTEM "slips.sgml">
|
||||||
|
@ -44,5 +45,5 @@
|
||||||
<!ENTITY sup SYSTEM "sup.sgml">
|
<!ENTITY sup SYSTEM "sup.sgml">
|
||||||
<!ENTITY synching SYSTEM "synching.sgml">
|
<!ENTITY synching SYSTEM "synching.sgml">
|
||||||
<!ENTITY troubleshooting SYSTEM "troubleshooting.sgml">
|
<!ENTITY troubleshooting SYSTEM "troubleshooting.sgml">
|
||||||
|
<!ENTITY uart SYSTEM "uart.sgml">
|
||||||
<!ENTITY userppp SYSTEM "userppp.sgml">
|
<!ENTITY userppp SYSTEM "userppp.sgml">
|
||||||
|
|
||||||
|
|
207
handbook/sio.sgml
Normal file
207
handbook/sio.sgml
Normal file
|
@ -0,0 +1,207 @@
|
||||||
|
<!-- $Id: sio.sgml,v 1.1 1996-02-16 13:28:21 jkh Exp $ -->
|
||||||
|
<!-- The FreeBSD Documentation Project -->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<!DOCTYPE linuxdoc PUBLIC "-//FreeBSD//DTD linuxdoc//EN" [
|
||||||
|
|
||||||
|
<!ENTITY % authors SYSTEM "authors.sgml">
|
||||||
|
%authors;
|
||||||
|
|
||||||
|
]>
|
||||||
|
-->
|
||||||
|
<sect2><heading>Configuring the <tt>sio</tt> driver<label id="sio"></heading>
|
||||||
|
|
||||||
|
<p>The <tt>sio</tt> driver provides support for NS8250-,
|
||||||
|
NS16450-, NS16550 and NS16550A-based EIA RS-232C (CCITT
|
||||||
|
V.24) communications interfaces. Several multiport
|
||||||
|
cards are supported as well. See the <tt>sio(4)</tt>
|
||||||
|
manual page for detailed technical documentation.
|
||||||
|
|
||||||
|
<sect3><heading>Digiboard PC/8</heading>
|
||||||
|
|
||||||
|
<p><em>Contributed by &a.awebster;.<newline>26 August
|
||||||
|
1995.</em>
|
||||||
|
|
||||||
|
Here is a config snippet from a machine with
|
||||||
|
digiboard PC/8 with 16550. It has 8 modems connected
|
||||||
|
to these 8 lines, and they work just great. Do not
|
||||||
|
forget to add <tt>options "COM_MULTIPORT"</tt> or it
|
||||||
|
will not work very well!
|
||||||
|
|
||||||
|
<tscreen><verb>
|
||||||
|
device sio4 at isa? port 0x100 tty flags 0xb05
|
||||||
|
device sio5 at isa? port 0x108 tty flags 0xb05
|
||||||
|
device sio6 at isa? port 0x110 tty flags 0xb05
|
||||||
|
device sio7 at isa? port 0x118 tty flags 0xb05
|
||||||
|
device sio8 at isa? port 0x120 tty flags 0xb05
|
||||||
|
device sio9 at isa? port 0x128 tty flags 0xb05
|
||||||
|
device sio10 at isa? port 0x130 tty flags 0xb05
|
||||||
|
device sio11 at isa? port 0x138 tty flags 0xb05 irq 9 vector siointr
|
||||||
|
</verb></tscreen>
|
||||||
|
|
||||||
|
The trick in setting this up is that the MSB of the
|
||||||
|
flags represent the last SIO port, in this case 11 so
|
||||||
|
flags are 0xb05.
|
||||||
|
|
||||||
|
<sect3><heading>Boca 16</heading>
|
||||||
|
|
||||||
|
<p><em>Contributed by &a.whiteside;.<newline>26 August
|
||||||
|
1995.</em>
|
||||||
|
|
||||||
|
The procedures to make a Boca 16 pord board with
|
||||||
|
FreeBSD are pretty straightforward, but you will need
|
||||||
|
a couple things to make it work:
|
||||||
|
|
||||||
|
<enum>
|
||||||
|
<item>You either need the kernel sources installed
|
||||||
|
so you can recompile the necessary options or
|
||||||
|
you will need someone else to compile it for you.
|
||||||
|
The 2.0.5 default kernel does <bf>not</bf> come with
|
||||||
|
multiport support enabled and you will need to add
|
||||||
|
a device entry for each port anyways.
|
||||||
|
</item>
|
||||||
|
<item>Two, you will need to know the interrupt and IO
|
||||||
|
setting for your Boca Board so you can set these
|
||||||
|
options properly in the kernel.</item>
|
||||||
|
</enum>
|
||||||
|
|
||||||
|
One important note - the actual UART chips for the
|
||||||
|
Boca 16 are in the connector box, not on the internal
|
||||||
|
board itself. So if you have it unplugged, probes of
|
||||||
|
those ports will fail. I have never tested booting with
|
||||||
|
the box unplugged and plugging it back in, and I
|
||||||
|
suggest you do not either.
|
||||||
|
|
||||||
|
If you do not already have a custom kernel
|
||||||
|
configuration file set up, refer to <ref
|
||||||
|
id="kernelconfig" name="Kernel Configuration"> for
|
||||||
|
general procedures. The following are the specifics
|
||||||
|
for the Boca 16 board and assume you are using the
|
||||||
|
kernel name MYKERNEL and editing with vi.
|
||||||
|
|
||||||
|
<enum>
|
||||||
|
<item>Add the line
|
||||||
|
<tscreen><verb>
|
||||||
|
options "COM_MULTIPORT"
|
||||||
|
</verb></tscreen>
|
||||||
|
to the config file.
|
||||||
|
</item>
|
||||||
|
|
||||||
|
<item>Where the current <tt>device sio
|
||||||
|
<em>xxx</em></tt> lines are, you will need to add
|
||||||
|
16 more devices. <em>Only the last device
|
||||||
|
includes the interrupt vector for the
|
||||||
|
board</em>. (See the <tt>sio(4)</tt> manual page
|
||||||
|
for detail as to why.)
|
||||||
|
|
||||||
|
The following example is for a Boca Board with an
|
||||||
|
interrupt of 3, and a base IO address 100h. The
|
||||||
|
IO address for Each port is +8 hexadecimal from
|
||||||
|
the previous port, thus the 100h, 108h, 110h...
|
||||||
|
addresses.
|
||||||
|
|
||||||
|
<tscreen><verb>
|
||||||
|
device sio1 at isa? port 0x100 tty flags 0x1005
|
||||||
|
device sio2 at isa? port 0x108 tty flags 0x1005
|
||||||
|
device sio3 at isa? port 0x110 tty flags 0x1005
|
||||||
|
device sio4 at isa? port 0x118 tty flags 0x1005
|
||||||
|
[...]
|
||||||
|
device sio15 at isa? port 0x170 tty flags 0x1005
|
||||||
|
device sio16 at isa? port 0x178 tty flags 0x1005 irq 3 vector siointr
|
||||||
|
</verb></tscreen>
|
||||||
|
|
||||||
|
The flags entry <em>must</em> be changed from
|
||||||
|
this example unless you are using the exact same
|
||||||
|
sio assignments. Flags are set according to
|
||||||
|
0x<em>MYY</em> where <em>M</em> indicates the
|
||||||
|
minor number of the master port (the last port on
|
||||||
|
a Boca 16) and <em>YY</em> indicates if FIFO is
|
||||||
|
enabled or disabled(enabled), IRQ sharing is
|
||||||
|
used(yes) and if there is an AST/4 compatible IRQ
|
||||||
|
control register(no).
|
||||||
|
|
||||||
|
In this example,
|
||||||
|
<tscreen><verb>
|
||||||
|
flags 0x1005
|
||||||
|
</verb></tscreen>
|
||||||
|
|
||||||
|
indicates that the master port is sio16. If I
|
||||||
|
added another board and assigned sio17 through
|
||||||
|
sio28, the flags for all 16 ports on
|
||||||
|
<em>that</em> board would be 0x1C05, where 1C
|
||||||
|
indicates the minor number of the master port.
|
||||||
|
Do not change the 05 setting.</item>
|
||||||
|
|
||||||
|
<item>Save and complete the kernel configuration,
|
||||||
|
recompile, install and reboot.
|
||||||
|
|
||||||
|
Presuming you have successfully installed the
|
||||||
|
recompiled kernel and have it set to the correct
|
||||||
|
address and IRQ, your boot message should
|
||||||
|
indicate the successful probe of the Boca ports
|
||||||
|
as follows: (obviously the sio numbers, IO and
|
||||||
|
IRQ could be different)
|
||||||
|
|
||||||
|
<tscreen><verb>
|
||||||
|
sio1 at 0x100-0x107 flags 0x1005 on isa
|
||||||
|
sio1: type 16550A (multiport)
|
||||||
|
sio2 at 0x108-0x10f flags 0x1005 on isa
|
||||||
|
sio2: type 16550A (multiport)
|
||||||
|
sio3 at 0x110-0x117 flags 0x1005 on isa
|
||||||
|
sio3: type 16550A (multiport)
|
||||||
|
sio4 at 0x118-0x11f flags 0x1005 on isa
|
||||||
|
sio4: type 16550A (multiport)
|
||||||
|
sio5 at 0x120-0x127 flags 0x1005 on isa
|
||||||
|
sio5: type 16550A (multiport)
|
||||||
|
sio6 at 0x128-0x12f flags 0x1005 on isa
|
||||||
|
sio6: type 16550A (multiport)
|
||||||
|
sio7 at 0x130-0x137 flags 0x1005 on isa
|
||||||
|
sio7: type 16550A (multiport)
|
||||||
|
sio8 at 0x138-0x13f flags 0x1005 on isa
|
||||||
|
sio8: type 16550A (multiport)
|
||||||
|
sio9 at 0x140-0x147 flags 0x1005 on isa
|
||||||
|
sio9: type 16550A (multiport)
|
||||||
|
sio10 at 0x148-0x14f flags 0x1005 on isa
|
||||||
|
sio10: type 16550A (multiport)
|
||||||
|
sio11 at 0x150-0x157 flags 0x1005 on isa
|
||||||
|
sio11: type 16550A (multiport)
|
||||||
|
sio12 at 0x158-0x15f flags 0x1005 on isa
|
||||||
|
sio12: type 16550A (multiport)
|
||||||
|
sio13 at 0x160-0x167 flags 0x1005 on isa
|
||||||
|
sio13: type 16550A (multiport)
|
||||||
|
sio14 at 0x168-0x16f flags 0x1005 on isa
|
||||||
|
sio14: type 16550A (multiport)
|
||||||
|
sio15 at 0x170-0x177 flags 0x1005 on isa
|
||||||
|
sio15: type 16550A (multiport)
|
||||||
|
sio16 at 0x178-0x17f irq 3 flags 0x1005 on isa
|
||||||
|
sio16: type 16550A (multiport master)
|
||||||
|
</verb></tscreen>
|
||||||
|
|
||||||
|
If the messages go by too fast to see, <tt>dmesg
|
||||||
|
> more</tt> will show you the boot
|
||||||
|
messages.</item>
|
||||||
|
|
||||||
|
<item>Next, appropriate entries in <tt>/dev</tt> for the devices
|
||||||
|
must be made using the <tt>/dev/MAKEDEV</tt>
|
||||||
|
script. After becoming root:
|
||||||
|
<tscreen>
|
||||||
|
# cd /dev<newline>
|
||||||
|
# ./MAKEDEV tty1<newline>
|
||||||
|
# ./MAKEDEV cua1<newline>
|
||||||
|
<em>(everything in between)</em><newline>
|
||||||
|
# ./MAKEDEV ttyg<newline>
|
||||||
|
# ./MAKEDEV cuag
|
||||||
|
</tscreen>
|
||||||
|
|
||||||
|
If you do not want or need callout devices for some
|
||||||
|
reason, you can dispense with making the <tt>cua*</tt>
|
||||||
|
devices.</item>
|
||||||
|
|
||||||
|
<item>If you want a quick and sloppy way to make
|
||||||
|
sure the devices are working, you can simply plug
|
||||||
|
a modem into each port and (as root) <tt>echo at
|
||||||
|
> ttyd*</tt> for each device you have
|
||||||
|
made. You <em>should</em> see the RX lights flash
|
||||||
|
for each working port.</item>
|
||||||
|
</enum>
|
||||||
|
|
1107
handbook/uart.sgml
Normal file
1107
handbook/uart.sgml
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue