[1947] in linux-scsi channel archive

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

Reset Problem with Adaptec 1520 & Pioneer changer.

daemon@ATHENA.MIT.EDU (Ken Aaker)
Tue Jun 3 22:52:26 1997

Date: 	Tue, 03 Jun 1997 21:47:19 -0500
From: Ken Aaker <kenaaker@sparc.isl.net>
To: linux-scsi@vger.rutgers.edu

I've been trying to get a scrounged Pioneer CD changer working on my
system and I seem to have run into a problem with the reset code for the
old Adaptec 1520 card I've got.

The adapter is attached to a internal SCSI disk, and the Pioneer DRM
624X and HP Scanjet IIcx are on the external connector. The Pioneer is
in the middle, and the HP is at the end of the string. The dip switch on
the Pioneer for it's termination is set off. I don't know if the Scanjet
has auto termination or not, I don't have any documentation on it at
all, but it seems to work. And, the changer works fairly well under DOS.

When the changer goes to switch disks, it often times out. The 152x code
will fall into its reset code in that case and seems to never come out.
I've compiled the driver into the kernel and turned on some of the
debugging defines to get the following trace. I think it's failing in
other situations too.

It's been a long time since I did any scsi drive code, but I intend to
dig away at this, since I'd really like to have the thing work and I
can't afford another motherboard/controller for quite a while.

At the moment I'm stuck on what the reset function returning 2 is
supposed to indicate.

I added an entry to the table of devices requiring special handling in
scsi.c, and boosted the timeout define values to cut down on the disk
change timeouts.

Other config information, 
=============================================

The processor is a NexGen 5x86 P90 in a VLB board.

kernel is a 2.0.29 that I "config"ed, built and installed.

cat /proc/scsi/aha152x/0

Adaptec 152x SCSI driver; $Revision: 1.18 $
ioports 0x0340 to 0x035f
interrupt 0x0c
disconnection/reconnection enabled
parity checking enabled
synchronous transfers disabled
0 commands currently queued
enabled debugging options: (abort) (reset) 

queue status:
no not yet issued commands
no current command
no disconnected commands

waiting: SCSISEQ (); SCSISIG (DATA OUT); INTSTAT (lo); SSTAT (BUSFREE
PHASECHG ); SSTAT (); SXFRCTL0 (CH1 ); SIGNAL (); SELID (c0), SSTAT2
(SEMPTY ); SFCNT (0); SCSICNT (0), OFFCNT(0), SSTAT4 (); DMACNTRL0
(16BIT PIO READ INTEN ); DMASTAT (DFIFOEMP )

enabled interrupts ()


=============trace ==========================
Jun  1 15:45:27 endar kernel: Dumping command: 08 00 01 dd 08 00 24 00
70 1e 38 01 
Jun  1 15:45:27 endar kernel: scsi_do_cmd (host = 0, channel = 0 target
= 1, buffer =00090000, bufflen = 16384, done = 0019969c, timeout =
30000, retries = 3)
Jun  1 15:45:27 endar kernel: command : 08  00  01  dd  08  00  24  00 
70  1e  
Jun  1 15:45:27 endar kernel: internal_cmnd (host = 0, channel = 0,
target = 1, command = 0024c828, buffer = 00090000, 
Jun  1 15:45:27 endar kernel: bufflen = 16384, done = 0019969c)
Jun  1 15:45:27 endar kernel: queuecommand : routine at 00192d94
Jun  1 15:45:27 endar kernel: leaving internal_cmnd()
Jun  1 15:45:27 endar kernel: Leaving scsi_do_cmd()
Jun  1 15:45:27 endar kernel: Non-zero result in scsi_done 2 1:0
Jun  1 15:45:27 endar kernel: In scsi_done(host = 0, result = 000002)
Jun  1 15:45:27 endar kernel: internal_cmnd (host = 0, channel = 0,
target = 1, command = 0024c828, buffer = 00090000, 
Jun  1 15:45:27 endar kernel: bufflen = 16384, done = 0019969c)
Jun  1 15:45:27 endar kernel: queuecommand : routine at 00192d94
Jun  1 15:45:28 endar kernel: leaving internal_cmnd()
Jun  1 15:45:28 endar kernel: In scsi_done(host = 0, result = 000000)
Jun  1 15:45:28 endar kernel: In scsi_done, GOOD status, COMMAND
COMPLETE, parsing sense information.
Jun  1 15:45:28 endar kernel: SENSE SUGGEST RETRY - status = MAYREDO
Jun  1 15:45:28 endar kernel: In MAYREDO, allowing 3 retries, have 0
Jun  1 15:45:28 endar kernel: scsi0 channel 0 : resetting for second
half of retries.
Jun  1 15:45:28 endar kernel: SCSI bus is being reset for host 0 channel
0.
Jun  1 15:45:28 endar kernel: scsi reset function returned 2

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