Re: cdu31a - anyone has this ancient drive for testing?

From: Rene Herman
Date: Sun Nov 07 2004 - 14:57:43 EST


Ondrej Zary wrote:

I've got a Sony CDU33A drive with COR334 controller. The Linux cdu31a driver was not updated for 2.6 kernel so it does not work.

Well, modular it still /pretended/ to work. That is, it could (most of the time) mount CD-ROMs but yes, most any actual activity made it blow up...

Here are two patches that try to make the driver working with 2.6 kernel. The cdu31a-timeouts-fix.patch fixes the timeout values in header file and the cdu31a-make-working.patch does the rest:
- Make the driver work in 2.6.X
- Added workaround to fix hard lockups on eject
- Fixed door locking problem after mounting empty drive
- Set double-speed drives to double speed by default
- Removed all readahead things - not needed anymore

It does work on my system. I also know that it's still broken - it uses cli(), MODULE_PARM and it's also not very fast (I _never_ reached full 300KB/s with it, but I know that it's possible in Windows) and probably many other things (I'm new to Linux kernel) - so I'm waiting for comments.

If someone has these ancient drives (CDU31A or CDU33A), please test :-)

Verified to do useful things here as well. I Have a CDU33A connected through a MediaVision PAS16 soundcard:

Pro Audio Spectrum driver Copyright (C) by Hannu Savolainen 1993-1996
<Pro AudioSpectrum 16D rev 127> at 0x388 irq 10 dma 5
Leaving handle_sony_cd_attention at 1004
Sony I/F CDROM : SONY CD-ROM CDU33A Rev 1.0c
Capabilities: tray, audio, eject, LED, elec. Vol, sep. Vol, double speed
Entering sony_get_toc
[ a great many leaving/entering and other debug printks ]

and I could actually mount CD-ROMs and copy stuff from them. One thing, a full 'dd' does not work:

root@5vd5:~# dd if=/dev/sonycd of=test.iso
0+0 records in
0+0 records out
root@5vd5:~# ls -l test.iso
-rw-r--r-- 1 root root 0 2004-11-07 20:41 test.iso

no oopses, nor specific complaints in dmesg.

Good job though, as far as I'm concerned. Once you have a final version, you may want to submit this directly to Linus or maybe to Al Viro. He sometimes looks at these drivers. I added him to the CC...

Rene.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/