From: brad@optilink.COM (Brad Yearwood) Subject: Toshiba 3301 CD-ROM drives (Sun CD drive, too) Date: 28 Dec 1992 04:43:53 GMT
In article <1992Dec27.053434.5519@netcom.com>, qualtrak@netcom.com (Qual Trak) writes:
>
> Everything seems to be working fine ( I did have to get the ps sources
> and compile them) except I can't talk to my CD-ROM (Toshiba XM-3301TA
> Rev: 0272.
People have complained recently that Toshiba 3301 CD-ROM drives don't
seem to work. Under 0.99.1, I have been trying to use a Future Domain
TMC-1660 SCSI controller with each of two types of CD-ROM drives:
Sun Microsystems P/N 595-1929-04, claims on probe to be a Sony CDU-8012
Toshiba TXM3301E1, purchased for use with a Sun, claims on probe to
be XM-3301TA, firmware revision 0272
A NEC CDR-73 works perfectly. An old Texel DM-3020 (not a current model,
and this particular one has been through a power supply failure, so it may
be damaged) often mounts a 9660 filesystem OK, but shows some frequency of
various SCSI complaints.
I try the following on the Sun and Toshiba drives:
mount -r -t /dev/scd0 /cdrom
I get a kernel panic complaining that "a multi-volume CD somehow got mounted".
I did some experiments with hex dump code inside isofs/inode.c, and with
using "dd if=/dev/scd0 of=/tmp/foo bs=2048 count=100" to see what would happen
when I attempted to read the CD-ROM sequentially. The results lead me to the
following conclusion.
These two drives are apparently jimmied in firmware to emulate 512-byte
sector sizes. This is very handy in making them look more like normal
SCSI disks, but it is not very handy in making them look like the usual
2048-byte sector CD-ROMs. Perhaps some special SCSI command is available
to put one or the other into a 2048-byte mode, but I have no detailed
documentation.
As a test, I put some rude hacks into kernel/blk_dev/scsi/sr.c to try to
undo a lot of what it does: re-blocking 512-byte requests from the block
I/O system into 2048-byte requests to the drive.
When I do this, both drives appear to work. Performance on the Sun drive
is abysmal (perhaps due at least in part to the fact that I tried to
simplify the rude hacks some by cutting out scatter/gather support), but
performance on the Toshiba seems OK.
The changes are almost entirely untested, and as the holidays are ending,
I need to return various CD-ROM drives to the systems I swiped them
from (actually, I need to return the entire 486 machine to the group I swiped
it from), so it is not feasible for me to put in any responsible amount
of testing. If you send a note promising that you won't use or pass
them around as tested, working, or smoothly integrated code, I'll email
a copy of the diffs (against a baseline of 0.99.1).
Because this Toshiba drive was purchased for use with Sun systems, there
is some chance that it is a special configuration which emulates 512-byte
sectors, and that the problems which people have reported with other Toshiba
3301 drives might have a different cause.
Brad Yearwood brad@optilink.com {uunet, pyramid}!optilink!brad
Petaluma, CA