zpomalení CDROM

Petr Klima xklima08 na fest.stud.fee.vutbr.cz
Středa Listopad 7 10:32:32 CET 2001


"Petr Kinšt" wrote:
> 
> Někde jsem četl, že existuje příkaz, který umožňuje zpomalit CDROM mechaniku
> (snížení hlučnosti). Nevíte o jaký příkaz jde?
> 
> --
> S pozdravem
> 
> Petr Kinšt
> Vyberte si nový OPERAČNÍ SYSTÉM http://www.volny.cz/salim/os/index.html
> petr.kinst na seznam.cz

Zdravim,
pokud vam to nefunguje, zkuste si zkompilovat nasledujici programek:


#include <stdio.h>		/* Standard librares */
#include <unistd.h>
#include <stdlib.h>
#include <sys/ioctl.h>		/* The magic ioctl function */
#include <sys/types.h>		/* For open(3) */
#include <sys/stat.h>
#include <fcntl.h>
#include <linux/cdrom.h>	/* Human-readable cdrom ioctls */

#ifndef CDROM_SELECT_SPEED
#define CDROM_SELECT_SPEED      0x5322	/* Set CD-ROM speed */
#endif
#ifndef CDC_SELECT_SPEED
#define CDC_SELECT_SPEED        0x8	/* programmable speed */
#endif

int main (int argc, char *argv[])
{
  int cdrom, speed, ret = 0, i;
  FILE *cdrom_proc;
  int chr;

  fprintf (stdout,
	   "CD-ROM drive speed setting utility v0.0.1, Petr Klíma
<klima.petr na post.cz>\n");

  cdrom = open ("/dev/cdrom", O_RDONLY | O_NONBLOCK);
  if (cdrom == -1)
    {
      fprintf (stderr,  "\nUnable to find CD-ROM drive. Create symbolic
link to drive.\n"
	       "Example: \"ln -s /dev/hdb /dev/cdrom\"\n");
      return 1;
    }
  if (argc == 1)
    {
      fprintf (stderr,  "Usage:         cdspd <relative speed>\n"
	       "Example:       cdspd 4      sets reading speed to 4x
(600kB/s)\n\n");
      close (cdrom);
      return 1;
    }
  else
    {
      speed = atoi (argv[1]);
      if (speed <= 0) fprintf(stdout, "Trying to set highest speed\n");
      else {
        fprintf(stdout, "Trying to set speed %dx (%dkB/s)\n", speed,
  	         speed * 150);
	}
      ret = ioctl (cdrom, CDROM_SELECT_SPEED, speed);
      if (ret < 0)
	{
	  fprintf (stderr, "Error setting new drive speed\n");
	  close (cdrom);
	  return 2;
	}
      close (cdrom);
      return 0;
    }
}
Nestrilejte po pianistovi, dela co umi. Tento programek jsem vypotil 
kdysi davno a velmi rychle, takze nerucim za to, ze je dobre udelan,
natoz
ze je oprosten od vsech chyb. Taky bohuzel nejsem schopen zarucit, ze 
Vam bude fungovat. 

Petr Klima


Další informace o konferenci Linux