File: DRIVES

package info (click to toggle)
xmcd 2.6-17sarge1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 3,464 kB
  • ctags: 5,075
  • sloc: ansic: 51,322; sh: 4,039; makefile: 82; pascal: 67
file content (418 lines) | stat: -rw-r--r-- 16,997 bytes parent folder | download | duplicates (5)
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
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
@(#)DRIVES	6.17 00/02/04

SUPPORTED CD-ROM, CD-R and CD-RW DRIVES
---------------------------------------

This release of xmcd and cda should work with the following CD-ROM,
CD-R and CD-RW drives:

    Acer
	CD-610A (#), CD-632A (#), CD-636A (#), CD-640A (#), CD-912E (#)
    Apple
	CD SC+, CD-150, CD-300, CD-300i, CD-300e, CD-600e
    Aztech
	CDA268-01A (#)
    Chinon
	CDS-431 (@), CDX-431 (@), CDS-435 (@), CDX-435*, CDS-525, CDX-525,
	CDS-535, CDX-535, CDS-545, CDX-545
    Compaq
	CDU-561, CR-503BCQ, CRD-8322
    Compro
	CDR-7501
    Creative Labs
	CD-ROM (#), CD1220S
    Digital Equipment Corporation
	RRD42, RRD43, RRD44, RRD45, RRD46
    Goldstar
	CRD-8160 (#), CRD-8240 (#), CRD-8241 (#), CRD-8322 (#),
	GCD-R540 (#), GCD-R580 (#)
    Hewlett Packard
	XM-3301, XM-3401, XM-3501, XM-3601, XM-4101, CD-Writer 4020,
	CD-Writer 6020, CD-Writer 7100, CD-Writer 7200,
	ATAPI/IDE (Teac CD-532E, others) (#)
    Hitachi
	CDR-1650S, CDR-1750S, CDR-1950S, CDR-3650, CDR-3750, CDR-6750,
	CDR-7730 (#), CDR-7830 (#), CDR-7930 (#), CDR_8030 (#),
	CDR-8130 (#)
    IBM
	3509-705, 7210-001, 7210-005, 7201-010, CRMC-FX400C (#), Ext-ISA (#)
    Kenwood
	UCR-415
    Longshine
	LCS-7260 (#)
    Media Vision
	CDR-H93RMV, Reno
    Micro Design International
	600CD4X, SE6CDI
    Mitsumi
	FT-810T (#), FX-001S (#). FX-001D (#), FX-001DE (#),
	FX-120T (#), FX-140S2 (#), FX-320S (#), FX-400B (#), FX-600B (#),
	FX-800S (#), FX-1200 (#), FX-1600 (#), FX-4010 (#), LU-005S (#)
    Nakamichi
	MBR-7, MBR-7.4, MJ-4.8s, MJ-5.16 (#), MJ-5.16s
    NEC
	CDR-25, CDR-37, CDR-38 (*), CDR-55, CDR-72, CDR-74, CDR-77,
	CDR-80, CDR-82, CDR-84, CDR-74-1 (*), CDR-84-1 (*), CDR-210P,
	CDR-222S, CDR-251 (#), CDR-260 (#), CDR-260R (#), CDR-272 (#),
	CDR-273 (#), CDR-400, CDR-401, CDR-462, CDR-500, CDR-501, CDR-502,
	CDR-510, CDR-511, CDR-512, CDR-600, CDR-601, CDR-602, CDR-900,
	CDR-1410, CDR-1450, CDR-1460, CDR-1610, CDR-1810, CDR-1800 (#),
	CDR-1900 (#), CDR-1901 (#), CDR-1910, CDR-3460, CDR-4300A (#)
    Optics Storage
	8000AT (#)
    Kotobuki/Matsushita/Panasonic
	CR-501B, CR-502B, CR-503B, CR-504B, CR-506B, CR-521 (#),
	CR-522 (#), CR-523 (#), CR-562 (#), CR-563 (#), CR-572 (#),
	CR-574 (#), CR-581 (#), CR-583 (#), CR-584 (#), CR-585 (#),
	CR-8005, CW-7501, CW-7502, LF-1004, LK-MC606BP, LK-MC686BP (#)
    Okano/Wearnes
	CDD110 (#)
    Orchid
	CD-3110 (#)
    Philips/LMS
	CDD2600, CDD3600, CM206 (#), PCA80SC
    Pioneer
	DRM-600, DRM-600A, DRM-610, DRM-602X, DRM-604X (*)(@), DRM-624X,
	DRM-1804X, DRM-6324X, DR-411 (#), DR-433, DR-444 (#), DR-466S,
	DR-533, DR-U06S, DR-U24X, DR-U104X, DR-U124X, DR-UA124X (#)
    Plextor/Texel
	DM-3024 (@), DM-5024 (@), DM-3028, DM-5028, PX-43C, PX-45C,
	PX-63C, PX-65C, PX-83C, PX-85C, PX-12X, PX-20X, PX-32X, PX-40X,
	PX-R412, PX-R820T
    Procom
	CDT4-3X, CDT4-DS, CDT4-MX, CDT7-3X, CDT7-DS, DSP-DR0020,
	ICD-MX, MCD-DS, MCDN-3X, SICD-DS, SICDN-3X, SXCD-DS, SXCDN-3X
    Regal
	CDC-4X
    Ricoh
	MP6200S
    Samsung
	SC-140B (#)(@), SCR-2430 (#). SCR-3230 (#), SCR-3232 (#)(@)
    Sanyo
	CRD-254P (#), CRD-254S, CRD-820P (#), CDR-C3G (#), CDR-H93RMV
    Silicon Graphics
	XM-3301, XM-3401, XM-3501, XM-5401
    Sony
	CDR-111 (#), CDU-31A (#), CDU-33A (#), CDU-55E (#), CDU-55S,
	CDU-76E (#), CDU-76S, CDU-311 (#), CDU-415, CDU-511 (#),
	CDU-524E (#), CDU-531 (#), CDU-535 (#), CDU-541, CDU-561,
	CDU-611 (#) CDU-701 (#), CDU-711 (#), CDU-6111, CDU-6211,
	CDU-7205N (#), CDU-7211, CDU-7811, CDU-8002, CDU-8003, CDU-8003A,
	CDU-8012 (@), CSD-76S, CSD-880E (#)
    Stratus
	D756, D758, D850, D855, D857, D859
    Sun
	ATAPI/IDE (Goldstar CRD-8240, others) (#), Sony (CDU-541,
	CDU-8012) (@), Toshiba (XM-4101, XM-5401, XM-5701, XM-6201)
    Tatung
	CD-1216E (#)
    Teac
	CD-50, CD-55A (#), CD-56E (#), CD-56S, CD-512E (#), CD-512S,
	CD-516S, CD-516E (#), CD-524E (*), CD-524S, CD-532E (#),
	CD-532S, CD-R50S
    Toshiba
	XM-3101, XM-3201, XM-3301, XM-3401, XM-3501, XM-3601, XM-3701,
	XM-3801, XM-4101, XM-5201, XM-5301, XM-5302 (#), XM-5401,
	XM-5402 (#), XM-5601, XM-5602 (#), XM-5701, XM-5702 (#),
	XM-5901, XM-6002 (#), XM-6102 (#), XM-6201, XM-6302 (#),
	XM-6401, XM-6502 (#), XM-8100
    Yamaha
	CDE-100, CDR-100, CDE-102, CDR-102, CRW-4260S, CRW-4416S

    Other SCSI-2 compliant CD-ROM/CD-R/CD-RW drives
    Other non-SCSI CD-ROM/CD-R/CD-RW drives (#) (driver support required)

Units denoted with a (#) symbol are currently supported only on
certain OS platforms that contain the proper device driver for the
CD-ROM drive.  These drives are either typically used with an ATAPI
or proprietary interface card or a sound card.  See the "NON-SCSI
CD-ROM DRIVES" section below for details.

Units denoted with a (@) symbol have additional notes below in the
CD-ROM NOTES section.

Units denoted with a (*) symbol can be configured to operate in the
SCSI-1 or SCSI-2 mode (via jumpers or DIP switch).  You must configure
the xmcd software accordingly (with the XMCDLIB/config/config.sh
program).  Depending upon the specific model, you may find that xmcd/cda
supports more features while operating in SCSI-2 mode.  See the CD-ROM
drive owner's manual for details about setting the mode.

For multi-disc changers, please refer to the MULTI-DISC CHANGERS
section below.

If your drive is not listed above, you should first try configuring xmcd
for another drive model (of the same type) from the same manufacturer
This would usually give you a higher chance that the configuration is
correct for your drive, compared to selecting the "Other (SCSI)" or
"Other (non-SCSI)" option.

The author cannot personally test all these drives, therefore much
of this information relies on user feedback.  If you have success using
xmcd with a drive not listed above, please contact xmcd@amb.org.

See the "CD-ROM NOTES" section below for information specific to
some of the CD-ROM drives.


CD-ROM NOTES
------------

The Chinon CDx-431 and CDx-435 drives do not support commands to
implement audio pause and resume operations.  Thus, these features
are non-functional when these drives are used with xmcd/cda.  The
CDx-525, CDx-535 and CDx-545 units do not have this limitation.

Pioneer DRM-604X units with revisions of the firmware prior to 2403
must be configured to operate in the SCSI-1 mode (DRM-600 emulation,
via back panel DIP switches), and xmcd/cda must be configured as if
it's operating a DRM-600.  Newer DRM-604X units (firmware version 2403
and later) can be set up to run in SCSI-2 mode, and xmcd/cda must be
set up accordingly.

The Plextor/Texel DM-x024 drive firmware should be version 1.10 or
later to avoid system lockups.  The DM-x028 drives do not have these
restrictions.

Some of the Sun CD-ROM drives (Sony OEM CDU-8012) have a firmware
problem that can lead to a temporary SCSI bus hang after ejecting
a CD with xmcd.  The workaround is to increase xmcd's
insertPollInterval configuration parameter to 4000 milliseconds or
more.  See the XMCDLIB/config/common.cfg file.

Due to a quirk with the drive, the Samsung SC-140B and SCR-3232
will stop after playing a track.  The workaround is to define a
play program of all tracks.

To avoid possible SCSI bus lock-up, never eject the disc using the
eject button on the front panel of the Hitachi SCSI-1 CD-ROM drives
while the unit is playing audio.  Use the software eject function of
xmcd/cda instead.  Also, you may wish to adjust the searchSkipBlocks
and searchPauseInterval configuration parameters to achieve the best
audio sampling effect during xmcd's REW and FF search operations.

Note that even if a CD-ROM drive is marketed as SCSI-2 compliant, it
still may not implement the full set of audio-related commands that
xmcd/cda requires.

The supported SCSI drives listed above will work only when connected
via a proper SCSI host adapter board.  Some x86 PC platforms use SCSI
CD-ROM drives but they are connected to sound cards that use a
proprietary interface.  These may work if xmcd/cda is configured
to operate the unit as a non-SCSI drive (see below).

Some older CD-ROM drives do not function well when the SCSI host adapter
board is configured to "synchronous negotiation" mode.  Examples of
these include certain NEC and Hitachi units.  If you experience
malfunctions with xmcd/cda, check the host adapter board configuration
and try disabling the synchronous mode.  On the Adaptec AHA-1542B, there
is a single jumper that controls whether synchronous negotiation is
enabled for all devices on the SCSI bus.  On more recent Adaptec SCSI
adapters, synchronous negotiation is configurable via the SCSISelect
setup program, and is settable on a per-ID basis.  Please consult your
SCSI host adapter board owner's manual for information.

Some CD drives take a long time to spin up.  If you encounter an error
when starting playback of a CD, you may need to adjust the
"spinUpInterval" parameter in your XMCDLIB/config/DEVICE file (where
DEVICE is the basename of the CD-ROM special file).


NON-SCSI CD-ROM DRIVES
----------------------

This release of xmcd and cda supports non-SCSI CD-ROM drives on
certain OS platform only.  These platforms currently consists of
the following:

    BSDI BSD/OS 3.x
    Digital UNIX 4.x
    FreeBSD
    HP-UX 10.20 and later
    IBM AIX 4.x
    Linux
    NetBSD
    OpenBSD
    QNX
    SCO Open Server release 5.x
    Sun Solaris 2.x and later

On the AIX, FreeBSD, Linux, NetBSD, OpenBSD, QNX and Solaris
platforms, xmcd/cda must be configured to operate in the appropriate
"ioctl method" when used with these drives (rather than the "SCSI
pass-through method").  See the "deviceInterfaceMethod" parameter in
the XMCDLIB/config/DEVICE file (where DEVICE is the basename of the
CD-ROM special file).

On AIX, BSDI BSD/OS, Tru64 UNIX (Digital UNIX), HP-UX, SCO OSR5 and
Solaris, the only non-SCSI drives supported are ATAPI drives.
For SCO OSR5, you must use the ATAPI BTLD from SCO for these drives.
The BSDI, Tru64 UNIX (Digital UNIX), HP-UX and SCO OSR5 platforms
support the ATAPI/IDE drives via SCSI emulation.  Thus, xmcd/cda will
still operate in the SCSI pass-through method with these drives.

The specific list of non-SCSI drives supported depends upon the
configuration of the OS host CD-ROM driver.  You should make sure
that a driver for your non-SCSI CD-ROM drive is present in your
kernel (or can be added to your kernel).  Without the appropriate
driver, xmcd/cda will not work.

On Linux, refer to the /usr/src/linux/Documentation/cdrom/*
files for details about the drivers in your version of the kernel.

Not all CD-ROM drivers are present in all versions of your OS.
Older versions may lack some of these.  Also, the specific CD-ROM
drives  and features supported by these drivers are also version-
dependent.

See your OS documentation about configuring a kernel to use these
drivers.

Some CD-ROM drive/controller and OS driver combinations may not work
reliably.  Please refer to your OS documentation for the currently
supported list of drives and controllers.

Although the SunOS/Solaris/Linux ioctl method will also work with
many SCSI CD-ROM drives on the Linux, SunOS 4.1.x and Solaris platforms,
it offers less features than the SCSI pass-through method and is thus
not recommended for SCSI drives.  Likewise, the FreeBSD/NetBSD/OpenBSD
ioctl method should only be used with non-SCSI drives.

On QNX, the QNX ioctl method should be used for all CD-ROM drives
(including SCSI drives) due to the lack of the SCSI pass-through
method.

The AIX IDE ioctl method is normally disabled.  You must explicitly
define -DAIX_IDE in the libdi_d directory when compiling xmcd/cda
to enable it.


MULTI-DISC CHANGERS
-------------------

This version of xmcd/cda supports the use of multi-disc changers
and jukeboxes.  Depending upon the type of disc changer you have,
You must select one of the following methods to enable the disc
change capability:

1. SCSI LUN addressing method:

    This is for SCSI changers that occupy one SCSI ID, but allows
    software selects the disc via the LUN (logical unit number)
    address.

    This method is used only for SCSI disc changers that support
    eight discs or less.

    In order for this method to work, your OS platform must support
    separate device nodes for each LUN of the device.  Thus, for
    a 6-disc changer, there must be six separate device nodes for
    the changer, one for each of the "slots".  Not all platforms
    support this.  On platforms that don't have separate nodes for
    each LUN, xmcd/cda will not be able to change discs.

    This method has been tested and works on HP-UX 9.x and 10.x,
    Linux 2.x, Solaris 2.x and UnixWare 2.x.  It may work on other
    platforms, but I have not tested on them.  If you get this method
    to work on a platform not listed here, please drop me a note at
    xmcd@amb.org to let me know.

    On the HP-UX 9.x platforms, the minor device number should be
    0x201xy0, where x is the SCSI ID and y is the LUN number.
    This is documented incorrectly in some HP manuals.  Your device
    nodes should look something like this (this example has SCSI ID 6,
    6 discs):

    crw-r--r--   1 root     sys    7 0x201600   /dev/rdsk/c201d6s0
    crw-r--r--   1 root     sys    7 0x201610   /dev/rdsk/c201d6s1
    crw-r--r--   1 root     sys    7 0x201620   /dev/rdsk/c201d6s2
    crw-r--r--   1 root     sys    7 0x201630   /dev/rdsk/c201d6s3
    crw-r--r--   1 root     sys    7 0x201640   /dev/rdsk/c201d6s4
    crw-r--r--   1 root     sys    7 0x201650   /dev/rdsk/c201d6s5

2. SCSI medium-changer method:

    This is for SCSI changers that occupy one SCSI ID, with the
    player on one LUN and a medium changer mechanism on another LUN.
    Another variation of this is to have the player on one SCSI ID
    and the medium changer mechanism on another SCSI ID.

    This is typically used on SCSI CD-ROM jukeboxes that support 
    more than eight discs.

    In order for this method to work, your OS platform must support
    a device node for the CD player as well as a separate device node
    for the medium changer mechanism.  Not all systems support this.
    On platforms that don't have a separate node for the medium changer,
    xmcd/cda will not be able to change discs.  Platforms that support
    this interface includes Linux 2.x, UnixWare 2.x/7.x and HP-UX 10.x
    and later.  The medium changer device for each of these platforms are:

    Linux: /dev/sgX	where X is a letter or digit.  Typically X would
			correspond to the order that the device appears
			in the output of "cat /proc/scsi/scsi".

    UnixWare: /dev/mc/mcX
			where X is a digit corresponding to the medium
			changer's instance number.  See mc01(7).

    HP-UX: /dev/rscsi/cXXtYdZ
			where XX is a controller number, Y is the
			SCSI ID and Z is the LUN number.  See
			scsi_ctl(7).

    This method currently is specifically coded for the Pioneer
    DRM-1804X 18-disc changer.  It may also work with other changers
    with a similar software interface.

    Note that in order to use xmcd on a Linux kernel older than 2.0.30
    with the Pioneer DRM-1804X (or other CD changers with a medium changer
    device), you need to make a modification to the SCSI command timeout
    limit in your Linux SCSI driver.  Locate the following kernel source
    file:

        /usr/src/linux/drivers/scsi/scsi_ioctl.c

    Change the MAX_TIMEOUT definition from 9 seconds to at least 120
    seconds:

    Was:
    #define MAX_TIMEOUT  (9 * HZ)

    Change to:
    #define MAX_TIMEOUT  (120 * HZ)

    You then need to rebuild the kernel, install it and reboot to have
    it take effect.  See the /usr/src/linux/README file for details.

3. Non-SCSI OS ioctl method:

    This is for non-SCSI units which has OS ioctl support in the
    CD-ROM driver for disc change operations.

    Currently, this method will work only on late versions of Linux
    kernel 2.0.x and Linux 2.1.x and later.  Moreover, it works
    only for ATAPI/IDE changers via the "ide-cd" driver.  See the
    /usr/src/linux/Documentation/cdrom/ide-cd file for details about
    which drives are supported.

    Due to problems in some versions of the ide-cd driver xmcd/cda
    may have problems changing discs when there are empty slots in
    the CD changer.


The changer control method is configured via the mediumChangeMethod,
numDiscs and deviceList parameters.  These are set up for you when
you install xmcd, or when you run the LIBDIR/xmcd/config.config.sh
script.

Note that if the "multi-play" option is enabled, xmcd/cda scans
each changer slot in order, after a disc is ejected.  This is in
support of changers that have individually eject-able discs.  On
changers that use a magazine (where all discs are ejected at once),
after the magazine is reinserted, xmcd may "land" on the first CD
that it detects while scanning.  This is not necessarily the first
disc in the magazine.  Also, on changers that have individually
eject-able slots, the "auto-eject on done" feature will only eject
the first disc when the "multi-play" mode is finished.