Penguin
Annotated edit history of pnpdump(8) version 1, including all changes. View license author blame.
Rev Author # Line
1 perry 1 PNPDUMP
2 !!!PNPDUMP
3 NAME
4 SYNOPSIS
5 DESCRIPTION
6 FILES
7 BUGS
8 WARNING
9 AUTHOR
10 AVAILABILITY
11 REFERENCES
12 SEE ALSO
13 ----
14 !!NAME
15
16
17 pnpdump - Dump ISA Plug-And-Play devices resource information
18 !!SYNOPSIS
19
20
21 __pnpdump__ [[ --help ] [[ --config ] [[
22 --script[[=outputfile] ] [[ --reset ] [[ --ignorecsum ] [[
23 --masks ] [[ --dumpregs ] [[ --max-realtime=''t'' ] [[
24 --version ] [[ --debug-isolate ] [[ --outputfile=outputfile] [[
25 [[ ''devs'' ] ''readport'' ]
26 !!DESCRIPTION
27
28
29 __pnpdump__ will scan all the ISA PnP cards, dumping
30 their resource data to ''stdout''. The resource data is
31 supposed to be a description of the resources (IO ports,
32 interrupts, DMA channels) that the card would like, or
33 needs, to use to work. It is stored in a small ROM on the
34 card, which can be read as part of the Plug and Play
35 configuration process.
36
37
38 Note that some manufacturers are rather lax about the
39 contents of this ROM, particularly if the card is not
40 required for booting, so the resource data may not be
41 accurate. As they also typically provide a DOS/Windows
42 driver for the card, they really only need to be able to
43 recognise it, as the driver can then complete the
44 configuration.
45
46
47 The output of __pnpdump__ is in a form that can be used
48 by __isapnp__, except that the actual configuration
49 statements are commented out. See __isapnp.conf(5)__ for
50 details of the format.
51
52
53 By default, __pnpdump__ will reset all the Card Serial
54 Numbers, then ISOLATE each one and allocate it a handle
55 (Card Select Number). This process will include trying
56 different ''readport'' addresses until a suitable one is
57 found avoiding conflicts with other hardware. For a
58 description of what the ''readport'' is, see the relevant
59 entry in __isapnp.conf(5)__. As of the isapnptools 1.12
60 release, any existing configuration settings will be
61 unaffected.
62
63
64 If a single parameter is provided, this will be used as the
65 minimum ''readport'' address to start scanning. This may
66 be chosen to avoid an unfortunate conflict.
67
68
69 To skip the Isolation process, both additional parameters
70 may be supplied:
71
72
73 __Parameters__
74
75
76 ''devs'' is the ''number of PnP cards'' that the BIOS
77 has found,
78
79
80 ISOLATEd and allocated CSNs to in the system. Note that if
81 this is greater than the actual number of cards in the
82 system, pnpdump will stop scanning when it receives a first
83 serial identifier byte of 0xff (this is what happens when
84 there isn't a card with that CSN).
85
86
87 If this parameter is provided, then __pnpdump__ will not
88 ISOLATE each card and assign CSNs, however, the
89 ''readport'' provided must be the same as the one the
90 BIOS used. This could be difficult to determine if it is not
91 assigned via a BIOS setup screen.
92
93
94 ''readport'' is the address of the ''readport'' to use
95 for the
96
97
98 Plug-And-Play access. The number base is determined by the
99 format: a leading ''0x'' implies hex, a leading ''0''
100 implies octal, otherwise decimal is assumed.
101
102
103 The address of the ''readport'' must be chosen to avoid
104 any conflicts with existing (non Plug and Play) hardware,
105 and must be in the range 0x203..0x3ff.
106
107
108 If the ''readport'' is specified without ''devs'',
109 then this is the minimum ''readport'' to use when
110 scanning for a suitable one.
111
112
113 Note that for the two parameter option to work, you must
114 have a PnP BIOS which has already carried out the ISOLATION
115 process correctly, and you must know what ''readport''
116 address the BIOS used.
117
118
119 __pnpdump__ will run with real-time scheduling if
120 possible to achieve the required IO timings. This will lock
121 out all normal programs while it executes. In version 1.19
122 and later of __isapnptools__, __pnpdump__ will only
123 run in this mode for 5 seconds (or as set on the command
124 line), it then reverts to standard scheduling like any other
125 program. Previous versions should only be run from a
126 standard console as ^C will kill it from there. If you run
127 the command remotely (and X counts as remote), you will not
128 be able to kill it as no other programs can
129 run.
130
131
132 __Options__
133
134
135 ''-h, --help''
136
137
138 Show a help summary.
139
140
141 ''-c, --config''
142
143
144 attempt to determine safe settings to which the devices can
145 be set, and uncomment those settings in the output. pnpdump
146 will use information in the /proc filesystem and the
147 contents of the /etc/isapnp.gone file to discover system
148 resources that have already been allocated, if these
149 facilities are available on the system.
150
151
152 Note that if the resource allocation is impossible, pnpdump
153 is not intelligent enough to realise this and may hang
154 trying to find a solution.
155
156
157 ''-d, --dumpregs''
158
159
160 this will cause pnpdump will dump all the standard
161 configuration registers for each board.
162
163
164 Note that this dump is dumping the physical registers, and
165 will thus show the settings that have been put in there by
166 the BIOS, or some cards will put a default setting in.
167 Unused registers read back as 0.
168
169
170 ''-D, --debug-isolate''
171
172
173 this will cause pnpdump to output loads of extra
174 information, showing the actual data received during the
175 isolation process. You'll probably need the ISAPnP spec to
176 work out what it means.
177
178
179 ''-i, --ignorecsum''
180
181
182 this will cause pnpdump will ignore checksum errors when
183 deciding if the readport address is good. Section 3.3.2 of
184 the spec suggests that a bad checksum should cause the
185 ''readport'' to be rejected. In reality, it seems to be
186 possible for the checksum to be bad for reasons other than a
187 ''readport'' address conflict, and in this situation all
188 ''readport'' addresses will be rejected resulting in no
189 boards found.
190
191
192 Using this flag allows the boards to still be found. Boards
193 with a bad identifier checksum will have the identifier
194 corrected by the resource data if the resource data
195 identifier has a good checksum.
196
197
198 ''-r, --reset''
199
200
201 Carry out a full configuration reset, rather than just
202 resetting the CSNs. __DANGEROUS__ as this could reset PnP
203 boards in active use by the kernel, resulting in a lockup or
204 worse.
205
206
207 ''-m, --masks''
208
209
210 Print the lists of acceptable interrupts and direct memory
211 access (DMA) channels as binary bitmasks. For example, print
212
213
214 ''-o, --outputfile=filename''
215
216
217 write all output to the file specified, rather than stdout.
218 This option is not available in the DOS
219 version.
220
221
222 ''-t t, --max-realtime=t''
223
224
225 Set the maximum time the process can run at real-time
226 priority to ''t'' seconds. If ''t'' is set to 0, the
227 timeout is disabled; in this case you __must__ run the
228 program from a normal text console to allow it to be aborted
229 via control-C if it hangs. The default timeout is 5 seconds.
230 After the timeout has expired, the process runs with normal
231 scheduling, which means it may go a lot slower, but will
232 prevent locking up the comupter (if it hangs while running
233 under X windows for example). This option is only available
234 when compiled with real time scheduling
235 support.
236
237
238 ''-s, --script[[=outputscript]''
239
240
241 write a shell script to the specified file that can be used
242 to configure the system based on what ISA PnP boards were
243 found and how they were configured. Note that the script
244 generated uses array variables, so you need bash version 2
245 and later to run them. This option is not available in the
246 DOS version.
247
248
249 If --script is specified without an argument, then the
250 script is piped (using popen) directly into a shell (sh)
251 process. This is really useful only with
252 --config.
253
254
255 For each card, the script tries to execute the shell script
256 /etc/pnp/config-scripts/isa/PRODUCT_ID or, failing that,
257 /usr/share/pnp/config-scripts/isa/PRODUCT_ID. The generated
258 shell script will try the compatible device ID's if any can
259 any are in the ISA PnP information and no script for the
260 device itself can be found.
261
262
263 The /usr/share directory contents are the standard location,
264 while the /etc directory is for you to put your customized
265 versions of these scripts. You should write these shell
266 scripts to generate the file /etc/conf.modules.isapnp at
267 boot time, and then do something like
268
269
270 ''-v, --version''
271
272
273 Print the isapnptools version number on stderr.
274 !!FILES
275
276
277 /sbin/pnpdump
278
279
280 The executable.
281
282
283 /etc/isapnp.conf
284
285
286 The resting place of the editted output.
287 /etc/isapnp.gone The standard place for describing
288 resources that are unavailable, but not flagged as such in
289 /proc/* etc. The format of this file is explained in the
290 example provided with __isapnptools__.
291 !!BUGS
292
293
294 If the resource allocation is impossible, pnpdump -c is not
295 intelligent enough to realise this and may hang trying to
296 find a solution.
297
298
299 Check http://www.roestock.demon.co.uk/isapnptools/ for
300 latest information and FAQ.
301
302
303 If you think you have found one not mentioned in the latest
304 version, please send a report to
305 isapnp@roestock.demon.co.uk.
306 !!WARNING
307
308
309 This program can reset all your Plug-and-Play devices. It
310 can also lock up your machine. Use at your own
311 risk.
312 !!AUTHOR
313
314
315 __pnpdump__ has been written by Peter Fox
316 __
317 !!AVAILABILITY
318
319
320 The latest version of the sources may be obtained by ftp
321 from ftp://ftp.demon.co.uk/pub/unix/linux/utils
322 Or follow the pointer from my web page at
323 http://www.roestock.demon.co.uk/isapnptools/
324 !!REFERENCES
325
326
327 Plug and Play ISA Specification, Version 1.0a, May 5, 1994.
328 Available from
329 ftp://ftp.microsoft.com/developr/drg/Plug-and-Play/Pnpspecs
330 !!SEE ALSO
331
332
333 isapnp(8), isapnp.conf(5)
334 ----
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.