mirror of https://gitee.com/openkylin/linux.git
186 lines
5.8 KiB
Plaintext
186 lines
5.8 KiB
Plaintext
|
This is the readme file for the driver for the Philips/LMS cdrom drive
|
||
|
cm206 in combination with the cm260 host adapter card.
|
||
|
|
||
|
(c) 1995 David A. van Leeuwen
|
||
|
|
||
|
Changes since version 0.99
|
||
|
--------------------------
|
||
|
- Interfacing to the kernel is routed though an extra interface layer,
|
||
|
cdrom.c. This allows runtime-configurable `behavior' of the cdrom-drive,
|
||
|
independent of the driver.
|
||
|
|
||
|
Features since version 0.33
|
||
|
---------------------------
|
||
|
- Full audio support, that is, both workman, workbone and cdp work
|
||
|
now reasonably. Reading TOC still takes some time. xmcd has been
|
||
|
reported to run successfully.
|
||
|
- Made auto-probe code a little better, I hope
|
||
|
|
||
|
Features since version 0.28
|
||
|
---------------------------
|
||
|
- Full speed transfer rate (300 kB/s).
|
||
|
- Minimum kernel memory usage for buffering (less than 3 kB).
|
||
|
- Multisession support.
|
||
|
- Tray locking.
|
||
|
- Statistics of driver accessible to the user.
|
||
|
- Module support.
|
||
|
- Auto-probing of adapter card's base port and irq line,
|
||
|
also configurable at boot time or module load time.
|
||
|
|
||
|
|
||
|
Decide how you are going to use the driver. There are two
|
||
|
options:
|
||
|
|
||
|
(a) installing the driver as a resident part of the kernel
|
||
|
(b) compiling the driver as a loadable module
|
||
|
|
||
|
Further, you must decide if you are going to specify the base port
|
||
|
address and the interrupt request line of the adapter card cm260 as
|
||
|
boot options for (a), module parameters for (b), use automatic
|
||
|
probing of these values, or hard-wire your adaptor card's settings
|
||
|
into the source code. If you don't care, you can choose
|
||
|
autoprobing, which is the default. In that case you can move on to
|
||
|
the next step.
|
||
|
|
||
|
Compiling the kernel
|
||
|
--------------------
|
||
|
1) move to /usr/src/linux and do a
|
||
|
|
||
|
make config
|
||
|
|
||
|
If you have chosen option (a), answer yes to CONFIG_CM206 and
|
||
|
CONFIG_ISO9660_FS.
|
||
|
|
||
|
If you have chosen option (b), answer yes to CONFIG_MODVERSIONS
|
||
|
and no (!) to CONFIG_CM206 and CONFIG_ISO9660_FS.
|
||
|
|
||
|
2) then do a
|
||
|
|
||
|
make clean; make zImage; make modules
|
||
|
|
||
|
3) do the usual things to install a new image (backup the old one, run
|
||
|
`rdev -R zImage 1', copy the new image in place, run lilo). Might
|
||
|
be `make zlilo'.
|
||
|
|
||
|
Using the driver as a module
|
||
|
----------------------------
|
||
|
If you will only occasionally use the cd-rom driver, you can choose
|
||
|
option (b), install as a loadable module. You may have to re-compile
|
||
|
the module when you upgrade the kernel to a new version.
|
||
|
|
||
|
Since version 0.96, much of the functionality has been transferred to
|
||
|
a generic cdrom interface in the file cdrom.c. The module cm206.o
|
||
|
depends on cdrom.o. If the latter is not compiled into the kernel,
|
||
|
you must explicitly load it before cm206.o:
|
||
|
|
||
|
insmod /usr/src/linux/modules/cdrom.o
|
||
|
|
||
|
To install the module, you use the command, as root
|
||
|
|
||
|
insmod /usr/src/linux/modules/cm206.o
|
||
|
|
||
|
You can specify the base address on the command line as well as the irq
|
||
|
line to be used, e.g.
|
||
|
|
||
|
insmod /usr/src/linux/modules/cm206.o cm206=0x300,11
|
||
|
|
||
|
The order of base port and irq line doesn't matter; if you specify only
|
||
|
one, the other will have the value of the compiled-in default. You
|
||
|
may also have to install the file-system module `iso9660.o', if you
|
||
|
didn't compile that into the kernel.
|
||
|
|
||
|
|
||
|
Using the driver as part of the kernel
|
||
|
--------------------------------------
|
||
|
If you have chosen option (a), you can specify the base-port
|
||
|
address and irq on the lilo boot command line, e.g.:
|
||
|
|
||
|
LILO: linux cm206=0x340,11
|
||
|
|
||
|
This assumes that your linux kernel image keyword is `linux'.
|
||
|
If you specify either IRQ (3--11) or base port (0x300--0x370),
|
||
|
auto probing is turned off for both settings, thus setting the
|
||
|
other value to the compiled-in default.
|
||
|
|
||
|
Note that you can also put these parameters in the lilo configuration file:
|
||
|
|
||
|
# linux config
|
||
|
image = /vmlinuz
|
||
|
root = /dev/hda1
|
||
|
label = Linux
|
||
|
append = "cm206=0x340,11"
|
||
|
read-only
|
||
|
|
||
|
|
||
|
If module parameters and LILO config options don't work
|
||
|
-------------------------------------------------------
|
||
|
If autoprobing does not work, you can hard-wire the default values
|
||
|
of the base port address (CM206_BASE) and interrupt request line
|
||
|
(CM206_IRQ) into the file /usr/src/linux/drivers/cdrom/cm206.h. Change
|
||
|
the defines of CM206_IRQ and CM206_BASE.
|
||
|
|
||
|
|
||
|
Mounting the cdrom
|
||
|
------------------
|
||
|
1) Make sure that the right device is installed in /dev.
|
||
|
|
||
|
mknod /dev/cm206cd b 32 0
|
||
|
|
||
|
2) Make sure there is a mount point, e.g., /cdrom
|
||
|
|
||
|
mkdir /cdrom
|
||
|
|
||
|
3) mount using a command like this (run as root):
|
||
|
|
||
|
mount -rt iso9660 /dev/cm206cd /cdrom
|
||
|
|
||
|
4) For user-mounts, add a line in /etc/fstab
|
||
|
|
||
|
/dev/cm206cd /cdrom iso9660 ro,noauto,user
|
||
|
|
||
|
This will allow users to give the commands
|
||
|
|
||
|
mount /cdrom
|
||
|
umount /cdrom
|
||
|
|
||
|
If things don't work
|
||
|
--------------------
|
||
|
|
||
|
- Try to do a `dmesg' to find out if the driver said anything about
|
||
|
what is going wrong during the initialization.
|
||
|
|
||
|
- Try to do a `dd if=/dev/cm206cd | od -tc | less' to read from the
|
||
|
CD.
|
||
|
|
||
|
- Look in the /proc directory to see if `cm206' shows up under one of
|
||
|
`interrupts', `ioports', `devices' or `modules' (if applicable).
|
||
|
|
||
|
|
||
|
DISCLAIMER
|
||
|
----------
|
||
|
I cannot guarantee that this driver works, or that the hardware will
|
||
|
not be harmed, although I consider it most unlikely.
|
||
|
|
||
|
I hope that you'll find this driver in some way useful.
|
||
|
|
||
|
David van Leeuwen
|
||
|
david@tm.tno.nl
|
||
|
|
||
|
Note for Linux CDROM vendors
|
||
|
-----------------------------
|
||
|
You are encouraged to include this driver on your Linux CDROM. If
|
||
|
you do, you might consider sending me a free copy of that cd-rom.
|
||
|
You can contact me through my e-mail address, david@tm.tno.nl.
|
||
|
If this driver is compiled into a kernel to boot off a cdrom,
|
||
|
you should actually send me a free copy of that cd-rom.
|
||
|
|
||
|
Copyright
|
||
|
---------
|
||
|
The copyright of the cm206 driver for Linux is
|
||
|
|
||
|
(c) 1995 David A. van Leeuwen
|
||
|
|
||
|
The driver is released under the conditions of the GNU general public
|
||
|
license, which can be found in the file COPYING in the root of this
|
||
|
source tree.
|