|  | 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. |