*BSD News Article 96772


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!munnari.OZ.AU!spool.mu.edu!uwm.edu!chi-news.cic.net!feeder.chicago.cic.net!newsxfer.nether.net!newsxfer3.itd.umich.edu!cpk-news-hub1.bbnplanet.com!news.bbnplanet.com!newsfeed.nacamar.de!fu-berlin.de!irz401!orion.sax.de!uriah.heep!news
From: j@uriah.heep.sax.de (J Wunsch)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: Audio CD writing errors
Date: 2 Jun 1997 21:20:56 GMT
Organization: Private BSD site, Dresden
Lines: 46
Message-ID: <5mvdfo$c7o@uriah.heep.sax.de>
References: <5mqhja$ggr@news.scruz.net>
Reply-To: joerg_wunsch@uriah.heep.sax.de (Joerg Wunsch)
NNTP-Posting-Host: localhost.heep.sax.de
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Newsreader: knews 0.9.6
X-Phone: +49-351-2012 669
X-PGP-Fingerprint: DC 47 E6 E4 FF A6 E9 8F  93 21 E0 7D F9 12 D6 4E
Bcc: j
Xref: euryale.cc.adfa.oz.au comp.unix.bsd.freebsd.misc:42092

myers@iname.com wrote:

> And the console shows the following errors:
> 
> worm0(ahc1:4:0): ILLEGAL REQUEST asc:21,0 Logical block address out of range
> worm0(ahc1:4:0): ILLEGAL REQUEST asc:b5,0 Vendor Specific ASC

This is part of a larger patch by Jean-Marc Zucchoni that went into
-current.  It should fix your problem.

Index: /sys/scsi/worm.c
===================================================================
RCS file: /home/cvs/src/sys/scsi/worm.c,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -u -r1.38 -r1.39
--- worm.c	1997/05/10 12:12:47	1.38
+++ worm.c	1997/05/19 17:30:40	1.39
@@ -352,11 +360,19 @@
 			flags |= SCSI_DATA_IN;
 		}
 
+		worm->error = 0;
 
 		lba = bp->b_blkno / (worm->blk_size / DEV_BSIZE);
 		tl = bp->b_bcount / worm->blk_size;
 
-		scsi_uto4b(lba, &cmd.addr_3);
+		if (bp->b_flags & B_READ)
+		    /*
+		     * Leave the LBA as 0 for write operations, it
+		     * is reserved in this case (and wouldn't make
+		     * any sense to set it at all, since CD-R write
+		     * operations are in `streaming' mode anyway.
+		     */
+		    scsi_uto4b(lba, &cmd.addr_3);
 		scsi_uto2b(tl, &cmd.length2);
 
 		/*

-- 
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. ;-)