[216] in linux-scsi channel archive

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

Re: SCSI testing at boot

daemon@ATHENA.MIT.EDU (Drew Eckhardt)
Fri May 26 19:09:56 1995

To: ericc@Arco.COM (Chang Eric Y (214)509-3562)
cc: linux-scsi@vger.rutgers.edu
In-reply-to: Your message of "Wed, 24 May 1995 15:26:47 CDT."
             <9505242026.AA15691@Arco.COM> 
Date: Fri, 26 May 1995 16:19:50 MDT
From: Drew Eckhardt <drew@boulder.openware.com>

In message <9505242026.AA15691@Arco.COM>, ericc@Arco.COM writes:
>Hi.  I have a strange problem with the installation of Linux on a
>Compaq Deskpro 386/25 w/ a Future Domain TMC-830 SCSI card with a
>single hard drive.  It comes up with 2 or 3 extra SCSI devices on
>boot, which cause a kernel panic.  DOS, however, only finds one
>device, and it boots fine.  In addition, DOS diagnostics show the
>drive to be OK.  How does the SCSI checking differ?  Why is is 
>more strict?  

The Seagate/Future domain boards really suck, and don't allways work
the way the programming manual says they should.  If you're having 
problems, this may help -

The code in seagate.c looks like this now :

<code>
cli();
DATA = (unsigned char) ((1 <<target) | (controller_type == SEAGATE ? 0x80 : 0x4
0));
CONTROL = BASE_CMD | CMD_DRVR_ENABLE | CMD_SEL |
(reselect ? CMD_ATTN : 0);
sti();
</code>

Changing this to

<code>
cli();
CONTROL = BASE_CMD | CMD_DRVR_ENABLE | CMD_SEL |
(reselect ? CMD_ATTN : 0);
DATA = (unsigned char) ((1 <<target) | (controller_type == SEAGATE ? 0x80 : 0x4
0));
sti()
</code>
may fix your problem.




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