setserial | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
NAME | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
SYNOPSIS | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
DESCRIPTION | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
During the normal bootup process, only COM ports 1-4 are initialized, using the default I/O ports and IRQ values, as listed below. In order to initialize any additional serial ports, or to change the COM 1-4 ports to a nonstadard configuration, the setserial program should be used. Typically it is called from an rc.serial script, which is usually run out of /etc/rc.local.
The device argument or arguments specifies the serial device which should be configured or interrogated. It will usually have the following form: /dev/cua[0-3].
If no parameters are specified, setserial will print out the port type (i.e., 8250, 16450, 16550, 16550A, etc.), the hardware I/O port, the hardware IRQ line, its "baud base," and some of its operational flags.
If the -g option is given, the arguments to setserial are interpreted as a list of devices for which the characteristics of those devices should be printed.
Without the -g option, the first argument to setserial is interpreted as the device to be modified or characteristics to be printed, and any additional arguments are interpreted as parameters which should be assigned to that serial device.
For the most part, superuser privilege is required to set the configuration parameters of a serial port. A few serial port parameters can be set by normal users, however, and these will be noted as exceptions in this manual page.
OPTIONS | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
PARAMETERS | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
All argument values are assumed to be in decimal unless preceeded by "0x".
Some internal modems are billed as having a "16550A UART with a 1k buffer". This is a lie. They do not have really have a 16550A compatible UART; instead what they have is a 16450 compatible UART with a 1k receive buffer to prevent receiver overruns. This is important, because they do not have a transmit FIFO. Hence, they are not compatible with a 16550A UART, and the autoconfiguration process will correctly identify them as 16450's. If you attempt to override this using the uart parameter, you will see dropped characters during file transmissions. These UART's usually have other problems: the skip_test parameter also often must be specified.
The application of this parameter is for getty's which are blocked on a serial port's dial in line. This allows the getty to reset the modem (which may have had its configuration modified by the application using the callout device) before blocking on the open again.
CONSIDERATIONS OF CONFIGURING SERIAL PORTS | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This section will provide some pointers in helping you decide how you would like to configure your serial ports.
The "standard MS-DOS" port associations are given below:
Due to the limitations in the design of the AT/ISA bus architecture, normally an IRQ line may not be shared between two or more serial ports. If you attempt to do this, one or both serial ports will become unreliable if you try to use both simultaneously. This limitation can be overcome by special multi-port serial port boards, which are designed to share multiple serial ports over a single IRQ line. Multi-port serial cards supported by Linux include the AST FourPort, the Accent Async board, the Usenet Serial II board, the Bocaboard BB-1004, BB-1008, and BB-2016 boards, and the HUB-6 serial board.
The selection of an alternative IRQ line is difficult, since most of them are already used. The following table lists the "standard MS-DOS" assignments of available IRQ lines:
Most people find that IRQ 5 is a good choice, assuming that there is only one parallel port active in the computer. Another good choice is IRQ 2 (aka IRQ 9); although this IRQ is sometimes used by network cards, and very rarely VGA cards will be configured to use IRQ 2 as a vertical retrace interrupt. If your VGA card is configured this way; try to disable it so you can reclaim that IRQ line for some other card. It's not necessary for Linux and most other Operating systems.
The only other available IRQ lines are 3, 4, and 7, and these are probably used by the other serial and parallel ports. (If your serial card has a 16bit card edge connector, and supports higher interrupt numbers, then IRQ 10, 11, 12, and 15 are also available.)
On AT class machines, IRQ 2 is seen as IRQ 9, and Linux will interpret it in this manner.
IRQ's other than 2 (9), 3, 4, 5, 7, 10, 11, 12, and 15, should not be used, since they are assigned to other hardware and cannot, in general, be changed. Here are the "standard" assignments:
MULTIPORT CONFIGURATION | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Certain multiport serial boards which share multiple ports on a single IRQ use one or more ports to indicate whether or not there are any pending ports which need to be serviced. If your multiport board supports these ports, you should make use of them to avoid potential lockups if the interrupt gets lost.
In order to set these ports specify set_multiport as a parameter, and follow it with the multiport parameters. The multiport parameters take the form of specifying the port that should be checked, a mask which indicate which bits in the register are significant, and finally, a match parameter which specifies what the significant bits in that register must match when there is no more pending work to be done.
Up to four such port/mask/match combinations may be specified. The first such combinations should be specified by setting the parameters port1, mask1, and match1. The second such combination should be specified with port2, mask2, and match2, and so on. In order to disable this multiport checking, set port1 to be zero.
In order to view the current multiport settings, specify the parameter get_multiport on the command line.
Here are some multiport settings for some common serial boards:
Hayes ESP Configuration | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
The following parameters when configuring ESP ports:
CAUTION | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
FILES | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
SEE ALSO | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
AUTHOR | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
This version has since been rewritten from scratch by Theodore Ts'o (tytso@mit.edu) on 1/1/93. Any bugs or problems are solely his responsibility.
Sommaire | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
Table des mots clés | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
-a | OPTIONS |
-b | OPTIONS |
-G | OPTIONS |
-q | OPTIONS |
-v | OPTIONS |
-W | OPTIONS |
-z | OPTIONS |
^auto_irq | PARAMETERS |
^callout_nohup | PARAMETERS |
^fourport | PARAMETERS |
^hup_notify | PARAMETERS |
^low_latency | PARAMETERS |
^pgrp_lockout | PARAMETERS |
^sak | PARAMETERS |
^session_lockout | PARAMETERS |
^skip_test | PARAMETERS |
^split_termios | PARAMETERS |
auto_irq | PARAMETERS |
autoconfig | PARAMETERS |
baud_base baud_base | PARAMETERS |
callout_nohup | PARAMETERS |
close_delay delay | PARAMETERS |
closing_wait delay | PARAMETERS |
divisor divisor | PARAMETERS |
flow_off | Hayes ESP Configuration |
flow_on | Hayes ESP Configuration |
fourport | PARAMETERS |
hup_notify | PARAMETERS |
irq irq_number | PARAMETERS |
low_latency | PARAMETERS |
pgrp_lockout | PARAMETERS |
port port_number | PARAMETERS |
rx_timeout | Hayes ESP Configuration |
rx_trigger | Hayes ESP Configuration |
sak | PARAMETERS |
session_lockout | PARAMETERS |
skip_test | PARAMETERS |
spd_cust | PARAMETERS |
spd_hi | PARAMETERS |
spd_normal | PARAMETERS |
spd_shi | PARAMETERS |
spd_vhi | PARAMETERS |
spd_warp | PARAMETERS |
split_termios | PARAMETERS |
tx_trigger | Hayes ESP Configuration |
uart uart_type | PARAMETERS |