cdemu - a simple command-line CDEmu client
Contents
Commands
load[parser-parameters]<device><filename>[...]
Loads the device; device is the number of the desired device, or any. If any is used, then the
client will attempt to load the image into the first empty device it finds (provided there is one
available). filename is the image filename. For multi-file images, multiple filenames can be
provided.
The following optional parser parameters can be passed when trying to load the image (whether they
are supported by a particular parser or not depends on the parser implementation):
--encoding<string> Allows an encoding for text-based image format (such as CUE) to be specified.
This might be needed if the image descriptor file contains non-ASCII characters and does not use
Unicode.
create-blank[options]--writer_id=<writer-id><device><image_file>
Creates blank recordable disc in the specified device. device is the number of the desired device,
or any. If any is used, then the client will attempt to load the image into the first empty device
it finds (provided there is one available). image_file is the image filename/basename. A valid
writer-id must also be provided. Other valid options are:
--medium-type<type> Sets the blank medium type. Valid values are: cdr74, cdr80, cdr90, cdr99 and
dvd+r.
--param="writer.parameter_id=parameter_value" Allows user to pass additional image writer
parameters. parameter_id must be a valid parameter ID from image writer's parameter sheet,
prefixed by "writer.".
unload<device>
Unloads the device; device is the number of the desired device, or all.
status Displays devices' status
add-device
Creates another virtual device
remove-device
Removes the last virtual device
device-mapping
Displays device mapping information
daemon-debug-mask<device>[new-value]
Displays/sets daemon debug mask; device is the number of the desired device, or all. new-value is
the new debug mask value. If this argument is omitted, current debug mask is displayed. The list
of supported debug mask identifiers and values can be obtained with enum-daemon-debug-masks
command. The new-value can be either a single numeric value (e.g, 0x03), a string of numeric
values separated by pipe character (e.g., "0x01|0x02"), or a string of identifiers separated by
pipe character (e.g., "DAEMON_DEBUG_DEVICE|DAEMON_DEBUG_MMC").
library-debug-mask<device>[new-value]
Displays/sets library debug mask; device is the number of the desired device, or all. new-value is
the new debug mask value. If this argument is omitted, current debug mask is displayed. The list
of supported debug mask identifiers and values can be obtained with enum-library-debug-masks
command. The new-value can be either a single numeric value (e.g, 0x03), a string of numeric
values separated by pipe character (e.g., "0x01|0x02"), or a string of identifiers separated by
pipe character (e.g., "MIRAGE_DEBUG_PARSER|MIRAGE_DEBUG_DISC").
dpm-emulation<device>[new-value]
Displays/sets DPM emulation flag. device is the number of the desired device, or all. new-value is
the new value to be set. If this argument is omitted, currently set value is displayed.
tr-emulation<device>[new-value]
Displays/sets transfer rate emulation flag. device is the number of the desired device, or all.
new-value is the new value to be set. If this argument is omitted, currently set value is
displayed.
bad-sector-emulation<device>[new-value]
Displays/sets bad sector emulation flag. device is the number of the desired device, or all. new-value is the new value to be set. If this argument is omitted, currently set value is displayed.
dvd-report-css<device>[new-value]
Report the loaded DVD as CSS-encrypted. device is the number of the desired device, or all. new-value is the new value to be set. If this argument is omitted, currently set value is displayed.
This flag influences the generation of fake Disc Structure 0x01, and as such works only with
images of DVD videos that do not provide this information (most images, with exception of perhaps
mds/mdf, don't). Enabling this option allows images of CSS-encrypted DVDs (e.g. created using
'dd' or 'readcd' without running through a CSS decryption step when creating the image) to be
played by a deCSS-enabled Linux media player.
device-id<device>[new-vendor-id][new-product-id][new-revision][new-vendor-specific]
Displays/sets device ID. device is the number of the desired device. new-vendor-id is the new
vendor ID string to be set (8 characters max). new-product-id is the new product ID string to be
set (16 characters max). new-revision is the new revision string to be set (4 characters max).
new-vendor-specific is the new vendor-specific string to be set (20 characters max). If new
values are omitted, currently set values are displayed.
enum-parsers
Enumerates supported image parsers.
enum-writers
Enumerates supported image writers.
enum-filter-streams
Enumerates supported filter streams.
enum-daemon-debug-masks
Enumerates supported daemon debug masks.
enum-library-debug-masks
Enumerates supported library debug masks.
enum-writer-parameters<writer-id>
Retrieves and displays parameters sheet for specified image writer.
version
Displays version information
Description
This is cdemu, a command-line client for controlling CDEmu daemon. It is part of the cdemu suite, a free,
GPL CD/DVD-ROM device emulator for linux.
It provides a way to perform the key tasks related to controlling the CDEmu daemon, such as loading and
unloading devices, displaying devices' status and retrieving/setting devices' debug masks.
When connecting to daemon, cdemu client can use either session or system bus. By hard-coded default, it
uses system bus. The default bus to be used can be specified via /etc/cdemu-client.conf or ~/.cdemu-
client file; for more information, please read README file. The default can be overridden using --bus
option.
Encrypted Images Support
CDEmu daemon offers support for encrypted images. When password is required to load an image, cdemu-
client will prompt for it and then send it to daemon.
NOTE, HOWEVER, THAT THE PASSWORD IS SENT OVER D-BUS IN A PLAIN STRING FORM, WITHOUT ANY PROTECTION.
Examples
Loadingasingleimagetofirstdevice:
cdemu load 0 ~/image.mdsLoadingmultiple-fileimagetofirstdevice:
cdemu load 0 ~/session1.toc~/session2.toc~/session3.tocLoadingatext-basedimageinnon-ASCII/non-Unicodeencoding:
cdemu load 0 ~/image.cue --encoding=windows-1250
LoadingarawimageofaCSS-encryptedDVDcreatedby'dd',soitcanbeplayedbymplayer:
cdemu load 0 ~/image.iso
cdemu dvd-report-css 0 1
Creatingablankrecordabledisc:DVD+RSLwithISOimagewriter:
cdemu create-blank --writer-id=WRITER-ISO --medium-type=dvd+r 0 ~/output-image.isoCreatingablankrecordabledisc:80-minuteCD-RwithTOCimagewriter,withadditionalwriterparameters:
cdemu create-blank --writer-id=WRITER-TOC --medium-type=cdr80 --param="writer.write_raw=1"
--param="writer.write_subchannel=1" 0 ~/output-image.tocUnloadingfirstdevice:
cdemu unload 0
Displayingdevicestatus:
cdemu status
Addinganotherdevice:
cdemu add-device
Removingthelastdevice:
cdemu remove-device
Displayingdevicemappinginformation:
cdemu device-mapping
Settingdaemondebugmaskforthefirstdevice:
cdemu daemon-debug-mask 0 0x01
Settingdaemondebugmaskforthefirstdevice(composite):
cdemu daemon-debug-mask 0 "0x01|0x02"
Settingdaemondebugmaskforthefirstdevice(composite,byname):
cdemu daemon-debug-mask 0 "DAEMON_DEBUG_DEVICE|DAEMON_DEBUG_MMC"
Obtaininglibrarydebugmaskforthefirstdevice:
cdemu library-debug-mask 0
DisablingDPMemulationonalldevices:
cdemu dpm-emulation all 0
Enablingtransferrateemulationonfirstdevice:
cdemu tr-emulation 0 1
Enablingbadsectoremulationonfirstdevice:
cdemu tr-emulation 0 1
ChangingdeviceIDoffirstdevice:
cdemu device-id 0 "MyVendor" "MyProduct" "1.0.0" "Test device ID"
Enumeratingsupportedimageparsers:
cdemu enum-parsers
Enumeratingsupportedimagewriters:
cdemu enum-writers
Enumeratingsupportedfilterstreams:
cdemu enum-filter-streams
Enumeratingsupporteddaemondebugmasks:
cdemu enum-daemon-debug-masks
Enumeratingsupportedlibrarydebugmasks:
cdemu enum-library-debug-masks
ObtainingparametersheetforTOCimagewriter:
cdemu enum-writer-parameters WRITER-TOC
Displayingdaemonandlibraryversion:
cdemu version
Name
cdemu - a simple command-line CDEmu client
Options
-h--help
Displays the help message. If command is specified, help message with synopsis and description for
that command is displayed.
-v--version
Prints version info and exits.
-b--bus
Sets the D-BUS bus type to use for connection. Valid values are session and system. If no bus is
specified, the default bus is used.
Synopsis
cdemu [options] <command> <command parameters>
