Hallo, On Tue, 16 Jul 2002, Bernd Stäglich wrote:
Am 15.07.02, 16:32:02, schrieb David Haller
On Sun, 14 Jul 2002, Bernd Stäglich wrote:
Und beim 'CD-Auslesen' von CD-ROM, werden die Titel aufgelistet, lassen sich über 'Start' aber in kein Verzeichnis speichern.
Sprichst du eigentlich ueber ne Daten- oder ne Audio-CD, die du kopieren willst? Wenn letzteres, ist das natuerlich was anderes ;)
Audio
Aha, dacht ich's mir. Das geht natuerlich nicht via Dateisystem, da es auf Audio-CDs ja kein FS gibt ;)
Lass doch bitte mal den ganzen GUI-Krempel (also KonCD) weg und nimm cdrecord usw.
Audio-CDs kannst du mit cdda2wav oder cdparanoia (und ein paar anderen Tools) auslesen, in ein oder meherere .wavs, die du dann mit cdrecord wieder als tracks brennen kannst...
habe ich gemacht und es klappt :-)
Prima.
Habe nun fleißig mit den Berechtigungen experimentiert,
und herausbekommen, dass die GUI da bei der Bedienung tatsächlich gelegentlich verrückt zu spielen scheinen. Jedenfalls tauchten von mir grafisch geänderte Berechtigungen zumindest in KonCD immer noch in alter Form auf.
Hab's jetzt über die Konsole gemacht. Sofort war überall alles richtig drin.
*hehe* siehste? GUI stoert u.U. nur! *scnr*
Wichtig war dann auch folgendes, was ich bei Kofler gefunden habe: cdrecord, was ja auch in vielen GUI im Hintergrund eine Rolle spielt, kann offenbar nur mit scsi-Geräten bzw. solchen, die als ide-scsi emuliert sind, umgehen,
Genau so ist es. Das gilt generell fuer CD*/DVD*. Und uebrigens auch fuer Scanner und einige andere Geraete (Zip-Drive z.B.).
aber nicht mir CDROM-Laufwerken, wenn sie reine IDE-Laufwerke sind. Habe das dann über lilo gemacht und plötzlich lassen sich KonCD, xcdroast immerhin schon mal bedienen und einrichten. Z.B. Konnte ich vorher mein CDROM nicht als Lesegerät auswählen, was jetzt geht.
Ansonsten blockieren die Programme aber und bleiben hängen beim Track auslesen usw.
Und es gibt weitere, neue Probleme :-(
Plötzlich gibt's ein Durcheinander bei der ide-scsi-Erkennung (lt. Var/log/bootmsg und zu meinem CDROM (= hdd) gibt's die Nachricht:
hdd (das ist mein CDROM): status error: status=0x58 { DriveReady SeekComplete DataRequest } <4>hdd: drive not ready for command
Du solltest alle CD* Geraete _nur_ via ide-scsi ansprechen, der ide-cd-Treiber ist sehr "gierig", und blockiert das LW, wenn er's sich einmal unter den Nagel gerissen hat. AFAIK wird bei dir wohl dieser Treiber fest im Kernel sein, d.h. du muesstest IIRC dem Kernel (via lilo) den Parameter ide-cd='ignore="hdc,hdd"' (oder so aehnlich) mitgeben, leider kann ich's mir nie merken wie genau man das angibt, da ich schlicht den Treiber komplett aus dem Kernel rausgeschmissen habe ;)
Und KonCD erwähnt plötzlich, dass zu zum CDWriter Plextor unter der Gerätenr /dev/scd0 der Treiber fehlt.
Das haengt mit obigem zusammen ;)
Außerdem: Plötzlich tauchen für CDROM und CDWriter jetzt immer mehr Gerätenrn auf (von scd wusste ich vorher nämlich gar nichts):
cdrecorder=hdc=sr0=(scd1?) cdrom=hdd=sr1=(scd0?)
Das kommt drauf an, wo die Geraete dranhaengen (lassen wir mal die
aliase cdrom/cdrecorder weg):
/dev/hdc und /dev/hdd ist dir hoffentlich bekannt: Master/Slave am
zweiten IDE-Strang.
Nun gilt generell: /dev/scdX == /dev/srXX. Das sind nur zwei Namen
fuer das gleiche device. D.h.:
/dev/sr0 == /dev/sdc0
/dev/sr1 == /dev/scd1
usw.
Die Nummern werden in der Reihenfolge vergeben, in denen die Treiber
die Geraete erkennen, i.d.R. und ohne weiter SCSI-Geraete (ob emuliert
oder nicht) erkennt der ide-scsi-Treiber die Geraete "in Reihenfolge",
d.h. bei dir mit dem Brenner an /dev/hdc und dem CDROM an /dev/hdd:
CD-RW: /dev/sr0 (== /dev/scd0)
CDROM: /dev/sr1 (== /dev/scd1)
Wie es _tatsaechlich_ verteilt wird, laesst sich z.B. via sgcheck
herausfinden (der Treiber schreibt auch eine Meldung ins syslog:
[..] kernel: SCSI subsystem driver Revision: 1.00
[..] kernel: scsi0 : SCSI host adapter emulation for IDE ATAPI devices
[..] kernel: Vendor: MITSUMI Model: CR-4802TE Rev: 1.4D
[..] kernel: Type: CD-ROM ANSI SCSI revision: 02
[..] kernel: Attached scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0
[..] kernel: sr0: scsi3-mmc drive: 8x/8x writer cd/rw xa/form2 cdda tray
[..] kernel: Uniform CD-ROM driver Revision: 3.12
Die 1-4 Zeile stammt dabei von scsi_mod (das automatisch geladen
wird, da sr_mod/sg davon abhaengen, die 5-6 stammt von sr_mod, die
letzte dann von 'cdrom', dem eigentlichen CDROM-Treiber. In dieser
Meldung steht alles wesentliche: Mein Brenner ist das Geraet mit der
LUN 0, ID 0 am Kanal 0 des SCSI-Kontrollers 0 und sr_mod haengt das
Teil an 'sr0' an.
Das device fuer's mounten einer Daten-CD waere also /dev/sr0 (oder
/dev/scd0, egal, bei mir ist /dev/scd0 ein symlink auf /dev/sr0 ;) das
richtige device, fuer cdrecord waere es /dev/sg0 oder schlich
"host,id,lun" also hier "0,0,0".
Bei dir duerfe der Brenner ebenfalls als 0,0,0 bzw. /dev/s[gr]0
eingebunden werden, d.h. wenn du einen link willst, so muesstest du
/dev/cdrecorder auf /dev/sr0 verlinken. Du solltest dir auch nochmal
klarmachen: dein Brenner "besteht" aus 2 Geraeten: eins von dem du wie
von nem CDROM lesen kannst, und eins, auf dem du schreiben kannst,
naemlich /dev/sg<irgendwas> und /dev/sr
Fragen: 1. Hatte bei der CDROM-Einrichtung als ide-scsi gemäß Kofler auch symbolische Links von /dev/sr0 und /dev/sr1 auf /dev/cdrecorder/ und /dev/cdrom gesetzt und das gleiche jetzt noch mal von /dev/scd0 und /dev/scd1 auf /dev/cdrecorder und /dev/cdrom.
??? mach doch bitte mal ein ls -l /dev/sr[01] /dev/sg[01] /dev/scd[01] /dev/cdr* Das sollte in etwa so aussehen: $ ls -l /dev/sr[01] /dev/sg[01] /dev/scd[01] /dev/cdr* lrwxrwxrwx 1 root root 8 Mar 21 19:15 /dev/cdrec -> /dev/sr0 lrwxrwxrwx 1 root root 8 Mar 21 19:15 /dev/cdrom -> /dev/sr1 lrwxrwxrwx 1 root root 10 Mar 21 19:15 /dev/scd0 -> /dev/sr0 lrwxrwxrwx 1 root root 10 Mar 21 19:15 /dev/scd1 -> /dev/sr1 crw-rw---- 1 root disk 21, 0 Jul 23 1999 /dev/sg0 crw-rw---- 1 root disk 21, 1 Jul 23 1999 /dev/sg1 br--r--r-- 1 root disk 11, 0 Jul 23 1999 /dev/sr0 br--r--r-- 1 root disk 11, 1 Jul 23 1999 /dev/sr1 (du kannst natuerlich '/dev/cdrecorder' statt oder zusaetzlich zu '/dev/cdrec' verwenden, das is nur ne Geschmackssache ;)
Möchte diese Links per Konsole gerne wieder löschen, weil da ja was durcheinander gekommen zu sein scheint.Wie kriege ich die aber per Konsole wieder weg (bin zu blöd zum Befehle finden)?
Einfach mit 'rm' loeschen... Im Zweifelsfall solltest du mit folgendem den korrekten Zustand bekommen (bitte _erst_ verstehen, dann ausfuehren!): # rm /dev/sr* /dev/scd* /dev/sg* /dev/cdrom /dev/cdrec* # for i in `seq 0 15`; do \ mknod -m 660 c "/dev/sg${i}" 21 "$i"; \ chown root.disk /dev/sg* ; \ mknod -m 444 b "/dev/sr${i}" 11 "$i"; \ chown root.disk /dev/sr* ; \ ln -s "/dev/sr${i}" "/dev/scd${i}"; \ done # ln -s /dev/sg0 /dev/cdwriter # ln -s /dev/sr0 /dev/cdrecorder # ln -s /dev/sr0 /dev/cdrec # ln -s /dev/sr1 /dev/cdrom
2. Bisher hat doch mit meinen Treibern für CDROM und CDWriter alles geklappt. Wie kriege heraus, um welche Treiber es sich dabei handelt und wie kriege ich diese Treiber in die Gerätenrn. scd0 und scd1, die KonCD offensichtlich lieber benutzt als meine Gerätenrn /dev/sr0 und /dev/sr1?
s.o. cdrecord verwendet als device die SCSI HOST,ID,LUN, also bei dir vermutlich "0,0,0". Mit obigen symlinks geht auch /dev/cdwriter oder /dev/sg0.
Oder anders herum, wie kriege ich KonCD dazu, die Gerätenrn. /dev/sr0 und /dev/sr1 zu akzeptieren (Grund: in der /var/log/bootmsg tauchen die Gerätenrn. scd0 und scd1 überhaupt nicht auf, dehalb hatte ich die bisher ja auch gar nicht auf der Rechnung!)?
Genau, deswegen bevorzuge ich die /dev/sr*. Aber: /dev/sr* kann man
nur als cdrom lesen(!). Schreiben kann man nur mit /dev/sg* bzw.
direkt unter der Angabe der SCSI HOST,ID,LUN.
Und -- auch wenn's dich enttaeuschen koennte -- von KonCD halte ich
ehrlich gesagt gar nix. Ich habe das IIRC mal getestet und dann
praktisch sofort als untauglich verworfen. Was sich als GUI verwenden
liess waren xcdroast und gcombust, aber ich verwende sowieso nur
direkt die eigentlichen Tools auf der Konsole mit ein paar
selbstgestrickten scripts drumrum, um mir nicht alle Parameter merken
zu muessen, z.B. fuer cdparanoia:
,----[ ~/bin/cdp.sh ]
| #!/bin/bash
| # (c)2001 David Haller