|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | 03-May-2022 | - |
| COPYING | H A D | 10-Apr-2009 | 2.3 KiB | 58 | 39 |
| LICENSE | H A D | 10-Apr-2009 | 2.3 KiB | 58 | 39 |
| LIMITATIONS | H A D | 10-Apr-2009 | 2.3 KiB | 58 | 39 |
| Makefile | H A D | 21-Apr-2013 | 2 KiB | 67 | 52 |
| Makefile.dfl | H A D | 14-May-2010 | 736 | 21 | 10 |
| Makefile.doc | H A D | 13-Jun-2007 | 849 | 21 | 9 |
| Makefile.man | H A D | 19-Nov-2000 | 681 | 19 | 9 |
| README | H A D | 20-Nov-2020 | 13.1 KiB | 461 | 384 |
| README.ATAPI | H A D | 20-Nov-2020 | 23.5 KiB | 602 | 443 |
| README.DiskT@2 | H A D | 19-May-2004 | 2 KiB | 64 | 43 |
| README.WORM | H A D | 08-Feb-1998 | 383 | 11 | 7 |
| README.audio | H A D | 19-May-2004 | 2.1 KiB | 51 | 39 |
| README.cdplus | H A D | 29-Jan-2009 | 2.2 KiB | 76 | 47 |
| README.cdrw | H A D | 28-May-2000 | 471 | 14 | 10 |
| README.cdtext | H A D | 08-Apr-2010 | 2 KiB | 62 | 42 |
| README.clone | H A D | 23-Aug-2004 | 585 | 27 | 14 |
| README.copy | H A D | 09-Dec-2002 | 1.8 KiB | 53 | 33 |
| README.multi | H A D | 19-May-2004 | 6.5 KiB | 191 | 125 |
| README.parallel | H A D | 01-Apr-2001 | 1.5 KiB | 56 | 39 |
| README.raw | H A D | 19-May-2004 | 2.3 KiB | 70 | 42 |
| README.rscsi | H A D | 03-May-2022 | 4.2 KiB | 124 | 82 |
| README.solaris-x86-ATAPI-DMA | H A D | 24-Nov-2004 | 2.9 KiB | 80 | 69 |
| README.solaris-x86-ata-DMA | H A D | 21-Jun-2003 | 4 KiB | 93 | 83 |
| README.sony | H A D | 19-May-2004 | 1.1 KiB | 30 | 19 |
| README.sun-lofi | H A D | 04-Jun-2000 | 604 | 21 | 15 |
| README.verify | H A D | 03-Dec-2014 | 2.5 KiB | 88 | 53 |
| README.volmgt | H A D | 02-Jan-2004 | 1.8 KiB | 45 | 37 |
| Rata-dma.mk | H A D | 13-Jun-2007 | 682 | 17 | 6 |
| Ratapi-dma.mk | H A D | 13-Jun-2007 | 686 | 17 | 6 |
| Ratapi.mk | H A D | 13-Jun-2007 | 666 | 17 | 6 |
| Raudio.mk | H A D | 13-Jun-2007 | 666 | 17 | 6 |
| Rcdplus.mk | H A D | 13-Jun-2007 | 668 | 17 | 6 |
| Rcdrw.mk | H A D | 13-Jun-2007 | 664 | 17 | 6 |
| Rcdtext.mk | H A D | 13-Jun-2007 | 668 | 17 | 6 |
| Rclone.mk | H A D | 13-Jun-2007 | 666 | 17 | 6 |
| Rcopy.mk | H A D | 13-Jun-2007 | 664 | 17 | 6 |
| Rdisktattoo.mk | H A D | 13-Jun-2007 | 673 | 17 | 6 |
| Rmulti.mk | H A D | 13-Jun-2007 | 666 | 17 | 6 |
| Rparallel.mk | H A D | 13-Jun-2007 | 672 | 17 | 6 |
| Rraw.mk | H A D | 13-Jun-2007 | 662 | 17 | 6 |
| Rrscsi.mk | H A D | 13-Jun-2007 | 666 | 17 | 6 |
| Rsony.mk | H A D | 13-Jun-2007 | 664 | 17 | 6 |
| Rsun-lofi.mk | H A D | 13-Jun-2007 | 672 | 17 | 6 |
| Rverify.mk | H A D | 13-Jun-2007 | 668 | 17 | 6 |
| Rvolmgt.mk | H A D | 13-Jun-2007 | 668 | 17 | 6 |
| Rworm.mk | H A D | 13-Jun-2007 | 664 | 17 | 6 |
| adip.h | H A D | 13-Sep-2006 | 890 | 38 | 30 |
| audiosize.c | H A D | 05-Jul-2009 | 7.4 KiB | 288 | 199 |
| auheader.h | H A D | 09-May-1998 | 789 | 28 | 6 |
| auinfo.c | H A D | 19-Dec-2010 | 12.5 KiB | 617 | 502 |
| build_all.com | H A D | 22-Oct-2002 | 6.9 KiB | 120 | 119 |
| build_all.com.old | H A D | 05-Mar-2002 | 5 KiB | 99 | 98 |
| build_cdrecord.com | H A D | 13-Jan-2004 | 2.7 KiB | 64 | 63 |
| cd_misc.c | H A D | 19-Dec-2010 | 3.9 KiB | 194 | 141 |
| cdr_drv.c | H A D | 19-Dec-2010 | 9.1 KiB | 412 | 342 |
| cdrecord.1 | H A D | 03-May-2022 | 103.5 KiB | 3,632 | 3,591 |
| cdrecord.c | H A D | 08-Jan-2019 | 145.6 KiB | 5,554 | 4,331 |
| cdrecord.dfl | H A D | 03-May-2022 | 2.3 KiB | 69 | 64 |
| cdrecord.h | H A D | 16-Oct-2019 | 46.8 KiB | 1,249 | 807 |
| cdtext.c | H A D | 03-Apr-2011 | 13.6 KiB | 605 | 486 |
| cdtext.h | H A D | 02-Mar-2004 | 4.3 KiB | 131 | 75 |
| clone.c | H A D | 19-Dec-2010 | 6.1 KiB | 268 | 201 |
| crc16.c | H A D | 05-Jul-2009 | 5.1 KiB | 164 | 112 |
| crc16.h | H A D | 04-Mar-2002 | 821 | 27 | 6 |
| cue.c | H A D | 08-Jan-2019 | 39.5 KiB | 1,715 | 1,351 |
| diskid.c | H A D | 19-Dec-2010 | 16.8 KiB | 528 | 408 |
| drv_7501.c | H A D | 19-Dec-2010 | 27.3 KiB | 1,092 | 866 |
| drv_bd.c | H A D | 09-Dec-2013 | 48.8 KiB | 1,930 | 1,410 |
| drv_dvd.c | H A D | 09-Dec-2013 | 54 KiB | 2,178 | 1,599 |
| drv_dvdplus.c | H A D | 15-Mar-2012 | 49.8 KiB | 1,992 | 1,441 |
| drv_jvc.c | H A D | 19-Dec-2010 | 35.4 KiB | 1,502 | 1,125 |
| drv_mmc.c | H A D | 15-Mar-2012 | 93.1 KiB | 3,920 | 3,087 |
| drv_philips.c | H A D | 19-Dec-2010 | 35.8 KiB | 1,449 | 1,268 |
| drv_simul.c | H A D | 19-Dec-2010 | 11.4 KiB | 484 | 392 |
| drv_sony.c | H A D | 15-Mar-2012 | 36.6 KiB | 1,445 | 1,188 |
| fifo.c | H A D | 22-Apr-2015 | 20.6 KiB | 930 | 694 |
| iso9660.h | H A D | 02-Mar-2004 | 5 KiB | 168 | 130 |
| isosize.c | H A D | 03-Jan-2010 | 2.4 KiB | 109 | 70 |
| misc.c | H A D | 17-Feb-2014 | 2.1 KiB | 87 | 57 |
| mmcvendor.h | H A D | 13-Sep-2006 | 2.2 KiB | 75 | 48 |
| movesect.c | H A D | 05-Jul-2009 | 2.4 KiB | 100 | 44 |
| movesect.h | H A D | 02-Jun-2001 | 1.1 KiB | 33 | 10 |
| priv.c | H A D | 12-Oct-2013 | 12.6 KiB | 498 | 306 |
| readme.mk | H A D | 13-Jun-2007 | 660 | 17 | 6 |
| scsi_cdr.c | H A D | 15-Mar-2012 | 75.9 KiB | 3,122 | 2,550 |
| scsi_cdr_mmc4.c | H A D | 19-Dec-2010 | 2.1 KiB | 75 | 43 |
| scsi_mmc.c | H A D | 19-Dec-2010 | 35.3 KiB | 1,595 | 1,320 |
| scsi_mmc4.c | H A D | 10-Jul-2009 | 1.9 KiB | 77 | 41 |
| scsi_scan.c | H A D | 06-Aug-2017 | 5.8 KiB | 279 | 229 |
| scsi_scan.h | H A D | 26-Nov-2006 | 875 | 28 | 5 |
| scsilog.c | H A D | 19-Dec-2010 | 4.1 KiB | 177 | 128 |
| scsilog.h | H A D | 13-Sep-2006 | 3.4 KiB | 114 | 69 |
| scsimmc.h | H A D | 02-Dec-2006 | 21.6 KiB | 626 | 529 |
| sector.c | H A D | 19-Dec-2010 | 6 KiB | 277 | 190 |
| subchan.c | H A D | 16-Jul-2017 | 21.2 KiB | 1,054 | 762 |
| vendor.c | H A D | 14-Sep-2011 | 1.3 KiB | 48 | 22 |
| version.h | H A D | 23-Jul-2021 | 175 | 8 | 2 |
| wm_packet.c | H A D | 19-Dec-2010 | 7.6 KiB | 305 | 246 |
| wm_session.c | H A D | 10-Jul-2009 | 1.3 KiB | 44 | 18 |
| wm_track.c | H A D | 10-Jul-2009 | 1.3 KiB | 43 | 17 |
| xio.c | H A D | 18-Jul-2009 | 4 KiB | 196 | 155 |
| xio.h | H A D | 11-Nov-2006 | 1.4 KiB | 56 | 24 |
README
1# @(#)README 1.30 20/11/21 Copyright 1996-2018 J. Schilling
2
3This is Version 3.02 of cdrecord
4
5Cdrecord allows you to create CD's on a CD-Recorder.
6Cdrecord runs on:
7
8SunOS 4.1.3 or later: m68k sparc
9Solaris 2.3 or later: sparc x86 ppc.
10
11Linux: alpha x86 IA-64 m68k mips mipsel parisc parisc64 ppc s390 sparc sparc64 strongarm
12
13FreeBSD: alpha arm IA-64 powerpc sparc sparc64 x86 x86-64
14NetBSD: alpha amiga x86 m68k sparc
15OpenBSD: x86
16
17AIX: rs6000
18AmigaOS m68k
19Apollo Domain/OS m68k ???
20Apple Rhapsody: ppc, x86
21Apple MacOS X: ppc
22Apple Darwin: ppc
23BeOS: m68k x86
24BSD/OS (BSDi): sparc x86
25Caldera OpenUnix: x86
26HP-UX: hppa
27GNU HURD: x86
28NeXt Step: mc68xxx x86 and hppa
29OS/2: x86
30OSF1: alpha
31SCO Openserver 5.x: x86
32SCO Unixware 2.x: x86
33SCO Unixware 7.x: x86
34SGI IRIX: mips
35Win95: x86
36Win98: x86
37WinME: x86
38WinNT: x86
39WinNT-5 (aka Win2000): x86
40WinNT-5.1 (aka WinXP): x86
41VMS: *VAX alpha
42QNX: x86 (coming soon)
43
44
45To learn how to compile and install cdrecord, read README.compile
46
47To compile on currently unknown platforms you definitely need 'smake'
48from https://sourceforge.net/projects/s-make/files/ or
49https://sourceforge.net/projects/schilytools/files/
50GNUmake is too dumb to do this job as it does not include automake features
51like 'smake' does.
52
53For multi session please read README.multi
54
55In general, it is a good idea to read all README's and check whether
56they may apply for your needs/problems.
57
58Cdrecord runs without problems on a loaded Solaris system.
59On Solaris, cdrecord uses the SVr4 priocntl() call to establish
60SVr4 real-time scheduling which grants to run cdrecord in a even higher
61priority than all kernel processes. On system that provide POSIX real-time
62scheduling the result may be slightly worse as not all POSIX RT implementations
63grant decent real time behaviour.
64
65The cdrtools distribution contains a SCSI user level transport library
66called libscg. The SCSI library is suitable to talk to any SCSI device without
67having a special device specific driver for it.
68Cdrecord may be easily ported to any system that has a generic SCSI device
69driver similar to the scg driver.
70
71On SunOS/Solaris:
72You *need* the SCSI general driver 'scg' in order to run cdrecord.
73
74SunOS 4.1.3 only:
75 The 'scg' driver is Copyright 1986-1995 J�rg Schilling,
76 it is supplied binary in a loadable format.
77 There is no future support, there is no non loadable support.
78
79Solaris only:
80 The 'scg' driver is Copyright 1986-1995 J�rg Schilling,
81 it is supplied binary in pkgadd(1m) format and is tested
82 on Solaris 2.3, Solaris 2.4 & Solaris 2.5 (sparc).
83
84Solaris only:
85 It is _nice to have_ the 'fbk' driver to mount files that contain
86 images of file systems. Fbk means File simulates Block Device.
87
88 The 'fbk' driver is Copyright 1988-1995 J�rg Schilling,
89 it is supplied binary in pkgadd(1m) format and is tested
90 on Solaris 2.3, Solaris 2.4 & Solaris 2.5 (sparc).
91
92On other OS, libscg uses the SCSI drivers that are present on the system.
93
94Cdrecord-1.3 or later adopts the right BUF_SIZE for each architecture.
95This is to reduce some performance problems on Solaris x86.
96It may be that the reason for this performance problems is that
97the PC-architecture has no IO-MMU and therefore is not able to do DVMA.
98If this points out to be the reason, I have to
99change the scg driver & cdrecord, but this would
100be needed on Linux anyway.
101
102Cdrecord is currently maintained with the following drives:
103
104 Plextor PX-W4824A
105 Plextor PX-W4012A
106 Plextor PX-W2410A
107 Plextor PX-W1210S
108 Plextor PX-W1210A
109 Plextor PX-W124
110 Plextor PX-W8220
111 Plextor PX-W4220
112 Plextor PX-R820
113 Plextor PX-R412C
114 Yamaha F-1
115 Yamaha CRW-2200S
116 Yamaha CRW-2200A
117 Yamaha CRW-2100S
118 Yamaha CRW-4416
119 Yamaha CDR-400
120 Ricoh MP-7040A
121 Ricoh MP-7040S
122 Ricoh MP-7060S (available only to Thomas Niederreiter and Heiko Ei�feld)
123 Ricoh MP-7063A
124 Ricoh MP-7080A
125 Ricoh MP-7083A
126 Ricoh MP-9060A
127 Ricoh MP-7163A
128 Ricoh DVD+RW MP5125 (DVD+ writing not yet supported)
129 HP DVD-200i (DVD+ writing not yet supported)
130 Philips DVD-RW 1208 (DVD+ writing not yet supported)
131 TEAC CD-R55S
132 TEAC CD-R58S
133 TEAC CD-W54E
134 TEAC CD-W28E
135 Sanyo CDR-Bp2
136 Sanyo CDR-Bp3A
137 Sony CDU948S
138 Sony CRX-145E
139 Sony CRX-200E (DDCD writing not supported)
140 COMPRO/Matsushita/Panasonic CW-7502
141 COMPRO/Matsushita/Panasonic CW-7586
142 Philips CDD-2000
143 Philips PCRW-804
144 Goldstar LG 8080
145 AOPEN CRW-4048
146 Cyberdrive CW-038D
147 Cyberdrive CW-078D
148 Pioneer DVD-R A03
149
150It should run also on:
151
152 All SCSI-3/mmc compliant drives
153 All ATAPI/mmc compliant drives
154
155 NOTE:
156
157 It seems that all drives that have been initially released in 1999
158 or later are MMC compliant. If a recent drive does not work with
159 cdrecord, you most likely found a firmware bug in this drive.
160 Contact your drive vendor in this case.
161
162Drives that have been reported to work or should work because
163Andy MCFadden (see also http://www.fadden.com/cdrfaq/faq05.html) listed
164them to be identical to working drives. Note that this list may be outdated
165
166 ACER CR-1420C
167 ACER CDRW 6206A
168 AOPEN CRW9420 (Re-writable)
169 BTC BCE 621E
170 COMPRO CW-7502
171 COMPRO/Matsushita/Panasonic CW-7586
172 Dysan CR-622 ???? See Wearnes 622
173 Dysan CR-1622
174 DynaTec CDM-240J (see Pinnacle RCD-4x4)
175 DynaTec CDM-240 (use cdrecord driver=yamaha_cdr100 and report inquiry)
176 DynaTec CDM-400 (use cdrecord driver=yamaha_cdr100 and report inquiry)
177 Grundig CDR-100
178 Hewlett Packard 4020i
179 Hewlett Packard 6020i
180 HP C4324/C4325 (HP SureStore 4020i/6020i)
181 HP 7100
182 HP 7110
183 HP 7200
184 HP 8100
185 HP 8210
186 HP CD-Writer+ M820
187 Hi-Val CD-R (see Pinnacle RCD-4x4)
188 IMATION CD-RW IMW040420
189 JVC XR-W2001 (uses TEAC code - see below - audio not working)
190 JVC XR-W2010 (uses TEAC code - see below - audio not working)
191 JVC XR-W2020 (uses TEAC code - see below - audio not working)
192 JVC XR-W2080 (first MMC drive from JVC)
193 Kodak PCD-200 or Kodak PCD-200 Plus
194 Kodak PCD-225
195 Kodak PCD-240
196 Kodak PCD-600
197 Matsushita CW-7502
198 Matsushita CW-7503
199 Matsushita CW-7582
200 Matsushita CW-7586
201 Memorex CR-622 ???? See Wearnes 622
202 Memorex CR-1622
203 Memorex CRW-1622
204 Microboards PlayWrite 2000 (use cdrecord driver=sony_cdu924 and report inquiry)
205 Microboards PlayWrite 4000 (use cdrecord driver=yamaha_cdr100 and report inquiry)
206 Microboards PlayWrite 4001RW
207 MicroNet MasterCD Plus 4x4 (use cdrecord driver=yamaha_cdr100 and report inquiry)
208 MicroNet MasterCD Plus 4x6
209 Mitsubishi MCA-CDRW 226
210 Mitsumi CR-2401-TS
211 Mitsumi CR-2600-TE
212 Mitsumi CR-2801-TE
213 Mitsumi CR-4801-TE
214 Mitsumi CR-4802-TE ???
215 Nomai 680.rw
216 Olympus CDS615E
217 Olympus CDS620E (use cdrecord driver=sony_cdu924 and report inquiry)
218 Olympus CD-R2x6 (use cdrecord driver=sony_cdu924 and report inquiry)
219 Optima Dis Kovery 650 CD-R
220 OTI CDRW 965
221 OTI-975 Socrates 1.0 (CDRW)
222 Panasonic CW-7502
223 Panasonic CW-7503
224 Panasonic CW-7582
225 Panasonic CW-7586
226 Philips CDD 521 (CDD521/02 Revision: 2.06 has bad firmware - seems not to work)
227 Philips CDD 521 (upgraded units only: ID: CDD521/10 Revision: 2.07)
228 Philips CDD 522
229 Philips CDD 2000
230 Philips CDD 2600
231 Philips CDD 3600
232 Philips CDD 3610
233 Philips CDRW400
234 Philips Omniwriter 26
235 Philips Omniwriter 26A
236 Philips CDD4201 CD-RW
237 Philips PCRW-804
238 Pinnacle Micro RCD-1000 (see TEAC/JVC): Need to upgrade firmware to 2.35
239 Pinnacle Micro RCD-5020 (see TEAC/JVC - audio not working)
240 Pinnacle Micro RCD-5040 (see TEAC/JVC - audio not working)
241 Pinnacle Micro RCD-4x4
242 Pioneer DW-S114X
243 Plasmon CDR 4220
244 Plasmon RF-4100
245 Plasmon RF-4102
246 Plasmon CDR 4400 (use cdrecord driver=yamaha_cdr100 and report inquiry)
247 Plasmon CDR 480
248 Plextor PX-R24CS (use cdrecord driver=ricoh_ro1420c and report inquiry)
249 Plextor PX-R412C
250 Plextor PX-R820
251 Plextor PX-W4220
252 Plextor PX-W8220
253 Plextor PX-W124
254 Plextor PX-W1210S
255 Plextor PX-W1210A
256 Procom PCDR 4 (use cdrecord driver=yamaha_cdr100 and report inquiry)
257 Ricoh RO-1420C
258 Ricoh MP-6200
259 Ricoh MP-6200I
260 Ricoh MP-6201
261 Ricoh MP-7040A
262 Ricoh MP-7040S
263 Ricoh MP-7060S
264 Ricoh MP-7063A
265 Ricoh MP-7080A
266 Ricoh MP-7083A
267 Ricoh MP-9060A
268 Sanyo CDR-Bp2
269 Sanyo CDR-Bp3
270 Smart & Friendly CD-R1002 (use cdrecord driver=sony_cdu924 and report inquiry)
271 Smart & Friendly CD-R1004 (use cdrecord driver=yamaha_cdr100 and report inquiry)
272 Smart & Friendly CD-R2004 (use cdrecord driver=sony_cdu924 and report inquiry)
273 Smart & Friendly CD-R2006 PLUS
274 Smart & Friendly CD-R2006 PRO
275 Smart & Friendly CD-R4000 (use cdrecord driver=yamaha_cdr100 and report inquiry)
276 Smart & Friendly CD-R4006
277 Smart & Friendly CD-R4012
278 Smart & Friendly CD-RW226
279 Smart & Friendly CD-R8020
280 Sony CDU920S
281 Sony CDU924S
282 Sony CDU926S
283 Sony CDU928S
284 Sony CDU940S
285 Sony CDU948S
286 Sony CRX-100
287 Sony CRX-140
288 Sony CRX-145
289 Taiyo Yuden CD-WO EW-50
290 TEAC CD-R50S
291 TEAC CD-R55S
292 TEAC CD-R56S
293 TEAC CD-R58S
294 TEAC CD-W54E
295 That's Write CDR-N820S
296 Traxdata CDRW-2260EL-PRO
297 Traxdata CDR-4120
298 Traxdata CDRW-4260
299 Turtle Beach 2040R (use cdrecord driver=ricoh_ro1420c and report inquiry)
300 WAITEK WT2036
301 Wearnes CD-R622
302 Wearnes CD-R632P
303 Yamaha CDR-100
304 Yamaha CDR-102
305 Yamaha CDR-200
306 Yamaha CDR-400(Firmware revision 1.0d and up otherwise upgrade)
307 Yamaha CDR-401
308 Yamaha CRW-4001
309 Yamaha CRW-2260
310 Yamaha CRW-2261
311 Yamaha CRW-4260
312 Yamaha CRW-4261
313 Yamaha CRW-4416
314 Yamaha CRW-6416
315 Yamaha CRW-8424
316 Yamaha CRW-2100
317
318Multi-session has not been tested with the Plasmon RF-4100
319
320All companies that support me with SCSI command reference manuals and drives
321will get (continued) support in the following releases.
322
323The following drives will never be supported by cdrecord because they are too old:
324
325 JVC XR-W1001
326 Pinnacle Micro RCD-202
327 Ricoh RS-9200CD
328
329The following drives are currently not supported because I don't get specs:
330(some of them may partially work: see above)
331
332 Creative Labs CDR 4210
333 JVC XR-W2001
334 JVC XR-W2010
335 JVC XR-W2020
336 Pinnacle Micro RCD-1000
337 Pinnacle Micro RCD-5020
338 Pinnacle Micro RCD-5040
339 Plasmon CDR-4240
340 Sony CDW-900E
341
342The following drives may get support soon (If I get time to do so):
343
344 Panasonic CW-7501
345 Ricoh RS-1060C
346
347If you understang German, it makes sense to have a look at http://www.dchlb.de/
348and http://www.brennmeister.com/ for additional information.
349
350To install get:
351
352Solaris only:
353 SCHILYscg.sparc.tar.Z The scg driver in pkgadd format (sparc).
354 SCHILYfbk.sparc.tar.Z The fbk driver in pkgadd format (sparc).
355 SCHILYscg.i386.tar.Z The scg driver in pkgadd format (x86).
356 SCHILYfbk.i386.tar.Z The fbk driver in pkgadd format (x86).
357
358Note that the fbk driver packet is for Solaris 2.4 and not system independent.
359
360All Systems:
361 cdrtools-2.0.tar.gz The cdrtools for source distribution.
362
363NOTE: All these tar archives are 100% ansi compatible. Solaris 2.x tar and GNU
364 tar may get some minor trouble.
365
366WARNING: Do not use 'mc' to extract the tar file!
367 All mc versions before 4.0.14 cannot extract symbolic links correctly.
368
369To unpack the archive use:
370
371 gzip -d < cdrtools-2.0.tar.gz | tar -xpf -
372
373 Replace 'cdrtools-2.0' by the actual archive name.
374
375 If your Platform does not support hard links or symbolic links, you
376 first need to compile "star" and then call:
377
378 star -xpz -copy-links < cdrtools-2.0.tar.gz
379
380 If your platform does not support hard links but supports
381 symbolic links, you only need to call the command above once.
382 If your platform does not support symbolic links, you need to call
383 the command twice because a symbolic link may occur in the archive
384 before the file it points to.
385
386
387
388
389
390The files are located on:
391
392https://sourceforge.net/projects/cdrtools/files/ ...
393https://sourceforge.net/projects/schilytools/files/kernel/scg/ ...
394https://sourceforge.net/projects/schilytools/files/kernel/fbk/ ...
395
396Only use the mkisofs that is contained in this release.
397All other mkisofs versions are too buggy.
398
399
400Installation Process:
401
402Solaris only:
403 1) scg driver
404 untar SCHILYscg.tar:
405 su
406 Password: xxxxx
407 cd /tmp
408 zcat SCHILYscg.tar | tar -xvf -
409 pkgadd -d .
410 reboot -- -r
411
412 2) fbk driver
413 similar to scg driver (see above)
414
415 3) Switch the CD-Writer to an unused target id (2 should do it)
416
417
418NOTE:
419 Be very careful. pkgadd does not check for the right target
420 architecture. Do not install drivers for intel on sparc
421 and vice versa. You will get a corrupt system.
422
423 You need to be root because you need access to /dev/scg? and to be
424 able to put cdrecord into the real-time scheduling class.
425
426All Systems:
427
428The SCSI transport library has been taken from the sformat program.
429Sformat is the first SCSI disk formatting/analyzing/repairing that runs on
430SunOS/Solaris. The first release of sformat has been made for SunOS 3.0
431(two years before Sun introduced their format utility). Sformat source
432including 10 years of competence in SCSI disk handling is available
433on:
434 https://sourceforge.net/projects/schilytools/files/sformat/
435 https://sourceforge.net/projects/schilytools/files/schily-*
436
437I am interested to hear if someone is interested in a kernel based
438filesystem for Solaris that uses packet writing on the CD-Recorder.
439The filesystem will create a single session CD that may be finally converted
440to a hybrid filesystem that allows to be read as
441ISO-9660 with Rock Ridge extensions too.
442Please mail suggestions to: joerg@schily.net
443
444If you want to use the CD-recorder as CD-ROM device, have a look at
445
446Solaris only:
447https://sourceforge.net/projects/schilytools/files/kernel/sd/
448
449Current information on cdrecord may be found on:
450
451 http://cdrecord.org/private/cdrecord.html
452
453
454 Joerg Schilling
455
456 (really J�rg Schilling if you have ISO-8859-1)
457
458If you have questions mail to:
459
460 joerg@schily.net
461
README.ATAPI
1# @(#)README.ATAPI 1.7 20/11/21 Copyright 1997-2004 J. Schilling
2
3People (with a Linux only background) often ask me why do you depend on
4"ATAPI-SCSI emulation", why don't you support generic IDE?
5
6First a note: there is no SCSI emulation on Linux, but there has been
7some kind of SCSI integration. To explain the difference between SCSI emulation
8and SCSI integration let us look at an Operating system that implements both,
9Windows NT:
10
11Win NT implements SCSI integration, if you open "\\\\.\\SCSI%d:", BusNo,
12you will be able to send generic SCSI commands to any SCSI speaking drive
13on that bus. ATAPI drives just show up on a specific Busnumber, SCSI drives
14that use a 50 or 68 pin connector show up on different Bus numbers.
15Note that Microsoft obviously did copy my ideas I did implement in August 1986
16for SunOS-3.0 :-)
17
18Win NT implements SCSI emulation by not only showing drives that natively
19talk SCSI on the ATA/IDE cable, if you send generic SCSI commands via ioctl's
20to "\\\\.\\SCSI%d:", BusNo. Win NT also shows you plain ATA drives that do not
21understand SCSI commands in firmware. Win NT allows you to send SCSI
22commands to the kernel and the kernel translates the SCSI commands to ATA
23commands with the same meaning, so Win NT emulates SCSI for ATA drives.
24
25Linux does not emulate SCSI command transport for vanilla ATA drives, so there
26is definitely no SCSI emulation in Linux.
27
28
29 You need to believe me: There is no single IDE burner out!
30 Even a CD-ROM cannot be used decently if you use only IDE/ATA commands.
31 Opening/closing the door, playing audio and similar things
32 cannot be done using vanilla IDE commands - you will need SCSI commands
33 to do this. But how do we do this with a drive that uses an IDE
34 interface?
35
36 ATAPI stands for ATA Packet Interface
37
38 The ATAPI standard describes method of sending SCSI commands over IDE
39 transport with some small limitations to the "real" SCSI standard.
40 SCSI commands are send via IDE transport using the 'ATA packet'
41 command. There is no SCSI emulation - ATAPI drives include native
42 SCSI command support. For this reason, sending SCSI commands to ATAPI
43 drives is the native method of supporting ATAPI devices. Just imagine
44 that IDE is one of many SCSI low level transport mechanisms.
45
46 This is a list of some known SCSI transports:
47
48 - Good old Parallel SCSI 50/68 pin (what most people call SCSI)
49 - SCSI over fiber optics (e.g. FACL - there are others too)
50 - SCSI over a copper variant of FCAL (used in modern servers)
51 - SCSI over IEEE 1394 (Fire Wire)
52 - SCSI over USB
53 - SCSI over IDE (ATAPI)
54
55 As you now see, the use of the naming convention "ATAPI-SCSI emulation"
56 is a little bit misleading. It should rather be called:
57 "IDE-SCSI host adapter emulation"
58
59Some naming explanations:
60
61 ATA Attachment Adapter
62 IDE Integrated Drive Electronics (A Drive that includes ATA)
63 ATAPI ATA Packet Interface
64
65When cdrecord has problems with ATAPI drives on Linux this usually is a Linux
66kernel problem. The Linux kernel maintainers unfortunately refuse to correct
67their current IDE driver system setup which does not support ATAPI by default.
68ATAPI _is_ SCSI over IDE transport. It is hard to understand why Linux still
69uses a default driver setup that is designed for IDE CD-ROM drives made
70before 1994 (using a IDE compat mode that only allows to use the drive
71read-only) and does not handle to send SCSI commands to ATAPI drives by
72default. This makes it hard for people who just started with Linux to do
73CD-writing on Linux if they own an ATAPI drive. Both Linus Torvalds and
74Alan Cox admit that they don't own a CD/DVD writer, how should they know about
75the problems?
76
77There are bugs with the DMA implementation that are known for many years
78but they don't get fixed.
79
80/*--------------------------------------------------------------------------*/
81Which Operating systems support ATAPI
82
83- AIX: Status unknown! Please report your experience...
84
85- Apple Mac OS X (Darwin): Supported
86
87- BeOS (libscg maps ATAPI to SCSI bus # >= 8
88
89- BSD/OS: Status unknown! Please report your experience...
90
91- FreeBSD:
92 - YES for the latest default kernel.
93 It includes finally ATAPI-Cam
94
95 - NO for the older kernels.
96 Yes, if you install a kernel patch from
97 Thomas Quinot <thomas@cuivre.fr.eu.org>
98 See http://www.cuivre.fr.eu.org/~thomas/atapicam/
99 and README.FreeBSD
100
101- HP-UX: It looks like ATAPI does not work correctly due to kernel bugs.
102
103 New information:
104 HP supports a HP A7853A B/C class machine (s700_800) with HP-UX-11.x
105 You need to install a patch:
106
107 Patch Name: PHKL_27224 Patch Description: s700_800 11.00 IDE/ATAPI
108 cumulative patch
109
110
111- Linux (unfortunately not in the default configuration)
112
113 - It works more or less if you include ide-scsi
114
115 - Linux-2.4.xx includes a CDROM Packet interface in the
116 IDE CD driver. For this driver libscg now includes
117 support in pre-alpha status. Use cdrecord dev=ATAPI -scanbus
118 to check for drives and e.g. cdrecord dev=ATAPI:0,0 ....
119 for writing. Note that this interface is not integrated into
120 the standard libscg device naming scheme. Support for
121 this interface has been included because it is the only
122 way to use a PCCARD/PCMCIA writer - trying to use ide-scsi
123 on a PCATA interface will cause a Linux kernel panic
124 or will block all ATAPI drives.
125
126 - Starting with Linux-2.5.45, there is a new experimental
127 ATAPI interface initiated by Linus Torvalds. Unfortunately,
128 this interface does not fit well into the rest of the Linux
129 SCSI kernel transport naming scheme. Cdrecord allows to
130 use this interface by calling e.g. cdrecord dev=ATA:1,0,0 ...
131
132 All Linux ATAPI transport implementations do not support DMA.
133 Current exceptions are:
134
135 - ide-scsi with block size 2048 and if DMA has been enabled
136
137 - The new experimental ATAPI interface starting with Linux-2.5.45
138 allows DMA if DMA has been enabled and the sector size is a
139 multiple of 4. This allows to use DMA for audio CDs and
140 when writing any type of CD in RAW mode.
141
142 Note that is a bad idea to first implement a new kernel
143 interface that also implements the named DMA implementation
144 bugs and later fix the DMA bug _only_ for this new
145 interface. It looks like the Linux kernel folks are not
146 very cooperative :-(
147
148 RAW mode is needed for many new and cheap drives that have bugs when
149 writing in cooked mode. If there is no DMA, you cannot write faster
150 than approx 16x.
151
152
153- NetBSD (releases 1.3 and newer)
154
155- NeXT: Status unknown! Please report your experience...
156
157- OpenBSD: (release 2.6 and newer)
158
159- OS/2 (you need to fetch and install ATAPI support first)
160 see: http://www.leo.org/pub/comp/os/os2/leo/drivers/dasd/daniatapi.zip/
161
162- OSF-1 / True64 Status unknown! Please report your experience...
163
164- SCO-OpenServer: Supported with 5.0.6 and non-public patch or with
165 5.0.7. I don't know whether you need a patch for 5.0.7
166
167- SCO-UnixWare: partial support with UnixWare 7.1.3 - some SCSI commands
168 that are needed for cdda2wav and DVD writing are blocked.
169 7.1.4 will have full ATAPI support.
170
171- SGI/IRIX: Status unknown! Please report your experience...
172
173- Solaris (you may need to use the USCSI transport interface to address
174 ATAPI if the IDE hostadapter idriver implementation does not follow
175 Sun's internal standards).
176
177 ATAPI works fine on Solaris 7 sparc and on Solaris 7/8 intel.
178
179 On Solaris 8 (intel) and newer, the ATAPI/SCSI subsystem is integrated
180 correctly according to Sun's SCSA white paper, so the 'scg' driver works.
181 This is not true for Solaris on sparc where the ATAPI driver do not conform
182 to Sun's internal structuring rules. You need to use the USCSI interface
183 on for ATAPI drives on Solaris sparc for this reason.
184
185 Solaris 8 sparc has a ATA DMA bug that prevents cdrecord from working at all.
186 There is a fix from Sun available: the patch 108974-16
187 Solaris 9 sparc works again, it has the fix for the ATA DMA bug included.
188
189 Newer versions of Solaris 9 disable DMA for CD-ROM drives on IDE.
190 Read README.solaris-x86-ATAPI-DMA to learn how this may be circumvented.
191
192- VMS: works on recent versions!
193
194- Win32 using a recent ASPI Layer supports ATAPI
195 You nay need to exclude mini port drivers (see README.win32).
196
197 Newer cdrecord versions also support the SPTI (SCSI Pass through ioctl).
198 Libscg uses SPTI by default if you are running NT-5.x or newer and are
199 administrator. With NT-4.x it may be possible to run cdrecord dev=SPTI:1,0.0 ...
200 But there are reports for blue screens (kernel crashes).
201
202- DOS DOS-7 from win98 includes a ATAPI aware aspi
203 For other versions have a look at README.msdos and use e.g. "oakaspi".
204
205/*--------------------------------------------------------------------------*/
206General hints:
207
208***********************
209NOTE: IDE/ATAPI doesn't have disconnect/reconnect! you cannot expect the needed
210 performance for CD-writing if you connect source and destination drive
211 to the same IDE cable.
212***********************
213
214If you never like to directly write a CD from CD-ROM source, this configuration
215seems to be the best:
216
217IDE 0 MSTR -> HD1
218IDE 0 SLAV -> HD2
219
220IDE 1 MSTR -> CD-writer
221IDE 1 SLAV -> CD-ROM
222
223If you like to write from both HD source and CD-ROM source, you should have
224the following configuration:
225
226IDE 0 MSTR -> HD1 (does _not_ hold CD mastering data)
227IDE 0 SLAV -> CD-Writer
228
229IDE 1 MSTR -> HD2 (holds CD mastering data)
230IDE 1 SLAV -> CD-ROM
231
232If cou cannot set up a decent cabling (e.g. because you use a notebook)
233you may try to use cdrecord -immed ...
234It runs slow commands in quick (immediate) return background mode and
235tries to wait between the write commands to allow to free the IDE cable
236so the cdrecord read process may fill the FIFO from the other drive
237on the same IDE cable.
238
239/*--------------------------------------------------------------------------*/
240The rest of this file is only valid for Linux!
241
242This was taken out of mails from From: Dave Cohen <dcohen@richmond.infi.net>
243and From: Gadi Oxman <gadio@netvision.net.il>
244(slightly modified marked ***JS *** except typo corrects)
245
246As all actual Linux versions have ATAPI support for cdrecord,
247I removed the patch section. If you are running a Linux version
248that does not support ATAPI<->SCSI command transport, please upgrade.
249
250The basic driver design in Solaris would also allow to use ATAPI
251drives but unfortunately, Sun made a mistake in the mid-level design.
252If you want to use ATAPI drives with Solaris, ask Sun why they don't
253support SCSI passthrough to IDE although they are using a common driver
254concept.
255
256Please use cdrecord-1.6 final or later (if available), it includes the
257modifications needed for ATAPI drives and is still working with other
258SCSI drives. Older revisions of cdrecord do not support ATAPI drives.
259
260If you are using Linux Kernel version prior to 2.1.73 or prior to
2612.0.35, please upgrade before you try to compile and use cdrecord.
262
263In any case, you need to configure a kernel with ATAPI/SCSI hostadapter
264emulation. Read carefully the following instructions:
265
266In any case, you need to disable generic IDE/ATAPI CDROM support in
267order to make ATAPI SCSI emulation working.
268
269Many people ask why I use ATAPI-SCSI emulation.
270
271 The use of the naming convention "ATAPI-SCSI emulation" is a
272 little bit misleading. It should rather be called:
273 "SCSI host adapter emulation"
274
275 The ATAPI standard describes method of sending SCSI commands over IDE
276 with some small limitations to the "real" SCSI standard.
277 For this reason ATAPI-SCSI emulation is the native method of
278 supporting ATAPI devices.
279
280If you have problems to talk to the device when it is jumpered as "slave"
281try to use it as "master". If you connect a hard disk to the same IDE
282cable as the CD writer or if you try to read/write data from another drive
283that is connected to the same IDE cable as the CD writer you may get
284problems too.
285
286NOTICE:
287
288With the newer 2.1.x or 2.2.x kernels it seems to be possible to run
289SCSI/ATAPI hostadapter emulation and generic IDE at the same time by
290selectively telling the kernel what to use for which drive. However,
291this would not be needed if the Linux SCSI CD-ROM driver would be more
292up to date and supports standard conforming drives.
293
294J�rg Schilling <joerg@schily.net>
295
296--------------------------------------------------
297Here is a hint from Alan Brown <alanb@manawatu.gen.nz>:
298
299To allow ATAPI cd and ide-scsi support on the same machine, add
300`hd<x>=ide-scsi` to the lilo.conf append entry, or use
301`hd<x>=ide-scsi` at the bootup lilo prompt.
302
303I have my HP-7200 RW drive as the primary drive on the second IDE
304bus, so the statement used is "hdc=ide-scsi"
305
306--------------------------------------------------
307
308Hope that the following is helpful to you.
309
310I recently purchased a HP-7110i CD-RW, which is the U.S. only version of
311what you have. The HP 7100 and 7110 CD rewritables use the ATAPI
312standard. Originally, the drives were not supported under Linux (due to
313some inconsistencies with SCSI translations between the kernel and the
314CD), but that problem has just recently been fixed. There are some kernel
315and cdrecord patches that have been made to support this device that have
316yet to be officially incorporated into cdwrite and the kernel. In order to
317get your drive supported under Linux, you will have to do the following:
318
3191. Get the proper version of cdrecord.
320
321As of this writing, I am just getting ready to test Joerg's new cdrecord.
322I am currently operational on cdrecord-1.5, so I know that works, and I
323have attached patches for that version.
324
325If you are in a hurry, you can download ver. 1.5, apply patches, and
326rock-n-roll. You may want to wait, though. Up to you ;). The version with
327ATAPI support is cdrecord-1.6alpha5. I'm not sure if the current kernel
328patches are valid for this version, but i'll know soon enough.
329**** They are valid **** JS
330
331BTW, the new version of xcdroast now supports cdrecord - this version
332is in beta testing, too (currently uses cdrecord-1.5 but cdrecord-1.6a5
333should work with the actual xcdroast too).
334
3352. Upgrade to kernel version 2.0.31
336
337IDE/SCSI translation was first added in this kernel. Because your CD-RW is
338an ATAPI device, it will support SCSI command sets. The translation
339allows you to map the device as a SCSI generic device. This will allow
340cdrecord to recognize it as a SCSI device.
341**** 2.0.31 still needs patches, get 2.0.35 or later **** JS
342
3433. Get the patches and apply them
344
345Attached find kernel patches for kernel sources ide.h and ide-scsi.c, and
346cdrecord source scsi_cdr.c (version 1.5 only).
347**** Get cdrecord-1.6 or later **** JS
348
3493. Recompile kernel with SCSI emulation support
350
351If you do a "make menuconfig" or "make xconfig", select SCSI emulation
352under the category "Floppy, IDE, and other block devices".
353
354WARNING:
355Do not install SCSI support as a module - there is a bug in the makefile
356structure that will cause the compile to fail. Compile directly into the
357kernel.
358
3594. WARNING: Disable generic IDE/ATAPI CDROM support *** JS ***
360
361If you don't do this, the SCSI emulation will not work *** JS ***
362
3635. This is important too:
364You also need to enable SCSI and SCSI generic support *** JS ***
365
3666. Make sure that /dev/sg* exists.
367If they are missing, create them.
368
369Dave Cohen
370dcohen@richmond.infi.net
371(Patch instructions below)
372
373-----------------------------------------------------------------
374From: Danilo Fiorenzano <shade@juliet.gppsd.ab.ca>
375
376Anyway, here's what I did, using kernel version 2.0.33 I believe this
377is the proper way to get an HP-7100i to work (and as far as I can tell,
378any other IDE CD-writer unit):
379
3801) patch the kernel as described by README.ATAPI
381
3822) save your current kernel config to an alternate file, then run
383 "make mrproper"
384
3853) run 'make menuconfig' or 'make xconfig', then choose "load config
386 from alternate file" to restore the original configuration
387
3884) In "Floppy, IDE and other block devices", disable "IDE/ATAPI CD-ROM
389 support" and enable instead "scsi emulation"
390
3915) in "SCSI support" enable "SCSI support", "SCSI CD-ROM support" and
392 "SCSI generic support", everything directly in the kernel.
393
3946) compile, install kernel/modules, reboot. Now, if everything went
395 fine, your CDROM units should show up with a message like:
396 "hdb: HP CD-Writer+ 7100, ATAPI CDROM drive - enabling SCSI emulation"
397
3987) run "cdrecord -scanbus" to make sure cdrecord can see the unit and
399 talk to it. The end.
400
401Don't forget that now -all- of your CD drives are seen as -SCSI- units
402by all programs (/dev/scd0 etc.), so you might want to relink
403/dev/cdrom to the proper scd<n> in order to get xcdplay or whatever to
404work again.
405
406
407-------------------------------------------------------------------------------
408NOTE:
409
4101) Actual cdrecord releases support ATAPI
411
4122) Linux 2.0.35 or Linux 2.1.73 or later include ATAPI support
413-------------------------------------------------------------------------------
414From whampton@staffnet.com Fri Jan 14 05:21:34 2000
415From: "W. Wade, Hampton IV" <whampton@staffnet.com>
416
417You may wish to include/append these notes to your ATAPI notes....
418
419I have my 4X Acer CD-R/RW ATAPI drive working with Linux. My platform
420is
421RedHat 6.1 with kernel 2.2.14. My first ATAPI CD device is a DVD with
422the second
423the CD-R. I made the following changes:
424
425Steps:
426
4271. Identify which device is the CD-R -- in my case the fourth ATAPI
428device, /dev/hdd.
429
4302. Compile the kernel to include ATAPI CDROM and SCSI emulation:
431
432 Under the block devices menu:
433 Y or M Include IDE/ATAPI CDROM support
434 Y or M SCSI emulation
435
4363. Build and install the upgraded kernel.
437
4384. If you selected modules, add them to the /etc/conf.modules file.
439
4405. In the /etc/lilo.conf file add an append line for ide-scsi, in my
441case:
442 append = "hdc=ide-scsi hdd=ide-scsi"
443
4446. Reboot to the new kernel and make sure the ide-scsi module is loaded
445
446 /sbin/lsmod | grep ide-scsi
447
4487. Make a link from the proper SCSI device to a symbolic, e.g.,
449/dev/cdrom:
450 In my case the DVD is the first CD, hence appears as /dev/scd0 to
451scd7
452 (cat /proc/scsi/scsi to get a full list of devices -- the first
453CD-ROM will
454 appear as scd0, etc.) With the current ATAPI-SCSI module, each CD
455
456 device appears as 8 SCSI devices (different logical units). If
457you have
458 two devices, like I do, you may have to make a node for the second
459device.
460 In my case I had to make scd8:
461
462 cd /dev
463 mknod scd8 b 11 8
464
465 Then make links, in my case:
466
467 ln -s scd0 cdrom
468 ln -s scd8 cdr
469
470 Note, many CD-ROM player programs expect the audio CD drive to
471 be located at /dev/cdrom (xplaycd, etc.), hence this link is
472recommended.
473
474 If you try to use /dev/hdc (or wherever your CD or CD-R is)
475after loading
476 the ide-scsi module, you may not be able to mount CD's or play
477audio
478 discs -- you have to use the new SCSI names for the device.
479
4808. Fix your /etc/fstab file to mount the /dev/cdrom and /dev/cdr
481
482
483/*--------------------------------------------------------------------------*/
484From: Eduard Bloch <edi@gmx.de>
485
486Situation:
487 Linux: Kernel 2.2.15 (Debian package kernel-image-2.2.15)
488 Distribution: Debian Potato (deep freeze), i386
489 Devices: one CDRW-Writer, one CDROM-drive, both ATAPI
490
4911. Become root, try "grep hd.: /var/log/kern.log" to find out where your
492 ATAPI-devices are connected to (hd?-names).
4932. Edit your boot configuration file, eg. /etc/lilo.conf if you use
494 lilo or the batch-file if you boot via loadlin.
4953. Find a line where you can append additional kernel parameters, eg.
496 "append=" in lilo.conf or the loadlin-line in the batch file.
4974. Append sth. like this: "hdb=ide-scsi hdc=ide-scsi max_scsi_luns=1"
498 The hdX-parameters defines devices that should be mapped to SCSI
499 latter. You may do it with non-writers too, since the emulation layer
500 is almost complete, or let them out so the devices will use their
501 native drivers.
5025. Save the file, reinstall the bootloader (ie. running "/sbin/lilo")
5036. Call "modconf", load "sg" and "ide-scsi" from the SCSI-section
5047. Reboot Debian, watch while booting, you should see a line like this
505 "Detected scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0".
506 Your old ATAPI devices virtually don't exist any longer, use the
507 SCSI equivalents instead.
5088. Become root, setup devices:
509 cd /dev
510 MAKEDEV sg scd
511 ln -s scd0 cdrom # NOTE: or cdrw, first check which drive is here
512 ln -s scd1 cdrw # NOTE: see above, maybe cdrom
513 Check the new SCSI settings:
514 cdrecord -scanbus
515 Setup cdrecord's environment - edit /etc/default/cdrecord:
516 CDR_DEVICE=cdrw
517 cdrw=1,0,0 4 8m
518 cdrom=1,2,0 0 0m
519 Input the right values, the fields are described in the manpage
520 of cdrecord. Alternatively, you may use this values as
521 cdrecord-parameter or take a frontend with an own configuration
522 scheme, then you don't need to modify /etc/default/cdrecord.
5239. It's done! Insert a CD and try "cdrecord -v -toc"
524/*--------------------------------------------------------------------------*/
525He had constant buffer underrun problems:
526
527From: "Trenton D. Adams" <trenton.adams@telusplanet.net>
528
529I enabled DMA, and 32-bit mode on the CD-Writer using "hdparm".
530This fixed the writing problem.
531
532/*--------------------------------------------------------------------------*/
533From: "Mario Moder" <clay-man@freenet.de>
534-----
535TEAC CD-W54E
536
537I recently installed a TEAC CD-W54E (an ATAPI CD-RW-Recorder) and I had
538problems with buffer underruns and other errors when burning a CD (with
539Linux and Windows 2000). My system has an old ASUS P/I-P55T2P4 Pentium
540mainboard with Intel PCI-Bus-Master-IDE (I think the chipset is an Intel
541430HX and the IDE controller is an 82371SB). The harddisk is the master on
542the primary IDE channel, and the CD-Recorder is the master on the secondary
543IDE channel.
544
545After turning off DMA for the CD-Recorder AND the harddisk, the drive had no
546longer problems with burning a CD. You can try the following things to make
547it work, if you have similar problems with a similar hardware configuration:
548
549For Linux (Kernel 2.2.19):
550Turn off "Enable DMA by default" in the kernel (and then compile a new
551kernel), if you had it turned on or use "hdparm" to turn of DMA for both the
552CD-Recorder and the harddisk
553
554For Windows 2000:
555In the Device Manager go to "IDE ATA/ATAPI-Controller" and open the
556properties for the first and second IDE channel. There you change the mode
557of the devices from DMA to PIO.
558-----
559
560/*--------------------------------------------------------------------------*/
561
562Hints for the Linux Packet code in ide-cdrom.c:
563
564 WARNING! It seems that this driver does not allow to send all
565 SCSI commands. A command that definitely fails is READ FULL TOC.
566 For this reason, you cannot read those 'defective' audio CDs
567 with broken TOC when you use this interface.
568
569 Thanks to Alexander Kern <alex.kern@gmx.de> for the idea and first
570 code fragments for supporting the CDROM_SEND_PACKET ioctl() from
571 the cdrom.c kernel driver. Please note that this interface in principle
572 is completely unneeded but the Linux kernel is just a cluster of
573 code and does not support planned orthogonal interface systems.
574 For this reason we need CDROM_SEND_PACKET in order to work around a
575 bug in the linux kernel that prevents to use PCATA drives because
576 the kernel panics if you try to put ide-scsi on top of the PCATA
577 driver.
578
579 The code is currently in "status nascendi" but usable with some trade offs.
580
581 To use: call e.g.
582
583 cdrecord -scanbus dev=ATAPI:
584
585 cdrecord -dao -v speed=24 dev=ATAPI:0,0 ....
586
587 Be careful! This code is only needed in order to be able to use
588 PCATA CD-writers on notebooks because there is a severe kernel bug.
589 Unfortunately, this bug causes the kernel to hang (and force you
590 to reboot) if you try to call:
591
592 cdrecord -scanbus
593
594 without the dev=ATAPI: option.
595
596 In this case cdrecord will hang infintely and unkillable
597 in open("/dev/sg1", 2) => you need to reboot :-(
598
599 Repeat by: Insert a PCATA CD-Writer in a Sony VAIO notebook and run
600 cdrecord -scanbus.
601
602
README.DiskT@2
1New driveropts= option "tattoofile=". Use together with -checkdrive
2to write an image of the right size to disk.
3
4 DiskT@2 hints:
5
6 In order to have "DISKTATTOO" listed in the "Driver flags",
7 the disk currently inserted must be usable for the DiskT@2 feature.
8 This means that there needs to be enough space on it.
9
10 You need an B&W image with 3744 pixels per line
11
12 Best start with a 3744 x 320 pixel image.
13 The correct size may be retrieved with
14 cdrecord driveropts=tattooinfo -checkdrive
15
16 To get RAW image data:
17
18 - Take 'xv' and save the image in PBM/PGM/PPM (raw) mode
19
20 - use a binary aware (must support unlimited linelength)
21 editor such as 'ved' and remove the header lines.
22 These lines look like:
23
24 P5
25 # CREATOR: XV Version 3.10a Rev: 12/29/94 (PNG patch 1.2)
26 # CREATOR: XV Version 3.10a Rev: 12/29/94 (PNG patch 1.2)
27 3744 144
28 255
29
30 Now you should have (in case of the file above) a file that
31 has exactly 539136 Bytes.
32
33 - Note that the tattoo image must be left to right flipped
34 (a mirror image).
35
36From a hint from "E. Robert Bogusta" <rob23@tmr.com>:
37
38Take an image, and do:
39
40 djpeg myface.jpg | ppmtopgm | pnmflip -lr |
41 pnmscale -xsi 3744 -ysi 320 | sed '1,/255/d' >myface.tattoo
42
43So:
44 djpeg extracts ppm from a jpeg. Use your favorite other way of getting
45this far is you wish.
46
47 ppmtopgm changes color to grey scale
48
49 pnmflip -lr flips left to right, the small image is faster
50
51 pnmscale makes it 3644x320 regardless of starting size. This may make it
52look really odd on the CD if it doesn't start off the right size. More on
53this after I try it.
54
55 sed strips from the first line to the line containing 255, which is the
56last header line.
57
58Note that it would be better to use the actual height of the applicable image instead
59of the maximum value of 320 and it would be even more correct to create an
60image that has the right width/height ratio for the target on CD in order
61get an undistorted view of the image on CD.
62
63For best visibility, use black text on light background.
64
README.WORM
1CD-R drives are anything but WORM drives, but older drives identify themselves
2as WORM drives.
3A Worm drive is able to write each sector once at any time without preparation.
4A CD-R drives is not and never will be able to do this.
5However some old drives identify as WORM drives.
6
7For this reason the SCSI-3 standard tells CD-R drives simply CD drives
8with multi media extensions.
9
10
11
README.audio
1Why do I hear only noise from my first audio CD?
2
3You may have a byte swapping problem, try cdrecord -swab
4but note that is is most unlikely that you need to use the -swab
5option from cdrecord unless your input files are broken.
6It makes more sense to find out why the inout files are not OK.
7
8Cdrecord assumes Motorola/Network byte order (big-endian) on input
9regardless of the byte order of the CD-Recorder. If Cdrecord
10encounters a .wav file, byte order is corrected to match the byte order
11of the .wav file.
12
13Cdrecord by default uses Track at once. This always gives 2 seconds
14pause between two audio tracks and loweres the audio quality.
15
16For best audio CD quality, use cdrecord -dao (to write in Session At Once)
17ot cdrecord -raw (to write in RAW mode). Note that there are a lot of drives
18notably from Lite-ON that have defective firmware and will write defective
19CDs if you use either TAO or SAO mode. In RAW mode, cdrecord has the
20full control over the complete CD and the chance that the CD is OK
21is much higher.
22
23The 2 seconds pause between two audio tracks is the CD ***standard***
24
25The standard says:
26 Each track starts with 2 seconds of silence
27 followed by at least 4 seconds of audio data.
28
29For that reason the 2 second pause is generated by the CD-R drive in
30Track at once (TAO) mode.
31
32CD's that have no pause between two tracks are illegal (compared to RED BOOK).
33These illegal disks may be made with Disk At Once (DAO) only.
34In DAO mode the writing software needs to send the 2 seconds pause as
35binary zeroes and therefore is able to create illegal disks by
36sending audio data instead.
37
38Some drives don't accept to write illegal disks even in SAO mode.
39In this case, use the RAW mode. In RAW mode, the drive does not even
40"know" what is going on and thus cannot prevent you from writing such
41a disk.
42
43This audio data (the last two seconds of a track in this case)
44however are part of the next track from viewing the TOC of the disk.
45Digital Audio Extraction programs that work correctly (as intended by the
46CD standard) split the content of a CD into files by including the
47pre-gap (usually holding 2 seconds of pause) at the end of the previous
48track.
49
50Joerg Schilling
51
README.cdplus
1Cdrecord allows you to create multi-session CD's with all
2supported drives. Cdrecord comes with a hacked mkisofs
3that allows you to that on even on systems that don't support
4a sectorsize 2048 Bytes (e.g. SGI IRIX and old versions of Solaris)
5or systems that don't support raw device access (e.g. OS/2 W95/W98/WNT).
6This is possible because current versions of mkisofs may
7use my scg driver to read the old session from the CD-Recorder.
8
9According to www.cd-info.com, a CD+ is a CD with two sessions.
10The first session is an audio session, the second session a data
11session.
12
13Creating a CD+ is first writing an audio session in
14multi session mode and then writing a data session.
15
16If you like to append a filesystem to a audio CD, first extract the
17CD by calling:
18
19 cdda2wav -B -vall
20
21This first audio session may be written in TAO mode with the command
22
23 cdrecord -multi -audio file1 ....
24
25or in DAO mode with the command
26
27 cdrecord -dao -multi -useinfo -audio file1 ....
28
29To add the second session that contains the data track, you need
30to create an ISO-9660 file system that starts not at sector 0.
31
32With the current mkisofs, you must use the following method:
33
34
35- First call cdrecord -msinfo for your prepared multi-session audio CD.
36
37 you will get something like 0,12345
38
39- Now call mkisofs:
40
41 mkisofs -o fs.raw -C 0,12345 root_directory_for_new_cd
42
43 replace 0,12345 with your actual cdrecord -msinfo output.
44
45the image in fs.raw may now be written with cdrecord as second session.
46
47See my README.multi for more info on how to create multi session CD's
48
49
50The procedure again in short form:
51
52 cdda2wav -vall -B
53
54 cdrecord -multi -audio audio_tracks ....
55or
56 cdrecord -dao -useinfo -multi -audio audio_tracks ....
57
58 cdrecord -msinfo ....
59 (output is e.g. 0,12345)
60
61 mkisofs -R -o cd_plus.raw -C 0,12345 root_dir_of_fs
62
63 cdrecord -data cd_plus.raw
64or
65 cdrecord -multi cd_plus.raw
66
67Note that most drives do not support to append the data session in SAO mode.
68For this reason, it is recommended to add the -tao option to the cdrecord
69command line that appends cd_plus.raw to the audio session.
70
71Note: If you want to create an HFS hybrid as the data track, then you must
72use the '-part' option to mkisofs. Otherwise, the data track will be mounted
73as an ISO9660/Joliet CD when used on a Mac.
74
75J�rg
76
README.cdrw
1Using CD-RW media Mini Howto FAQ
2
3CD-RW drives usually support packet writing, but as there
4is currently no usable UDF filesystem support you may only use
5the simple cdrecord approach.
6
7Cdrecord writes to CD-RW media in exactly the same way as it
8does with CD-R.
9
10You may erase a complete disk in preparation to reuse it.
11Check the man page entry for the blank= option of cdrecord.
12Not all drives support all blanking modes. Usually
13blank=fast or blank=full are working.
14
README.cdtext
1CD-Text Usage (to copy CD-Text from master CD):
2
3 cdda2wav -D 6,0 -vall -B # To extract audio information
4 cdrecord dev=6,0 -vv -toc # To extract CD-Text information
5
6 and then
7
8 cdrecord dev=6,0 -v -dao textfile=cdtext.dat -useinfo *.wav
9 or
10 cdrecord dev=6,0 -v -raw96r textfile=cdtext.dat -useinfo *.wav
11
12 If the CD-Text information contains more CRC errors than
13 cdrecord can correct, you need to reload the CD and to
14 re-read the CD-Text information from the master disk.
15
16 Writing of CD-Text is supported for all drives that support
17 CD-Text in SAO write mode and for all drives that support
18 to write in RAW/RAW96R mode (use -raw96r in this case).
19
20 NOTE: not all writers that support MMC SAO mode support
21 to write CD-Text in this write mode.
22 If you have a drive that does not support CD-Text
23 but supports RAW/RAW96R mode use this mode as
24 in RAW/RAW96R mode the drive does not need to know
25 about CD-Text. This way even old drives like the
26 Plextor PX-R 412C will write CD-Text.
27
28 NOTE that cdda2wav will read CD-Text and fill in the
29 CD-Text fields in the *.inf files if vou use -vall.
30
31 The new cdda2wav option cddb= allows you to tell cdda2wav to
32 retrieve CDDB information from freedb.freedb.org.
33 cddb=0 means ask if ambiguous, cddb=1 means take first entry.
34 The information in this case is filled into the fields
35 in the *.inf files.
36
37Creating a CD with CD-Text based on CDDB information from freedb.freedb.org:
38
39 Tell cdda2wav to fetch data from freedb.freedb.org, call
40
41 cdda2wav -D 6,0 -vall -B cddb=1 # To extract audio information/fetch CDDB data
42
43 and then call
44
45 cdrecord dev=6,0 -v -dao -text -useinfo *.wav
46 or
47 cdrecord dev=6,0 -v -raw96r -text -useinfo *.wav
48
49
50If you like to create your own CD-text data for a CD use the
51following method:
52
53 First extract all tracks with cdda2wav -vall (see above),
54
55 then edit the *.inf Files and add album and song titles.
56
57 Now call cdrecord as if the *.inf files contain CD-Text
58 information.
59
60 Note that it is recommended to use less that 160 characters
61 for a single string.
62
README.clone
1Hints for how to copy a CD using the clone method:
2
3Step 1 (read master CD):
4
5 Call "readcd dev=b,t,l -clone f=somefile" and the files
6
7 somefile
8 and
9 somefile.toc
10
11 will be generated.
12
13 If the disk contains many sectors that are unreadable by intention,
14 call "readcd dev=b,t,l -clone -nocorr f=somefile"
15
16
17Step 2 (write copy):
18
19 Call "cdrecord dev=b,t,l -raw96r -clone -v somefile"
20
21If cdrecord complains that your drive does not support -raw96r, but the
22drive is able to do clone writing at all, then cdrecord will propose you
23a different write mode that works with the drive.
24
25
26
27
README.copy
1Ho to copy CD's and CD-R/CD-RW's
2
3Copying audio CD's:
4
5If you want to copy audio CD's, look for 'cdda2wav'. Be sure tu use use
6at least a cdda2wav-0.95beta or later. Older releases will not read correctly
7from SCSI-3/mmc compliant drives.
8
9Copying data CD's:
10
11The best way to copy a data disk is to copy the raw data on the master CD.
12This may be done by reading the data from the raw device by using 'readcd'.
13
14
15NOTE: All CD-R's written in Track At Once mode end in two unreadable
16 run-out sectors. If the disk has been written with a Yamaha CD-R100
17 or with a Yamaha CD-R102, there are even more run-out sectors.
18
19For this reason, you will not be able to read such a CD correctly with 'dd'.
20
21I recommend to write all disks in Disk at Once mode if your drive
22is supported in DAO mode with cdrecord. In addition, you may wish to
23add padding (see cdrecord / mkisofs man pages).
24
25If you want to copy such a CD directly with cdrecord, you may call:
26
27 cdrecord -v dev=... -isosize /dev/rdsk/c0t6d0s0
28
29But this may fail if the master gives read errors. To copy such a CD to a file
30you may use the program 'readcd' from this package
31
32Call 'readcd [target] [lun] [scsibusno]' and select function 11.
33Or call readcd -help to get alternate usage.
34To prevent readcd from reading the run-out sectors, reduce the
35number of sectors to copy by 2.
36
37Recent readcd versions may be called: readcd dev=b,t,l f=outfile
38To reduce the numbers of sectors to copy you may use the sectors= option.
39
40If the master disk is made of several partitions (like a Solaris boot CD),
41the best way to copy a CD is to use the program 'readcd'. It ignores
42the partition info and does raw SCSI reads.
43
44If you like to copy audio CD's in a way that preserves as much accuracy as
45possible, use:
46
47cdda2wav -vall -D... -B
48cdrecord -v dev=... -dao -useinfo *.wav
49
50This will preserve pre-gap sizes, indices ...
51
52
53
README.multi
1Creating multi-session CD's Mini Howto FAQ
2
3Multi-session filesystems are a trick that comes from the Kodak photo CD.
4The OS mounts the last session that contains the sum of the current session
5and all previous sessions.
6
7To test (with Linux):
8
9Create a iso-9660 filesystem image with mkisofs-1.10 or later.
10mkisofs is included in the cdrecord release (including
11SunOS/Solaris multi-session support)
12Use the -R flag to add Rock Ridge extensions (this is important).
13
14Assuming that the CD-R drive is connected to target 2 on the SCSI bus.
15
16Write the first session with:
17
18cdrecord -v speed=2 dev=2,0 -eject -multi isoimage.raw
19
20Note that all Sony drives do no support XA2 disks in firmware - read README.sony
21for more information.
22
23This must be a iso9660 image with Rock Ridge extensions (see above)
24
25Note the number of sectors written and check the disk, it should be mountable.
26
27Next step is to check if cdrecord is able to retrieve the following data:
28
29 1) The first block (sector) number in the first track of the last session
30 This must be '0' in our case.
31
32 2) The next writable address in the unwritten session following the current.
33 This should be the number of sectors written in the first
34 run + ~ 11400 sectors for about 22MB lead out/in
35
36 For the first additional session this is 11250 sectors lead-out/lead-in
37 overhead + 150 sectors for the pre-gap of the first track after the
38 lead-in = 11400 sectors.
39
40 For all further session this is 6750 sectors lead-out/lead-in
41 overhead + 150 sectors for the pre-gap of the first track after the
42 lead-in = 6900 sectors.
43
44To get this information type:
45
46cdrecord -msinfo dev=2,0
47
48The output should be two numbers separated by a comma.
49
50 e.g.: 0,204562
51
52The first number is (1), the second number is (2).
53
54Create the image for the next session with mkisofs-1.12 or later.
55It is included in the cdrecord distribution.
56
572nd session:
58You should create a directory that contains a second directory with data in it
59for this purpose.
60
61 e.g.:
62 first_dir/
63 second_dir/
64 file_1
65 file_2
66 ...
67
68call:
69
70On Linux:
71mkisofs -o isoimage_2.raw -R -C xx,yy -M /dev/cdwriter_blk_dev first_dir
72
73On SunOS:
74mkisofs -o isoimage_2.raw -R -C xx,yy -M target,lun first_dir
75
76Note that the name "first_dir" is not important.
77
78If you still keep the old raw image of the first session and there is only
79one previous session on the CD you may also call:
80
81mkisofs -o isoimage_2.raw -R -C xx,yy -M isoimage.raw first_dir
82
83
84The argument of -C is the output of cdrecord -msinfo
85- On Linux, the argument of -M is a device that would allow you to mount
86 the current CD in the CD-writer
87- On SunOS, target and lun refer to the SCSI target and lun of the
88 CD-R device with the same notation as for cdrecord dev=xxx,yyy .
89
90
91If you want to check, whether mkisofs make everything right, you should create
92another image by using the following command line.
93
94On Linux:
95mkisofs -o isoimage_2.raw -R -C xx,0 -M /dev/cdwriter_blk_dev first_dir
96
97On SunOS:
98mkisofs -o isoimage_2.raw -R -C xx,0 -M target,lun first_dir
99
100Where xx is the first number of the pair returned by cdrecord -msinfo
101
102You may check ***this** image by mounting it with my "fbk" on Solaris
103or the loopback driver on Linux.
104
105On Linux type:
106 mount isoimage_2.raw -r -t iso9660 -o loop /mnt
107
108On SunOS type:
109 mount -r -F fbk -o type=hsfs /dev/fbk0:isoimage_3.raw /mnt
110
111For Solaris 8 and later you may also use the Sun lofi driver (see README.sun-lofi)
112
113If you list /mnt, you should see all directories that have been in the first
114session and the directory "second_dir". If you try to read a file from the
115first session, you will get an I/O error or bad data (depending on the
116block address), don't worry about that. If you try to read a file from
117the second session, you will see everything correctly.
118
119To write the second session to CD, call:
120
121cdrecord -v speed=2 dev=2,0 -eject -multi isoimage_2.raw
122
123If you mount this CD, you should see the first session and the second directory
124from 2nd session added to the root directory of the CD.
125
126
127Additional check:
128
129call:
130
131cdrecord -msinfo dev=2,0
132
133The first number should be the first writable address which was retrieved by the
134first call to cdrecord -msinfo after creating the first session.
135The second number should be the first number + number of sectors of the second session
136+ ~ 11400 sectors.
137
138Note: The first lead-out is 1:30 (6750 sectors) the lead-in is 1:00 (4500 sectors)
139All following sessions need only 0:30 for lead-out (2250 sectors), the lead-in
140is also 1:00. So in theory, the can be 44 sessions on s 74 minute disk if you
141take into account that the minimum track size is 4 seconds.
142
143The total amount of the overhead is 11250 + 150 sectors for the first additional
144session and 6750 + 150 sectors for all subsequent sessions.
145The 150 additional sectors are the pre-gap sectors for the first track after
146the current session.
147
148Some notes on multi-session CD's that contain only Joliet but no Rock Ridge:
149
150Joliet is a really bad idea in general:
151
152- There is no way to find a relation between a ISO-9660 name and a Joliet
153 name. If the file has a size, you may try to match the starting sector #
154 but if the size in 0 it's impossible.
155
156
157- Joliet does not allow long filenames (it limits names to 64 chars).
158
159- Joliet does not allow all (usually used) characters in filenames.
160
161 All code points between (00)(00) and (00)(1F), inclusive. (Control Characters)
162 (00)(2A) '*'(Asterisk)
163 (00)(2F) '/' (Forward Slash)
164 (00)(3A) ':' (Colon)
165 (00)(3B) ';' (Semicolon)
166 (00)(3F) '?' (Question Mark)
167 (00)(5C) '\' (Backslash)
168
169 While '/' is not a real problem ;-) other characters may cause trouble.
170
171All notes above prevent you from doing reliable multi-session if the CD does
172only contain Joliet but des not contain Rock Ridge attributes.
173
174In addition, please read README.joliet in the mkisofs directory.
175
176This is the answer to a commonly asked question is why can't I continue a
177multisession CD that has been started on a Microsoft system using mkisofs.
178
179
180Note: It is not possible to create a multi-session HFS CD. If you create
181a multi-session CD using any of the HFS options, then each new HFS
182session will ignore HFS files from any previous sessions. A warning will
183be printed if you attempt this. However, if you use the '-part' option to
184mkisofs for each session you create, then each session will appear as
185separate volumes when mounted on a Mac. In this case, it is worth using the
186'-V' or '-hfs-volid' option to give each session a unique volume name,
187otherwise each "volume" will appear on the Desktop with the same name.
188
189
190Joerg Schilling
191
README.parallel
1This file is intended to help with ATAPI <-> Parallel Port devices on Linux
2
3Before you start, read
4
5 http://www.torque.net/parport/paride.html
6
7Make sure that your parallel port device is set up to EPP mode
8from within the BIOS. In many cases it is best to set the PP delay to 0.
9
10Here is a short explanation how to make the FreeCom Traveller work
11in 4x speed on a notebook:
12
131.) Set BIOS for parallel port to 'EPP'.
14
152.) Load drivers in default mode:
16
17 # modprobe paride
18 # modprobe <driver for parallel port adaptor>
19 # modprobe pg
20
21in case of a FreeCom Traveller this is:
22
23 # modprobe paride
24 # modprobe friq
25 # modprobe pg
26
273.) Check kernel log for paride messages:
28
29 # dmesg
30 ...
31 paride: version 1.04 installed
32 paride: friq registered as protocol 0
33 ...
34 parport0: PC-style at 0x378 [SPP,PS2,EPP]
35 parport0: no IEEE-1284 device present.
36 ...
37 pg: pg version 1.02, major 97
38 pg0: Sharing parport0 at 0x378
39 pg0: friq 1.01, Freecom IQ ASIC-2 adapter at 0x378, mode 4 (EPP-32), delay 1
40 pg0: CD-R/RW RW8040A, master
41 ...
42
434.) load module again but use different parameters:
44 'drive0=IO-Port,Protocol,Unit,Mode,Master/Slave,Delay drive1=...'
45 if you have only one drive at the parallel port
46 'drive0=IO-Port,0,0,-1,-1,Delay' e.g. for Delay = 0:
47
48 # modprobe -r pg
49 # modprobe pg drive0=0x378,0,0,-1,-1,0
50
515.) Check for optimum delay using for maximum speed using cdrecord -dummy
52
536.) Use the file rc.pp and modify for your needs
54
557.) Your CD drive now appears as /dev/pcd?
56
README.raw
1Tips for MMC RAW mode writing.
2
3 This allows to do disk at once recording on Philips drives that
4 do not support SAO.
5
6 You may write audio tracks in RAW mode. There are some new
7 and most likely transient options:
8
9 -raw16 Write 2352 Bytes sectors + P+Q Subchannel
10
11 -raw96r Write 2352 Bytes sectors + P+W Subchannel (R-W in raw mode)
12
13 -raw96p Write 2352 Bytes sectors + P+W Subchannel (R-W in packed mode)
14
15 NOTE that the MMC standard does not allow -dummy in RAW mode.
16 There may be drives which allow it but don't bother if it does not work.
17
18 Indices are fully supported in RAW mode.
19
20 MCN & ISRC are not yet supported in RAW mode, they are silently discarded.
21
22 If you find other problems in RAW mode or if you find
23 new bugs introduced in old write modes, please send a bug report.
24
25 Cdrecord now checks the properties of the writer. If a specific write
26 mode is not supported by the writer, cdrecord warns you and makes
27 a suggestion for a similar alternate write mode.
28
29 With the curent structure of cdrecord, it is not possible to silently
30 e.g. change the write mode from -dao to -raw96r
31
32 MMC compliant drives are automatically scanned for supported write modes.
33 This should help to make cdrecord work without manual static configuration.
34 My hope is still to have no need to know all drive properties in
35 advance, so new drives will continue to work as long as they
36 are standard compliant enough for cdrecord.
37
38EXAMPLES:
39
40 cdrecord dev=1,0 -v -raw96r *.wav
41
42 will write a audio CD in raw mode using (computed) 2448 byte sectors
43 with raw P-W subchannels. This works e.g. with Plextor drives.
44
45
46 cdrecord dev=1,0 -v -raw16 *.wav
47
48 will write a audio CD in raw mode using (computed) 2368 byte sectors
49 with raw P+Q subchannels. This works e.g. with Philips drives.
50
51
52 NOTE: The input sector size always is 2352 bytes for audio.
53
54IMPORTANT:
55
56 - if the drive supports RAW/R96R among with other raw write modes,
57 use -raw96r
58
59 - if the drive does _only_ supports RAW/R16, use -raw16
60
61 - ... else if the drive supports RAW/R96P, use -raw96p
62
63 The packed raw mode (RAW/R96P) is buggy in Plextor drives and
64 the RAW/R16 mode is buggy in TEAC drives. Plextor creates
65 unreadable disks and TEAC hangs the drive.
66
67 For this reason, it is important to select the raw writing
68 mode accoding to the notes above.
69
70
README.rscsi
1The Remote-SCSI protocol gives you SCSI-Anywhere features.
2
3There are three possible ways to control access to the remote users:
4
5 - Let the remote scsi lib log in as a standard user.
6 In this case rscsi will be called via sh -c /opt/schily/sbin/rscsi
7 NOTE: In this case, rscsi must be installed suid root.
8 --- This would need to allow any valid local user to access SCSI ----
9 It could be a security problem.
10
11 - Log in as root and call rscsi via sh -c /opt/schily/sbin/rscsi
12 NOTE that this will fore you to allow remote logins as root
13 which is considered to be a security hole.
14
15 - Create one or more special user(s) that have /opt/schily/sbin/rscsi
16 as login shell with their own home directory.
17 You then may create special .rhosts files for each user.
18 NOTE: In this case, rscsi must be installed suid root.
19 **** This is the preferred method ****
20
21 The FreeBSD port automatically installs the rscsi binary suid
22 root and creates the user "rscsi".
23
24To enable remote SCSI via the login shell method you should do the following:
25
26 - Make sure that there is an entry for rshd(8) in /etc/inetd.conf
27 and inetd(8) is running.
28
29 - Edit /usr/local/rscsi/.rhosts to allow access to all users you
30 like.
31
32 - Edit /usr/local/etc/rscsi and define access rights.
33 Without this file, rscsi will not work at all.
34
35 The template for this file is: /usr/local/etc/rscsi.sample
36
37RSCSI Security:
38
39- When rscsi starts, it checks if /etc/default/rscsi exists.
40 If not, it dies.
41
42- If rscsi is not called by a user listed in /etc/default/rscsi
43 it dies.
44
45- To access a SCSI target there must be an entry that lists the user
46 rcsi hast been started from, the hostname and the SCSI target.
47
48 rscsi compares the hostname field in /etc/default/rscsi
49 to the peername retrived from STDIN:
50
51 - legal host name IP connection
52 - "ILLEGAL_SOCKET" Not an IP socket
53 - "NOT_IP" Not a socket
54
55RSCSI Security hints:
56
57- Do not generally allow other users to see your boot disk via RSCSI.
58 All people who see this disk may edit your passwd file.
59
60- If you are in doubt, only export CD-ROM drives, scanners and similar
61 devices that are not directly security sensitive.
62
63If anybody sees a security hole in my security precautions, please send me a mail!
64
65RSCSI usage:
66
67- To use remote SCSI devices you need to know how to access a specific remote
68 SCSI target.
69
70 - dev=REMOTE:host: or dev=REMOTE:host
71 will allow you to do SCSI bus scanning while you log in as yourself
72
73 - dev=REMOTE:user@host: or dev=REMOTE:user@host
74 will allow you to do SCSI bus scanning while you log in as "user"
75
76 If you use the setup described above, you should use:
77
78 dev=REMOTE:rscsi@babbel:
79
80 to do SCSI Bus scanning on host babbel
81
82 - To access a specific SCSI device, you must specify
83 dev=REMOTE:host:<target spec> or dev=REMOTE:user@host:<target spec>
84 <target spec> is the SCSI target specification as it is needed
85 on the remote host
86
87 dev=REMOTE:rscsi@babbel:1,3,0
88
89 Will let you log in as rscsi on host babbel and open Target 3 lun 0
90 on SCSI bus #1
91
92 - If you use cdrecord -vv ...., cdrecord will on startup print some
93 information about the remote libscg version used for the connection.
94
95- To be able to use the remote SCSI client code from win32 you need to create
96 a file /etc/passwd with a correct entry for the user you are on win32.
97 Call 'id' to get the right user id.
98 Note that remote SCSI has not yet been tested on Win32.
99
100RSCSI speed:
101
102- On a Ultra-10 running Solaris 8, the command overhead time is 400 usec.
103 You may achieve up to 9900 kB/s via a 100MB/s ethernet connection
104 between two of such machines.
105
106- With 100 MB/s, 12x recording should be no problem.
107
108- With 10 MB/s, 4x recording is the maximum. Do tests before!
109
110- Logging into a remote machine and running cdrecord on the remote machine
111 causes the buffer cache on that machine to be trashed. The main user
112 is disturbed.
113
114- Doing cdrecording via Remote SCSI causes only the rscsi command with less
115 than 200kB to be needed on the remote machine hosting the CD recorder.
116 The main user on that machine is not disturbed.
117 The buffer cache of the machine running cdrecord is trashed.
118
119- It is desirable to use a Burn-Proof recorder to make sure that network
120 load will not cause buffer underruns.
121
122
123- USER= test and test for hostname are using a pattern matcher.
124
README.solaris-x86-ATAPI-DMA
1A tip from From: Juergen Keil <jk@tools.de>
2
3Solaris 9 x86 will not allow DMA for ATAPI CD/DVD-ROM drives even if
4the eeprom command shows:
5
6 atapi-dma-enabled=1
7
8Here is a patch to the file /platform/i86pc/kernel/drv/ata
9that allows you to use DMA again. Note that you need to be extremely careful
10when applying the patch because it may completely break your installation
11if you don't do it right.
12
13% adb /platform/i86pc/kernel/drv/ata
14ata_init_drive_pcidma,10?ia
15ata_init_drive_pcidma: pushl %ebp
16ata_init_drive_pcidma+1: movl %esp,%ebp
17ata_init_drive_pcidma+3: subl $4,%esp
18ata_init_drive_pcidma+6: movl +8(%ebp),%eax
19ata_init_drive_pcidma+9: cmpb $1,+0x1ad(%eax)
20ata_init_drive_pcidma+0x10: jne +0x111 <ata_init_drive_pcidma+0x121>
21ata_init_drive_pcidma+0x16: movl +0xc(%ebp),%eax
22ata_init_drive_pcidma+0x19: movl +0x204(%eax),%eax
23ata_init_drive_pcidma+0x1f: andl $1,%eax
24ata_init_drive_pcidma+0x22: je +0x1a <ata_init_drive_pcidma+0x3c>
25ata_init_drive_pcidma+0x24: movl +0xc(%ebp),%eax
26ata_init_drive_pcidma+0x27: movzwl +4(%eax),%eax
27ata_init_drive_pcidma+0x2b: sarl $8,%eax
28ata_init_drive_pcidma+0x2e: andl $0x1f,%eax
29ata_init_drive_pcidma+0x31: cmpl $5,%eax
30^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This is the check for a type 5 ATAPI device
31ata_init_drive_pcidma+0x34: jne +8 <ata_init_drive_pcidma+0x3c>
32ata_init_drive_pcidma+0x36:
33
34Here's a patch that replaces the "cmpl $5" with a "cmpl $55", so
35that all ATAPI devices will perform DMA transfers:
36
37# cd /platform/i86pc/kernel/drv
38# cp ata ata-orig
39# echo 'ata_init_drive_pcidma+0x31?W 7555f883' | adb -w ata
40
41Note that the exact position of the instruction that needs to be patched
42may vary depending on the version of Solaris you use. Be extremely careful
43when applying the patch.
44
45 IMPORTANT NOTE FOR AMD64 Systems
46
47cd /platform/i86pc/kernel/drv/amd64
48cp ata ata.orig
49adb -w ata
50ata_init_drive_pcidma,17?ia
510x50f0: pushq %rbp
520x50f1: xorl %edx,%edx
530x50f3: movq %rsp,%rbp
540x50f6: subq $0x20,%rsp
550x50fa: movq %rbx,-0x18(%rbp)
560x50fe: movq %r12,-0x10(%rbp)
570x5102: movq %rdi,%rbx
580x5105: movq %r13,-0x8(%rbp)
590x5109: movq $0x0,0x0(%rip)
600x5114: movq %rsi,%r12
610x5117: cmpb $0x1,0x321(%rdi)
620x511e: je +0x12 <0x5130>
630x5120: movq -0x18(%rbp),%rbx
640x5124: movq -0x10(%rbp),%r12
650x5128: movl %edx,%eax
660x512a: movq -0x8(%rbp),%r13
670x512e: leave
680x512f: ret
690x5130: testb $0x1,0x208(%rsi)
700x5137: je +0xe <0x5145>
710x5139: movzbl 0x9(%rsi),%eax
720x513d: andl $0x1f,%eax
730x5140: cmpl $0x5,%eax
74^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This is the check for a type 5 ATAPI device
75
760x5140?W7455f883 <<< This changes the code
770x5140: 0x7405f883 = 0x7455f883
78?i
790x5140: cmpl $0x55,%eax
80
README.solaris-x86-ata-DMA
1If you have a IBM IDE hard disk on Solaris x86 and did enable DMA for ata,
2then your system may hang after a reboot due to a firmware bug in the IBM
3drive. On Solaris 9 you may edit the config file /platform/i86pc/kernel/drv/ata.conf
4see also man ata.
5
6On earlier versions, you need to patch the ata driver (see below):
7
8Juergen Keil <jk@tools.de>
9
10Bruce posted a patch for this problem some time ago:
11
12http://groups.google.com/groups?q=solaris+DMA+IBM+timeout&hl=en&lr=&safe=off&site=groups
13
14http://groups.google.com/groups?hl=en&safe=off&th=28213cb0f9e4067b,8&seekm=wywvaq7dvy.fsf%40tools.de#p
15
16/*--------------------------------------------------------------------------*/
17
18> >> "Bruce Adler" <bruce.NxOxSxPxAxMx.adler@acm.org> writes:
19> >> ...
20> >> > Here's a patch that will change the Solaris 8 FCS ata driver's 0xCC
21> >> > command into a 0x66:
22> >> >
23> >> > cd /platform/i86pc/kernel/drv
24> >> > cp ata ata.SAVE
25> >> > adb -w ata<<EOF
26> >> > ata_devo_reset+0x54?w 0xaa68 ;; was 0xcc68
27> >> > EOF
28> >>
29> >> Small typo, that should be
30> >>
31> >> ata_devo_reset+0x54?w 0x6668
32> >>
33> >> > This should change the "pushl 0xcc" into a "pushl 0xaa" just before
34> >> > the call to ata_set_feature().
35> >>
36> >> Indeed, changing the "pushl 0xcc" into a "pushl 0x66" fixes the reboot
37> >> problem!
38/*--------------------------------------------------------------------------*/
39ata_devo_reset,50?ai
40ata_devo_reset:
41ata_devo_reset: pushl %ebp
42ata_devo_reset+1: movl %esp,%ebp
43ata_devo_reset+3: subl $4,%esp
44ata_devo_reset+6: pushl %ebx
45ata_devo_reset+7: pushl %esi
46ata_devo_reset+8: pushl %edi
47ata_devo_reset+9: cmpl $0,+0xc(%ebp)
48ata_devo_reset+0xd: je +0xb <ata_devo_reset+0x18>
49ata_devo_reset+0xf: xorl %eax,%eax
50ata_devo_reset+0x11: popl %edi
51ata_devo_reset+0x12: popl %esi
52ata_devo_reset+0x13: popl %ebx
53ata_devo_reset+0x14: movl %ebp,%esp
54ata_devo_reset+0x16: popl %ebp
55ata_devo_reset+0x17: ret
56ata_devo_reset+0x18: pushl +8(%ebp)
57ata_devo_reset+0x1b: call +1 <ata_devo_reset+0x1c>
58ata_devo_reset+0x20: addl $4,%esp
59ata_devo_reset+0x23: pushl %eax
60ata_devo_reset+0x24: pushl 0
61ata_devo_reset+0x2a: call +1 <ata_devo_reset+0x2b>
62ata_devo_reset+0x2f: addl $8,%esp
63ata_devo_reset+0x32: movl %eax,%edi
64ata_devo_reset+0x34: testl %edi,%edi
65ata_devo_reset+0x36: je +0x8d <ata_devo_reset+0xc3>
66ata_devo_reset+0x3c: movl $1,-4(%ebp)
67ata_devo_reset+0x43: xorl %esi,%esi
68ata_devo_reset+0x45: nop
69ata_devo_reset+0x46: nop
70ata_devo_reset+0x47: nop
71ata_devo_reset+0x48: movl %esi,%eax
72ata_devo_reset+0x4a: shll $6,%eax
73ata_devo_reset+0x4d: movl +0xc(%edi,%eax),%ebx
74ata_devo_reset+0x51: testl %ebx,%ebx
75ata_devo_reset+0x53: je +0x4d <ata_devo_reset+0xa0>
76ata_devo_reset+0x55: movl +0x204(%ebx),%eax
77ata_devo_reset+0x5b: andl $2,%eax
78ata_devo_reset+0x5e: je +0x13 <ata_devo_reset+0x71>
79ata_devo_reset+0x60: pushl $0
80ata_devo_reset+0x62: pushl $0x66 <<<======== War vorher pushl $0xcc
81ata_devo_reset+0x67: pushl %ebx
82ata_devo_reset+0x68: pushl %edi
83ata_devo_reset+0x69: call +0x1846 <ata_set_feature>
84ata_devo_reset+0x6e: addl $0x10,%esp
85ata_devo_reset+0x71: movl +0x204(%ebx),%eax
86ata_devo_reset+0x77: andl $1,%eax
87ata_devo_reset+0x7a: je +0x11 <ata_devo_reset+0x8b>
88
89
90Note that the exact position of the instruction that needs to be patched
91may vary depending on the version of Solaris you use. Be extremely careful
92when applying the patch.
93
README.sony
1The Sony CDU-924 was the first drive that has no hardware support
2for CDROM XA2 mode 1. If you want to create a multi session disk,
3you need to switch back to -data (plain CD-ROM)
4
5If you have a Sony drive that gives you problems with multi session disks,
6please always check the following:
7
8 For some Sony drives you may need to call cdrecord -multi -data
9 if you like to create multi-session CD's.
10
11 Some Sony drives do not allow to write XA2 tracks with
12 hardware support of the drive.
13
14There is currently a bug in the Sony code (for _old_ non MMC drives)
15of cdrecord that does not allow you to have different track types
16in one session.
17
18All Sony drives that have CDUxxx type names are _old_ non MMC drives.
19 Here I expect that no XA support is in the firmware.
20
21All Sony drives that have CRXxxx type names are MMC compliant.
22 These drives should support XA-mode2-form1 as it is mandatory with MMC.
23
24NOTE: many HP CD-writers are nased on Sony OEM drives.
25
26
27NOTE: As for 18.5.2001, a fix was introduced that prevented cdrecord
28 to do multi session with new MMC compliant Sony drives.
29
30
README.sun-lofi
1Starting with Solaris 8 (2000), Sun introduced a lofi driver which is
2very similar to my fbk driver from 1988.
3
4The lofiadm command seems to implement the basic idea of my fbkset program.
5
6# lofiadm -a /var/tmp/image.iso
7/dev/lofi/1
8# mount -F hsfs -o ro /dev/lofi/1 /mnt
9# ls /mnt
10etc.
11
12To remove this, you need to:
13# umount /mnt
14# lofiadm -d /dev/lofi/1
15
16The /dev/lofi/.. string may change depending on how many other loopback
17devices you have configured.
18
19It is explained quite clearly in the man page, but you may wish to update
20the README and cdrecord man page to reflect the new way of doing this.
21
README.verify
1Mini-Howto for verifying a selfmade CD
2
31) verifying the data layer
4
5 To verify if all data on the disk can be read,
6 use SCSI verify. This can be done with the
7 sformat utility.
8
9 use: sformat -verify [target] [lun] [scsibus]
10
11 If the CD-R device is connected to target 2 on SCSI bus 0
12 sformat -verify 2 0
13
14 sformat can be found on
15
16 https://sourceforge.net/projects/schilytools/files/sformat/
17 or
18 https://sourceforge.net/projects/schilytools/files/schily-*
19
20 NOTE: Not all CD-ROm drives support verifying
21 NOTE: All TAO tracks end in 2 unreadable run-out sectors
22
232) verifying the filesystem layer
24
25 A quick check is to mount the CD and to use star to read
26 all files on the filesystem.
27
28 mount -r /dev/cdrom /cdrom (modify for your OS)
29 cd /cdrom
30 star -cPM . >/dev/null
31
32 If no errors can be found, all files are readable.
33
34 star can be found on
35
36 http://sourceforge.net/projects/s-tar/files/
37
38
39 You also may want to compare the filesystem on the CD
40 with the original data. This can be done with star too.
41
42
43 (cd /master_for_cd; star -cPM .)|(cd /cdrom; star -diff -v)
44
452a) verifying the iso image before creating the CD
46
47 You may check the filesystem image by mounting it with my
48 "fbk" on Solaris or the loopback driver on Linux.
49
50 On Linux type:
51 mount isoimage.raw -r -t iso9660 -o loop /mnt
52
53 On SunOS type:
54 mount -r -F fbk -o type=hsfs /dev/fbk0:isoimage.raw /mnt
55
56For Solaris 8 and later you may also use the Sun lofi driver (see README.sun-lofi)
57
58 The check the filesystem with:
59
60 (cd /master_for_cd; star -cPM .)|(cd /mnt; star -diff -v)
61
62
63When doing this you have to know about the bugs in Linux/Solaris
64
65Mkisofs before 1.10 and Linux have a bug with timezones.
66If you are using mkisofs-1.10 and newer on Linux, you need to disable
67comparing times:
68
69(cd /master_for_cd; star -cPM .)|(cd /cdrom; star -diff -v diffopts=!times)
70
71The same is needed if you are using mkisofs pre-1.10 on Solaris
72
73Solaris has a bug with hardlinks. It generates different inode numbers
74for the hardlinks to a file. This makes it impossible for star to
75check hard links. Use
76
77(cd /master_for_cd; star -cPM .)|(cd /cdrom; star -diff -v diffopts=!hardlink)
78
79in this case.
80
81NOTE: Some operating systems have a read ahead bug that causes I/O errors for
82the last file(s) on a CD. This seems at least to be true for all Linux versions
83and for Solaris 7 FCS. For Solaris 7 there is a patch (107465-02) that you should
84install. This I/O error problem does not occur with DAO disks and with TAO disks
85that have been written with cdrecord -pad.
86
87Joerg Schilling
88
README.volmgt
1If you are on NeXT-Step/Apple Rhapsody,
2you must disable volume management before creating a CD.
3On older Solaris versions, you may also need to disable the volume management.
4
5This is needed because newer drives identify themselves correctly
6as CD-ROM drives. Unfortunately, the volume management daemon from
7Sun/Apple does not grok, that there may be a recordable medium in the drive.
8
9You do this on Solaris permanently by editing /etc/vold.conf
10NeXT-Step/Apple Rhapsody will only work correctly if you reboot while
11the CD-R drive is powered off.
12
13On Solaris you need to stop the volume management if you like to use the USCSI
14fallback SCSI transport code. Even things like cdrecord -scanbus
15will not work if the volume management is running.
16
17If the Solaris version you are running is recent enough, libscg will try to
18interace with the volume management. However, Solaris does not allow you to
19access a drive that is maintained by the volume management but does not
20include a medium. Cdrecord will mark this fact by printing a '?' during
21a -scanbus run.
22
23Cdrecord-ProDVD-Clone 2.01a23 (i386-pc-solaris2.9) Copyright (C) 1995-2003 J�rg Schilling
24scsidev: 'USCSI:'
25devname: 'USCSI'
26scsibus: -1 target: -1 lun: -1
27Warning: Using USCSI interface.
28Warning: Volume management is running, medialess managed drives are invisible.
29Using libscg version 'schily-0.7'.
30scsibus1:
31 1,0,0 100) ?
32 1,1,0 101) 'HP ' 'DVD Writer 200j ' '1.36' Removable CD-ROM
33 1,2,0 102) *
34 1,3,0 103) *
35 1,4,0 104) *
36 1,5,0 105) *
37 1,6,0 106) *
38 1,7,0 107) *
39
40If you insert a medium and close the tray, the medium becomes visible again.
41Note that for this reason, it is impossible to use cdrecord with automated
42scripts if the volume manager is configured to include a CD/DVD writer
43as it is impossible to close the door of the drive.
44
45
readme.mk