This is the command setcd that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator
PROGRAM:
NAME
setcd - set various flags to control the behaviour of your cdrom device.
SYNOPSIS
setcd [-hirs] [-ceflot 0|1] [-dx arg] [device ...]
DESCRIPTION
Setcd is a program that allows you to control the behaviour of your Linux cdrom device.
There are a number of ways you can control the behaviour of your cdrom drive: should it
try to close the tray upon mounting a cdrom when your happened to have left the tray open,
or should it eject the tray (or caddy) upon unmounting the cdrom? Should it lock the door
when some process uses the cdrom or not? Should the kernel try to ensure that there
actually is a cd in the drive, and that it is of the right type (i.e., a data cd in case
of a mount, or an audio cd in case of a play operation)?
Setcd can also inform you on the current configuration of the drive, and can give
information on the status of the drive; whether or not a cd is loaded, what the type is
(audio/data), and some basic information of the disc (total playing time for audio /
volume name for data). Setcd can list/probe/configure several cdrom devices at once,
independent of their low-level implementation. Finally, setcd can select a disc in a
multi-disc cdrom player (juke-box), and set the operating speed of the player.
OPTIONS
Options come in three flavours: without arguments, with one boolean type argument and with
a numeric argument. For boolean type arguments, 0 means `clear option,' and 1 means `set
option.' Several options may be given at the same time. Following the options, a list of
cdrom device names can be given, for which the operations will take place. If no device is
given, the default value /dev/cdrom will be used.
-c 0|1 Clear/set auto-close flag. If the cdrom device is opened for data access (e.g.,
using mount(1) ) and the tray is found open, an attempt is made to close the tray.
This is considered `desired' behaviour but people with old cd player programs may
disagree. A cd player that opens the device at regular intervals would have
problems leaving the tray ejected, if there were no special arrangements taken to
support cd player programs. In the new interface they can specify in their open(2)
call that they wish to open the device just for issuing ioctl(2) calls. Instead of
clearing this option, consider upgrading your cd player program.
-d drive
Selects the cd in slot number drive in case the cdrom player is a juke-box model.
-e 0|1 Clear/set EJECT_SW flag. This is basically identical to controlling the auto-close
and auto-open flags simultaneously. The EJECT_SW flag enables closing the tray upon
mounting a cdrom, and opening the tray upon unmounting it again. The option is
included to support the old-style cdrom behaviour (many low-level driver have
implemented the ioctl-command connected to this flag).
-f 0|1 Clear/set use-fflags flag. The new cdrom interface specifies a special
interpretation of the O_NONBLOCK option in the open(2) call for cdrom devices. When
this option is used, and the use-fflags option is set, the cdrom driver will not
attempt to do anything to make the open() call more successful; the tray is not
closed upon opening, no cd type checking is performed, in fact the open() call will
always succeed. This allows user-level programs to issue ioctl() commands
regardless of the state in which the drive is. Setting this option is the preferred
state. Users may wish to clear this option in case they have an old cd player
program that does not support the O_NONBLOCK option, but have a new style cdrom
driver (i.e., IDE, SCSI or cm206).
-h Print copyright information and terse help.
-i Give information on the cdrom drive. The status of the drive is checked, possible
outcome is (a) no disc inserted, (b) tray is open, (c) drive is not ready, (d) disc
is found. In the last case, an attempt is made to determine the type of disc (audio
or one of 4 types of data disc), and for both "audio" and "data disc type 1|2" some
additional information is given. Currently for data discs this is the volume name,
publisher and data preparer. For audio discs the extra information is very terse,
you may enjoy a full-fledged audio cd player program better.
-l 0|1 Clear/set locking flag. When this flag is set, the drive door is locked while the
cdrom devices is opened, e.g., when a cdrom is mounted. Not locking the door is
undesired behaviour, because this may lead to file system corruption if a cdrom is
removed while being mounted.
-o 0|1 Clear/set auto-open flag. When this flag is set, and the last process that uses the
cdrom device closes the device, an attempt is made to eject the tray. Care is
taken, that processes that used the O_NONBLOCK option in opening the device, will
not cause such an auto-eject. Yet, we consider this auto-eject behaviour undesired.
In most cases, this behaviour is combined with the auto-close behaviour, in which
case the option "-e" is the preferred usage.
-r Resets all options to a default behaviour. Using this option is equivalent to "-c1
-f1 -l1 -o0 -t1", i.e., all options set in a way we consider `desired.' For the
current development kernel, this is identical to the default settings apart from
the type-checking flag, because this flag relies on a very modern kernel, libc and
cdrom players.
-s Gives the current status of the option flags. Information on the following flag
settings is giver, one per line: (a) auto-close, (b) auto-open, (c) use-fflags, (d)
tray-locking, (e) type-checking.
-t 0|1 Clear/set cd type checking flag. When this option is set, the kernel will check the
type of cd upon various operations. A system error "Wrong medium type" is given if
the generic cdrom driver receives an open-for-data call while an audio cd is inside
the drive, or a playing command is received while a data disc is in the drive. This
behaviour is considered superior over kernel time-outs and other implementation-
dependent behaviour found on the old-style cdrom interface. However, this feature
is relatively new, and requires kernel version 2.1.27 or later, and libc-5.4.24 or
later. Moreover, if you use an audio cd player program, it must use the O_NONBLOCK
open flag (see option "-f"). These stringent constraints made the current kernels
to have this option turned off, while people using setcd are considered modern and
progressive enough to have this option selected by default using the "-r" option.
-x speed
Sets the head-rate of the cdrom player to speed times 150 KB/sec, or speed times
real-time audio playback. The special value 0 is interpreted as auto-selection:
data cd's are read at maximum head-rate, while audio cd's are played at normal
speed. There are a few reasons for having the speed to be selectable. Badly
pressed cdroms may benefit from less-than-maximum head rate. Modern cdrom drives
can obtain very high head rates, but these drives tend to make an annoyingly loud
noise. A lower speed may reduce this.
HISTORY
Traditionally, up to the 2.0 Linux kernel line, the behaviour of the cdrom access was
determined by the low-level driver implementation, which varied between different brands
of drives. Since kernel 1.3.late, an extra interface layer has been defined between the
kernel and user level programs, that makes the behaviour of the cdrom drive independent of
the low-level driver. The first driver to respect the new interface was, surprisingly, the
outdated Philips/LMS cm206 in kernel 2.0. Nowadays, all new cdrom drives are either IDE
or SCSI, and these drivers support the new cdrom interface in the kernel 2.1 line. We hope
that the other `old' cdrom divers will eventually support the new interface, so that the
behaviour of Linux cdrom drives is truly uniform.
The new cdrom interface level was actually inspired after writing a volume daemon that
automatically mounts a cdrom at the location /cdrom/volume upon insertion of the disc. I
then found out that there was a need for finding out the status of the drive without
trying to read data, and that the uniformity of cdrom drivers was a mess. The volume
daemon has not been finished yet, but progress has been made in convincing the Linux cdrom
driver community to comply to the proposed standard.
DIAGNOSTICS
Setting or clearing an option will result in a message indicating the new status of that
option. Operations not supported by the underlying hardware, e.g., disc selection, will
result in an error condition. Several other ioctls may result an error condition if the
low-level drivers don't support that particular ioctl.
Use setcd online using onworks.net services