[1480] in linux-scsi channel archive

home help back first fref pref prev next nref lref last post

Strange SCSI bus reset caused by HP C4324 CD-R. Why?

daemon@ATHENA.MIT.EDU (Jeffrey Wiegley)
Fri Feb 28 04:08:57 1997

Date: 	Fri, 28 Feb 1997 01:05:52 -0800
From: Jeffrey Wiegley <wiegley@usc.edu>
To: linux-scsi@vger.rutgers.edu

I recently installed a Hewlett Packard CD-recorder (model C4324). It
works great except for one thing that I think is strange (and annoying).

When I try to mount the CD-ROM before it has spun up completely the
entire SCSI bus gets reset and my system freezes for about 10 seconds.

This is rather annoying behavior since all the other CD-ROM drives
(non-recordable) have always just returned a sort of "drive not ready"
error to mount but at least they wouldn't make the machine unusable for
10 seconds.

here's more information than you probably care to know about but I was
hoping that somebody knew what was going on, whether it was correct
behavior or whether it could be fixed/improved...

here's so you know what I have attached to the SCSI BUS:

  [wiegley@enigma wiegley]$ cat /proc/scsi/scsi 
  Attached devices: 
  Host: scsi0 Channel: 00 Id: 00 Lun: 00
    Vendor: SEAGATE  Model: ST15150W         Rev: 0023
    Type:   Direct-Access                    ANSI SCSI revision: 02
  Host: scsi0 Channel: 00 Id: 01 Lun: 00
    Vendor: HP       Model: C4324/C4325      Rev: 1.27
    Type:   CD-ROM                           ANSI SCSI revision: 02
  Host: scsi0 Channel: 00 Id: 02 Lun: 00
    Vendor: WANGTEK  Model: 6130-HS          Rev: 4G16
    Type:   Sequential-Access                ANSI SCSI revision: 02
  Host: scsi0 Channel: 00 Id: 03 Lun: 00
    Vendor: HP       Model: C2520A           Rev: 3503
    Type:   Processor                        ANSI SCSI revision: 02
  Host: scsi0 Channel: 00 Id: 04 Lun: 00
    Vendor: SEAGATE  Model: ST15150W         Rev: 0023
    Type:   Direct-Access                    ANSI SCSI revision: 02

Here's so you know how my Adaptec 2940 is doing:

[wiegley@enigma wiegley]$ cat /proc/scsi/aic7xxx/0 
Adaptec AIC7xxx driver version: 4.0/3.2/4.0

  Compile Options:
    AIC7XXX_RESET_DELAY    : 15
    AIC7XXX_CMDS_PER_LUN   : 16
    AIC7XXX_TWIN_SUPPORT   : Enabled
    AIC7XXX_TAGGED_QUEUEING: Enabled
    AIC7XXX_PAGE_ENABLE    : Enabled
    AIC7XXX_PROC_STATS     : Disabled
  
  Adapter Configuration:
            SCSI Adapter: AIC-7870
                          (AIC-787x chipset)
                Host Bus: Wide
                 Base IO: 0x6100
                     IRQ: 11
                    SCBs: Used 17, HW 16, Page 255
              Interrupts: 20264
           Serial EEPROM: True
    Extended Translation: Disabled
          SCSI Bus Reset: Enabled
              Ultra SCSI: Disabled
       Target Disconnect: Enabled

now here's what happens when I try to mount the volume with the drive
tray completely open:

  [wiegley@enigma wiegley]$ mount /mnt/cdrom
  mount: /dev/scd0 is not a valid block device

This is what happens when I try to mount the volume just after closing
the try:

  [wiegley@enigma wiegley]$ mount /mnt/cdrom
  [wiegley@enigma wiegley]$ 

Except what you don't see is that the whole machine froze for ten
seconds between the command and the next prompt. So this is what I get
in /var/log/messages:

  Feb 28 01:04:34 enigma kernel: Disc change detected.
  Feb 28 01:04:34 enigma kernel: scsi0: Target busy, TCL=0x10.
  Feb 28 01:04:35 enigma kernel: scsi0: Target busy, TCL=0x10.
  Feb 28 01:04:35 enigma kernel: scsi0 channel 0 : resetting for second
half of retries.
  Feb 28 01:04:35 enigma kernel: SCSI bus is being reset for host 0
channel 0.
  Feb 28 01:04:35 enigma kernel: aic7xxx: (reset) target/channel 1/0
  Feb 28 01:04:35 enigma kernel: aic7xxx: (reset_device) target/channel
-1/A, active_scb 9
  Feb 28 01:04:35 enigma kernel: aic7xxx: (match_scb) comparing
target/channel -1/A to scb 0/A
  Feb 28 01:04:35 enigma kernel: aic7xxx: (match_scb) comparing
target/channel -1/A to scb 0/A
  Feb 28 01:04:35 enigma kernel: aic7xxx: (reset_channel) Resetting
current channel A
  Feb 28 01:04:35 enigma kernel: aic7xxx: (reset_channel) Channel reset,
sequencer restarted
  Feb 28 01:04:35 enigma kernel: aic7xxx: (done_aborted_scbs) Aborting
scb 14, TCL=0/0/0
  Feb 28 01:04:35 enigma kernel: aic7xxx: (done_aborted_scbs) Aborting
scb 15, TCL=0/0/0
  Feb 28 01:04:35 enigma kernel: scsi0: Received MSG_WDTR, Target 0,
channel A needwdtr(0xfff1).
  Feb 28 01:04:35 enigma kernel: scsi0: Target 0, channel A, using 16
bit transfers.
  Feb 28 01:04:35 enigma kernel: scsi0: Target 0, channel A, now
synchronous at 10.0MHz, offset 8.
  Feb 28 01:04:35 enigma kernel: scsi0: Target 1, channel A, refusing
synchronous negotiation; using asynchronous transfers.
  Feb 28 01:04:41 enigma kernel: CDROM (ioctl) reports ILLEGAL REQUEST.

Whats up here?

- Jeff

home help back first fref pref prev next nref lref last post