1This is the readme file for the driver for the Philips/LMS cdrom drive 2cm206 in combination with the cm260 host adapter card. 3 4 (c) 1995 David A. van Leeuwen 5 6Changes since version 0.99 7-------------------------- 8- Interfacing to the kernel is routed though an extra interface layer, 9 cdrom.c. This allows runtime-configurable `behavior' of the cdrom-drive, 10 independent of the driver. 11 12Features since version 0.33 13--------------------------- 14- Full audio support, that is, both workman, workbone and cdp work 15 now reasonably. Reading TOC still takes some time. xmcd has been 16 reported to run successfully. 17- Made auto-probe code a little better, I hope 18 19Features since version 0.28 20--------------------------- 21- Full speed transfer rate (300 kB/s). 22- Minimum kernel memory usage for buffering (less than 3 kB). 23- Multisession support. 24- Tray locking. 25- Statistics of driver accessible to the user. 26- Module support. 27- Auto-probing of adapter card's base port and irq line, 28 also configurable at boot time or module load time. 29 30 31Decide how you are going to use the driver. There are two 32options: 33 34 (a) installing the driver as a resident part of the kernel 35 (b) compiling the driver as a loadable module 36 37 Further, you must decide if you are going to specify the base port 38 address and the interrupt request line of the adapter card cm260 as 39 boot options for (a), module parameters for (b), use automatic 40 probing of these values, or hard-wire your adaptor card's settings 41 into the source code. If you don't care, you can choose 42 autoprobing, which is the default. In that case you can move on to 43 the next step. 44 45Compiling the kernel 46-------------------- 471) move to /usr/src/linux and do a 48 49 make config 50 51 If you have chosen option (a), answer yes to CONFIG_CM206 and 52 CONFIG_ISO9660_FS. 53 54 If you have chosen option (b), answer yes to CONFIG_MODVERSIONS 55 and no (!) to CONFIG_CM206 and CONFIG_ISO9660_FS. 56 572) then do a 58 59 make dep; make clean; make zImage; make modules 60 613) do the usual things to install a new image (backup the old one, run 62 `rdev -R zImage 1', copy the new image in place, run lilo). Might 63 be `make zlilo'. 64 65Using the driver as a module 66---------------------------- 67If you will only occasionally use the cd-rom driver, you can choose 68option (b), install as a loadable module. You may have to re-compile 69the module when you upgrade the kernel to a new version. 70 71Since version 0.96, much of the functionality has been transferred to 72a generic cdrom interface in the file cdrom.c. The module cm206.o 73depends on cdrom.o. If the latter is not compiled into the kernel, 74you must explicitly load it before cm206.o: 75 76 insmod /usr/src/linux/modules/cdrom.o 77 78To install the module, you use the command, as root 79 80 insmod /usr/src/linux/modules/cm206.o 81 82You can specify the base address on the command line as well as the irq 83line to be used, e.g. 84 85 insmod /usr/src/linux/modules/cm206.o cm206=0x300,11 86 87The order of base port and irq line doesn't matter; if you specify only 88one, the other will have the value of the compiled-in default. You 89may also have to install the file-system module `iso9660.o', if you 90didn't compile that into the kernel. 91 92 93Using the driver as part of the kernel 94-------------------------------------- 95If you have chosen option (a), you can specify the base-port 96address and irq on the lilo boot command line, e.g.: 97 98 LILO: linux cm206=0x340,11 99 100This assumes that your linux kernel image keyword is `linux'. 101If you specify either IRQ (3--11) or base port (0x300--0x370), 102auto probing is turned off for both settings, thus setting the 103other value to the compiled-in default. 104 105Note that you can also put these parameters in the lilo configuration file: 106 107# linux config 108image = /vmlinuz 109 root = /dev/hda1 110 label = Linux 111 append = "cm206=0x340,11" 112 read-only 113 114 115If module parameters and LILO config options don't work 116------------------------------------------------------- 117If autoprobing does not work, you can hard-wire the default values 118of the base port address (CM206_BASE) and interrupt request line 119(CM206_IRQ) into the file /usr/src/linux/drivers/cdrom/cm206.h. Change 120the defines of CM206_IRQ and CM206_BASE. 121 122 123Mounting the cdrom 124------------------ 1251) Make sure that the right device is installed in /dev. 126 127 mknod /dev/cm206cd b 32 0 128 1292) Make sure there is a mount point, e.g., /cdrom 130 131 mkdir /cdrom 132 1333) mount using a command like this (run as root): 134 135 mount -rt iso9660 /dev/cm206cd /cdrom 136 1374) For user-mounts, add a line in /etc/fstab 138 139 /dev/cm206cd /cdrom iso9660 ro,noauto,user 140 141 This will allow users to give the commands 142 143 mount /cdrom 144 umount /cdrom 145 146If things don't work 147-------------------- 148 149- Try to do a `dmesg' to find out if the driver said anything about 150 what is going wrong during the initialization. 151 152- Try to do a `dd if=/dev/cm206cd | od -tc | less' to read from the 153 CD. 154 155- Look in the /proc directory to see if `cm206' shows up under one of 156 `interrupts', `ioports', `devices' or `modules' (if applicable). 157 158 159DISCLAIMER 160---------- 161I cannot guarantee that this driver works, or that the hardware will 162not be harmed, although I consider it most unlikely. 163 164I hope that you'll find this driver in some way useful. 165 166 David van Leeuwen 167 david@tm.tno.nl 168 169Note for Linux CDROM vendors 170----------------------------- 171You are encouraged to include this driver on your Linux CDROM. If 172you do, you might consider sending me a free copy of that cd-rom. 173You can contact me through my e-mail address, david@tm.tno.nl. 174If this driver is compiled into a kernel to boot off a cdrom, 175you should actually send me a free copy of that cd-rom. 176 177Copyright 178--------- 179The copyright of the cm206 driver for Linux is 180 181 (c) 1995 David A. van Leeuwen 182 183The driver is released under the conditions of the GNU general public 184license, which can be found in the file COPYING in the root of this 185source tree. 186