CDRECORD(1)

BEZEICHNUNG
cdrecord - schreibt Audio- und Daten-CDs

ÜBERSICHT
cdrecord [ Grundoptionen ] dev=Gerät [ Track-Optionen ] Track1...Trackn

BESCHREIBUNG
Cdrecord wird verwendet, um Daten- oder Audio-Disks mit einem Orange-Book-kompatiblen CD-Rekorder zu erstellen.

Das zu verwendende Gerät wird durch scsibus/target/lun des CD-Rekorders angegeben. Kommunikation auf SunOS wird mit dem SCSI-Generaltreiber scg bewerkstelligt. Andere Betriebssysteme benutzen zur Simulation dieses Treibers eine Bibliothek. Eine mögliche Syntax dafür ist: dev=scsibus,target,lun oder dev=target,lun. Im letzteren Fall muss der CD-Rekorder am primären SCSI-Bus des Rechners angeschlossen sein. Scsibus, target und lun sind Ganzzahlen. Einige Betriebssysteme oder Implementierungen des SCSI-Transports benötigen möglicherweise die Angabe eines zusätzlichen Dateinamens. In diesem Fall sieht die korrekte Syntax für das Gerät so aus: dev=devicename:scsibus,target,lun oder dev=devicename:target,lun. Wenn der Name der Gerätedatei, der auf solch einem System angegeben wurde, auf exakt ein SCSI-Gerät verweist, kann die Kurzform dev=devicename:@ oder dev=devicename:@,lun anstelle von dev=devicename:scsibus,target,lun verwendet werden.

Um auf entfernte SCSI-Geräte zuzugreifen, muss dem SCSI-Gerätenamen ein Verweis auf das entfernte Gerät vorangestellt werden. Dies ist entweder REMOTE:user@host: oder REMOTE:host:.
Ein gültiger ferner SCSI-Gerätename ist REMOTE:user@host:, um ein Scannen des entfernten SCSI-Busses zu erlauben oder REMOTE:user@host:1,0,0 für den Zugriff auf das SCSI-Gerät auf host verbunden mit dem SCSI-Bus 1, target 0, lun 0.

Cdrecord basiert komplett auf SCSI-Kommandos, dies ist jedoch kein Problem, da alle CD/DVD-Brenner SCSI-Kommandos zur Kommunikation benutzen. Selbst ATAPI-Geräte sind einfach nur SCSI-Geräte, die die ATA-Paketschnittstelle als SCSI-Kommando-Transportschicht nutzen. Es könnte notwendig sein, dass Sie eine alternative Transportschicht auf der Kommandozeile angeben, wenn Ihr Betriebssystem kein vollständiges Treiber-Untersystem implementiert, dass es ermöglicht, jedes Gerät mittels SCSI-Kommandos durch eine einzelne eindeutige Nutzerschnittstelle anzusprechen.

Um auf SCSI-Geräte mit alternativen Transportprotokollen zuzugreifen, muss dem SCSI-Gerätenamen ein Indikator für das Transportprotokoll vorangestellt werden. Der Indikator kann etwas wie USCSI: oder ATAPI: sein. Für eine Liste unterstützter Transportprotokolle für Ihre Plattform verwenden Sie dev=HELP.

Um cdrecord portabel auf alle UNIX-Plattformen zu machen, wird die Syntax dev=devicename:scsibus,target,lun bevorzugt, weil es kein Betriebssystem spezifisches Wissen über die Gerätenamen erfordert. Ein spezielles Betriebssystem kann eventuell nicht über eine Möglichkeit zur Angabe eines realen Gerätenamens und auch nicht zur Angabe von scsibus,target,lun verfügen.

Scsibus 0 ist der Standard-SCSI-Bus des Rechners. Beobachten Sie die Boot-Meldungen oder suchen Sie in /var/log/messages nach mehr Informationen über die SCSI-Konfiguration ihres Computers. Falls es dann immer noch nicht möglich ist, die richtigen scsibus,target,lun Werte herauszufinden, versuchen Sie die -scanbus Option von cdrecord, wie sie unten beschrieben ist.

Wenn die Datei /etc/default/cdrecord existiert, kann als Parameter zur dev= Option auch eine in der Datei angegebene Gerätebezeichnung genutzt werden (vergleichen Sie den Abschnitt DATEIEN).

Auf SVr4 kompatiblen Systemen benutzt cdrecord die Echtzeit-Klasse, um die höchstmögliche Priorität zu erlangen (höher als die aller anderen Kernelprozesse). Auf Systemen mit dem POSIX real time scheduling benutzt cdrecord ebenfalls Echtzeit-Scheduling, wird aber möglicherweise keine höhere Priorität als die anderer Kernelprozesse erhalten.

Im "Track At Once"-Modus entspricht jeder Track einer einzigen Datei, die vorgefertigte Daten für diesen Track enthält. Beim Argument `-' wird die Standardeingabe für diesen Track verwendet. Nur ein einziger Track kann von der Standardeingabe gelesen werden.

GRUNDOPTIONEN

Grundoptionen müssen vor den Track-Dateien und Track-Optionen angegeben werden.

-version
    Gibt die Versionsnummer aus und beendet das Programm.

-v (verbose - informationsreich, geschwätzig)
    Diese Option wird verwendet, um allgemeine Informationen während des Brennvorgangs auszugeben, wie z.B. den Fortschritt beim Brennen. Jedes weitere `v' erhöht die Anzahl der Meldungen.

-V  Erhöht den Informationsreichtum über den "SCSI command transport" um eine Stufe. Dies hilft, um Probleme mit dem CD-Rekorder während des Brennvorgangs zu untersuchen. Falls Sie unverständliche Fehlerausgaben während des Brennvorgangs bekommen, benutzen Sie diese Option um den Fehler zu identifizieren. -VV zeigt zusätzlich den Datenpuffer-Inhalt an. Die Benutzung von -V oder -VV verlangsamt den Prozess und kann dadurch zur Ursache eines Buffer-Underruns werden.

debug=#, -d
    Dies setzt den Debug-Wert für verschiedenes auf # (mit debug=#) oder erhöht dieses Debug-Level um eins (mit -d). Geben Sie -dd an, entspricht dies debug=2. Das kann bei Problemen beim Öffnen eines Treibers für libscg helfen, sowie bei Problemen mit Sektorgrößen und Sektortypen. Benutzung von debug verlangsamt den Prozess und kann dadurch zur Ursache eines Buffer-Underruns werden.

kdebug=#, kd=#
    Teilt dem scg-Treiber mit, dass Kernel-Debug-Werte während der Ausführung von SCSI-Kommandos geändert werden sollen.

-silent, -s
    Gibt keinen Statusreport für fehlgeschlagene SCSI-Kommandos aus.

-force
    Erzwingt die Fortsetzung trotz bestimmter Fehler. Seien Sie vorsichtig, wenn Sie diese Option benutzen. Cdrecord implementiert verschiedene Checks, die verhindern, dass Sie ungewollte Dinge wie das Zerstören von CD-RW Medien durch unpassende Geräte durchführen. Viele dieser sinnvollen Checks werden deaktiviert, wenn die -force Option verwendet wird.

    Diese Option implementiert auch einige Tricks, die das Löschen von beschädigten CD-RWs ermöglichen.

-immed
    Teilt cdrecord mit, das SCSI IMMED Flag in verschiedenen Kommandos (load/eject/blank/close_track/close_session) zu setzen. Dies kann auf fehlerhaften Systemen mit ATAPI-Festplatte und CD/DVD-Brenner am selben Bus oder mit SCSI-Systemen die kein disconnect/reconnect nutzen, sinnvoll sein. Diese Systeme werden einfrieren, wenn eine CD/DVD gelöscht oder fixiert wird oder während ein DVD-Brenner eine Session bis zum minimalen Wert (etwa 800 MB) auffüllt. Setzen des -immed Flags führt zur sofortigen Rückkehr von Kommandos, nachdem die Operation im Hintergrund ausgeführt wird. Dies ermöglicht die Nutzung des Busses durch andere Geräte und verhindert das Einfrieren des Systems. Dies ist eine experimentelle Eigenschaft die funktionieren kann oder auch nicht, abhängig vom Modell des CD/DVD-Brenners. Eine korrekte Lösung wäre das richtige Verkabeln, aber es scheint einige Notebooks zu geben, die vom Hersteller falsch konfiguriert sind. Da es unmöglich ist, dieses Problem in Notebooks zu lösen, wurde die -immed Option hinzugefügt.

    Eine zweite experimentelle Eigenschaft von -immed ist das kurzzeitige Warten, während ein Medium beschrieben wird. Es wird erwartet, das dies den IDE-Bus freigibt, wenn der CD/DVD-Brenner und die Datenquelle mit dem selben IDE-Kabel verbunden sind. In diesem Fall würde der CD/DVD-Brenner normalerweise den IDE-Bus für fast die ganze Zeit blockieren, was es unmöglich machen würde, auf die Daten vom Quellgerät zuzugreifen. Vergleichen Sie auch die minbuf= und -v Option.

    Beide Features sollten auf eigenes Risiko verwendet werden. Wenn sich herausstellt, dass es sinnvoll wäre, eine eigene Option für die Verzögerung zu haben, schreiben Sie dem Autor und überzeugen Sie ihn.

minbuf=value
    Die minbuf= Option erlaubt das Setzen des minimalen Füllstandverhältnisses für die experimentelle ATAPI-Verzögerung zum Freigeben des IDE-Busses, um es zu ermöglichen, die Festplatte und den CD/DVD-Brenner am selben IDE-Kabel zu betreiben. Da die Verzögerung zurzeit nur funktioniert, wenn die -v Option genutzt wird, wird dies von cdrecord im Falle der -immed und minbuf= Optionen automatisch verwendet. Gültige Werte für minbuf= sind zwischen 25 und 95 für einen Minimalwert von 25%...95% für den Geräte-Puffer.

-dummy (Simulation)
    Der CD-Brenner passiert alle Schritte des Brennvorgangs ohne den Laser zu aktivieren. Es wird empfohlen, vor dem Brennen von CDs und DVDs mehrere Tests damit durchzuführen, falls die Geschwindigkeit des Systems nicht ausreichend bekannt ist.

-dao
    Schaltet in den SAO- (Session At Once)-Modus, der gewöhnlich Disk At Once-Modus genannt wird. Dies funktioniert zurzeit nur mit MMC-Laufwerken, die den Session At Once-Modus beherrschen. Es ist zu beachten, dass cdrecord die Größe eines jeden Tracks für diesen Mode im Voraus wissen muss (vergleichen Sie die mkisofs -print-size Option und den BEISPIELE-Abschnitt für weitere Informationen).

-raw
    Schaltet in den RAW-Schreibmodus. Diese Option verwendet standardmäßig -raw96r. Es ist zu beachten, dass cdrecord die Größe eines jeden Tracks für diesen Mode im Voraus wissen muss (vergleichen Sie die mkisofs -print-size Option und den BEISPIELE-Abschnitt für weitere Informationen).

-raw96r
    Wählt den RAW-Schreibmodus mit 2352 Bytes pro Sektor plus 96 Bytes der "raw P-W subchannel data", was zu einer Sektorgröße von 2448 Bytes führt. Dies ist der bevorzugte RAW-Schreibmodus, da er die beste Kontrolle über den CD-Schreibprozess gibt. Sollten Sie irgendwelche Probleme mit dem Layout einer CD/DVD oder mit sub channel Inhalt haben (z.B. falsche Zeiten auf dem Display beim Abspielen der CD) und Ihr Gerät Schreiben im -raw96r- oder -raw16-Modus unterstützt, sollten Sie dies ausprobieren. Es gibt viele CD-Brenner mit fehlerhafter Firmware, was zu kaputten CD/DVD's im TAO- oder SAO-Mode führt. Das Schreiben von Daten-CD/DVD's im RAW-Mode benötigt signifikant mehr CPU-Zeit als andere Schreibmodi. Ist Ihre CPU zu langsam, kann dies zu Buffer-Underruns führen. Es ist zu beachten, dass cdrecord die Größe eines jeden Tracks für diesen Mode im Voraus wissen muss (vergleichen Sie die mkisofs -print-size Option und den BEISPIELE Abschnitt für weitere Informationen).

-raw96p
    Wählt den RAW-Schreibmodus mit 2352 Bytes pro Sektor plus 96 Bytes der "packed P-W subchannel data", was zu einer Sektorgröße von 2448 Bytes führt. Dies ist der weniger empfohlene RAW-Schreibmodus, da nur wenige Rekorder dies unterstützen und einige dieser Rekorder Fehler in der Firmware haben. Verwenden Sie diesen Mode nicht, wenn Ihr Rekorder -raw96r oder -raw16 unterstützt. Das Schreiben von Daten-CD/DVDs im RAW-Mode benötigt signifikant mehr CPU-Zeit als andere Schreibmodi. Ist Ihre CPU zu langsam, kann dies zu Buffer-Underruns führen. Es ist zu beachten, dass cdrecord die Größe eines jeden Tracks für diesen Mode im Voraus wissen muss (vergleichen Sie die mkisofs -print-size Option und den BEISPIELE Abschnitt für weitere Informationen).

-raw16
    Wählt den RAW-Schreibmodus mit 2352 Bytes pro Sektor plus 16 Bytes der "P-Q subchannel data", was zu einer Sektorgröße von 2368 Bytes führt. Unterstützt ein Rekorder -raw96r nicht, ist dies der bevorzugte RAW-Schreibmodus. Er erlaubt nicht das Schreiben von CD-Text oder CD+Graphics aber es ist der einzige RAW-Schreibmodus in billigen CD-Brennern. Diese billigen Brenner unterstützen in den meisten Fällen die -dao-Option nicht. Verwenden Sie diesen Mode nicht, wenn Ihr Rekorder -raw96r unterstützt. Das Schreiben von Daten-CD/DVD's im RAW-Mode benötigt signifikant mehr CPU-Zeit als andere Schreibmodi. Ist Ihre CPU zu langsam, kann dies zu Buffer-Underruns führen. Es ist zu beachten, dass cdrecord die Größe eines jeden Tracks für diesen Mode im Voraus wissen muss (vergleichen Sie die mkisofs -print-size Option und den BEISPIELE Abschnitt für weitere Informationen).

-multi
    Erlaubt die Herstellung von Multisession-CDs. Diese Option muss bei allen Sessions angeben werden, außer bei der letzten Session der CD. Die Art der Fixierung erlaubt den späteren Anschluss mehrerer Sessions. Dies wird durch ein spezielles Inhaltsverzeichnis (TOC) mit einem Verweis auf den nächsten Programmbereich erreicht. Auf diese Weise erstellte CDs sind zu den industriell hergestellten CDs nicht mehr 100%ig kompatibel (CDplus ausgenommen). Benutzen Sie es nur für die Erstellung einer Multisession-CD. Bei der Benutzung dieser Option wird standardmäßig der Track-Typ CD-ROM XA mode 2 form 1 ausgewählt und die Sektorgröße ist 2048 Bytes. Die "XA sector subheaders" werden vom Gerät erstellt. Die Sony-Geräte haben keine Hardware-Unterstützung für CD-ROM XA mode 2 form 1. Verwenden Sie in diesem Fall die Option -data zum Erstellen von Multisession-CDs. Solange cdrecord keinen Coder zum Konvertieren von Datensektoren zu Audiosektoren enthält, müssen Sie CD-ROM Sektoren durch die -data Option erzwingen, wenn Sie eine Multisession-Disk im SAO-Modus erstellen möchten. Nicht alle Laufwerke erlauben Multisession-CDs im SAO-Modus.

-msinfo
    Liest Multisession-Informationen aus, in einer Form, wie sie von mkisofs-1.10 oder später verstanden wird.

    Diese Option ist nur mit CD's sinnvoll, die mindestens eine abgeschlossene Session enthalten und noch nicht endgültig abgeschlossen sind. Einige Laufwerke produzieren Fehlermeldungen, falls versucht wird, Multisession-Informationen von einer ungeeigneten CD auszulesen.

-toc
    Liest und gibt die Inhaltstabelle (table of content) oder PMA der CD aus. Diese Funktion funktioniert sowohl mit CD-Brennern als auch mit einfachen CD-ROM-Laufwerken.

-atip
    Liest ATIP-Informationen (absolute Time in Pre-groove) einer beschreibbaren CD/DVD oder eines wiederbeschreibbaren CD/DVD-Mediums und gibt sie aus. Wenn das vorliegende Laufwerk das Auslesen von ATIP-Informationen nicht beherrscht, kann es sein, dass nur ein Teil der Informationen oder überhaupt nichts angezeigt wird. Nur wenige MMC-kompatiblen Laufwerke unterstützen das Auslesen von ATIP-Informationen.

    Wenn cdrecord in der Lage war, die Startzeit im Lead-In der ersten Session zu lesen, wird der Versuch unternommen, die Daten des Medienherstellers zu dekodieren und anzuzeigen. DVD Medien haben keine ATIP-Informationen, aber es gibt ein Äquivalent das gelesen und ausgegeben wird.

-fix
    Die CD wird nur abgeschlossen (z.B. wird das Inhaltsverzeichnis für CD-ROM-Laufwerke geschrieben). Dies ist nützlich, wenn die CD bereits beschrieben, aber noch nicht abgeschlossen ist. Diese Option funktioniert z.Z. nicht bei alten TEAC-Laufwerken (CD-R50S und CD-R55S).

-nofix
    Die CD wird nach der Fertigstellung nicht abgeschlossen. Dies kann genutzt werden, um eine Audio-CD in mehreren Schritten zu beschreiben. Eine nicht abgeschlossene CD kann i.d.R. nicht mit einem einfachen CD-Laufwerk gelesen werden, es gibt aber Audio-CD-Player, die damit keine Probleme haben.

-waiti
    Dies bewirkt ein Warten auf Daten von der Standardeingabe, bevor der SCSI-Treiber geladen wird. Das erlaubt cdrecord das Lesen von einer Pipe, selbst wenn zusätzliche Sessions auf eine Multisession-Disk geschrieben werden. Beim Schreiben einer anderen Session auf eine Multisession-Disk, muss mkisofs zuerst die alte Session vom Gerät auslesen, bevor die Ausgabe geschrieben wird. Dies kann nicht erreicht werden, wenn cdrecord den SCSI-Treiber zur gleichen Zeit startet.

-load
    Zieht das Medium ein und beendet das Programm. Dies funktioniert nur mit Schubladen-Mechanismen, kann sich aber auch beim Kodak-Disk-Transporter als nützlich erweisen.

-lock
    Zieht das Medium ein, blockiert den Auswurf und beendet das Programm. Dies funktioniert nur mit Schubladen-Mechanismen, kann sich aber auch beim Kodak-Disk-Transporter als nützlich erweisen.

-eject
    Wirft die CD aus, sobald die Arbeit beendet ist. Einige Geräte (u.a. Philips) brauchen einen Auswurf des Mediums, bevor sie mit einem neuen arbeiten können. Die Ausführung eines -dummy-Testlaufs mit anschließendem Brennvorgang wird bei diesen Geräten nicht funktionieren.

speed=#
    Setzt die Geschwindigkeit (x-Faktor) für den Brennvorgang auf #. # ist eine Ganzzahl und entspricht dem Multiplikator im Vergleich zu der normalen Audio-Geschwindigkeit (etwa 150 KB/s bei CD-ROMs, 172 KB/s bei Audio-CDs und etwa 1385 KB/s für DVDs). Wenn die speed Option nicht angegeben ist, versucht cdrecord eine gerätespezifische Geschwindigkeit aus der Datei /etc/default/cdrecord zu bestimmen und falls diese nicht existiert, versucht es, sie aus der Umgebungsvariablen CDR_SPEED und später aus dem CDR_SPEED= Eintrag in /etc/default/cdrecord zu lesen. Falls kein Wert für die Geschwindigkeit gefunden wurde, nutzt cdrecord einen gerätespezifischen Wert. Der Standard für alle neuen (MMC-kompatiblen) Geräte ist das vom Gerät unterstützte Maximum. Verwenden Sie speed=0 für ein MMC-kompatibles Gerät, wechselt cdrecord zur geringstmöglichen Geschwindigkeit für das Gerät und das Medium. Falls ihr altes (nicht-MMC) Laufwerk Probleme mit speed=2 oder speed=4 hat, versuchen Sie speed=0.

blank=Methode
    Löscht eine CD-RW und beendet das Programm oder löscht eine CD-RW, bevor Sie beschrieben wird. Es kann mit einer der folgenden Methoden gelöscht werden:

    help
        Zeigt eine Liste mit allen möglichen Methoden.

    all Löscht die gesamte CD. Dies könnte eine Weile dauern.

    fast
        Schnelles Löschen. Dabei werden nur PMA, TOC und das Pregap gelöscht.

    track
        Löscht einen Track.

    unreserve
        Gibt einen reservierten Track wieder frei.

    trtail
        Löscht das Ende eines Tracks.

    unclose
        Gibt die letzte Session wieder frei.

    session
        Löscht die letzte Session.
Nicht alle Geräte unterstützen alle Löschmethoden. Es kann nötig sein, blank=all zu verwenden, wenn ein Gerät ein angegebenes Kommando als ungültig bezeichnet. Wenn dabei der Schalter -force angegeben wird, kann diese Option dazu benutzt werden, CD-RW-Medien zu formatieren, die sonst nicht gelöscht/formatiert werden können. Sie werden wahrscheinlich blank=all auswählen müssen, weil sonst einige Laufwerke mit bestimmten fehlerhaften CD-RW-Typen nicht weitermachen können. cdrecord tut sein bestes, wenn der -force Schalter verwendet wird, aber es hängt letztendlich nur von der Firmware des Laufwerks ab, ob der Löschvorgang gelingen wird, oder eben nicht.

-format
    Formatiert eine CD-RW/DVD-RW/DVD+RW. Die Formatierung ist aktuell nur für DVD+RW Medien implementiert. Ein "jungfräuliches" DVD+RW Medium muss formatiert sein, bevor man es beschreiben kann. Da cdrecord eine nötige Formatierung automatisch erkennt und auch automatisch vor einem Schreibvorgang durchführt, ist die -format Option nur nötig, wenn man das Neuformatieren einer DVD+RW erzwingen will.

fs=#
    Setzt die FIFO- (Ringpuffer-) Größe auf #. Die Syntax der Angabe ist die gleiche wie bei dd(1), sdd(1) oder star(1). Die Nummer repräsentiert die Größe in Bytes, sofern es nicht anderswo spezifiziert ist. Wenn im Anschluss an die Zahl ein Buchstabe wie `b', `k', `m', `s' oder `f' folgt, wird die Größe mit 512, 1024, 1024*1024, 2048 oder 2352 multipliziert. Wenn die Größe aus mehreren, durch `x' oder `*' getrennten Zahlen besteht, wird die Multiplikation dieser Zahlen ausgeführt, z.B. ergibt fs=10x63k eine Puffergröße von 630 KBytes.

    Die mit fs= angegebene Größe beinhaltet den geteilten Arbeitsspeicher, der für die Verwaltung benötigt wird. Es ist mindestens eine Seite des Speichers. Wenn die fs= Option nicht vorhanden ist, versucht cdrecord den Wert der FIFO-Größe aus der Umgebungsvariablen CDR_FIFOSIZE zu bestimmen. Die voreingestellte FIFO-Größe ist zurzeit 4 MB.

    FIFO wird benutzt, um die Pufferung für den Echtzeit-Schreibprozess zu erhöhen. Es ermöglicht die Benutzung einer Pipe von mkisofs direkt in cdrecord. Wenn der FIFO aktiv ist und eine Pipe von mkisofs zu cdrecord führt und mkisofs vor dem Brennanfang abbricht, wird cdrecord anhalten, bevor auf die CD geschrieben wird. Die empfohlene Größe liegt zwischen 4 und 32 MByte. Als Faustregel gilt: Der FIFO sollte mindestens so groß wie der interne Puffer des Brenners sein und nicht mehr als die Hälfte des vorhandenen Arbeitsspeichers belegen. Wenn die FIFO-Größe groß genug ist, sollte die Statistik keine Leerzustände (empty count) aufweisen und der schlechteste Wert (min fill) sollte nicht unter 20% liegen. Es ist aber auch nicht empfehlenswert, zu viel Speicher für FIFO zu reservieren. Wenn Sie mehr als 8 MB auf einer unbelasteten Maschine brauchen, ist ihr Rechner entweder zu langsam, hat Hardware-Probleme oder ist schlecht konfiguriert. Die sun4c-Architektur (z.B. eine Sparcstation-2) hat nur MMU-Page Einträge für 16 MB pro Prozess. FIFO-Größen von mehr als 14 MB bringen das System möglicherweise dazu, viel Zeit mit dem Neuladen der MMU-Tabellen zu verbringen. Neuere Maschinen von Sun haben dieses MMU-Hardware-Problem nicht. Ich weiß nichts von derartigen Problemen auf PC-Hardware.

    Wenn Sie Buffer-Underruns oder ähnliche Probleme haben und dabei keine Meldung bezüglich eines leeren FIFOs erhalten, dann haben Sie echte Hardware-Probleme. Die FIFO-Größe ist in diesem Fall ausreichend.

ts=#
    Setzt die maximale SCSI-Transfer-Größe auf #. Die Syntax für die Option ts= ist dieselbe wie bei cdrecord fs=# oder sdd bs=#.

    Wenn keine ts= Option angegeben wurde, verwendet cdrecord eine Transfergröße von 63 kB. Wenn libscg kleinere Werte vom Betriebssystem erhält, wird der Wert auf den Maximalwert reduziert, der mit dem aktuellen Betriebssystem möglich ist. Manchmal kann es hilfreich sein, die Transfergröße weiter zu verkleinern oder zu vergrößern, aber es ist zu beachten, dass es lange dauern kann, bis man einen besseren Wert durch experimentieren mit der ts= Option findet.

dev=target
    Gibt das SCSI-Ziel (target) für den CD-Rekorder an, siehe obige Bemerkungen. Eine typische Angabe ist dev=6,0. Wenn ein Dateiname zusammen mit der numerischen Angabe benötigt wird, ist der Dateiname von der Implementation abhängig. Der korrekte Dateiname kann in diesem Fall in den systemspezifischen Handbüchern des jeweiligen Betriebssystems gefunden werden. Auf einem FreeBSD-System ohne CAM-Unterstützung müssen Sie die Gerätedatei angeben (z.B. /dev/rcd0.ctl). Die korrekte Gerätespezifikation könnte in diesem Fall so aussehen: dev=/dev/rcd0.ctl:@.

    Unter Linux werden die an den Parallelport angeschlossenen Geräte auf einen virtuellen SCSI-Bus abgebildet. Verschiedene Adapter entsprechen verschiedenen "Targets" in diesem virtuellen SCSI-Bus.

    Wenn die Option dev= nicht angegeben wird, versucht cdrecord das Gerät aus der Umgebungsvariablen CDR_DEVICE zu bestimmen.

    Wenn das Argument der dev= Option keins der Zeichen ',', '/', '@' und ':' enthält, wird es als ein Bezeichner aus der Datei /etc/default/cdrecord interpretiert (siehe Abschnitt DATEIEN).

gracetime=#
    Setzt die Zeit bis zum Start des Schreibvorgangs auf # Sekunden. Werte unter 2 Sekunden sind nicht erlaubt.

timeout=#
    Setzt die voreingestellte Zeit des SCSI-Timeouts auf # Sekunden. Die voreingestellte SCSI-Auszeit (Timeout) ist die kürzeste Auszeit, die für die Übertragung der SCSI-Kommandos benutzt wird. Wenn ein SCSI-Befehl aufgrund einer Zeitüberschreitung versagt, können Sie die normale Auszeit durch einen Wert ersetzen, der etwas höher als der Timeout des fehlgeschlagenen Befehls liegt. Wenn ein Befehl mit dem erhöhten Timeout korrekt abgearbeitet wird, berichten Sie bitte diesen Wert und den entsprechenden Befehl dem Autor des Programms. Wenn keine timeout Option angegeben ist, wird der voreingestellte Timeout von 40s benutzt.

driver=name
    Erlaubt die Benutzung eines vom Nutzer angegebenen Treibers für das Gerät. Um eine Liste aller verfügbaren Treiber zu bekommen, geben Sie bitte driver=help ein. Der Grund für die Existenz dieser Option ist, dem Anwender die Benutzung von cdrecord mit einem anderen Gerät zu erlauben, das zwar ähnlich einem Unterstützten ist, aber von cdrecord nicht automatisch erkannt wird. Benutzen Sie diese Option mit extremer Vorsicht! Die Gefahr, den Datenträger unwiderruflich zu beschädigen ist durch die Benutzung eines anderen Treibers sehr groß. Das kleinste Übel, dass dabei auftreten kann, ist die Fehlfunktion der Schalter speed oder -dummy.

    Es gibt zwei spezielle Treibereinträge in der Liste: cdr_simul und dvd_simul. Diese Einträge wurden entwickelt, um Timing-Tests mit beliebiger Geschwindigkeit auf Laufwerken zu erstellen, die die -dummy Option nicht unterstützen. Die Simulations-Treiber implementieren ein Laufwerk mit der Puffergröße 1 MB, die über die CDR_SIMUL_BUFSIZE Umgebungsvariable verändert werden kann. Der Simulations-Treiber simuliert auch die "Buffer-Underrun"-Situationen korrekt. Bei der Angabe der -dummy Option wird die Simulation damit auch im Falle eines Buffer-Underruns nicht abgebrochen.

driveropts=option list
    Setzt treiberspezifische Optionen. Die Optionen werden in einer kommaseparierten Liste angegeben. Um eine Liste mit gültigen Optionen zu erhalten, verwenden Sie driveropts=help zusammen mit der -checkdrive Option. Zurzeit implementierte Treiberoptionen sind:

    burnfree
        Schaltet die Unterstützung für das Schreiben mittels "Buffer Underrun Free" an. Dies funktioniert nur für Geräte, die die "Buffer Underrun Free" Technologie unterstützen. Dies wird u.a. wie folgt genannt: Sanyo BURN-Proof, Ricoh Just-Link, Yamaha Lossless-Link.

        Der Standard ist das Abschalten von BURN-Free, unabhängig von den Einstellungen des Geräts.

    noburnfree
        Schaltet die Unterstützung für "Buffer Underrun Free" ab.

    varirec=Wert
        Schaltet den Plextor VariRec-Schreibmodus an. Der Parameter Wert ist der Laserpower-Offset (-Versatz) und kann zurzeit aus -2, -1, 0, 1, 2 gewählt werden. Zusätzlich müssen Sie die Schreibgeschwindigkeit auf 4 setzen, um VariRec zu nutzen.

    audiomaster
        Aktiviert die Yamaha Audio Master Q. R.-Fähigkeit, was in der Regel zu hochwertigen CDs führt, die zu weniger Leseproblemen in Hi-Fi-Playern führen. Da dies als Variante des "Session at Once"-Schreibmodus implementiert ist, funktioniert dies nur, wenn Sie den SAO-Schreibmodus wählen und es gibt keinen Grund dies auszuschalten. Der Audio Master-Modus arbeitet mit reduzierter Geschwindigkeit, kann aber auch mit Daten-CDs genutzt werden. Im Audio Master-Modus werden die Pits (datenenthaltende Strukturen auf der CD) auf der CD länger geschrieben als normalerweise, so dass die Kapazität des Mediums reduziert wird, wenn dieses Eigenschaft gewählt wird. Eine 74-Minuten-CD hat nur eine Kapazität von 63 Minuten wenn Audio Master aktiv ist und die Kapazität einer 80-Minuten-CD wird auf 68 Minuten reduziert.

    forcespeed
        Normalerweise kennen moderne Geräte die höchstmögliche Geschwindigkeit für verschiedene Medien und können die Geschwindigkeit reduzieren, um bestmögliche Schreibqualität zu erreichen. Diese Technologie ist unter Plextor PowerRec, Ricoh Just-Speed und Yamaha Optimum Write Speed Control bekannt. Einige Geräte (z.B. Plextor, Ricoh und Yamaha) erlauben das Erzwingen der angegebenen Geschwindigkeit, wenn das Medium so unreichend ist, dass die Schreibqualität schlecht wäre. Diese Option teilt dem Laufwerk mit, dass die angegebene Geschwindigkeit genutzt werden soll, unabhängig von der Qualität des Mediums.

        Verwenden Sie diese Option mit extremer Vorsicht und beachten Sie, dass das Laufwerk besser wissen sollte, welche Medien bei voller Geschwindigkeit genutzt werden können. forcespeed wird standardmäßig nicht genutzt, unabhängig von den Einstellungen des Gerätes.

    noforcespeed
        Schaltet die forcespeed Option ab.

    speedread
        Einige extrem schnelle Laufwerke wie 48x und schneller von Plextor begrenzen die Lesegeschwindigkeit für unbekannte Medien auf beispielsweise 40x, um Beschädigungen der Medien und Laufwerke zu verhindern. Diese Option teilt dem Gerät mit, dass jedes Medium so schnell wie möglich gelesen werden soll. Seien Sie sehr vorsichtig, da dies das Medium beim Lesen im Laufwerk zerbrechen lassen kann, was zu einem zerstörten Medium und Gerät führt!

    nospeedread
        Schaltet die fehlende Geschwindigkeitsbeschränkung ab.

    singlesession
        Beschränkt das Laufwerk auf Singlesession. Dies erlaubt das Lesen defekter oder nicht kompatibler (illegaler) Medien mit extremen nicht standardmäßigen zusätzlichen (kaputten/illegalen) TOC- (Inhaltsverzeichnis-) Einträgen im Inhaltsverzeichnis aus der zweiten oder höheren Sessions. Einige dieser Disks werden benutzbar, wenn nur die Informationen der ersten Session genutzt werden. Sie müssen den Singlesession-Modus aktivieren, bevor die defekte Disk eingelegt wird!

    nosinglesession
        Deaktiviert den Singlesession-Modus. Das Laufwerk wird sich wie üblich verhalten.

    hidecdr
        Verschweigt die Tatsache, dass ein Medium schreibbar ist. Dies erlaubt es, CD-Rs wie CD-ROMs erscheinen zu lassen und Anwendungen glauben zu machen, dass das Medium im Laufwerk keine CD-R ist.

    nohidecdr
        Deaktiviert das Verstecken von CD-R-Medien.

    tattooinfo
        Verwenden Sie diese Option zusammen mit -checkdrive, um die Bild-Größeninformationen für das Yamaha DiskT@2 Feature zu bestimmen. Die Bilder haben immer eine Zeilenlänge von 3744 Pixel. Die Zeile 0 (Radius 0) wird auf das Zentrum der Disk abgebildet. Kennen Sie den inneren und äußeren Radius, so werden Sie in der Lage sein, ein vorverdrehtes Bild zu erzeugen, das später auf der Disk unverdreht erscheinen kann.

    tattoofile=Name
        Verwenden Sie diese Option zusammen mit -checkdrive, um ein für das Yamaha DiskT@2 Feature vorbereitetes Bild auf das Medium zu schreiben. Die Datei muss "raw image B&W data" enthalten (ein Byte pro Pixel), in einer Größe wie sie von einem vorherigen Aufruf von tattoofile=Name stammt. Ist die Größe des Bildes gleich der maximal möglichen Größe (3744 x 320 Pixel), so wird cdrecord den ersten Teil der Datei nutzen. Dieser erste Teil wird dann auf den verbliebenen Bereich der CD geschrieben.

        Beachten Sie, dass das Bild gespiegelt sein muss, um auf der Vorderseite der CD erkennbar zu sein.

-setdropts
    Setzt Geräteoptionen mittels driveropts=Optionsliste, die Geschwindigkeit (speed) des Laufwerks und die -dummy Option und beendet das Programm. Dies erlaubt cdrecord laufwerksspezifische Parameter, die nicht direkt von cdrecord genutzt werden, wie z.B. singlesession, hidecdr und ähnliche, zu setzen.

-checkdrive
    Überprüft das Vorhandensein eines passenden Treibers und beendet das Programm. Wenn das Gerät bekannt ist, beendet cdrecord mit Exitcode 0.

-prcap
    Gibt Informationen über die Fähigkeiten eines SCSI-3/MMC-kompatiblen Laufwerks aus, die mittels mode page 0x2A bestimmt wurden. Werte, die mit kB markiert sind, benutzen 1000 Bytes als Kilobyte, die mit KB markierten Werte benutzen 1024 Byte als Kilobyte.

-inq
    Analysiert das Gerät, gibt die Informationen aus und beendet.

-scanbus
    Durchsucht alle SCSI-Busse nach SCSI-Geräten und gibt die abgefragten Namen/Gerätestrings aus. Diese Option kann benutzt werden, um die SCSI-Adresse des CD-Brenners herauszufinden. Die ausgegebenen Nummern erscheinen in der Form: bus * 100 + target

-reset (zurücksetzen)
    Führt einen SCSI-Reset auf dem Bus aus, der den CD-Rekorder ansteuert. Dies funktioniert nicht auf allen Betriebssystemen.

-abort
    Versucht eine Abbruch-Sequenz an das Laufwerk zu schicken. Wenn Sie nur cdrecord verwenden, sollte dies niemals benötigt werden; aber andere Software kann das Laufwerk in einen nicht nutzbaren Zustand versetzen. Aufrufen von cdrecord -reset kann nötig sein, wenn ein vorheriger Schreibvorgang unterbrochen wurde und die Software dem Laufwerk nicht mitteilte, dass der Schreibvorgang nicht fortgesetzt wird.

-overburn
    Erlaubt cdrecord das Schreiben von größeren Datenmengen als die offizielle Mediengröße. Diese Eigenschaft wird normalerweise overburning (überbrennen) genannt und hängt von dem Fakt ab, dass die meisten leeren Medien mehr Daten aufnehmen können als die offizielle Größe. Da die offizielle Größe des lead-out-Bereichs auf einer Disk 90 Sekunden beträgt (6750 Sektoren) und eine Disk gewöhnlich funktioniert, wenn mindestens 150 Sektoren vom lead-out vorhanden sind, können alle Medien mindestens um 88 Sekunden (6600 Sektoren) überbrannt werden. Die meisten CD-Rekorder überbrennen nur im SAO- oder RAW-Modus. Bekannte Ausnahmen sind TEAC CD-R50S, TEAC CD-R55S und das Panasonic CW-7502. Einige Laufwerke erlauben ein beliebiges Überbrennen nicht und limitieren die Größe einer CD auf beispielsweise 76 Minuten. Dieses Problem kann umgangen werden, indem die CD im RAW-Modus geschrieben wird, da in diesem Fall das Laufwerk die Größe nicht vor dem Brennstart bestimmen kann. Es gibt keine Garantie, dass Ihr Laufwerk Überbrennen überhaupt unterstützt. Testen Sie dies, um zu bestimmen, ob Ihr Laufwerk diese Eigenschaft implementiert.

-ignsize
    Ignoriert die bekannte Größe des Mediums. Diese Option sollte mit extremer Vorsicht benutzt werden, sie existiert nur für Debug-Zwecke und sollte sonst nie eingesetzt werden. Sie ist nicht notwendig, um mehr Daten zu schreiben als die Nominalkapazität erlaubt. Diese Option impliziert -overburn.

-useinfo
    Verwenden Sie *.inf Dateien, um Audiooptionen zu überschreiben. Wenn diese Option verwendet wird, werden die Informationen über Pausenlängen aus den *.inf Dateien gelesen, die den Dateien mit den Audiodaten für den jeweilige Track entsprechen.

    Wenn dies zusammen mit der -audio Option genutzt wird, kann cdrecord zum Schreiben von Audio-CDs mittels einer Pipe von cdda2wav genutzt werden, wenn cdrecord mit den *.inf Dateien als Track-Parameterliste aufgerufen wird, anstatt Audiodateien zu verwenden. Die Audiodaten werden in diesem Fall von der Standardeingabe gelesen. Vergleichen Sie den BEISPIELE-Abschnitt unten. Cdrecord überprüft zuerst, dass die Standardeingabe nicht mit einem Terminal verbunden ist und startet einige heuristische Konsistenztests der *.inf Dateien und setzt dann die Track-Längen entsprechend den Informationen aus den *.inf Dateien.

    Wenn Sie von der Standardeingabe lesen wollen, stellen Sie sicher, dass cdrecord mit einer ausreichend großen FIFO-Größe gestartet wird, reduzieren Sie die Schreibgeschwindigkeit auf einen Wert unterhalb der Lesegeschwindigkeit des Quelllaufwerks und aktivieren Sie die burnfree Option für den Rekorder.

defpregap=#
    Setzt die Pausenlänge für die Pause zwischen den Tracks (mit Ausnahme von dem Ersten). Diese Option ist z.Z. nur mit dem TEAC-Laufwerk sinnvoll, wenn "Track At Once" Disks ohne die 2-Sekunden-Pausen vor jedem Track erstellt werden.
    Diese Option wird in der Zukunft möglicherweise verschwinden.

-packet
    Aktiviert den Paket-Schreibmodus. Dies ist eine experimentelle Funktion.

pktsize=#
    Stellt die Paketgröße auf # ein und erzwingt den Fixed-Paket-Modus. Dies ist eine experimentelle Funktion.

-noclose
    Schließt den aktuellen Track nicht ab, nützlich im Paket-Schreibmodus. Dies ist eine experimentelle Funktion.

mcn=Nummer
    Setzt die Medien-Katalognummer der CD auf Nummer.

-text
    Schreibt CD-Text-Informationen basierend auf Informationen, die einer Datei mit ASCII-Informationen für die Texte entnommen wurden. Cdrecord unterstützt CD-Text-Informationen basierend auf dem Inhalt der *.inf Dateien, die von cdda2wav erzeugt wurden und CD-Text-Informationen basierend auf dem Inhalt einer CUE sheet-Datei. Wenn eine CUE sheet-Datei beide (binäre CDTEXTFILE und textbasierte SONGWRITER) Einträge enthält, werden die Informationen basierend auf CDTEXTFILE genutzt.

    Sie müssen zusätzlich die -useinfo Option verwenden, um cdrecord mitzuteilen, dass die *.inf Dateien gelesen werden sollen oder cuefile=Dateiname angeben, um eine weitere CUE sheet-Datei einlesen zu lassen. Wenn Sie lieber Ihre eigenen CD-Text-Informationen erstellen wollen, editieren Sie die *.inf Dateien oder die CUE sheet-Datei mit einem Texteditor und ändern Sie die für CD-Text relevanten Felder.

textfile=Dateiname
    Schreibt CD-Text basierend auf Informationen, die in der binären Datei Dateiname gefunden wurden. Diese Datei muss Informationen in einem Datenformat enthalten, das im SCSI-3/MMC-2-Standard und im Red-Book definiert ist. Der aus vier Bytes bestehende Header, der im SCSI-Standard beschrieben ist, ist optional und erlaubt die Erkennung der richtigen Daten weniger mehrdeutig. Dies ist die beste Option, um CD-Text-Daten von existierenden CDs zu kopieren, die bereits mit CD-Text-Informationen ausgestattet sind. Um Daten in einem für diese Option geeigneten Format zu bekommen, kann cdrecord -vv -toc genutzt werden, um die Informationen aus der Disk zu extrahieren. Wenn sowohl textfile=Dateiname als auch CD-Text-Informationen von *.inf oder *.cue Dateien vorhanden sind, wird textfile=Dateiname die anderen Informationen überschreiben.

cuefile=Dateiname
    Verwendet alle aufzeichnungsbezogenen Informationen einer CDRWIN entsprechenden CUE sheet-Datei. Es sind keine Track-Dateien erlaubt, wenn diese Option verwendet wird und die Option -dao wird zurzeit zusätzlich benötigt.

TRACKOPTIONEN

Trackoptionen können zwischen den Track-Dateinamen verwendet werden.

isrc=ISRC-Nummer
    Setzt die International Standard Recording Number für den nachfolgenden Track auf ISRC-Nummer.

index=Liste
    Setzt die Indexliste für den nächsten Track. Die Indexliste ist eine mit Kommata getrennte Zahlenreihe, die vom Index 1 zählt. Der erste Eintrag in der Liste muss eine 0 enthalten, gefolgt von Zahlen in aufsteigender Reihenfolge, die den Indexstart repräsentieren (1 Einheit = 1/75 Sekunde). Eine Indexliste der Form: 0,7500,15000 setzt den Index 1 auf den Start des Tracks, Index 2 auf 100 Sekunden nach dem Start und Index 3 auf 200 Sekunden nach dem Start.

-audio
    Wenn dieser Schalter vorhanden ist, werden alle nachfolgenden Tracks im CD-DA-Format (Audioformat ähnlich dem Red-Book-Format) geschrieben. Die Datei für den Track sollte Audiodaten in Stereo, 16-bit, 44100 Samples/s enthalten. Die Anordnung der Bytes sollte so aussehen: MSB links, LSB links, MSB rechts, LSB rechts, MSB links u.s.w. (MSB=höchstwertiges Byte, LSB=niederwertiges Byte). Die Tracks sollten aus einer Anzahl von 2325-Byte großen Blöcken bestehen. Es ist nicht möglich, ein Image eines Audio-Tracks auf eine RAW-Disk zu schreiben, weil die Daten in 2352-Byte-Blöcken während des Brennprozesses gelesen werden.

    Wenn der Dateiname mit .au oder .wav endet, wird die Datei als eine strukturierte Audiodatei betrachtet. Cdrecord nimmt an, dass es sich in diesem Fall um eine Sun-Audiodatei oder eine Microsoft-.WAV-Datei handelt und extrahiert die Audiodaten aus diesen Dateien. Es überspringt dabei die Nicht-Audio-Informationen im Kopf der Datei. In allen anderen Fällen wird cdrecord nur richtig funktionieren, wenn der Datenstrom keinen Header enthält. Weil die Länge vieler Audiodateien nicht ein Vielfaches von 1/75s ist, ist es oft notwendig, auch die Option -pad anzugeben. Cdrecord erkennt automatisch, ob die Audiodaten in der .WAV-Datei in Intels- (little-endian) -Format gespeichert sind, und wird automatisch die Bytes umdrehen, wenn der CD-Brenner die Daten im big-endian-Format erwartet. Cdrecord wird alle Audiodateien zurückweisen, die nicht den Red-Book-Voraussetzungen von 16-bit Stereosamples in PCM-Kodierung mit 44100 Samples/s entsprechen.

    Andere strukturierte Audioformate können gewöhnlich ebenfalls von cdrecord benutzt werden, solange die Datenstruktur den oben beschriebenen Voraussetzungen entspricht (rohe PCM-Daten in big-endian-Byte-Anordnung). Wenn die Datei allerdings einen Header enthält, wird dieser als Knackgeräusch am Anfang des Tracks zu hören sein.

    Wenn weder -data noch -audio angegeben wurde, wählt cdrecord automatisch -audio für alle Dateinamen, die mit .au oder .wav enden und -data für alle anderen Dateien.

-swab
    Bei der Verwendung dieses Schalters wird angenommen, dass die Audiodaten im Byte-umgekehrter (little-endian) Anordnung vorliegen. Einige CD-Brenner u.a. Yamaha, Sony und die neueren SCSI-3/MMC-Geräte verlangen die Audiodaten in der little-endian-Ordnung, während sie von anderen Geräten in der big-endian-Ordnung erwartet werden, so wie es normalerweise beim SCSI-Protokoll verwendet wird. Cdrecord weiß, ob der Rekorder die Daten im big-endian- oder little-endian-Ordnung erwartet und korrigiert den Datenstrom automatisch, wenn das Format nicht dem des Rekorders entspricht. Sie benötigen die Option -swab nur, wenn die Daten in Intel- (little-endian) -Byte-Ordnung vorliegen.

    Die detaillierten Ausgaben (-verbose) von cdrecord zeigen ihnen, ob ein Vertauschen erfolgt, um die Byte-Ordnung der Eingabedaten auf den Rekorder anzupassen. Cdrecord wird es nicht anzeigen, wenn der -swab Schalter bereits für einen Track angegeben ist.

-data
    Wenn dieser Schalter vorhanden ist, werden alle nachfolgenden Tracks im CD-ROM mode 1-Yellow-Book-Format geschrieben. Die Datengröße ist ein Vielfaches von 2048 Byte. Die Datei mit den Track-Daten sollte ein ISO-9660- oder Rock-Ridge-Dateisystem-Image enthalten (vergleichen Sie mkisofs für mehr Details). Wenn der Daten-Track ein ufs-Dateisystem-Image ist, sollte die Fragment-Größe 2 KB oder höher sein, um CD-Laufwerken mit 2KB-Sektor-Größe das Lesen zu ermöglichen.

    -data ist standardmäßig aktiviert, solange kein anderer Schalter vorhanden und die Datei keine der bekannten Audiodateitypen ist.

    Wenn weder -data noch -audio angegeben wurde, wählt cdrecord automatisch -audio für alle Dateinamen, die mit .au oder .wav enden, und -data für alle anderen Dateien.

-mode2
    Wenn dieser Schalter angegeben wird, werden alle nachfolgenden Tracks im CD-ROM mode 2-Format geschrieben. Die Datengröße entspricht einem Vielfachen von 2336 Bytes.

-xa Wenn dieser Schalter angegeben wird, werden alle nachfolgenden Tracks im CD-ROM XA mode 2 form 1-Format geschrieben. Die Datengröße entspricht einem Vielfachen von 2048 Bytes. Die XA-Sektor-Unterheader werden vom Laufwerk erzeugt. Mit dieser Option wird der gleiche Schreibmodus wie bei der -multi Option genutzt.

-xa1
    Wenn dieser Schalter vorhanden ist, werden alle nachfolgenden Tracks im CD-ROM XA mode 2 form 1-Format geschrieben. Die Datengröße entspricht einem Vielfachen von 2056 Bytes. Die XA-Sektor-Unterheader sind Teil der Nutzdaten und müssen vom Anwendungsprogramm bereitgestellt werden, das die zu schreibenden Daten erzeugt.

-xa2
    Wenn dieser Schalter vorhanden ist, werden alle nachfolgenden Tracks im CD-ROM XA mode 2 form 2-Format geschrieben. Die Datengröße entspricht einem Vielfachen von 2324 Bytes. Die XA-Sektor-Unterheader werden vom Laufwerk erzeugt.

-xamix
    Wenn dieser Schalter vorhanden ist, werden alle nachfolgenden Tracks auf eine Art und Weise geschrieben, die einen Mix des CD-ROM XA mode 2 form 1/2-Formats ermöglichen. Die Datengröße entspricht einem Vielfachen von 2332 Bytes. Die XA-Sektor-Unterheader sind Teil der Nutzdaten und müssen vom Anwendungsprogramm bereitgestellt werden, das die zu schreibenden Daten erzeugt. Die Prüfsummen (CRC) und die P/Q-Paritäts-ECC/EDC-Informationen (abhängig vom Sektortyp) müssen vom Anwendungsprogramm bereitgestellt werden, das die zu schreibenden Daten erzeugt.

-cdi
    Wenn dieser Schalter vorhanden ist, wird der Typ des Inhaltsverzeichnisses auf CDI gesetzt. Dies macht nur mit XA-Disks Sinn. -isosize benutzt die Größe des ISO-9660-Dateisystems als Größe des nächsten Tracks. Diese Option wird benötigt, wenn cdrecord das Image von einer "rohen" Partition oder einer TAO-CD liest. Im ersten Fall begrenzt die Option -isosize die Größe der CD auf die Größe des Dateisystems. Im zweiten Fall wird die Option -isosize gebraucht, damit cdrecord das Einlesen der letzten zwei Auslaufblöcke verhindert, die jeder CD-Rekorder im "Track At Once"-Modus hinzufügt. Diese zwei Blöcke können nicht gelesen werden und würden einen Buffer-Underrun verursachen, was zu einer fehlerhaften Kopie führen würde. Benutzen Sie diese Option nicht, wenn die Datei von mkisofs erstellt wurde und wenn cdrecord die Track-Daten direkt von der Standardeingabe einliest. Im ersten Fall würden Sie cdrecord daran hindern, die Auffüllbytes, die von mkisofs angehangen wurden, zu schreiben und im zweiten Fall wird es nicht funktionieren, da die Standardeingabe nicht durchsucht werden kann.

    Wenn -isosize für einen Track verwendet wird, wird cdrecord automatisch Auffüllbytes für diesen Track verwenden, so wie dies bei der -pad Option der Fall wäre, aber die Größe des Auffüllbetrags kann kleiner sein, als die von mkisofs verwendete Größe. Beachten Sie, dass die Verwendung von -isosize auf einem Track der Sparc-Bootinformationen enthält, diese zerstört.

    Beachten Sie auch, dass diese Option nicht verwendet werden kann, um die Größe eines Dateisystems zu bestimmen, wenn die Multisession-Option angegeben wurde.

-pad
    Wenn es sich um einen Daten-Track handelt, werden zu diesem und den folgenden Daten-Tracks je 15 Sektoren Null-Daten hinzugefügt. In diesem Fall wird die -pad Option auch durch die padsize= Option verdrängt. Es gilt dann als eine Abkürzung für padsize=15s. Wenn sich die -pad Option auf einen Audio-Track bezieht, wird cdrecord die Audiodaten zu einem Vielfachen von 2352 Bytes erweitern. Die Auffüllung der Audiodaten erfolgt mit binären Nullen, was vollkommener Stille entspricht.

    -pad bleibt solange aktiv, bis es durch -nopad wieder abgestellt wird (für nachfolgende Tracks).

padsize=#
    Gibt die Menge der Daten an, die an den jeweils nächsten Track angehängt werden. Im Gegensatz zum Verhalten der -pad Option wird der padsize= Wert für die restlichen nachfolgenden Tracks auf 0 zurückgesetzt. Cdrecord geht von einer Sektorgröße von 2048 Bytes für die padsize= Option aus, unabhängig von der realen Sektorgröße und vom Schreibmodus. Die Megabytes die in der ausführlichen (verbose) Ausgabe erscheinen, zählen jedoch die Ausgabesektorgröße, die z.B. 2448 Bytes im RAW/RAW96-Modus beträgt. Vergleichen Sie mit der fs= Option für mögliche Argumente. Um das Äquivalent von 20 Minuten auf der CD aufzufüllen, verwenden Sie padsize=20x60x75s. Benutzen Sie diese Option, wenn ihr CD-Laufwerk die letzten Sektoren eines Tracks nicht lesen kann oder wenn die CD auf einem Linux-System mit dem "ISO-9660 filesystem read ahead bug" verwendet werden soll. Wenn eine leere Datei als Quelle dienen soll, kann diese Option auch dazu genutzt werden, eine Disk nur aus den Auffülldaten zu schreiben. Dies kann beispielsweise nützlich sein, um herauszufinden, um wie viel ein bestimmtes Medium überbrannt werden kann.

-nopad
    Die nachfolgenden Tracks nicht auffüllen - dies ist der Standard.

-shorttrack
    Damit wird es erlaubt, nachfolgende Tracks mit weniger als 4 Sekunden Länge zu erstellen, wobei der Red-Book-Standard nicht mehr eingehalten wird. Diese Option ist nur im SAO- oder RAW-Modus sinnvoll und ein Laufwerk muss das resultierende CUE-Sheet akzeptieren oder Schreiben im RAW-Modus unterstützen. Nicht alle Laufwerke können damit umgehen.

-noshorttrack
    Der Red-Book-Standard muss wieder eingehalten werden, d.h. es werden keine Tracks mit weniger als 4 Sekunden Länge zugelassen.

pregap=#
    Setzt die Pausenlänge vor dem nächsten Track. Diese Option ist z.Z. nur mit den TEAC-Laufwerken sinnvoll, wenn "Track At Once"-CDs ohne die 2 Sekunden Pause vor jedem Track erstellt werden sollen.
    Diese Funktion verschwindet möglicherweise in den zukünftigen Versionen.

-preemp
    Wenn dieser Schalter vorhanden ist, werden die Einträge des Inhaltsverzeichnisses für die nachfolgenden Audio-Tracks als gesampelt mit 50/15 µsec pre-emphasis angezeigt. Die Daten werden jedoch nicht während des Datentransfers zwischen der Datei und dem Rekorder geändert. Diese Option hat keine Wirkung auf die Daten-Tracks.

-nopreemp
    Wenn dieser Schalter vorhanden ist, zeigen die Einträge des Inhaltsverzeichnisses für die nachfolgenden Audio-Tracks an, dass die Audiodaten mit linearen Daten gemastert sind - dies ist der Standard.

-copy
    Wenn dieser Schalter vorhanden ist, zeigen die Einträge des Inhaltsverzeichnisses für die nachfolgenden Audio-Tracks der resultierenden CD an, dass die Audiodaten ohne Beschränkungen kopiert werden dürfen. Diese Option hat keine Wirkung auf Daten-Tracks.

-nocopy
    Wenn dieser Schalter vorhanden ist, zeigen die Einträge des Inhaltsverzeichnisses für die nachfolgenden Audio-Tracks der resultierenden CD an, dass die Audiodaten nur einmal für die private Nutzung kopiert werden dürfen - dies ist der Standard.

-scms
    Wenn dieser Schalter vorhanden ist, zeigen die Einträge des Inhaltsverzeichnisses für die nachfolgenden Audio-Tracks der resultierenden CD an, dass die Audiodaten nicht mehr kopiert werden dürfen.

tsize=#
    Wenn das Image des nachfolgenden Tracks direkt auf einer "rohen" Disk vorliegt, gibt diese Option die Menge der Daten auf dieser Disk an. Wenn das Image des nachfolgenden Tracks in einer Datei gespeichert ist, wird die Track-Größe durch die Größe dieser Datei bestimmt. Wenn der Track ein ISO-9660-Dateisystem enthält, sollte die Option -isosize zum Bestimmen der Länge verwendet werden.
    Im "Disk At Once"-Modus und mit einigen Laufwerken, die TEAC's Programmierschnittstelle verwenden, muss selbst im "Track at Once"-Modus cdrecord die Länge des Tracks schon vor dem Schreiben bekannt sein. Cdrecord prüft das vor dem Schreiben und bricht ab. Wenn das passiert, sollten Sie zunächst mkisofs -print-size ausführen und die Ausgabe (mit angehangenem 's') als Argument für die Option tsize= von cdrecord benutzen (z.B. tsize=250000s).
    Vergleichen Sie mit der fs= Option für die möglichen Argumente.

BEISPIELE

Für alle unten aufgeführten Beispiele wird angenommen, dass der CD-Rekorder am primären SCSI-Bus des Rechners angeschlossen ist. Die SCSI target ID sei 2.

Aufnahme einer einfachen CD-ROM mit Double-Speed mit Daten aus der Datei cdimage.raw:

    cdrecord -v speed=2 dev=2,0 cdimage.raw

Herstellung einer Image-Datei mit ISO-9660-Dateisystem und Rock-Ridge-Erweiterungen:

    mkisofs -R -o cdimage.raw /home/joerg/master/tree

Ein Test der erstellten Datei vor dem Schreiben auf die CD auf Solaris:

    mount -r -F fbk -o type=hsfs /dev/fbk0:cdimage.raw /mnt

Und mit Linux:

    mount cdimage.raw -r -t iso9660 -o loop /mnt

Nun geht es weiter mit:
    ls -lR /mnt
    umount /mnt

Wenn die Gesamtleistung des Systems ausreichend und die Dateistruktur nicht zu komplex ist, kann cdrecord auch ohne ein CD-Image auskommen. Benutzen Sie einfach die Pipeline:

    mkisofs -R /master/tree | cdrecord -v fs=6m speed=2 dev=2,0 -

Die empfohlene FIFO-Größe für die Ausführung einer solcher Pipeline ist 4 MB. Da diese Größe bereits voreingestellt ist, wird die Angabe der Option fs= nur dann benötigt, wenn Sie eine andere Größe verwenden möchten. Falls ihr System bereits ausgelastet ist, sollten Sie auch mkisofs in Echtzeit ausführen: Um die Priorität von mkisofs zu erhöhen, ersetzen Sie den Befehl

    mkisofs -R /master/tree
durch
    priocntl -e -c RT -p 59 mkisofs -R /master/tree

auf Solaris bzw. durch

    nice --18 mkisofs -R /master/tree

auf Systemen, die die UNIX International-kompatible Echtzeitverarbeitung nicht unterstützen (z.B. Linux).

Cdrecord läuft mit der Priorität 59 auf Solaris und Sie sollten mkisofs nicht mit einer Priorität höher als 58 ausführen. Auf anderen Systemen sollten Sie mkisofs mit wenigstens nice --18 ausführen.

Die Erstellung einer CD-ROM ohne eine Image-Datei, wurde auf einer Sparcstation-2 mit Yamaha CDR-400 erfolgreich getestet. Es funktionierte mit bis zu 4-facher Geschwindigkeit, solange der Rechner nicht belastet wurde. Ein schnellerer Rechner wäre vermutlich in der Lage, mit 4-facher Geschwindigkeit auch unter Last zu schreiben.

Aufnahme einer reinen CD-DA (Audio-CD) mit einfacher Geschwindigkeit (jeder Track ist in einer Datei mit Namen wie track01.cdaudio, track02.cdaudio, etc. enthalten):

    cdrecord -v speed=1 dev=2,0 -audio track*.cdaudio

Um zu überprüfen, ob das obige Beispiel auch mit Double-Speed funktioniert, kann die -dummy Schreiboption verwendet werden:

    cdrecord -v -dummy speed=2 dev=2,0 -audio track*.cdaudio

Erstellung einer Mixed-Mode-CD mit einem ISO-9660-Dateisystem aus der Datei cdimage.raw als ersten Track, die restlichen Audio-Tracks werden aus den Dateien track01.cdaudio, track02.cdaudio, etc. erstellt:

    cdrecord -v dev=2,0 cdimage.raw -audio track*.cdaudio

Vorgehensweise mit einem Brenner, der auf die Angabe der Track-Größe vor dem Schreibvorgang besteht:

    mkisofs -R -q -print-size /master/tree

gibt die Größe aus, die dann durch XXX in

    mkisofs -R /master/tree | cdrecord speed=2 dev=2,0 tsize=XXXs -

übergeben wird.

Um eine möglichst exakte Audio-CD Kopie zu erstellen, ist erst

    cdda2wav dev=2,0 -vall cddb=0 -B -Owav

und danach

    cdrecord dev=2,0 -v -dao -useinfo -text *.wav

zu starten. Dies versucht die Track-Indizes zu kopieren und CD-Text-Informationen von der Disk zu lesen. Gibt es keine CD-Text-Informationen, versucht cdda2wav stattdessen die Informationen von freedb.org herunterzuladen.

Um eine Audio-CD mittels einer Pipe (ohne beteiligte Dateien) zu kopieren, ist zuerst

    cdda2wav dev=1,0 -vall cddb=0 -info-only

und nun

    cdda2wav dev=1,0 -no-infofile -B -Oraw - | \
    cdrecord dev=2,0 -v -dao -audio -useinfo -text *.inf

auszuführen. Dies ergibt alle Informationen (inklusive der Track-Größen) aus den *.inf Dateien und liest dann die Audiodaten von der Standardeingabe.

Wenn Sie das Schreiben von der Standardeingabe bevorzugen, müssen Sie sicherstellen, dass cdrecord mit einer hinreichend großen FIFO-Größe (z.B. fs=128m) gestartet wird, die Schreibgeschwindigkeit auf einen Wert kleiner als die Lesegeschwindigkeit des Quelllaufwerks reduziert wird (z.B.: speed=12) und die burn-free Option für den Rekorder mittels driveropts=burnfree genutzt wird.

UMGEBUNGSVARIABLEN

CDR_DEVICE
    Dies enthält entweder eine Geräteidentifizierung, die zum Öffnen-Aufruf der SCSI-Transport-Bibliothek geeignet ist oder einen Bezeichner aus der Datei /etc/default/cdrecord.

CDR_SPEED
    Setzt die normale Geschwindigkeit beim Schreiben (vergleichen Sie auch die speed Option).

CDR_FIFOSIZE
    Setzt die Größe des FIFO (vergleichen Sie auch die fs= Option).

CDR_FORCERAWSPEED
    Wenn diese Umgebungsvariable gesetzt ist, wird cdrecord erlauben, mit der vollen RAW-Encoding-Geschwindigkeit, die eine einzelne CPU unterstützt, zu schreiben. Dies führt mit großer Wahrscheinlichkeit zu Buffer-Underruns. Nutzen Sie dies mit Vorsicht.

RSH Ist die RSH Umgebungsvariable vorhanden, wird die entfernte Verbindung nicht mit rcmd(3) erzeugt, sondern durch den Aufruf des Programms, auf das RSH verweist. Verwenden Sie z.B. RSH=/usr/bin/ssh, um eine Secure-Shell-Verbindung aufzubauen.

    Beachten Sie, dass dies cdrecord zwingt, eine Pipe zum rsh(1) Programm zu erzeugen und verbietet cdrecord den direkten Zugang zum Netzwerksocket des entfernten Servers. Dies macht es unmöglich, Performance-Parameter zu setzen und verlangsamt die Verbindung, verglichen mit einer von root initiierten rcmd(3) Verbindung.

RSCSI
    Ist die RSCSI Umgebungsvariable gesetzt, wird der entfernte SCSI-Server nicht das Programm rscsi, sondern das Programm auf das RSCSI verweist, sein. Beachten Sie, dass der Name des entfernten SCSI-Serverprogramms ignoriert wird, wenn Sie sich mit einem vom entfernten SCSI-Serverprogramm als Login-Shell angelegten Account einloggen.

DATEIEN

/etc/default/cdrecord
    Vorgaben für die folgenden Werte und Optionen können in der Datei /etc/default/cdrecord gesetzt werden. Zum Beispiel: CDR_FIFOSIZE=8m oder CDR_SPEED=2.

    CDR_DEVICE
        Dies enthält einen Geräte-Bezeichner, in der für den Aufruf der SCSI-Transport-Library geeigneten Syntax oder einen Namen aus /etc/default/cdrecord zum Identifizieren eines bestimmtes Laufwerks im System.

    CDR_SPEED
        Setzt die standardmäßige Geschwindigkeit beim Schreiben (vergleichen Sie auch mit der speed Option).

    CDR_FIFOSIZE
        Setzt die Größe des FIFO (vergleichen Sie auch mit der fs= Option).

    Alle anderen Einträge sind Bezeichnungen für Geräte im System. Die Namen dürfen keine Zeichen wie ',', '/', '@' oder ':' enthalten.

    In jeder Zeile folgt dem Namen eine Liste von Angaben, getrennt durch TABs. Zurzeit werden vier Einträge erkannt: Die SCSI-ID des Geräts, die standardmäßige Geschwindigkeit und die FIFO-Größe, die für dieses Gerät verwendet werden sollen, sowie gerätespezifische Optionen (driveropts). Die Werte für Geschwindigkeit und FIFO-Größe können auf -1 gesetzt werden, damit cdrecord die globalen Einstellungen übernimmt. Der Wert von driveropts kann auf "" gesetzt werden, wenn driveropts nicht verwendet wird. Eine typische Zeile könnte so aussehen:

    teac1= 0,5,0 4 8m ""

    yamaha= 1,6,0 -1 -1 burnfree

    Das teilt cdrecord mit, dass ein Gerät namens teac1 am SCSI-Bus 0, Target 5, Lun 0 angeschlossen ist und mit 4-facher Geschwindigkeit und FIFO-Größe von 8 MB betrieben werden soll. Ein zweites Laufwerk kann am SCSI-Bus 1, Target 6, Lun 0 gefunden werden und nutzt die Standard-Geschwindigkeit und -FIFO-Größe.

SIEHE AUCH
cdda2wav(1), readcd(1), scg(7), fbk(7), mkisofs(8), rcmd(3), ssh(1).

ANMERKUNGEN

Unter Solaris müssen Sie das Volume-Management abstellen, wenn der USCSI SCSI-Transport-Code verwendet werden soll. Selbst Sachen wie cdrecord -scanbus werden nicht funktionieren, solange die Volume-Verwaltung aktiv ist.

Im Track At Once-Modus erstellte Disks sind als Vorlage für eine industrielle Massenproduktion ungeeignet. Für solche Projekte wird der Disk At Once-Modus benötigt. Trotzdem können mit Track At Once erstellte CDs normalerweise in allen CD-Laufwerken abgespielt werden. Einige ältere Audio-CD-Player könnten jedoch einen 2 Sekunden langen Klick zwischen 2 Audio-Tracks produzieren.

Die kleinste Größe eines Tracks ist 4 Sekunden bzw. 300 Sektoren. Wenn Sie dennoch kleinere Tracks schreiben, wird der CD-Rekorder die restlichen Sektoren mit Nullen auffüllen. Dies ist kein Fehler, auch wenn die SCSI-Meldung dabei wie ein Fehler aussieht.

Cdrecord wurde mit einem aufgerüsteten Philips CDD-521 Rekorder sowohl mit Single- als auch mit Double-Speed auf einer Sparcstation 20/502 problemlos getestet, langsamere Systeme sollten ebenfalls funktionieren. Neuere Philips/HP/Plasmon/Grundig-Laufwerke, sowie Yamaha CDR-100 und CDR-102 funktionieren ebenso. Der Plasmon RF-4100 läuft, wurde aber noch nicht im Multisession-Betrieb getestet. Ein Philips CDD-521, der noch nicht aufgerüstet ist, wird nicht funktionieren. Der Sony CDU-924 wurde getestet, hat aber keine Hardware-Unterstützung für XA-mode2 und kann deswegen keine standardkonformen Multisession-CDs erstellen. Der Ricoh RO-1420C läuft, aber einige Anwender haben anscheinend Probleme mit der Option speed=2, versuchen Sie bitte speed=0 in diesem Fall.

Der Yamaha CDR-400 und alle neueren SCSI-3/MMC-konforme Geräte werden sowohl im Single- als auch Multisession-Modus unterstützt.

Sie sollten mehrere Tests mit allen verfügbaren Geschwindigkeiten mit der Option -dummy durchführen, wenn cdrecord auf einem unbekannten System ausgeführt wird. Das Brennen ist ein Echtzeit-Prozess. NFS kann den konstanten Datenstrom nicht garantieren! Wenn Sie cdrecord dennoch mit Images, die auf einem per NFS gemounteten Dateisystem befinden, einsetzen wollen, sollte der FIFO möglichst groß sein. Ich benutzte cdrecord mit durchschnittlicher Belastung auf einer SS20/502 und sogar noch mit vierfacher Geschwindigkeit auf einer gut ausgelasteten Sparcstation-2, es wird aber trotzdem empfohlen, die Systemlast während des Schreibvorgangs so niedrig wie möglich zu halten. Wenn Sie sichergehen wollen, dass die Buffer-Underruns nicht vom Quelllaufwerk verursacht werden, kann das Kommando

cdrecord -dummy dev=2,0 padsize=600m /dev/null

eine CD mit Nullen beschreiben (simulieren). Cdrecord muss als root ausgeführt werden, um direkten Zugriff auf die Gerätedateien /dev/scg? zu bekommen und sich den Arbeitsspeicher reservieren zu können.

Wenn andere Benutzer den root-Zugang nicht nutzen dürfen, kann cdrecord auch als suid-root installiert werden. Dies erlaubt es allen Benutzern oder einer bestimmten Benutzergruppe, die keine root-Privilegien haben, cdrecord auszuführen. Cdrecord prüft in diesem Fall, ob der reale Benutzer Zugriffsrechte auf die angegebenen Dateien besitzt. Um allen Nutzern die Verwendung von cdrecord zu gestatten, geben Sie Folgendes ein:

        chown root /usr/local/bin/cdrecord
        chmod 4711 /usr/local/bin/cdrecord

Um einer beschränkten Benutzergruppe Ausführungsrechte zu geben, geben Sie Folgendes ein:

        chown root /usr/local/bin/cdrecord
        chgrp cdburners /usr/local/bin/cdrecord
        chmod 4710 /usr/local/bin/cdrecord

Außerdem müssen Sie die Gruppe cdburners auf dem System einrichten und die Personen ihres Vertrauens in diese aufnehmen.

Geben Sie niemals Schreibrechte für Nicht-root-Benutzer an die /dev/scg? Geräte, wenn Sie nicht jedem das Lesen/Schreiben/Formatieren all Ihrer Disks erlauben wollen.

Sie sollten keine älteren Geräte, die mit disconnect/reconnect nicht umgehen können, an den selben SCSI-Bus wie den CD-Brenner oder die Quell-Disk anschließen.

Eine CD kann nicht mehr als 99 Tracks beinhalten.

Bei der Erstellung einer CD mit Audio- und Daten-Tracks sollte der erste Track Daten beinhalten, da sonst eine CDplus erstellt werden sollte (dies ist eine Multisession-CD mit Audio-Tracks innerhalb der ersten Session und Daten-Tracks in der nächsten Session).

Viele Betriebssysteme sind aber nicht in der Lage, mehr als einen (ersten) Daten-Track zu lesen, oder sie brauchen spezielle Software für diese Zwecke.

Mehr Informationen über den SCSI-Befehlssatz eines HP CD-Rekorders befindet sich unter:

    http://www.hp.com/isgsupport/cdr/index.html

Falls Sie mehr Informationen über den SCSI-Befehlssatz eines nicht unterstützten Rekorders besitzen, kontaktieren sich bitte den Autor (s.u.).

Der Philips CDD-521 CD-Rekorder (selbst in der aufgerüsteten Version) hat mehrere Firmware-Bugs. Einige davon machen es notwendig, dem Gerät mehrmals den Saft abzudrehen oder neuzubooten.

Bei der Benutzung von cdrecord mit dem schlecht entworfenen Linux SCSI generic Treiber sollten Sie wissen, dass cdrecord einen Hack benutzt, der die Funktionalität des scg-Treibers emuliert. Linux enthält mehrere Bugs:

•   Es kann kann nicht überprüfen, ob ein SCSI-Kommando komplett übermittelt wurde.

•   Es kann das SCSI-Statusbyte nicht auslesen. Aus diesem Grund meldet cdrecord die fehlgeschlagenen Kommandos nicht in allen Fällen.

•   Es kann den DMA-Transfer nicht gut überwachen. Cdrecord kann nicht bestimmen, ob der DMA-Transfer abgeschlossen wurde.

•   Es kann die Anzahl der gültigen Bytes in "auto-sense-data" nicht bestimmen. Cdrecord kann nicht sagen, ob das Gerät überhaupt irgendwelche Sense-Daten übermittelt.

•   Es holt zu wenige Daten in der Auto-Sense-Abfrage (CCS/SCSI-2/SCSI-3 braucht >= 18).

Die FIFO-Prozentausgabe wird berechnet, unmittelbar nachdem ein Datenblock vom CD-Rekorder geschrieben wurde. Aus diesem Grund wird niemals 100%-FIFO angezeigt, sofern FIFO benutzt wird.

DIAGNOSE

Sobald die Meldung

Starting to write CD at speed %d in %s mode for %s session.

erschienen ist, können Sie den Start innerhalb von 9 Sekunden mit ^C abbrechen.

Eine typische Fehlermeldung eines SCSI-Befehls sieht in etwa so aus:

    cdrecord: I/O error. test unit ready: scsi sendcmd: no error
    CDB:  00 20 00 00 00 00
    status: 0x2 (CHECK CONDITION)
    Sense Bytes: 70 00 05 00 00 00 00 0A 00 00 00 00 25 00 00 00 00 00
    Sense Key: 0x5 Illegal Request, Segment 0
    Sense Code: 0x25 Qual 0x00 (logical unit not supported) Fru 0x0
    Sense flags: Blk 0 (not valid)
    cmd finished after 0.002s timeout 40s

Die erste Zeile zeigt die Information über den Transport des Befehls. Der Text nach dem ersten Doppelpunkt ist die Fehlermeldung des Systemaufrufs aus der Sicht des Kernels. Es ist i.d.R. ein I/O error (Ein/Ausgabe-Fehler), solange kein anderes Problem aufgetreten ist. Die nächsten Wörter enthalten eine knappe Beschreibung des fehlgeschlagenen SCSI-Befehls. Der restliche Text informiert über Probleme, die bei der Übertragung der Kommandos über den SCSI-Bus aufgetreten sind. fatal error bedeutet, dass es nicht möglich war, den Befehl zu übertragen (z.B. weil kein Gerät an der angegebenen Adresse vorhanden ist).

Die zweite Zeile gibt den SCSI-Kommando-Beschreibungs-Block des fehlgeschlagenen Kommandos aus.

Die dritte Zeile enthält Informationen über den SCSI-Status-Code, der zurückgegeben wurde, falls die Übertragung gelang. Es ist der Fehlercode, den das SCSI-Gerät zurück gibt.

Die vierte Zeile ist ein hex-dump der auf den Befehl automatisch zurückgegebenen Sense-Informationen.

Die fünfte Zeile ist der Fehlertext für den Sense-Schlüssel, sofern dieser verfügbar ist, gefolgt von einer Segment-Nummer, die ausschließlich für den copy-Befehl gültig ist. Wenn die Fehlermeldung sich nicht direkt auf den nachfolgenden Befehl bezieht, wird der Text deferred error angehängt.

Die sechste Zeile ist der Fehlertext für den Sense-Code und das Sense-Stichwort, sofern dieses bekannt ist. Wenn der Typ des Gerätes bekannt ist, werden die Sense-Codes anhand der Datentabelle in scsierrs.c ausgewertet. Diesem Text folgt eine Fehlernummer mit einer vom Feld abhängigen Einheit.

Die siebente Zeile enthält die Blocknummer, die den fehlgeschlagenen Befehl wiedergibt, sowie einen Text für bestimmte Fehler. Die Blocknummer ist nicht immer korrekt.

Die achte Zeile beinhaltet den Timeout für dieses Kommando und die real benötigte Zeit.

Die folgende Meldung ist kein Fehler:

    Track 01: Total bytes read/written: 2048/2048 (1 sectors).
    cdrecord: I/O error. flush cache: scsi sendcmd: no error
    CDB:  35 00 00 00 00 00 00 00 00 00
    status: 0x2 (CHECK CONDITION)
    Sense Bytes: F0 00 05 80 00 00 27 0A 00 00 00 00 B5 00 00 00 00 00
    Sense Key: 0x5 Illegal Request, Segment 0
    Sense Code: 0xB5 Qual 0x00 (dummy data blocks added) Fru 0x0
    Sense flags: Blk -2147483609 (valid)
    cmd finished after 0.002s timeout 40s

Es wird darüber informiert, dass ein Track zu klein ist und auf 300 Sektoren erweitert wurde.

BUGS

Cdrecord hat sogar noch mehr Optionen als ls.

Es sollte eine Wiederherstellungsoption geben, die CDs wieder nutzbar macht, die während eines Stromausfalls beschrieben wurden.

DANKSAGUNGEN

Bill Swartz	(Bill_Swartz@twolf.com)
    Für Hilfe bei der Treiber-Unterstützung für TEAC-Laufwerke.

Aaron Newsome	(aaron.d.newsome@wdc.com)
    Für die Erlaubnis, an seinem Sony-Laufwerk entwickeln zu dürfen.

Eric Youngdale	(eric@andante.jic.com)
    Für die Unterstützung durch mkisofs.

Gadi Oxman	(gadio@netvision.net.il)
    Für die Tipps bezüglich des ATAPI-Standards.

Finn Arne Gangstad	(finnag@guardian.no)
    Für die erste Implementierung des FIFOs.

Dave Platt	(dplatt@feghoot.ml.org)
    Für die Erstellung einer experimentellen Paket-Schreib-Unterstützung, die erste Implementation der CD-RW Löschen-Unterstützung, den ersten .WAV-Decoder und viele nette Diskussionen über cdrecord.

Chris P. Ross (cross@eng.us.uu.net)
    Für die erste Implementierung vom BSDI-SCSI-Transport.

Grant R. Guenther (grant@torque.net)
    Für die erste Implementierung des Parallel-Port-Transports für Linux.

Kenneth D. Merry (ken@kdm.org)
    Für die Bereitstellung des CAM-Port für FreeBSD zusammen mit Michael Smith (msmith@freebsd.org).

Heiko Eißfeldt (heiko@hexco.de)
    Für die Bereitstellung von libedc_ecc (benötigt zum Schreiben von RAW-Daten-Sektoren).

MAILINGLISTEN
Wenn Sie sich an der Weiterentwicklung von cdrecord aktiv beteiligen wollen, können Sie die cdwriting-Mailingliste abonnieren:

http://lists.berlios.de/mailman/listinfo/cdrecord-developers

Die Mail-Adresse dieser Liste ist: cdwrite@other.debian.org

AUTOR
Jörg Schilling
Seestr. 110
D-13353 Berlin
Deutschland

Zusätzliche Informationen können gefunden werden unter:
http://www.fokus.fhg.de/usr/schilling/cdrecord.html

Haben Sie Support-Fragen, senden Sie sie an:

cdrecord-support@berlios.de
oder cdwrite@other.debian.org

Sind Sie sicher, dass Sie einen Fehler gefunden haben, senden Sie ihn an:

cdrecord-developers@berlios.de
oder schilling@fokus.fhg.de

Zum abonnieren nutzen Sie:

http://lists.berlios.de/mailman/listinfo/cdrecord-developers
oder http://lists.berlios.de/mailman/listinfo/cdrecord-support

Der alten cdwrite-Mailingliste können Sie durch eine E-Mail an

        cdwrite-request@other.debian.org

beitreten, indem Sie das Wort subscribe im Text aufführen. Die E-Mail-Adresse der Liste ist:

        cdwrite@other.debian.org

ÜBERSETZUNG
Jens Seidel <tux-master@web.de>
Umfangreiche Aktualisierungen von Eduard Bloch's Übersetzung (24.12.2003). Bitte alle Vorschläge und Korrekturen an mich senden. Die neueste Version sollte stets im CVS des deutschen Manpages Paket manpages-de (http://www.infodrom.org/projects/manpages-de) gefunden werden.

Ursprünglicher Übersetzer:

Eduard Bloch <blade@debian.org>
Neuere Versionen dieses Dokumentes, sowie die aktuellste Übersetzung der README-Dateien aus dem cdrecord-Paket finden Sie unter http://sites.inka.de/~W1752/cdrecord/.