                           CD Control README

Copyright notice

CDcontrol is a program developed by Gleydson Mazioli da Silva 
<gleydson@debian.org> and is distributed under the GPL license. 
USE BY YOUR OWN RISK AND RESPONSIBILITY! I DON'T HAVE NO ONE 
RESPONSIBILITY DUE THE BAD CONFIGURATION OR USE OF THIS PROGRAM.

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.


Preface

CDcontrol is a parallel writting burner. It's allow you to write
to a unlimited number or CD writers (IDE and SCSI) at once time. It's main 
base is the cdrecord and cdda2wav program. The cdcontrol is the first 
system such that type that I know for *nix world and it's all under 
GPL license. 
Some of it's features are better than commercial systems that I've 
hear about (and fully support CD images and all data type supported 
by cdrecord program), one of these features is the separated control
of each recorder once the recording is started (avoiding problems 
due a fail or speed problem in other writers).

Each of that children, take control of the errors messages and status 
of each writter, reporting the status in the user level and tech
level (for repair or something like). 

The inteliggent error checking mechanism is based in some time of writers 
repair that I gave, repairing most types of recorders (IDE and SCSI) from 
many manufactures. It take the appropriate decision if a error happens.

The cdcontrol itself has a daily production report for each writter and 
fails of writting, in cases of more serious errors, a technical report is 
also written (it's content is a full cdrecord output for that writter, plus 
the time when it happens).

Added with the separated control of each writter, is included a 
system to auto disable the writter in some consecutive internal
writter errors happen (no users errors are computed).

Other interesting feature is the automatic calculation of copies, 
enabling only the writers requested to complete the number and 
skipping all that are disabled.

The cdrecord program is developed to allow you to find it useful and 
powerful to make you audio/data copy in one or more writers.


System features

- Don't need X window system, this allow you to use your free memory as 
  extra cache for the writers and decrease the possibility to happens 
  buffer underruns in one or some writers.

- Cdrecord is very intuitive and easy to use after configured.

- All operations is based in dialog menus, selection menus, info boxes, 
  check boxes, this allow a comfortable operation by the user.

- Fully support to writting audio CD (TAO and DAO mode) plus data image CDs 

- It's compatible with writers from 1x to 52x (this last in simulations).

- Ready and fully compatible with Linux and FreeBSD OS. 

- Support to an unlimited number of writers. The limit itself, depends
  of the power of the machine and the number of SCSI bus, ram memory, bus, and
  other some special configurations.

- The system resources are auto calculated to know if exist enough 
  buffers/free memory to allow the recording.

- The control of each CD writter is made one separated of another, a recording 
  fail in one writter don't interfere in others.

- The writter is auto disabled by the cdcontrol if it's defective (the technical
  reporting is written to explain what happened).

- The cdcontrol package has a utility to manually enable/disable writers.

- Specification of copy numbers wanted, only the enabled writers 
  and necessary to complete the copy number will be activated to write. 
  If the writers 1, 3 and 4 are working, and only need 2 copies to be done, 
  only the writter 1 and 3 will be activated.

- Messages sent by each recorder and readable for humans, explaining if the
  blank medium was loosed (or no, it could be written yet). The parsing system
  take the control of such decision. The output format is:
  "Writter #N: Message"

- Recording time.

- Reporting of recording success/fail for each recorder (diary).

- ANSI messages.

- The CD is ejected in a writter success (and remains closed when a fail
  happens).

- Auto system configuration check, SCSI Id's check and some other situations 
  requested to correctly work of CDcontrol.

- Auto checking of dependencies in the memoria-cd startup.


History

The idea to do the CDcontrol come when I was need to create the 
Debian GNU/Linux CD images to the Debian developers meeting that 
happened in Porto Alegre/Brazil at 05/2001. I've stay 6 hours to write
32 CDs and while this time I was thinking about something that would
leave my work more easy, a perfect program to do that job of burning 
a big number of copies. Naturally I've included additional features 
to leave the job more practical, as reporting and error analisys by 
writter.

In my job as hardware technician I do frequently repair in some 
CD writers (there are no good technicians here in my state ;-), 
because of that I had necessary stuff to test and developed the
CDcontrol in some IDE and SCSI models, and making the CDcontrol
a stable and trustful recording system. 


I already tested the system with the following configuration:

- A Intel Pentium 100 machine
- FreeBSD system
- 48MB RAM
- HD 3.6GB IDE
- 13 SCSI writers Matshita CW7502 (4x speed) splited in 2 Adaptec 
  7850 SCSI controllers.
- 2 power supply (one only for 9 writers)

YES! This Pentium 100 machine was able to control 13 writers at same time. 

The Linux has (a unfortunate) limit in the sg driver of the kernel, the FreeBSD 
allow the directly access to the recorders from pass? devices. FreeBSD will use 
the full power of the SCSI card. See the file README-Linux for more details.

The system is already ready and adapted to fully handle errors in the 
following recorders: 

- Matshita CW7502 (SCSI)
- Matshita CW7503 (SCSI)
- Teac R55S (SCSI)
- Plextor 12x (SCSI)
- HP 8200a (IDE Internal)
- Creative RW 8432 8x (IDE)

The cdcontrol supports ALL recorders, the differences are in the 
error treatment (not tested in other recorders yet). 
Please, report your success and some errors that cdcontrol don't handle and 
sent patches to make it ever better. Include on it the full output of 
the cdrecord, if the blank media was/no loosed, and your own brief report 
about the problem.



System requeriments

A 486 DX2-66 with 8MB of RAM memory for one CD writter (a Hard Disk with 
enough free space too).


How to use the system (manually)

- Login as root
- Install the system and edit the configuration file cdcontrolrc following
  the comments, according with your hardware requeriments.
- If no dependence problem was reported, the system is ready to be run. 
- Type "cdcontrol".

Gleydson Mazioli da Silva <gleydson@debian.org>
