1 |
1275 |
phoenix |
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 dep; 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.
|