Befehlszeile zum Brennen von DVD + R DL-Medien unter Linux?

6

Ein Plextor PX-750A auf einem Linux-System hat viele DVD + R DL-Untersetzer hergestellt, während versucht wurde, eine 8-GB-DVD-ISO-Datei mit Growisofs und dem Schilling-CD-Record-Programm zu brennen.

Ich habe zuerst Growisofs ausprobiert:

growisofs --version
* growisofs by <[email protected]>, version 7.0,
  front-ending to genisoimage: genisoimage 1.1.8 (Linux)

Die Kommandozeile war:

growisofs -dvd-compat -Z /dev/sr1=SUU_14.03.00_A00.iso

Es -dvd-compatwurde auch versucht, die Option zu entfernen.

Schilling cdrtools wurde auch ausprobiert:

Cdrecord-ProDVD-ProBD-Clone 3.00 (i686-pc-linux-gnu) Copyright (C) 1995-2010 Jörg Schilling

Die Kommandozeile war:

/usr/local/bin/cdrecord -v dev=ATAPI:1,0,0 SUU_14.03.00_A00.iso

In beiden Fällen wird das Brennen auf halbem Weg abgebrochen, als würde es eine Ebene schreiben und krächzt, wenn es in die zweite Ebene verschoben werden soll.

Growisofs:

 4275175424/8434493440 (50.7%) @1.6x, remaining 22:03 RBU 100.0% UBU  94.4%
:-[ WRITE@LBA=1fdb40h failed with SK=3h/ASC=0Ch/ACQ=00h]: Input/output error
:-( write failed: Input/output error

cdrecord:

Track 01: 4205 of 8043 MB written (fifo  99%) [buf  97%]   2.4x./usr/local/bin/cdrecord: Input/output error. write_g1: scsi sendcmd: no error
CDB:  2A 00 00 20 DA 10 00 00 10 00
status: 0x2 (CHECK CONDITION)
Sense Bytes: 70 00 03 00 00 00 00 0A 00 00 95 00 0C 00 00 00 00 00
Sense Key: 0x3 Medium Error, Segment 0
Sense Code: 0x0C Qual 0x00 (write error) Fru 0x0
Sense flags: Blk 0 (not valid)
cmd finished after 0.019s timeout 200s

write track data: error after 4409294848 bytes
/usr/local/bin/cdrecord: A write error occured.
/usr/local/bin/cdrecord: Please properly read the error message above.

Wenn man die Medien nach dem Brennen betrachtet, scheint es Daten von innen nach außen geschrieben zu haben - was den Eindruck erweckt, dass es eine Ebene vollständig geschrieben hat und dann fehlerhaft war, als diese Ebene endete. Bei mehreren Versuchen liegt jeder Fehler bei etwa 50% des Weges durch das Verbrennen von:

$ ls -lh SUU_14.03.00_A00.iso
-rw-rw-r-- 1 user group 7.9G 2014-05-14 07:53 SUU_14.03.00_A00.iso

Beginn der Bearbeitung am 23.05.2014:

Die Manpage zu cdrecord sagt:

Cdrecord functional options
  ...
  driveropts=option list
    ...
    layerbreak
      Switch  a  drive  with  DVD-R/DL  medium  into layer jump
      recording recording mode and  use  automatic  layer-break
      position setup.

      By  default,  DVD-R/DL  media  is  written  in sequential
      recording mode that completely fills up both layers.

    layerbreak=value
      Set up  a  manual  layer-break  value  for  DVD-R/DL  and
      DVD+R/DL.   The  specified  layer-break value must not be
      set to less than half of the recorded data size and  must
      not be set to more than the remaining Layer 0 size of the
      medium.  The manual layer-break value needs to be a  mul-
      tiple  of  the  ECC  sector size which is 16 logical 2048
      byte sectors in case of DVD media  and  32  logical  2048
      byte sectors in case of HD-DVD or BD media.

      Cdrecord  does  not  allow to write DL media in case that
      the total amount of data is less then the Layer 0 size of
      the  medium  except  when  a  manual layer-break has been
      specified by using the layerbreak=value option.

Die Verwendung von Layerbreak ohne manuell berechneten Haltepunkt ergibt:

cdrecord -v driveropts=layerbreak dev=ATAPI:1,0,0 SUU_14.03.00_A00.iso
...
cdrecord: Bad layer break value ''.
...

Nach einigen Recherchen fand ich einen Patch für einen älteren CD-Datensatz, der eine "optimale Berechnung des Schichtbruchs" enthielt. Mit ein wenig Experimentieren fand ich heraus, dass ich den "optimalen Schichtbruch" in einer Schale berechnen konnte:

echo -e "a = $(isosize SUU_14.03.00_A00.iso)\nb = a / 2048 / 2\nb - 1 + 16 - ( b - 1 ) % 16\n" | bc

Dies ergab einen Layerbreak-Wert von 2059216. Tatsächlich versuchte ich beim Grinsen, den Wert nach oben und unten anzupassen. Für einige Layerbreak-Werte (wie 2059215) würde cdrecord Folgendes melden:

cdrecord: Layer break at 2059215 is not properly aligned.

Hoffentlich habe ich versucht:

cdrecord -v driveropts=layerbreak=2059216 dev=ATAPI:1,0,0 SUU_14.03.00_A00.iso

Und immer noch einen Untersetzer und Schreibfehler:

Track 01: 4205 of 8043 MB written (fifo  99%) [buf  97%]   2.4x./usr/local/bin/cdrecord: Input/output error. write_g1: scsi sendcmd: no error
CDB:  2A 00 00 20 DB 60 00 00 10 00
status: 0x2 (CHECK CONDITION)
Sense Bytes: 70 00 03 00 00 00 00 0A 00 00 95 00 0C 00 00 00 00 00
Sense Key: 0x3 Medium Error, Segment 0
Sense Code: 0x0C Qual 0x00 (write error) Fru 0x0
Sense flags: Blk 0 (not valid)
cmd finished after 0.022s timeout 200s

write track data: error after 4409982976 bytes
/usr/local/bin/cdrecord: A write error occured.
/usr/local/bin/cdrecord: Please properly read the error message above.

Ende 2014/05/23 bearbeiten.

Dieses Problem trat auf einem Server auf, auf dem keine GUI-Tools installiert waren. Ich suche nach einer Möglichkeit, Dual-Layer-DVDs über die Befehlszeile zu brennen.

kbulgrien
quelle
1
Seltsam. growisofsfunktioniert gut für mich beim Brennen von zweischichtigen Rohlingen. Muss laufwerksspezifisch sein.
Derobert
Interessant, dass Ihre Antwort zur gleichen Zeit veröffentlicht wurde, als ich versuchte, ein über USB angeschlossenes LG GE24LU20 zu verwenden. Das LG-Laufwerk funktioniert einwandfrei und brennt 4x statt 2,5x. Ich habe jetzt auch gerade festgestellt, dass die Plextor PX-750A-Firmware bei 1,01 liegt, während der Hersteller 2006 eine 1.03-Firmware herausgab, in der erwähnt wird: "Verbesserte Schreibleistung auf DVD +/- RW-Medien Erhöhte Schreibgeschwindigkeit auf DVD-R DL-Medien auf 8x".
kbulgrien
Wenn ein Firmware-Update das Problem behebt, beantworten Sie bitte Ihre eigene Frage mit Details.
Derobert
Ein Firmware-Update hat den Fehler behoben. Eine Antwort wurde veröffentlicht und ausgewählt.
kbulgrien

Antworten:

3
  1. Versuchen Sie es mit einem anderen DVD-Brenner.

    Fehlerhafte Befehle funktionierten ordnungsgemäß, wenn sie mit einem über USB angeschlossenen LG M / N GE24LU20 DVD-Brenner verwendet wurden.

  2. Überprüfen Sie die Firmware-Version des DVD-Brenners. Aktualisieren Sie die Firmware, wenn eine neuere Version verfügbar ist.

    Beide growisofsund cdrecorddie oben genannten Befehle, die auf einem Plextor PX-750A-UF 1.01-Brenner fehlschlagen, sind nach einem Firmware-Update auf PX-750A-UF 1.03 mit demselben Laufwerk erfolgreich .

    /usr/local/bin/cdrecord -v dev=ATAPI:1,0,0 SUU_14.03.00_A00.iso
    
    growisofs -dvd-compat -Z /dev/sr1=SUU_14.03.00_A00.iso
    

    Weitere Vorteile eines Firmware-Upgrades sind wahrscheinlich. Beispielsweise hat das Firmware-Gerät PX-750A-UF 1.01 die Dual-Layer-DVD mit etwa 2,4-facher Geschwindigkeit geschrieben, während die Firmware 1.03 die Medien mit einer 6-fachen Rate geschrieben hat.

In Bezug auf den Layer-Bruch war es interessant, cdrecordeine lange Pause am 4023-MB-Punkt (auf halbem Weg) und kurz vor dem 4025-MB-Punkt zu beobachten, bei der cdrecordbei der Arbeit mit dem Laufwerk mit der älteren Firmware ein Fehler auftrat. Es hatte den Anschein, dass die Verzögerung auf eine Schichtwechseloperation zurückzuführen sein könnte.

kbulgrien
quelle
Verwenden Sie niemals dev = ATAPI, da Linux mehrere Treiber für dieselbe Hardware hat und Sie cdrecord zwingen, einen schlechteren Treiber als die automatische Auswahl zu verwenden. Wenn Sie nur ein CD-Laufwerk haben, empfehle ich, dev = vollständig zu deaktivieren, da cdrecord seit 2004 versucht, das Laufwerk zu finden.
schily
@schily, ich habe heute Abend versucht, growisofs unter Ubuntu Linux 14,04 LTS zu verwenden, und es hieß, genisomage könne keine Verzeichnisbaumtiefen von mehr als 6 sichern. Wie könnte ich dieses Problem umgehen? Vielen Dank.
Frank
genisoimageist eine nicht erhaltene Kopie des mkisofsStaates vom Mai 2004 mit einigen Debian specific bugshinzugefügten. Wenn Sie genisoimageanstelle der ursprünglichen Software verwenden, verpassen Sie mehr als die Hälfte des Entwicklungsaufwands. Überprüfen Sie die Manpage unter schilytools.sourceforge.net/man/man8/mkisofs.8.html und verwenden Sie die Option -Rzum Aktivieren Rock Ridge oder Verwenden, -iso-level 4wenn Sie wirklich bei DOS-semantics bleiben möchten. Beachten Sie, dass die ursprüngliche Software im Gegensatz zu genisoimage kein sichtbares Verzeichnis rr_movedmit Deep- directory relocationIn- Rock RidgeModus hat.
schily
-1

Wenn Sie cdrecord nicht mitgeteilt haben, wo der Ebenenbruch abgelegt werden soll, füllt das Laufwerk das Medium zu 100%. Dies führt zu einer langen Verzögerung.

Wenn cdrecord fehlschlägt, sind Sie möglicherweise Opfer verschiedener modifizierter Versionen, die die DVD-Unterstützung abgerissen und den ursprünglichen Code durch etwas halbgebrochenes ersetzt haben. Diese fehlerhaften Versionen melden keine Version 3 und kennen nicht die richtigen Zeitüberschreitungen für das Schreiben von DVDs. Dies kann ein Grund dafür sein, dass das Zeitlimit für cdrecord zu früh überschritten wird.

Die neueste Version von cdrecord ist 3.01a31 und es wird bald 3.01-final geben.

Haben Sie eine aktuelle Version verwendet?

schily
quelle
Entschuldigung, ich sehe nur, dass ich auf einen Teil-Thread geantwortet habe, der den cdrecord-Statusbericht verpasst hat. Ihr Problem ist höchstwahrscheinlich die Tatsache, dass Sie cdrecord angewiesen haben, einen fehlerhaften Treiber zu verwenden, der DMA nicht unterstützt. Verwenden Sie also überhaupt keinen dev = -Parameter (wenn Sie nur ein einziges Laufwerk im System haben) oder eine Vanilla dev = b, t, l-Version, aber verwenden Sie niemals ATAPI, ohne genau zu wissen, was zu tun ist.
schily