Date: Sat, 3 Oct 1998 15:41:25 -0700 (PDT) From: Howard Lew <digital@www2.shoppersnet.com> To: Gerard Roudier <groudier@club-internet.fr> Cc: Dan Busarow <dan@dpcsys.com>, freebsd-questions@FreeBSD.ORG, freebsd-scsi@FreeBSD.ORG Subject: Re: NCR 53c875 SCSI Problems Message-ID: <Pine.BSF.3.96.981003151920.11969B-100000@www2.shoppersnet.com> In-Reply-To: <Pine.LNX.3.95.981003185606.1363B-100000@localhost>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 3 Oct 1998, Gerard Roudier wrote: > > On Wed, 30 Sep 1998, Howard Lew wrote: > > > On Sun, 27 Sep 1998, Gerard Roudier wrote: > > > > > The FreeBSD ncr driver does not read the user-setup from NVRAM and it is > > > not possible to tell it about the BUS width at boot time. So, the WIDE > > > negotiation has every chance to occur with great success and, as a result, > > > will break any further data transfer between the controller and the > > > device. > > > > > > > Yes. This appears to be the problem. > > > > Because the driver doesn't seem to be able to correctly identify the bus > > width, I think it would be a better idea to read the NVRAM values if they > > Wide and Narrow devices can share the same SCSI bus. This has been the > result of T10 standards being careful about compatibility issues. But > from device (a controller is a device) point of view, a Wide device is > always connected to a Wide bus and a Narrow device is always connected to > a Narrow bus. One of the tricks is that a Wide device can be driven using > only the Narrow subset of signals of a real (or imaginary) Wide bus. > Actually this drive has a SCA connector so that it can be connected either to a Wide or Narrow bus. In other words, the bus type depends on whether I choose an 80to50 or 80to68 pin adapter. Thus, it should be okay to use either the Wide or Narrow bus. But if the drive of course had a 68 pin wide connector and I used a 68 to 50 pin adapter, I might reason that the conversion may be causing the bus detection problem. However, this is not the case. > > are available. Otherwise, those of us (anyone really) using a SCSI hard > > drive that supports a WIDE bus but is running it on a NARROW bus connector > > My opinion is that connecting a Wide controller to a Wide device using a > Narrow SCSI connector is beyond SCSI specifications. The NVRAM when > present and read by the driver may help accomodate this configuration, but > with controllers that haven't NVRAM, we are stuck when it is not possible > to tell the driver about. I guess the driver could be "smart" in that after making an assumption that it has correctly identified a device on the "Wide" bus that it try at least once to communicate with the drive. If that attempt fails, the driver should assume that the mode was incorrect and try the "Narrow" bus. Such a method would offer the best compatibility. In other words, the problem is that the driver "guesses" wrong and just goes on its merry way without checking its guess. > > > on a NCR/Symbios 53c875 card may run into this same problem. > > > > Unfortunately, it is not a simple problem to fix unless you already have a > > FreeBSD system that is bootable off of another drive. If this is the > > case, the fix is trivial by modifying ncr.c > > Using a working system to apply a work-around in order to be able to boot > a broken system is quite usual. ;-) Yes, agreed. But those without a working system to do that will be out of luck. > Modifying ncr.c, as I suggested, is just a hack for personnal convenience > that has the effect to definitely narrow all 53C8XX controllers at driver > level. It is not an acceptable fix at all. > yes, agreed. > > But imagine a user trying to install FreeBSD and boot from boot.flp and > > failing each time when the controller isn't able to talk to the hard drive > > after switching to the WIDE bus. I think this is a serious enough problem > > to require a fix... > > If you want to be nice with such users, then you must use a default driver > setup that would neither negotiate Wide, nor accept Wide negotiation > until some user intervention. I am not sure such a proposal will be > accepted. > A boot command option that would tell the driver that it must only drive > devices (or part of devices) in Narrow mode (until it is told different) > is probably the only acceptable solution. I donnot know if this is > possible with FreeBSD. > I think the easiest solution would be to assume Wide and try communicating with the drive. After assuming Wide, check the assumption -- if have problems communicating with the drive, assume narrow. If narrow fails, report error. This way, those users using a Wide bus won't be stuck with the Narrow bus and those users using drives on the Narrow bus will have their drives running in the proper bus mode -- in other words, everyone should be happy. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-scsi" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.981003151920.11969B-100000>