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 Features as of version 0.33 --------------------------- - Full audio support, that is, both workman, workbone and cdp work now reasonably. Reading TOC still takes some time. - Made auto-probe code a little better, i hope Features as of version 0.28 --------------------------- - Full speed stransfer rate (300 kB/s). - Minimum kernel memory usage for buffering (less than 3 kB). - Multisession support. - Tray locking. - Statistcics 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. Features still lacking ---------------------- - cm205ms+cm250 support. (I do have cm205ms docs now. I still have to study Kai Petzke's cm205 drives to understand the workings of the cm250 adapter card. Don't bet on me, write a driver yourself!) 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 cards settings into the source code. If you don't care, you can choose for autoprobing, which is the default. In that case you can move on to the next step. 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 ./linux/drivers/block/cm206.c. Uncomment the defines of CM206_IRQ and CM206_BASE, and change there meaning to the appropriate values, if necessary. Compiling the kernel -------------------- 1) move to /usr/src/linux and do a make config If you have chosen for option (a), answer yes to CONFIG_CM206 and CONFIG_ISO9660_FS (should be default). If you have chosen for option (b), answer yes to CONFIG_MODVERSIONS and no (!) to CONFIG_CM206 and CONFIG_ISO9660_FS. 2) then do a make dep; 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 seldomly use the cd-rom driver, you can choose for option (b), install as a loadable module. You may have to re-compile the module when you upgrade the kernel to a new version. Read the file `README.modules' in /usr/src/linux. 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 You may also have to install the file-system module `iso9660.o', if you didn't compile that into the kernel. If you use `tcsh' as shell, you might consider defining alias listinstalledmodules 'cat /proc/modules | awk \{print\$1\}' complete rmmod 'p/1/`listinstalledmodules`/' alias listcompiledmodules '(cd /usr/src/linux/modules; \ls -o *.o)' alias insmod 'insmod /usr/src/linux/modules/\!:1 \!:2*' complete insmod 'p/1/`listcompiledmodules`/' which makes typing insmod and rmmod somewhat easier. Using the driver as part of the kernel -------------------------------------- If you have chosen for 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 may 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. Mounting the cdrom ------------------ 1) Make sure that there is the right device 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 `tail /var/adm/messages' 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, like most Linux software, under the conditions of the GNU general public license.