Skip site navigation (1)Skip section navigation (2)
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>