sonycd535
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:5k
- README FOR LINUX SONY CDU-535/531 DRIVER
- ========================================
- This is the Sony CDU-535 (and 531) driver version 0.7 for Linux.
- I do not think I have the documentation to add features like DMA support
- so if anyone else wants to pursue it or help me with it, please do.
- (I need to see what was done for the CDU-31A driver -- perhaps I can
- steal some of that code.)
- This is a Linux device driver for the Sony CDU-535 CDROM drive. This is
- one of the older Sony drives with its own interface card (Sony bus).
- The DOS driver for this drive is named SONY_CDU.SYS - when you boot DOS
- your drive should be identified as a SONY CDU-535. The driver works
- with a CDU-531 also. One user reported that the driver worked on drives
- OEM'ed by Procomm, drive and interface board were labelled Procomm.
- The Linux driver is based on Corey Minyard's sonycd 0.3 driver for
- the CDU-31A. Ron Jeppesen just changed the commands that were sent
- to the drive to correspond to the CDU-535 commands and registers.
- There were enough changes to let bugs creep in but it seems to be stable.
- Ron was able to tar an entire CDROM (should read all blocks) and built
- ghostview and xfig off Walnut Creek's X11R5/GNU CDROM. xcdplayer and
- workman work with the driver. Others have used the driver without
- problems except those dealing with wait loops (fixed in third release).
- Like Minyard's original driver this one uses a polled interface (this
- is also the default setup for the DOS driver). It has not been tried
- with interrupts or DMA enabled on the board.
- REQUIREMENTS
- ============
- - Sony CDU-535 drive, preferably without interrupts and DMA
- enabled on the card.
- - Drive must be set up as unit 1. Only the first unit will be
- recognized
- - You must enter your interface address into
- /usr/src/linux/drivers/cdrom/sonycd535.h and build the
- appropriate kernel or use the "kernel command line" parameter
- sonycd535=0x320
- with the correct interface address.
- NOTES:
- ======
- 1) The drive MUST be turned on when booting or it will not be recognized!
- (but see comments on modularized version below)
- 2) when the cdrom device is opened the eject button is disabled to keep the
- user from ejecting a mounted disk and replacing it with another.
- Unfortunately xcdplayer and workman also open the cdrom device so you
- have to use the eject button in the software. Keep this in mind if your
- cdrom player refuses to give up its disk -- exit workman or xcdplayer, or
- umount the drive if it has been mounted.
- THANKS
- ======
- Many thanks to Ron Jeppesen (ronj.an@site007.saic.com) for getting
- this project off the ground. He wrote the initial release
- and the first two patches to this driver (0.1, 0.2, and 0.3).
- Thanks also to Eberhard Moenkeberg (emoenke@gwdg.de) for prodding
- me to place this code into the mainstream Linux source tree
- (as of Linux version 1.1.91), as well as some patches to make
- it a better device citizen. Further thanks to Joel Katz
- <joelkatz@webchat.org> for his MODULE patches (see details below),
- Porfiri Claudio <C.Porfiri@nisms.tei.ericsson.se> for patches
- to make the driver work with the older CDU-510/515 series, and
- Heiko Eissfeldt <heiko@colossus.escape.de> for pointing out that
- the verify_area() checks were ignoring the results of said checks.
- (Acknowledgments from Ron Jeppesen in the 0.3 release:)
- Thanks to Corey Minyard who wrote the original CDU-31A driver on which
- this driver is based. Thanks to Ken Pizzini and Bob Blair who provided
- patches and feedback on the first release of this driver.
- Ken Pizzini
- ken@halcyon.com
- ------------------------------------------------------------------------------
- (The following is from Joel Katz <joelkatz@webchat.org>.)
- To build a version of sony535.o that can be installed as a module,
- use the following command:
- gcc -c -D__KERNEL__ -DMODULE -O2 sonycd535.c -o sonycd535.o
- To install the module, simply type:
- insmod sony535.o
- or
- insmod sony535.o sonycd535=<address>
- And to remove it:
- rmmod sony535
- The code checks to see if MODULE is defined and behaves as it used
- to if MODULE is not defined. That means your patched file should behave
- exactly as it used to if compiled into the kernel.
- I have an external drive, and I usually leave it powered off. I used
- to have to reboot if I needed to use the CDROM drive. Now I don't.
- Even if you have an internal drive, why waste the 96K of memory
- (unswappable) that the driver uses if you use your CD-ROM drive infrequently?
- This driver will not install (whether compiled in or loaded as a
- module) if the CDROM drive is not available during its initialization. This
- means that you can have the driver compiled into the kernel and still load
- the module later (assuming the driver doesn't install itself during
- power-on). This only wastes 12K when you boot with the CDROM drive off.
- This is what I usually do; I leave the driver compiled into the
- kernel, but load it as a module if I powered the system up with the drive
- off and then later decided to use the CDROM drive.
- Since the driver only uses a single page to point to the chunks,
- attempting to set the buffer cache to more than 2 Megabytes would be very
- bad; don't do that.