Heiße Scheiben sicher hergestellt
Burn-Proof unter Linux
Und funktioniert's?
Aber jetzt mal zur Praxis: Wir hatten fünf Laufwerke mit BURN-Proof und ein Laufwerk mit JustLink von Ricoh im Test. Mit Hilfe des Ricoh-Laufwerks konnten wir feststellen, dass JustLink nicht einfach ein anderer Name für BURN-Proof ist – es muss auch anderes aktiviert werden; cdrecord kann das nicht. Bei allen anderen Laufwerken kam es dagegen zu keinen Problemen – weder mit SCSI noch mit ATAPI. Es war jedoch deutlich schwieriger als erwartet, die CD-Brenner auf BURN-Proof zu testen. Da cdrecord die POSIX-Echtzeit-Erweiterung nutzt, hat es eine höhere Priorität als alle anderen Prozesse; nur der Kernel steht noch darüber – hier kann man also nicht ansetzen. Auch ist es illusorisch, den IDE-Bus so zu blockieren, dass die Daten nicht mehr schnell genug zum Brenner kommen – kein aktuelles IDE-Gerät schafft es, den IDE-Bus dauerhaft zu überfordern. Bleibt nur noch, die Daten, welche auf die CD gebrannt werden sollen, zu behindern, bevor sie zu cdrecord kommen. So haben wir die Daten "on the fly" (also ohne Zwischenspeicherung auf Festplatte) mit mkisofs erzeugt und diesen Prozess durch Erniedrigen seiner Priorität und Starts vieler anderer Prozesse zum Stillstand gebracht. So haben wir es dann schließlich bei allen Laufwerken geschafft, einen Buffer-Underrun zu fabrizieren, und BURN-Proof hat sie stets abgefangen (cdrecord gibt dabei keine Meldung aus).
Fazit
Alle Brenner mit BURN-Proof funktionierten einwandfrei, die Unterbrechung des Datenstroms hatte auf die Lesbarkeit der CDs keine Auswirkungen. Sanyo gibt jedoch an, dass mit BURN-Proof erstellte CDs besser mit einem 4x-CD-ROM oder einem CD-Player mit Baujahr nach 1995 gelesen werden sollten. Jede Schreibunterbrechung hat eine kurze Lücke zur Folge, die ältere Laufwerke unter Umständen außer Tritt bringen könnte.
Einzig das Ricoh-Laufwerk produzierte unlesbare Rohlinge im Test, weil das notwendige JustLink-Feature zur Zeit von keinem Linux-Brennprogramm unterstützt wird. Im Falle einer Anschaffung sollten Sie deshalb vorher nachsehen, ob cdrecord oder cdrdao mit dem jeweiligen Brenner klar kommt – und im Zweifel auf BURN-Proof-Laufwerke zurückgreifen. Angesichts der Leistungsfähigkeit heutiger Rechner stellt sich allerdings die Frage, ob man wirklich ein Gerät mit dieser Technik benötigt. Zumindest unter Linux stellen "verbrannte" CDs doch eher eine Rarität dar.
Übersicht
|
|
|
|
|
|
|
|
|---|---|---|---|---|---|---|
| Hersteller | Lite-On | Plextor | Plextor | Plextor | Ricoh | Teac |
| Website | ||||||
| :Modell | LTR-12101B | PX-W1210A | PX-W1210S | PX-W1610A | MP9120A-DP | W512E |
| :Straßenpreis | 420 DM | 550 DM | 850 DM | 625 DM | 650 DM | 450 DM |
| :Geschwindigkeit (Schreiben/Wiederbeschreiben/Lesen) | 12/10/32 | 12/10/32 | 12/10/32 | 16/10/40 | 12/10/32(/8 DVD) | 12/10/32 |
| :Anschluss | ATAPI | ATAPI | SCSI | ATAPI | ATAPI | ATAPI |
| :Buffer-Underrun-Schutz | BURN-Proof | BURN-Proof | BURN-Proof | BURN-Proof | JustLink | BURN-Proof |
| :Geschwindigkeitstest: | ||||||
| :Brennen CDR [kB/s] | 1750 | 1736 | 1747 | 2265 | 1761 | 1739 |
| :Fixieren CDR [s] | 25,3 | 24,2 | 24,6 | 18,9 | 22,9 | 27,9 |
| :Brennen CDRW [kB/s] | 1212 | 1278 | 1272 | 1107 | 1406 | 1302 |
| :Fixieren CDRW [s] | 28,0 | 33,8 | 34,1 | 33,7 | 35,4 | 34,4 |
| :Lesen CD-ROM [kB/s] | 2145 | 2479 | 2512 | 3094 | 2483 | 2414 |
| :Lesen Audio (Spielzeit/Lesezeit) | 2,27 | 5,45 | 6,06 | 5,22 | 1,86 | 3,05 |
So haben wir getestet
Die Tests wurden auf einem AMD K6-2 mit 350 MHz und Kernel 2.4.2 durchgeführt. Bei den CD-R-Tests wurde ein 691 MByte großes ISO-9660-Image auf die CD-R gebrannt – bei den CD-RW-Tests begnügten wir uns mit 137 MByte. Die Lesetests gingen immer über die inneren Spuren – die ersten 100 MByte und die ersten 10 Minuten der Test-CD.
IDE/ATAPI-Brenner unter Linux
Wer einen SCSI-Brenner hat, der hat schon einen Vorteil – cdrecord unterstützt diese Geräte direkt, korrekte Installation des SCSI-Host-Adapters vorausgesetzt. Bei ATAPI-Geräten ist das etwas anders: Es muss zuerst eine Umsetzung von der IDE- zur SCSI-API stattfinden. Dies funktioniert über das Kernel-Modul ide-scsi: Dieses Modul stellt für jedes IDE-Laufwerk, welches noch nicht von einem anderen Treiber belegt ist, eine SCSI-Emulation zur Verfügung, so dass es für die Programme als echtes SCSI-Laufwerk erscheint.
Das eigentliche Problem ist es nun, den CD-Brenner für das ide-scsi-Modul freizuhalten. Dabei unterscheiden sich die Vorgehensweisen je nachdem, ob man IDE-CD-ROMs fest im Kernel unterstützt, oder ob es als Modul (ide-cd) geladen wird. Am einfachsten findet man dies heraus, indem man eine Daten-CD ins Dateisystem einbindet (mounted) und dann mit lsmod nachsieht, ob das ide-cd-Modul geladen wurde.
Sollte die ide-cd-Unterstützung fest im Kernel verankert sein, so muss man dem Kernel per Boot-Parameter sagen, dass er den Brenner für die SCSI Emulation frei halten soll. Das geschieht mit dem Parameter hdX=ide-scsi. Von nun an steht /dev/hdX nicht mehr zur Verfügung, und man kann den Brenner über /dev/scd0 ansprechen. Der Boot-Parameter sollte fest im Boot-Loader eingetragen werden; bei Lilo wird dazu der append-Eintrag in der /etc/lilo.conf erweitert:
append = "hdX=ide-scsi"
Sollten unter append bereits Parameter stehen, wird hdX=ide-scsi voran gestellt und mit Komma von den restlichen getrennt.
Ist ide-cd nicht fest im Kernel, so müssen erstens die ide-cd-Parameter so angepasst werden, dass dieses Modul nicht mehr auf den Brenner zugreift, und zweitens die ide-scsi-Parameter so geändert werden, dass andere Geräte nicht belegt werden, auch wenn deren Treiber noch nicht geladen ist. Beide Einstellungen werden in der Datei /etc/modules.conf festgelegt. Für das ide-cd-Modul muss einfach die Zeile
options ide-cd ignore=hdX
eingefügt werden. Sicherzustellen, dass ide-scsi nur den Brenner belegt, ist leider nicht ganz so einfach – es gibt keine Optionen für Module. Deshalb muss man dafür sorgen, dass alle Treiber für mögliche andere Geräte schon geladen sind, bevor das ide-scsi-Modul initialisiert wird. Dies bewerkstelligt der folgende Eintrag:
pre-install ide-scsi modprobe -k ide-cd;modprobe -k ide-tape;modprobe -k ide-floppy
Der Parameter -k sorgt dafür, dass die Treiber wieder automatisch entladen werden, wenn sie nicht benötigt werden.
Zuguterletzt muss in beiden Fällen noch die ide-scsi-Emulation als SCSI-Controller eingetragen werden:
alias scsi_hostadapter ide-scsi
Ob alles geklappt hat zeigt sich bei einem
# cdrecord -scanbus
Linux sg driver version: 3.1.17
Cdrecord 1.10a16 (i586-pc-linux-gnu) Copyright (C) 1995-2001 Jörg Schilling
Using libscg version 'schily-0.4'
scsibus0:
0,0,0 0) 'TEAC ' 'CD-W512EB ' '2.0B' Removable CD-ROM
0,1,0 1) *
0,2,0 2) *
0,3,0 3) *
0,4,0 4) *
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *
Danksagung
Wir danken der Firma Strixner+Holzinger für die Bereitstellung der Lite-On-, Plextor- und Ricoh-Brenner sowie CompuPlus für die Leihgabe des Teac-Laufwerks.
Strixner+Holzinger
Schillerstr. 23
80336 Münchenhttp://www.strixner.de/
CompuPlusSchillerstr. 23a
80336 Münchenhttp://www.compuplus.de/
Glossar
hdX
Unter Linux werden alle IDE Geräte als /dev/hdX angesprochen. "hdX" steht dabei für:hda: erster Kontroller, Masterhdb: erster Kontroller, Slavehdc: zweiter Kontroller, Masterhdd: zweiter Kontroller, Slave



