Date: Mon, 16 Aug 1999 16:48:26 -0400 From: Doug Ledford <dledford@redhat.com> To: Meurisse Vincent <Vincent.Meurisse@icn.siemens.de> Cc: "'aic7xxx@freebsd.org'" <aic7xxx@FreeBSD.ORG> Subject: Re: [bug] misdetection of syncrate in aic7xxx version 5.1.19 Message-ID: <37B8791A.C56D8145@redhat.com> References: <E72F82144ABCD211A6860008C70DB9BA77EE7F@MCHH239E>
next in thread | previous in thread | raw e-mail | index | archive | help
Meurisse Vincent wrote: > > >I expect to find out if your CD-ROM that is not seeing the right speed also > >happens to have its speed setting in the Adaptec SCSI BIOS set to less than > >the maximum speed. In general, with the latest aic7xxx driver versions, > the > >driver will always do the right thing with your BIOS set to the maximum > speed, > > You were right : I put the maximum speed for each ID in the SCSI BIOS and > the devices were then all set to the correct speed by the driver. Thanks for > the tip ! > But shouldn't we expect that the driver finds the right syncrates even if we > put the correct values in the SCSI BIOS ? No. Those values are caps, they aren't what the device will get set to. The device and the controller will negotiate down if need be. Unfortunately, the rate that you select in the SCSI BIOS is encoded into a series of bits and stored in the SEEPROM. The same code in the aic7xxx driver reads those SEEPROM bits and decodes the value you have stored in there. As it turns out, some newer Ultra 2 controllers use the same bit sequence to indicate 80MByte/s as some older controllers used for 11.4MByte/s and they use the same thing for 10MByte/s that older controllers used for 5MByte/s. Since I can't reliably tell which version of the BIOS was used to store the values into the SEEPROM, I have to treat all the possible 80MByte/s values as 80MByte/s. Since that overlaps with some other settings, that means that some slower settings no longer mean the same thing. Hence, setting them to the maximum speed will cause my driver to set the cap at the maximum and then talk down to whatever the device can support, but setting the device to a speed less than the maximum is not always going to produce what you want and you may have to experiment with numbers to get good results. > I wonder why the driver detected it right for the ultra2 devices, for the > ultra device but not for the fast device... might it be related to the > offset which always the same but for the device which was misdetected ? Nope. -- Doug Ledford <dledford@redhat.com> Opinions expressed are my own, but they should be everybody's. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe aic7xxx" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?37B8791A.C56D8145>