Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | This is the readme file for the driver for the Philips/LMS cdrom drive |
2 | cm206 in combination with the cm260 host adapter card. | |
3 | ||
4 | (c) 1995 David A. van Leeuwen | |
5 | ||
6 | Changes 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 | ||
12 | Features 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 | ||
19 | Features 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 | ||
31 | Decide how you are going to use the driver. There are two | |
32 | options: | |
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 | ||
45 | Compiling the kernel | |
46 | -------------------- | |
47 | 1) 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 | ||
57 | 2) then do a | |
58 | ||
59 | make clean; make zImage; make modules | |
60 | ||
61 | 3) 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 | ||
65 | Using the driver as a module | |
66 | ---------------------------- | |
67 | If you will only occasionally use the cd-rom driver, you can choose | |
68 | option (b), install as a loadable module. You may have to re-compile | |
69 | the module when you upgrade the kernel to a new version. | |
70 | ||
71 | Since version 0.96, much of the functionality has been transferred to | |
72 | a generic cdrom interface in the file cdrom.c. The module cm206.o | |
73 | depends on cdrom.o. If the latter is not compiled into the kernel, | |
74 | you must explicitly load it before cm206.o: | |
75 | ||
76 | insmod /usr/src/linux/modules/cdrom.o | |
77 | ||
78 | To install the module, you use the command, as root | |
79 | ||
80 | insmod /usr/src/linux/modules/cm206.o | |
81 | ||
82 | You can specify the base address on the command line as well as the irq | |
83 | line to be used, e.g. | |
84 | ||
85 | insmod /usr/src/linux/modules/cm206.o cm206=0x300,11 | |
86 | ||
87 | The order of base port and irq line doesn't matter; if you specify only | |
88 | one, the other will have the value of the compiled-in default. You | |
89 | may also have to install the file-system module `iso9660.o', if you | |
90 | didn't compile that into the kernel. | |
91 | ||
92 | ||
93 | Using the driver as part of the kernel | |
94 | -------------------------------------- | |
95 | If you have chosen option (a), you can specify the base-port | |
96 | address and irq on the lilo boot command line, e.g.: | |
97 | ||
98 | LILO: linux cm206=0x340,11 | |
99 | ||
100 | This assumes that your linux kernel image keyword is `linux'. | |
101 | If you specify either IRQ (3--11) or base port (0x300--0x370), | |
102 | auto probing is turned off for both settings, thus setting the | |
103 | other value to the compiled-in default. | |
104 | ||
105 | Note that you can also put these parameters in the lilo configuration file: | |
106 | ||
107 | # linux config | |
108 | image = /vmlinuz | |
109 | root = /dev/hda1 | |
110 | label = Linux | |
111 | append = "cm206=0x340,11" | |
112 | read-only | |
113 | ||
114 | ||
115 | If module parameters and LILO config options don't work | |
116 | ------------------------------------------------------- | |
117 | If autoprobing does not work, you can hard-wire the default values | |
118 | of the base port address (CM206_BASE) and interrupt request line | |
119 | (CM206_IRQ) into the file /usr/src/linux/drivers/cdrom/cm206.h. Change | |
120 | the defines of CM206_IRQ and CM206_BASE. | |
121 | ||
122 | ||
123 | Mounting the cdrom | |
124 | ------------------ | |
125 | 1) Make sure that the right device is installed in /dev. | |
126 | ||
127 | mknod /dev/cm206cd b 32 0 | |
128 | ||
129 | 2) Make sure there is a mount point, e.g., /cdrom | |
130 | ||
131 | mkdir /cdrom | |
132 | ||
133 | 3) mount using a command like this (run as root): | |
134 | ||
135 | mount -rt iso9660 /dev/cm206cd /cdrom | |
136 | ||
137 | 4) 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 | ||
146 | If 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 | ||
159 | DISCLAIMER | |
160 | ---------- | |
161 | I cannot guarantee that this driver works, or that the hardware will | |
162 | not be harmed, although I consider it most unlikely. | |
163 | ||
164 | I hope that you'll find this driver in some way useful. | |
165 | ||
166 | David van Leeuwen | |
167 | david@tm.tno.nl | |
168 | ||
169 | Note for Linux CDROM vendors | |
170 | ----------------------------- | |
171 | You are encouraged to include this driver on your Linux CDROM. If | |
172 | you do, you might consider sending me a free copy of that cd-rom. | |
173 | You can contact me through my e-mail address, david@tm.tno.nl. | |
174 | If this driver is compiled into a kernel to boot off a cdrom, | |
175 | you should actually send me a free copy of that cd-rom. | |
176 | ||
177 | Copyright | |
178 | --------- | |
179 | The copyright of the cm206 driver for Linux is | |
180 | ||
181 | (c) 1995 David A. van Leeuwen | |
182 | ||
183 | The driver is released under the conditions of the GNU general public | |
184 | license, which can be found in the file COPYING in the root of this | |
185 | source tree. |