• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Laufwerksdrehzahl regulieren

Mystique

Member
Gibt es unter Linux eigentlich eine Möglichkeit die Drehzahl von CD/DVD-Laufwerken zu steuern bzw. einzustellen? Dachte da an sowas wie die CD-Bremse unter Windows. Hab jetzt zwei NEC-Laufwerke im Rechner, aber DVD-Film ansehen geht garnicht bei der Lautstärke. Laufwerk dreht immer mit voller Geschwindigkeit. :(
 

rcf

Newbie
Wie?

Ich hab den Parameter "-E xx" ausprobiert, aber der ist wirkungslos...
Also zum einen hab ich irgendwie zwei verschiedene Links zu einem DVD-Laufwerk... /dev/cdrom ist vorhanden, aber auch /dev/sr0, was bei mir von mount angezeigt wird:
Code:
/dev/sda7 on / type ext3 (rw,acl,user_xattr)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
debugfs on /sys/kernel/debug type debugfs (rw)
udev on /dev type tmpfs (rw)
devpts on /dev/pts type devpts (rw,mode=0620,gid=5)
/dev/sda8 on /home type ext3 (rw,acl,user_xattr)
/dev/sda1 on /windows/C type fuseblk (rw,noexec,nosuid,nodev,noatime,allow_other,default_permissions,blksize=4096)
/dev/sda5 on /windows/D type fuseblk (rw,noexec,nosuid,nodev,noatime,allow_other,default_permissions,blksize=4096)
/dev/sda6 on /windows/E type fuseblk (rw,noexec,nosuid,nodev,noatime,allow_other,default_permissions,blksize=4096)
securityfs on /sys/kernel/security type securityfs (rw)
/dev/sr0 on /media/SU1030.001 type iso9660 (ro,nosuid,nodev,noatime,uid=1000,utf8)
Dann hab ich in der Konsole mal "/sbin/hdparm -E 5 /dev/sr0" eingetippt, aber das brachte nichts. Ebensowenig mit "dev/cdrom" oder als Superuser. Das Laufwerk röhrt jedesmal mit voller Kraft los. Was mach ich falsch?
 

rcf

Newbie
Es ist ein normales IDE/ATAPI-Laufwerk, aber das Mainboard ist ganz neu (Gigabyte P35-DS3) und besitzt wohl diesen alternativen IDE-Chip. Auch die Festplatte (PATA) hört seit neuestem auf sda statt hda.
Kann das ein Problem sein? Ich versuch mal sdparm.
 

rcf

Newbie
Irgendwie kann sdparm ein CD-Laufwerk nicht bremsen. Gibt es vielleicht eine allgemeinere Möglichkeit, vielleicht wie CD-Bremse oder Nero DriveTool?

Ich kann ja auch nichts dafür, dass Linux meint, die Laufwerke wären an SCSI angeschlossen, obwohl sie PATA sind... muss irgendwie am Board liegen. Glaub ich.
 
Folgendes sollte für ATA und SCSI gehen.
Code:
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <fcntl.h>
int main(void)
{
    int fd = open("/dev/sdc", O_RDONLY);
    ioctl(fd, CDROM_SELECT_SPEED, 2);
}
machen.
 

rcf

Newbie
Den Quelltext hab ich versucht als C-Programm zu kompilieren, aber er kann die Konstante CDROM_SELECT_SPEED nicht finden:
Code:
> gcc -o slowcd slowcd.c
slowcd.c: In function ‘main’:
slowcd.c:7: error: ‘CDROM_SELECT_SPEED’ undeclared (first use in this function)
slowcd.c:7: error: (Each undeclared identifier is reported only once
slowcd.c:7: error: for each function it appears in.)
Wenn man "#include <linux/cdrom.h>" hinzufügt, kompiliert es zwar, bewirkt aber auch nix... Ich hab auch schon das Gerät zu /dev/sr0 angepasst, ging auch nicht.

Statt hdparm soll auch "eject -x[Speed] [Gerät]" funktionieren. Kann ich nicht von meinem Computer behaupten. Das Laufwerk scheint sich an den Befehlen nicht zu stören.

Muss ich die eigentlich als Benutzer oder root eintippen? (Wie auch immer, klappt trotzdem nicht.)
 

rcf

Newbie
Die YaST-Hardware-Informationen sagen mir, dass mein DVD-ROM-Laufwerk, welches an IDE angeschlossen ist, den SCSI-Bus benutzt. Wie kann das angehen? Meine Festplatte hängt am selben Kabel (als Master), benutzt aber den IDE-Bus. Die Gerätenamen sind allerdings /dev/sda und /dev/sr0, also keine ursprünglichen IDE-Namen wie /dev/hd...

Ist möglicherweise das DVD-Laufwerk falsch erkannt? Und wenn ja, wie kann ich Suse dazu bringen, es über IDE anzusteuern, so wie die Festplatte? Es wird ja in beiden Fällen derselbe Treiber benutzt (pata_jmicron), nur der SCSI-Bus beim DVD-Laufwerk stört mich doch irgendwie...

Nebenbei, das C-Programm von oben klappt mit CDROMSTOP, dann hört es sofort auf zu laufen. Natürlich nur, wenn kein Zugriff darauf erfolgt. Aber das ist ja nicht das, was ich damit bezwecke. Es soll ja gar nicht erst so schnell laufen.
Ich hab gelesen, bei SCSI-Laufwerken könnte man die Geschwindigkeit nicht einstellen. Vielleicht liegt es ja daran, dass Linux angeblich ein SCSI-Laufwerk anspricht und deshalb die Speedkontrolle nicht funktioniert. Nur, wie krieg ich es über den IDE-Bus zum Laufen?
 
Der ioctl wird von /usr/src/linux/drivers/scsi/sr_ioctl.c. Oder kann es sein, dass du ein Laufwerk hast, das das nicht mitmacht?
 

rcf

Newbie
Hm, das Laufwerk ist schon in der Lage dazu. Mit dem Nero DriveSpeed herrscht unter Windows auch Ruhe, allerdings sind nicht unbedingt alle Stufen auswählbar (z.B. für CDs nur 4x, 8x, 10x, ...). Nero erkennt aber die möglichen Stufen, das wird ihm wohl der Wintreiber sagen.

Also um auf meine Frage zurückzukommen, ich finde es komisch, dass ein IDE-Laufwerk über den scsi-Bus angesprochen wird, während die Festplatte den ide-Bus benutzt (laut YaST-Angaben). Könnte daran liegen, vielleicht auch nicht. Ich guck mir mal die sr_ioctl.c an, soweit ich das mit meinen bescheidenen C-Kenntnissen durchblicke.
 
Oben