File: rc.serial

package info (click to toggle)
setserial 2.14-3
  • links: PTS
  • area: main
  • in suites: slink
  • size: 232 kB
  • ctags: 64
  • sloc: ansic: 608; makefile: 100; sh: 52
file content (230 lines) | stat: -rw-r--r-- 10,122 bytes parent folder | download
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
#!	/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

# If the serial executable has been removed abort the configuration
[ -x ${SETSERIAL} ] || exit 0

echo -n "Configuring serial ports..."

#
# make sure that a serial device is loaded...
insmod -k serial 2>/dev/null
#

#
# 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}
if [ $? -gt 0 ]
then
  echo "setserial was unable to configure the serial ports"
  echo "  Aborting serial configuration. Check the serial modules..."
  exit 1
fi

${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? /dev/ttyS?? 2>/dev/null