diff options
Diffstat (limited to 'share/doc/handbook/sio.sgml')
-rw-r--r-- | share/doc/handbook/sio.sgml | 207 |
1 files changed, 0 insertions, 207 deletions
diff --git a/share/doc/handbook/sio.sgml b/share/doc/handbook/sio.sgml deleted file mode 100644 index ac85b76..0000000 --- a/share/doc/handbook/sio.sgml +++ /dev/null @@ -1,207 +0,0 @@ -<!-- $Id$ --> -<!-- 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>Digi International (DigiBoard) PC/8</heading> - - <p><em>Contributed by &a.awebster;.<newline>26 August - 1995.</em> - - Here is a config snippet from a machine with - a Digi International 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> - |