AHA2940 and YAMAHA CDR102

Marek Necas man at chemi.muni.cz
Thu Oct 9 04:49:47 PDT 1997


Hello,

	I'm in trouble with YAMAHA CD Writer connected to the Adaptec AHA2940.
My Linux 2.0.30 recognizes both card and writer correctly - here is the list
of /proc/scsi:


Adaptec AIC7xxx driver version: 4.0/3.2/4.0

Compile Options:
  AIC7XXX_RESET_DELAY    : 15
  AIC7XXX_TWIN_SUPPORT   : Enabled
  AIC7XXX_TAGGED_QUEUEING: Disabled
  AIC7XXX_PAGE_ENABLE    : Disabled
  AIC7XXX_PROC_STATS     : Disabled

Adapter Configuration:
          SCSI Adapter: AHA-2940 Ultra
                        (AIC-788x chipset)
              Host Bus: Single
               Base IO: 0xfc00
                   IRQ: 11
                  SCBs: Used 1, HW 16, Page 16
            Interrupts: 24
         Serial EEPROM: True
  Extended Translation: Disabled
        SCSI Bus Reset: Enabled
            Ultra SCSI: Disabled
     Target Disconnect: Enabled


Attached devices: 
Host: scsi0 Channel: 00 Id: 02 Lun: 00
  Vendor: YAMAHA   Model: CDR102           Rev: 1.00
  Type:   WORM                             ANSI SCSI revision: 02

	Now, mount /dev/cdrom goes O.K. but listing some directories causes
these messages:

scsi : aborting command due to timeout : pid 15, scsi0, channel 0, id 2, lun 0 0x08 02 02 12 08 00 
aic7xxx: (abort) Aborting scb 0, TCL 2/0/0
scsi0: MEDIUM ERROR on channel 0, id 2, lun 0, CDB: 0x08 02 02 12 08 00 
extra data not valid Current error sr0b:00: sns = 70  3
ASC=11 ASCQ= 0
Raw sense data:0x70 0x00 0x03 0x00 0x00 0x00 0x00 0x0a 0x00 0x00 0x00 0x00 0x11 0x00 0x00 0x00 
CD-ROM I/O error: dev 0b:00, sector 526408
scsi : aborting command due to timeout : pid 16, scsi0, channel 0, id 2, lun 0 0x08 04 b9 f2 08 00 
aic7xxx: (abort) Aborting scb 0, TCL 2/0/0
scsi : aborting command due to timeout : pid 16, scsi0, channel 0, id 2, lun 0 0x08 04 b9 f2 08 00 
aic7xxx: (abort) Aborting scb 0, TCL 2/0/0
SCSI host 0 abort (pid 16) timed out - resetting
SCSI bus is being reset for host 0 channel 0.
aic7xxx: (reset) target/channel 2/0
aic7xxx: (abort_reset) scb state 0x1, Command phase, SCSISIGI = 0x84
aic7xxx: (abort_scb) asserted ATN - bus device reset in message buffer.
SCSI host 0 channel 0 reset (pid 16) timed out - trying harder
SCSI bus is being reset for host 0 channel 0.
aic7xxx: (reset) target/channel 2/0
aic7xxx: (reset_device) target/channel -1/A, active_scb 0
aic7xxx: (match_scb) comparing target/channel -1/A to scb 2/A
aic7xxx: (reset_channel) Resetting current channel A
aic7xxx: (reset_channel) Channel reset, sequencer restarted
aic7xxx: (done_aborted_scbs) Aborting scb 0, TCL=2/0/0
scsi : aborting command due to timeout : pid 16, scsi0, channel 0, id 2, lun 0 0x08 04 b9 f2 08 00 
aic7xxx: (abort) Aborting scb 0, TCL 2/0/0
scsi : aborting command due to timeout : pid 16, scsi0, channel 0, id 2, lun 0 0x08 04 b9 f2 08 00 
aic7xxx: (abort) Aborting scb 0, TCL 2/0/0
SCSI host 0 abort (pid 16) timed out - resetting
SCSI bus is being reset for host 0 channel 0.
aic7xxx: (reset) target/channel 2/0
aic7xxx: (abort_reset) scb state 0x1, Command phase, SCSISIGI = 0x84
aic7xxx: (abort_scb) asserted ATN - bus device reset in message buffer.
SCSI host 0 channel 0 reset (pid 16) timed out - trying harder
SCSI bus is being reset for host 0 channel 0.
aic7xxx: (reset) target/channel 2/0
aic7xxx: (reset_device) target/channel -1/A, active_scb 0
aic7xxx: (match_scb) comparing target/channel -1/A to scb 2/A
aic7xxx: (reset_channel) Resetting current channel A
aic7xxx: (reset_channel) Channel reset, sequencer restarted
aic7xxx: (done_aborted_scbs) Aborting scb 0, TCL=2/0/0
scsi : aborting command due to timeout : pid 16, scsi0, channel 0, id 2, lun 0 0x08 04 b9 f2 08 00 
aic7xxx: (abort) Aborting scb 0, TCL 2/0/0
SCSI host 0 abort (pid 16) timed out - resetting
SCSI bus is being reset for host 0 channel 0.
aic7xxx: (reset) target/channel 2/0
aic7xxx: (abort_reset) scb state 0x1, Command phase, SCSISIGI = 0x84
aic7xxx: (abort_scb) asserted ATN - bus device reset in message buffer.
SCSI host 0 channel 0 reset (pid 16) timed out - trying harder
SCSI bus is being reset for host 0 channel 0.
aic7xxx: (reset) target/channel 2/0
aic7xxx: (reset_device) target/channel -1/A, active_scb 0
aic7xxx: (match_scb) comparing target/channel -1/A to scb 2/A
aic7xxx: (reset_channel) Resetting current channel A
aic7xxx: (reset_channel) Channel reset, sequencer restarted
aic7xxx: (done_aborted_scbs) Aborting scb 0, TCL=2/0/0
CD-ROM not ready.  Make sure you have a disc in the drive.
CD-ROM I/O error: dev 0b:00, sector 1238984

	I tried write (in dummy mode) CD, but using cdwrite I can record about
55 MB only, after that I obtain a lot of SENSE_ERRORs scrolling down the screen.
Using cdrecord I got the same result. The output of cdrecord looks like this:


Cdrecord release 1.5 Copyright (C) 1995-1997 Jörg Schilling
scsidev: '2,0'
scsibus: 0 target: 2 lun: 0

Executing 'test unit ready' command on Bus 0 Target 2, Lun 0 timeout 20s
CDB:  00 00 00 00 00 00

Executing 'test unit ready' command on Bus 0 Target 2, Lun 0 timeout 20s
CDB:  00 00 00 00 00 00

Executing 'inquiry' command on Bus 0 Target 2, Lun 0 timeout 20s
CDB:  12 00 00 00 24 00
Inquiry Data   : 04 80 02 02 27 00 00 00 59 41 4D 41 48 41 20 20 43 44 52 31 30 32 20 20 20 20 20 20 20 20 20 20 31 2E 30 30
Device type    : Removable WORM
Version        : 2
Response Format: 2
Capabilities   : 
Vendor_info    : 'YAMAHA  '
Identifikation : 'CDR102          '
Revision       : '1.00'
Device seems to be: Yamaha CDR-100.
Using driver for Yamaha CDR-100 / CDR-102 (yamaha_cdr100).
Driver flags   : SWABAUDIO

Executing 'write_g0' command on Bus 0 Target 2, Lun 0 timeout 20s
CDB:  0A 00 00 00 10 00


... etc.......


Executing 'write_g0' command on Bus 0 Target 2, Lun 0 timeout 20s
CDB:  0A 00 00 00 10 00

Executing 'write_g0' command on Bus 0 Target 2, Lun 0 timeout 20s
CDB:  0A 00 00 00 10 00
Sense Bytes: 70 00 04 00 00 00 00 0A 00 00 00 00 09 00 00 00
Sense Key: 0x4 Hardware Error, Segment 0
Sense Code: 0x09 Qual 0x00 (track following error) Fru 0x0
Sense flags: Blk 0 (not valid) 
write track data: error after 56721408 bytes

Executing 'request_sense' command on Bus 0 Target 2, Lun 0 timeout 20s
CDB:  03 00 00 00 12 00
Sense Bytes: 70 00 00 00 00 00 00 0A 00 00 00 00 00 00 00 00 00 00

Executing 'flush cache' command on Bus 0 Target 2, Lun 0 timeout 120s
CDB:  35 00 00 00 00 00 00 00 00 00
Sense Bytes: 70 00 05 00 00 00 00 0A 00 00 00 00 2C 00 00 00
Sense Key: 0x5 Illegal Request, Segment 0
Sense Code: 0x2C Qual 0x00 (command sequence error) Fru 0x0
Sense flags: Blk 0 (not valid) 

Executing 'fixation' command on Bus 0 Target 2, Lun 0 timeout 480s
CDB:  E9 00 00 00 00 00 00 00 01 00
Sense Bytes: 70 00 05 00 00 00 00 0A 00 00 00 00 B1 00 00 00
Sense Key: 0x5 Illegal Request, Segment 0
Sense Code: 0xB1 Qual 0x00 (current program area empty) Fru 0x0
Sense flags: Blk 0 (not valid) 

Executing 'prevent/allow medium removal' command on Bus 0 Target 2, Lun 0 timeout 20s
CDB:  1E 00 00 00 00 00

	I'm sure the writer is properly terminated. Could be here a hardware
error, or I missed something. Is it possible AHA hates some types of mother
boards (like INTEL board) ?

Thanks for any help or comments.

					Marek Necas.




More information about the aic7xxx mailing list