Date: Mon, 03 Nov 1997 08:46:34 +0100 From: Michael Class <michael_class@hp.com> To: Jean-Marc Zucconi <jmz@cabri.obs-besancon.fr> Cc: michael_class@bbn.hp.com, freebsd-scsi@FreeBSD.ORG Subject: Re: Burning Audio-CD on HP4020i does not work Message-ID: <345D815A.41EF6AA8@hp.com> References: <9711021720.AA05572@cabri.obs-besancon.fr>
next in thread | previous in thread | raw e-mail | index | archive | help
Thank you very much! After changing the Blocksize to 23520, and the addition of a "dd conv=swab" and your patch now everything works! Micha Jean-Marc Zucconi wrote: > > >>>>> Micha Class writes: > > > Symtom: > > > Burning does not start, I get the following error-messages: > > > Nov 2 12:20:40 pc-micha /kernel: worm0: ILLEGAL REQUEST asc:2c,0 > > Command sequence error > > Nov 2 12:20:42 pc-micha last message repeated 2 times > > Try the patch below (which is in -current now). However I am surprised > that you were able to burn audio CDs with your script, because audio > burning requires a bloc size which is a multiple of 2352. > > Index: worm.c > =================================================================== > RCS file: /home/ncvs/src/sys/scsi/worm.c,v > retrieving revision 1.46 > diff -u -r1.46 worm.c > --- worm.c 1997/09/21 22:03:22 1.46 > +++ worm.c 1997/10/11 05:32:04 > @@ -139,6 +139,7 @@ > static errval worm_rezero_unit(struct scsi_link *sc_link); > static errval worm_read_session_info(struct scsi_link *, struct wormio_session_info *); > static int worm_sense_handler(struct scsi_xfer *); > +static errval worm_set_blksize(struct scsi_link *sc_link, int size); > > /* XXX should be moved out to an LKM */ > static errval rf4100_prepare_disk(struct scsi_link *, int dummy, int speed); > @@ -957,6 +958,31 @@ > return SCSIRET_CONTINUE; > } > > +static errval > +worm_set_blksize(struct scsi_link *sc_link, int size) > +{ > + struct scsi_mode_select scsi_cmd; > + struct { > + struct scsi_mode_header header; > + struct blk_desc desc; > + } dat; > + bzero(&scsi_cmd, sizeof(scsi_cmd)); > + bzero(&dat, sizeof(dat)); > + scsi_cmd.op_code = MODE_SELECT; > + scsi_cmd.length = sizeof(dat); > + dat.header.blk_desc_len = sizeof(struct blk_desc); > + scsi_uto3b(size, dat.desc.blklen); > + return scsi_scsi_cmd(sc_link, > + (struct scsi_generic *) &scsi_cmd, > + sizeof(scsi_cmd), > + (u_char *) &dat, > + sizeof(dat), > + /*WORM_RETRIES*/ 4, > + 5000, > + NULL, > + SCSI_DATA_OUT); > +} > + > static void > worm_drvinit(void *unused) > { > @@ -1230,12 +1256,9 @@ > 60000, /* this may take a while */ > NULL, > 0); > - if (!error) { > - struct wormio_prepare_track t; > - bzero (&t, sizeof (t)); > - t.track_type = BLOCK_MODE_1; > - error = rf4100_prepare_track(sc_link, &t); > - } > + if (!error) > + error = worm_set_blksize(sc_link, 2048); > + > return error; > } > > @@ -1532,12 +1555,9 @@ > 60000, /* this may take a while */ > NULL, > 0); > - if (!error) { > - struct wormio_prepare_track t; > - bzero (&t, sizeof (t)); > - t.track_type = BLOCK_MODE_1; > - error = hp4020i_prepare_track(sc_link, &t); > - } > + if (!error) > + error = worm_set_blksize(sc_link, 2048); > + > return error; > } > > Jean-Marc > _____________________________________________________________________________ > Jean-Marc Zucconi Observatoire de Besancon F 25010 Besancon cedex > PGP Key: finger jmz@cabri.obs-besancon.fr -- ----------------------------------------------------------------------- Michael Class E-Mail: michael_class@hp.com Internet/Intranet Solutions Center Phone: +49 7031 14-3707 CSO Europe Fax: +49 7031 14-4196 Hewlett-Packard GmbH, PO Box 1430, 71004 Boeblingen -----------------------------------------------------------------------
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?345D815A.41EF6AA8>