205 lines
6.5 KiB
Plaintext
205 lines
6.5 KiB
Plaintext
ABOUT THIS FILE:
|
|
================
|
|
This is a README for the file lmscd0.2.tar.gz. This tar file
|
|
contains the files:
|
|
|
|
lmscd0.2.diff
|
|
lmscd.README
|
|
|
|
The later file is identical to this README.
|
|
|
|
|
|
ABOUT THE DRIVER:
|
|
=================
|
|
lmscd0.2.diff is an experimental driver for the LMS/Philips CD-ROM
|
|
CMS 205. On contiguous reads, the driver achieves a speed of about
|
|
70 kB/sec, which is about half of the maximum theoretical throughput
|
|
of the drive.
|
|
|
|
I have tested this driver quite a lot. For example, I mounted a
|
|
Linux CD and started X windows from it. The driver reports a few
|
|
timeouts here and then, if activity is high, but works fine for me
|
|
else.
|
|
|
|
Audio support is not yet implemented.
|
|
|
|
I have not tested the driver with the CMS 225 (the external drive),
|
|
but it may work as well. If you try it, please report me about
|
|
success or failure.
|
|
|
|
The file is a patch relative to the 99pl13 kernel. It should also
|
|
work with some earlier versions, but it may yield problems with
|
|
future kernels, when clustered read/writes are introduced.
|
|
|
|
|
|
INCLUDING THIS DRIVER INTO YOUR KERNEL:
|
|
=======================================
|
|
Unpack the .tar.gz file, then include the changes into your kernel
|
|
using the patch command:
|
|
|
|
cd /usr/src/linux
|
|
zcat lmscd0.2.tar.gz | gtar xfv -
|
|
patch -p1 <lmscd0.2.diff
|
|
|
|
A few hunks may fail, most likely that hunk, that goes into the
|
|
file /usr/src/linux/config.in. In this case, ensure by hand,
|
|
that the line:
|
|
|
|
bool 'LMS/Philips CDROM driver support' CONFIG_LMSCD y
|
|
|
|
is added along the other (= Sony and Mitsumi) CD-ROM device
|
|
drivers.
|
|
|
|
|
|
CONFIGURING THE DRIVER FOR YOUR HARDWARE SETTINGS:
|
|
==================================================
|
|
Next, you may have to edit the file:
|
|
|
|
/usr/src/linux/kernel/blk_drv/lmscd.c
|
|
|
|
at lines 55 and 56:
|
|
|
|
#define LMSCD_INTR_NR 5
|
|
#define LMSCD_PORT 0x340
|
|
|
|
The first is the interrupt or irq you use, and the second is the port
|
|
address. At least with the version of the drive I have, valid irq's
|
|
are 3, 4, 5 or 6, and the port may be 0x300, 0x310, 0x330 or 0x340.
|
|
|
|
You may have to change the values to match those on the adapter.
|
|
|
|
If in doubt about which jumpers you set when you inserted the drive
|
|
into your computer, list or print your DOS config file CONFIG.SYS.
|
|
You should find a line, which has the file name
|
|
|
|
DD250.SYS
|
|
|
|
in it. Ignore the DEVICE= or DEVICEHIGH= and the path, which you find
|
|
at the beginning of that line. Important is the information after the
|
|
/I switch, which tells you the interrupt, and after the /P switch,
|
|
which is the port number. Please don't forget to add 0x in front of
|
|
the port number. An example is:
|
|
|
|
DEVICEHIGH=C:\CDROM\DD250.SYS /D:MSCD001 /C:99 /M:06 /I:5 /P:340
|
|
^^^ ^^^^^
|
|
LMSCD_INTR_NR LMSCD_PORT
|
|
(= 5) (= 0x340)
|
|
|
|
CONFIGURING DEBUGGING:
|
|
======================
|
|
This is the first version of a driver for the LMS/Philips CD-ROM for
|
|
Linux. Therefore, I have included lots of debugging and data integrity
|
|
checking. You can turn it off, or you can enable even more debugging
|
|
messages by changing the lines 279 ... 281. These are set to:
|
|
|
|
#define DLEVEL 1 /* debugging level */
|
|
#define CLEVEL 2 /* data integrity check level */
|
|
#define DFUNC 0 /* print functions along debugging data? */
|
|
|
|
To turn debugging off, use:
|
|
|
|
#define DLEVEL 0 /* debugging level */
|
|
#define CLEVEL 0 /* data integrity check level */
|
|
#define DFUNC 0 /* print functions along debugging data? */
|
|
|
|
To turn even more debuggig on, use:
|
|
|
|
#define DLEVEL 2 /* debugging level */
|
|
#define CLEVEL 2 /* data integrity check level */
|
|
#define DFUNC 1 /* print functions along debugging data? */
|
|
|
|
|
|
RECOMPILING YOUR KERNEL:
|
|
========================
|
|
You have to configure your kernel again to ensure, that the CD-ROM
|
|
driver is really included. Type (in directory /usr/src/linux):
|
|
|
|
make config
|
|
make depend
|
|
make [zImage | zlilo | ...]
|
|
|
|
When asked about the configuration, ensure, that you answer yes to the
|
|
questions about the "LMS/Philips CD-ROM driver support" and the "ISO9660
|
|
cdrom filesystem support". After "make depend" use your favourite
|
|
options to compile a kernel. For further information, like installing
|
|
your newly compiled kernel, please refer to the FAQ.
|
|
|
|
If you have 8 MB RAM or less, please exit X windows before starting the
|
|
compile. It will notably to drastically reduce your compile time.
|
|
|
|
|
|
CREATING THE DEVICE SPECIAL FILE:
|
|
=================================
|
|
After recompiling and installing your new kernel, you have to reboot.
|
|
To access the drive, you have to create an entry for it in the /dev
|
|
file. Type:
|
|
|
|
mknod /dev/lmscd b 24 0
|
|
chown root:disk /dev/lmscd
|
|
chmod 440 /dev/lmscd
|
|
|
|
If you want to give read permissions to anyone, use:
|
|
|
|
chmod 444 /dev/lmscd
|
|
|
|
instead.
|
|
|
|
|
|
MOUNTING A DISK:
|
|
================
|
|
Type:
|
|
|
|
mkdir /cdrom
|
|
mount -t iso9660 /dev/lmscd /cdrom
|
|
|
|
|
|
UNMOUNTING/CHANGING A DISK:
|
|
===========================
|
|
Type:
|
|
|
|
umount -t /dev/lmsicd
|
|
|
|
then change the disk, then do the mount command again. You can
|
|
safely leave unused disks mounted.
|
|
|
|
|
|
REPORTING BUGS:
|
|
===============
|
|
If you e-mail me telling me, that you managed to hang your Linux
|
|
box by accessing the CD-ROM, that it doesn't work at all, that the
|
|
drive read false data, etc., *please* include all information
|
|
available. This includes:
|
|
|
|
- Which kernel were you using?
|
|
- Which other patches had you included?
|
|
- How did you access the CD-ROM, when the driver failed (eg. were
|
|
you just mounting/unmounting it, starting an executable, copying
|
|
a file, etc., etc.)?
|
|
- Did you just start or finish another program (for example, for a
|
|
while, this driver kept crashing, when I left X-Windows, even
|
|
though only the window manager was started from the CD).
|
|
- Were you accessing other devices heavily at the same time (like
|
|
sending bitmaps to the printer, ftp'ing over your ethernet, etc.)
|
|
- Can you reproduce the error, or does is appear unpredictable?
|
|
- Please include all the debugging output, which was printed in the
|
|
last few seconds before a crash or other failure.
|
|
|
|
|
|
NO GUARANTEE:
|
|
=============
|
|
This is the first version of a driver for the LMS/Philips CD-ROM
|
|
for Linux. You are likely to experience system hangups or crashes,
|
|
when using this driver, whether accessing the CD-ROM or not. I
|
|
believe, that software cannot destroy your CD-ROM drive, but I do
|
|
not guarentee it either.
|
|
|
|
In other words: you may loose data, and you may even damage your
|
|
hardware.
|
|
|
|
You have been warned.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|