lkml.org 
[lkml]   [2004]   [Nov]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
SubjectRE: Kernel 2.6.x hangs with Symbios Logic 53c1010 Ultra3 SCSI Ada pter
Date
Hi Guys,

I've been seeing problems with various tape drives and PPR. And a SCSI 3 SE
disk is interesting as well! SE and PPR don't get on too well;) The problems
we are seeing are generally indicated by a "phase change 6-7" error. And I
know there are others who have had problems from various messages on this
list

This wouldn't be too much of a problem but rather than then reverting to
using legacy sync and wide it just keeps trying PPR - for ever as far as I
can make out. And the drives struggle on using async;(

The following may help as a temporary fix for those who are desperate. We
are using this while we get on with higher priority items and we find time
to look at it more closely.

--- 2.6.9a/drivers/scsi/scsi_scan.c 2004-10-11 03:58:24.000000000 +0100
+++ 2.6.9b/drivers/scsi/scsi_scan.c 2004-11-04 12:20:09.000000000 +0000
@@ -578,7 +578,7 @@
sdev->lockable = sdev->removable;
sdev->soft_reset = (inq_result[7] & 1) && ((inq_result[3] & 7) ==
2);

- if (sdev->scsi_level >= SCSI_3 || (sdev->inquiry_len > 56 &&
+ if (/*sdev->scsi_level >= SCSI_3 ||*/ (sdev->inquiry_len > 56 &&
inq_result[56] & 0x04))
sdev->ppr = 1;
if (inq_result[7] & 0x60)
Using this all the drives I've tried that normally use PPR still use PPR.
The drives that do not support PPR no longer cause problems - PPR is no
longer sent to these problem drives.

Matthew - I have attached some bits of SCSI analyser traces which I hope may
be useful. An IBM SCSI 3 SE disk and a couple of LTO tape drives - IBM and
HP. The HP causes severe problems as modprobe hangs without the fix. I have
also seen drives that do unexpected disconnects if they get sent PPR.

Sorry no logs from linux/sym53c8xx - I may be can find some if you want to
see whats happening there.

I have been toying with the idea of disabling PPR capability if PPR is
rejected - forcing sdev->ppr=0 in the driver when it determines PPR has been
rejected - but I'm not sure that's right. There are drives which reject
negotiation - legacy sync and wide at least - while they are initialising
but will then accept it later on.

Question - where does the full source for the sym53c8xx_2 driver live these
days now that Gerard no long maintains it?


Regards
Richard


Richard Waltham
Bridgeworks Ltd
135 Somerford Road,
Christchurch
Dorset, BH23 3PY
England.

Tel 0870 121 0708
Fax 0870 121 0709

Email: richardw@4bridgeworks.com



> -----Original Message-----
> From: Matthew Wilcox [mailto:matthew@wil.cx]
> Sent: 05 November 2004 13:44
> To: Thomas Babut
> Cc: linux-kernel@vger.kernel.org; Linux SCSI; matthew@wil.cx;
> groudier@free.fr
> Subject: Re: Kernel 2.6.x hangs with Symbios Logic 53c1010 Ultra3 SCSI
> Adapter
>
>
> On Fri, Nov 05, 2004 at 01:52:32PM +0100, Thomas Babut wrote:
> > Here I am again with some news. :)
>
> Um, again? This is the first I've heard from you. BTW,
> Gerard seems to
> be unreachable, which is why I took over the driver.
>
> > I tried last night Kernel 2.6.0 and 2.6.1 (both vanilla)
> and the system
> > bootet up with the controller! Then I tried this:
> >
> > 1) unpack vanilla Kernel 2.6.9
> > 2) copy drivers/scsi/sym53c8xx_comm.h,
> drivers/scsi/sym53c8xx_defs.h and
> > the whole directory drivers/scsi/sym53c8xx_2/* from Kernel
> 2.6.1 into
> > the Kernel 2.6.9 source
> >
> > It booted, too. But on all this three 2.6 Kernels the
> SCSI-Harddisk has
> > got very poor performance. With Kernel 2.4.26 and 2.4.27 it
> makes almost
> > 30 MB/s. With all three 2.6 Kernels it makes about 5 MB/s.
>
> Sounds like your drive isn't negotiating the correct transfer rate.
> If it's able to do 30MB/s, I guess it should be negotiating at least
> wide, 20MHz -- 5MB/s sounds like asynchronous.
>
> > (see
> http://marc.theaimsgroup.com/?l=linux-kernel&m=109953598029428&w=2
> > for detailed hardware specs and other informations)
>
> Hrm. Domain validation is failing. I bet what's going on is that the
> controller is U160-capable, so we're sending a PPR message to
> the drive
> which is going haywire. I do hope we don't have to start blacklisting
> drives as being PPR-incapable.
>
> Can you turn on negotiation debugging and send me the result? If you
> have 2.1.18m, that's sym53c8xx.debug=0x200 ... earlier than that, it's
> sym53c8xx=debug:0x200
>
> Now ... you say:
>
> > sym0: SCSI BUS reset detected.
> > sym0: SCSI BUS has been reset.
> > sym0: SCSI BUS operation completed.
> >
> > At this point only a hard-reset helps.
>
> Do you mean the machine freezes at this point, or you can't
> boot because
> this drive has your root partition on it and it can't be
> found? If the
> former, this is another bug that needs to be fixed.
>
> --
> "Next the statesmen will invent cheap lies, putting the blame upon
> the nation that is attacked, and every man will be glad of those
> conscience-soothing falsities, and will diligently study
> them, and refuse
> to examine any refutations of them; and thus he will by and
> by convince
> himself that the war is just, and will thank God for the better sleep
> he enjoys after this process of grotesque self-deception." --
> Mark Twain
> -
> To unsubscribe from this list: send the line "unsubscribe
> linux-scsi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>

Protocol Phase Analysis
File name: LINUX6.DTT
Marker range: ANCHOR(70) to CURRENT(96)
Session name: None
Session desc: None
Session ids: iids:7 tid(lun)[devtype]:3(0)[1]
Sess filters: None
Session date: 2-Nov-04 10:38:58 - 10:41:03
NNNNN = Phase Event Number (1st event is 0)
SSS.mmm_uuu_nnn = Difference Time (Secs.milli_micro_nano)
NNNNN SSS.mmm_uuu_nnn
70 3_300 Arb
71 2_192 Arbwin 7
72 0_800 +Select 7,3
73 0_716 +Sel/Resel End
74 4_060 +MsgOut C0 Identify
75 14_066_128 CMD - Inquiry
12 00 00 00 32 00
76 18_660 DataIn (N)
0h: 01 80 03 02 2D 00 01 30 ....-..0
8h: 48 50 20 20 20 20 20 20 HP
10h: 55 6C 74 72 69 75 6D 20 Ultrium
18h: 31 2D 53 43 53 49 20 20 1-SCSI
20h: 45 31 32 44 00 00 00 00 E12D....
28h: 00 00 00 24 44 52 2D 31 ...$DR-1
30h: 30 00 0.
(50 Bytes)
77 1_240_728 DEnd 50 Bytes
78 1_460 Status 00 Good
79 2_936 MsgIn 00 Cmd Complete
80 67_264 Bus Free
81 3_404 Arb
82 2_188 Arbwin 7
83 0_800 +Select 7,3
84 0_708 +Sel/Resel End
85 442_892 +MsgOut C0 Identify
01 06 04
Parallel Protocol Pw:?,off:?,Width:?,
flags:?
86 20.000_481_056 +MsgIn 07 Msg Reject
87 201_336 Bus Reset
88 10.003_609_516 Bus Free
89 3_504 Arb
90 2_188 Arbwin 7
91 0_804 +Select 7,3
92 0_720 +Sel/Resel End
93 249_068 +MsgOut C0 Identify
01 06 04
Parallel Protocol Pw:?,off:?,Width:?,
flags:?
94 15.001_441_328 +MsgIn 07 Msg Reject
95 201_704 Bus Reset
96 0_000 Bus Free
Protocol Phase Analysis
File name: LINUX8.DTT
Marker range: ANCHOR(89) to CURRENT(101)
Session name: None
Session desc: None
Session ids: iids:7 tid(lun)[devtype]:2(0)[0]
Sess filters: None
Session date: 2-Nov-04 12:56:07 - 12:58:54
NNNNN = Phase Event Number (1st event is 0)
SSS.mmm_uuu_nnn = Difference Time (Secs.milli_micro_nano)
NNNNN SSS.mmm_uuu_nnn
89 3_304 Arb
90 2_204 Arbwin 7
91 1_000 +Select 7,2
92 1_608 +Sel/Resel End
93 268_012 +MsgOut C0 Identify
01 06 04 0A 00 00 01 00
Parallel Protocol Pw:25ns,
off:0,Width:16 bits,
IU=0 DT=0 QAS=0
94 43_052 MsgIn 07 Msg Reject
95 287_268 CMD - Inquiry
12 00 00 00 A4 00
96 6_890_292 DataIn (N)
0h: 00 00 03 02 9F 00 01 3A .......:
8h: 49 42 4D 20 20 20 20 20 IBM
10h: 44 4E 45 53 2D 33 30 39 DNES-309
18h: 31 37 30 57 20 20 20 20 170W
20h: 53 41 33 30 41 4A 31 33 SA30AJ13
28h: 4B 31 31 36 00 00 00 00 K116....
30h: 00 00 00 00 00 00 00 00 ........
38h: 00 00 00 00 00 00 00 00 ........
40h: 00 00 00 00 00 00 00 00 ........
48h: 00 00 00 00 00 00 00 00 ........
50h: 00 00 00 00 00 00 00 00 ........
58h: 00 00 00 00 00 00 00 00 ........
60h: 28 43 29 20 43 6F 70 79 (C) Copy
68h: 72 69 67 68 74 20 49 42 right IB
70h: 4D 20 43 6F 72 70 2E 20 M Corp.
78h: 31 39 39 38 2E 20 41 6C 1998. Al
(128 Bytes)
97 101_564 DEnd 164 Bytes 0.024 MB/S
98 2_156 Status 00 Good
99 2_520 MsgIn 00 Cmd Complete
100 76_796 Bus Free
101 0_000 Arb
Protocol Phase Analysis
File name: TREBER7.DTT
Marker range: ANCHOR(101) to CURRENT(113)
Session name: None
Session desc: None
Session ids: iids:7 tid(lun)[devtype]:2(0)[1]
Sess filters: None
Session date: 18-Oct-04 15:04:24 - 15:06:33
NNNNN = Phase Event Number (1st event is 0)
SSS.mmm_uuu_nnn = Difference Time (Secs.milli_micro_nano)
NNNNN SSS.mmm_uuu_nnn
101 3_300 Arb
102 2_188 Arbwin 7
103 198_808 +Select 7,2
104 23_016 +Sel/Resel End
105 1_752_620 +MsgOut C0 Identify
01 06
Extended Msg+Len
106 4_837_064 +MsgIn 07 Msg Reject
107 1_104_660 CMD - Inquiry
12 00 00 00 26 00
108 9_788 DataIn (N)
0h: 01 80 03 02 21 00 01 30 ....!..0
8h: 49 42 4D 20 20 20 20 20 IBM
10h: 55 4C 54 33 35 38 30 2D ULT3580-
18h: 54 44 31 20 20 20 20 20 TD1
20h: 31 38 4E 32 00 00 18N2..
(38 Bytes)
109 4_440 DEnd 38 Bytes
110 1_236 Status 00 Good
111 1_736 MsgIn 00 Cmd Complete
112 44_392 Bus Free
113 0_000 Arb
\
 
 \ /
  Last update: 2005-03-22 14:07    [W:0.036 / U:0.628 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site