Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Jun 1997 09:36:37 +0200
From:      j@uriah.heep.sax.de (J Wunsch)
To:        scsi@freebsd.org
Cc:        mmcg@cs.monash.edu.au, jmz@freebsd.org
Subject:   Re:kern/3909:Apatchsupportingsomenewwormdrivers
Message-ID:  <19970623093637.MV17592@uriah.heep.sax.de>
In-Reply-To: <199706230355.NAA21529@heraclitus.cs.monash.edu.au>; from mmcg@cs.monash.edu.au on Jun 23, 1997 13:55:12 %2B1000
References:  <199706230355.NAA21529@heraclitus.cs.monash.edu.au>

next in thread | previous in thread | raw e-mail | index | archive | help
(Redirecting from `bugs' to `scsi'.  Jean-Marc, are you also on this
list?)

As mmcg@cs.monash.edu.au wrote:

> > Multisession works fine for me (one of my test CDs bailed out with [...]
> > For writing, you should always set the block number to 0.
> 
> Hmm.  My SCSI manual claims that blocks are always relative to
> logical block 0, which is at 0:02:00 (I presumed this included
> when writing).  Do I want to ruin my perfect record to test
> this? (29 CDs, 0 coasters :)

I don't think you're ruining anything.  Since writes to a CD-R are
always in streaming mode, and per track, the block number doesn't make
much sense at all.  My Plasmon manual marks the block address in the
WRITE command as `reserved', the HP manual mandates it to be either
the next block in sequence, or 0.  We settled to always provide it as
0 in the current driver.

> > These things have been moved out to scsiconfig.c.  I assume you had to
> > modify scsiconfig.c anyway, in order to make the device known as a
> > CD-R, did you?
> 
> No, it's configured as a `worm' type scsi device (device type 4?),
> and the kernel happily attaches it to worm0.

Interesting.  Then it's different from the HPs in this respect.  My
Plasmon also announces itself as type 4, unless i put a CD-ROM (or
fixated CD-R) into the drive.

> > scsiconfig { "T.YUDEN CD-WO", "EW-50", ...} or { "T.YUDEN", "CD-WO
> > EW-50", ... }?

> 04 80 02 02 27 00 00 18 54 2e 59 55 44 45 4e 20  # ....'...T.YUDEN 
> 43 44 2d 57 4f 20 45 57 2d 35 30 20 20 20 20 20  # CD-WO EW-50     
> 32 2e 31 36 31 38 2f 31 30 2f 39 36 00 00 00 00  # 2.1618/10/96....
> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  # ................

This makes it { "T.YUDEN", "CD-WO EW-50", ... }.

> > What's the difference to the existing HP4020/HP6020/CDD2000/CDD2660
> > option?  From a cursory look, i didn't see any.  There's not much use
> > to duplicate code.
> 
> You're quite right - the only quirk function that changed was the
> prepare_track routine.  I added a `Write Track' command, which
> causes laser calibration to commence on the unit.

Hmm, doesn't the drive do this automatically at the first write?  I
think that's how it's documented for my drive.  The write channel can
either be opened explicitly by a WRITE TRACK command, or implicitly by
the first WRITE command provided that the other preparations have been
done.  I opted for the latter sequence, since it looked easier to
implement to me.

As i understand it, the power calibration is a necessary step the
burner cannot omit at all.

> the general (non drive-specific) finalize_track routine to do the
> flush to disk before issuing the spindown; doing it in the other
> order confused my drive.

As i wrote, we agreed that the spindown is totally useless (it has
apparently been cloned from the CD-ROM driver), and Jean-Marc did
already do the deed of killing it.

> > I suspect you could have been successfully using the old code, too, by
> > pretending it to be an HP 4020i?
> 
> No, this failed when finalizing the track.

Ah, yep.

-- 
cheers, J"org

joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19970623093637.MV17592>