1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238
|
#! /bin/sh
# /etc/rc.serial
# Initializes the serial ports on your system
#
# Distributed with setserial version 2.10
#
# Standard flags you want your serial devices to have
# Examples: SAK, pgrp_lockout, session_lockout
#
STD_FLAGS="session_lockout"
SETSERIAL=/bin/setserial
echo -n "Configuring serial ports...."
# Do wild interrupt detection
#
rtn=`${SETSERIAL} -W /dev/ttyS0 >/dev/null 2>&1`
if [ $? -gt 0 ]
then
# Could not configure the serial port
echo "failed..."
echo " Trying to load the serial module manually..."
insmod serial
if [ $? -eq 0 ]
then
echo -n " Success.. retrying configuration..."
rtn=`${SETSERIAL} -W /dev/ttyS0 >& /dev/null`
if [ $? -gt 0 ]
then
echo "failed!"
echo "Aborting serial configuration. Check the serial modules..."
exit 1
fi
fi
fi
# echo $rtn
#
# There have been multiple reports of late that the auto configuration
# if the serial ports is broken with some new motherboards, especially
# multi-processor ones. For this reason, all the autoconfiguration has
# now been removed by default, and instead only com1 and 2 are configured.
# The irqs are assigned manually. Note that we still need an automatic
# test to find out what uart we are using.
${SETSERIAL} -b /dev/ttyS0 irq 4 port 0x3F8 skip_test autoconfig ${STD_FLAGS}
${SETSERIAL} -b /dev/ttyS1 irq 3 port 0x2F8 skip_test autoconfig ${STD_FLAGS}
###############################################################
#
# AUTOMATIC CONFIGURATION
#
# Uncomment the appropriate lines below to enable auto-configuration
# of a particular board. Or comment them out to disable them....
#
# NOTE! Although the automatic configuration is enabled by default,
# I strongly suggest that you comment out this section and use the
# manual configuration section instead. It's more work to set up, but
# it's more reliable.
#
###############################################################
# Do AUTOMATIC_IRQ probing
#
AUTO_IRQ=auto_irq
# These are the standard COM1 through COM4 devices
#
# If you have an internal modem with a Rockwell Chipset, add a "skip_test"
# to the /dev/ttyS3 line below. (It's not added by default because it will
# screw up people with 8514 displays).
#
# ${SETSERIAL} -b /dev/ttyS0 ${AUTO_IRQ} skip_test autoconfig ${STD_FLAGS}
# ${SETSERIAL} -b /dev/ttyS1 ${AUTO_IRQ} skip_test autoconfig ${STD_FLAGS}
#
# The typical user will only have 2 serial ports. To try and minimise
# problems, all other configurations have been commented out!
#
#${SETSERIAL} -b /dev/ttyS2 ${AUTO_IRQ} skip_test autoconfig ${STD_FLAGS}
#${SETSERIAL} /dev/ttyS3 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
# These are for the first AST Fourport board (base address 0x1A0)
#
#${SETSERIAL} -b /dev/ttyS4 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS5 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS6 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS7 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
# These are for the second AST Fourport board (base address 0x2A0)
#
#${SETSERIAL} -b /dev/ttyS8 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS9 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS10 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS11 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
# These are the 3rd and 4th ports on the Accent Async board.
#
#${SETSERIAL} -b /dev/ttyS12 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS13 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
# Usenet Serial Board II (base address 0x100)
#
#${SETSERIAL} -b /dev/ttyS16 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS17 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS18 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS19 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
# BocaBoard 4 port (BB-1004) (base address 0x100)
#
#${SETSERIAL} -b /dev/ttyS16 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS17 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS18 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS19 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
# BocaBoard 8 port (BB-1008) (base address 0x100),
# or two BB-1004's (base addresses 0x100 and 0x120)
#
#${SETSERIAL} -b /dev/ttyS16 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS17 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS18 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS19 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS20 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS21 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS22 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS23 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
# BocaBoard 16 port (BB-1008), (base address 0x100),
# or two BB-1008's (base addresses 0x100 and 0x140),
# or four BB-1004's (base address 0x100, 0x120, 0x140, and 0x160)
#
# Warning --- some of these ports may conflict with the Future Domain
# SCSI controller. If you want to run both the BocaBoards and the
# Future Domain controller, you may need to change the port assignment
# of the Bocaboards -- see below in the section on manual configuration.
#
#${SETSERIAL} -b /dev/ttyS16 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS17 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS18 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS19 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS20 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS21 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS22 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS23 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS24 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS25 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS26 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS27 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS28 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS29 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS30 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS31 ${AUTO_IRQ} autoconfig ${STD_FLAGS}
# This enables the new multiport masking feature, which is highly recommened
# for Bocaboard ports. Uncomment only the first line if you have a
# BB-1004 or BB-1008. Uncomment both lines if you have a BB-2016.
# These numbers assume the Bocaboard is located at address 0x100. If you
# change this, remember to change the port1 and port2 addresses.
#
#${SETSERIAL} /dev/ttyS16 set_multiport port1 0x107 mask1 0xff match1 0
#${SETSERIAL} /dev/ttyS16 set_multiport port2 0x147 mask2 0xff match2 0
#
###############################################################
#
# MANUAL CONFIGURATION
#
# If you want to do manual configuration of one or more of your
# serial ports, uncomment and modify the relevant lines.
#
###############################################################
# These are the standard COM1 through COM4 devices
#
#${SETSERIAL} -b /dev/ttyS0 uart 16450 port 0x3F8 irq 4 ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS1 uart 16450 port 0x2F8 irq 3 ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS2 uart 16450 port 0x3E8 irq 4 ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS3 uart 16450 port 0x2E8 irq 3 ${STD_FLAGS}
# These are the first set of AST Fourport ports
#
#${SETSERIAL} -b /dev/ttyS4 uart 16450 port 0x1A0 irq 9 fourport ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS5 uart 16450 port 0x1A8 irq 9 fourport ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS6 uart 16450 port 0x1B0 irq 9 fourport ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS7 uart 16450 port 0x1B8 irq 9 fourport ${STD_FLAGS}
# These are the second set of AST Fourport ports
#
#${SETSERIAL} -b /dev/ttyS8 uart 16450 port 0x2A0 irq 5 fourport ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS9 uart 16450 port 0x2A8 irq 5 fourport ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS10 uart 16450 port 0x2B0 irq 5 fourport ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS11 uart 16450 port 0x2B8 irq 5 fourport ${STD_FLAGS}
# These are the 3rd and 4th ports on the Accent Async board.
#
#${SETSERIAL} -b /dev/ttyS12 uart 16450 port 0x330 irq 4 ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS13 uart 16450 port 0x338 irq 4 ${STD_FLAGS}
# These are two spare devices you can use to customize for
# some board which is not supported above....
#${SETSERIAL} -b /dev/ttyS14 uart XXXXX port XXXX irq X ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS15 uart XXXXX port XXXX irq X ${STD_FLAGS}
# These are the ports used for either the Usenet Serial II
# board, or the Boca Board 4, 8, or 16 port boards.
#
# Uncomment only the first 4 lines for the Usenet Serial II board,
# and uncomment the first 4, 8, or all 16 lines for the
# Boca Board BB-1004, BB-1008, and BB-2016 respectively.
#
#${SETSERIAL} -b /dev/ttyS16 uart 16550A port 0x100 irq 12 ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS17 uart 16550A port 0x108 irq 12 ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS18 uart 16550A port 0x110 irq 12 ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS19 uart 16550A port 0x118 irq 12 ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS20 uart 16550A port 0x120 irq 12 ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS21 uart 16550A port 0x128 irq 12 ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS22 uart 16550A port 0x130 irq 12 ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS23 uart 16550A port 0x138 irq 12 ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS24 uart 16550A port 0x140 irq 12 ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS25 uart 16550A port 0x148 irq 12 ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS26 uart 16550A port 0x150 irq 12 ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS27 uart 16550A port 0x158 irq 12 ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS28 uart 16550A port 0x160 irq 12 ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS29 uart 16550A port 0x168 irq 12 ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS30 uart 16550A port 0x170 irq 12 ${STD_FLAGS}
#${SETSERIAL} -b /dev/ttyS31 uart 16550A port 0x178 irq 12 ${STD_FLAGS}
###########################################################
#
# Print the results of the serial configuration process
#
###########################################################
echo "done."
${SETSERIAL} -bg /dev/ttyS*
|