*BSD News Article 34287


Return to BSD News archive

Newsgroups: comp.os.386bsd.misc
Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!msuinfo!agate!tfs.com!julian
From: julian@tfs.com (Julian Elischer)
Subject: Re: AH2840 VL
Message-ID: <CuHqwL.1wH@tfs.com>
Organization: TRW Financial Systems, Oakland, CA
References: <32a3od$1ab@urmel.informatik.rwth-aachen.de> <michaelv.776576696@ponderous.cc.iastate.edu> <32cenr$3bk@u.cc.utah.edu> <CuH2x3.IJ7@world.std.com>
Date: Sat, 13 Aug 1994 20:43:33 GMT
Lines: 299

In article <CuH2x3.IJ7@world.std.com>, HD Associates <hd@world.std.com> wrote:
>In article <32cenr$3bk@u.cc.utah.edu>,
>Terry Lambert <terry@cs.weber.edu> wrote:
>>In article <michaelv.776576696@ponderous.cc.iastate.edu> michaelv@iastate.edu (Michael L. VanLoon) writes:
>
>(the ordinary Adaptec question)
>
>>How about 2 glimmers?
>>
>>1)	There's an Alpha AHA2740 (also an AIC7770) driver for Linux
>>	in the Alpha directory on sunsite.unc.edu.  The difference is
>>	the AHA2840 is a VLB card (not that much difference -- the
>>	dirver "should work for the 2840" according to the authors.
yes and there are some people from freeBSD who are keeping in contact with them
I believe.

>>
>>2)	You don't need to sign non-disclosure to use the default
>>	microcode in these things (once again, people, ask yourselves,
>>	if it doesn't have any microcode until you put it there, how
>>	the hell can DOS boot from it?).  You just need to get docs
>>	for the default stuff (available).
No, but it's next to useles for us ....
consider:
The default ucode is only run by the default BIOS code (From the EPROM).
the two need to be in sync with each other, but Adaptec have
taken great pains to point out that THEY RESERVE THE RIGHT
to CHANGE the ucode interface specification at any time.
(Obviously they would chyange the BIOS code at the same code, but
WE would get screwed, because we wouldn't have had the change.....

This is why they want you to sign non-disclosure for the specs to the
"HIM" layer of software, which will NOT change, but is loaded onto the PC
as part of the driver. The top interface of the HIM layer will remain constant
but the bottom, that interfacces to the ucode will change as required
to match the ucode (which it will probably download to the board to ensure
that it matches).. 
>
>I thought about option 2 the first time I saw you propose it and
>consider it high risk.

I agree for reasons given above.

the best aproach is to right our own HIM and ucode pair, that
we can download and thus ensure a matching pair..
of course, different scsi cards from adaptec will probably require
differnt ucode......... (Adaptec will say "WE TOLD YOU SO.. RUN SCO"
>
>>From Adaptec's point of view, all the base microcode needs to do is
>boot DOS.  Given their history of declining to fix buggy microcode if
>they don't see a large enough market, I wouldn't want to be off working
>in that little corner of their software (I can hear tech support now:
>"You mean you are using the bootstrap microcode??!!?!?!", or even more
>likely the mantra "You need to download the microcode... You need to
>download the microcode...").
I agree, and even if you DID load the new ucode, they've probably changed
the interface top it... the HIM/ucode is a pair, and the non-disclosure
is for the pair of them..(mainly the HIM) (Hardware Interface Module)

>
>Possible problems include no sync negotiation, boggled
>disconnect/reconnect, and almost anything else that isn't involved with
>slowly reading the boot image off disk.
I concur, it's a MESS and they should be ashamed.

>
>Peter
>-- 

julian

Here is an article I posted bofore on the topic..
terry, have a read through this.. I hope it makes the issue a little
clearer..

============================================Start inclusion===============
Many people have asked me when (or if) I would write a driver for the adaptec
2740 family of boards.

In response to this I have been trying for 4 weeks to get information
from the folks at adaptec.

today, I got some..

This basically sums up why you will probably not see a driver for this board
for any of the free Operating systems..
(unless someone does something pretty fancy)

After the excerpt, I discuss a few points


============cut here for excerpts from adaptec information==========

	Programming directly to AIC-7770 based adaptec products.
	  What developers need to know.

Introduction

This year Adaptec introduced the AIC-7770 chip. It is a RISC-based 
EISA-to-Fast-SCSI host adapter on a chip, used on the AHA-2740 series
host adapters as wellas the AHA-28xVL host adapters.

[.....]

The AIC-7770 chip on the AHA-2740 series and AHA-284xVL products uses a
new firmware architecture. Rather than the firmware residing directly on
the board, it has now moved to the "Hardware Interface Module" or "HIM",
a new software layer. See Figure 1 for an illustration of the new firmware 
architecture. Figure 2 illustrates how the old architectural components
map to the new ones.


Figure 1:

	[               ]  [               ]  [               ]
	[ device driver ]  [ device driver ]  [ device driver ]
	[               ]  [               ]  [               ]
=============================================================== ASPI layer
	[         O/S Specific Module                         ]
	[           (OSM)                                     ]
	-------------------------------------------------------
	[         Hardware Interface Module                   ]
	[           (HIM)                                     ]
=============================================================== Sequencer I/F
			[               ]
			[ AIC-7770      ]
			[               ]
=============================================================== SCSI BUS



Figure 2:
	AHA 154x/AHA174x Model              AIC-7770 Model
	[       ]  [       ]                 [       ][      ][      ] 
	[driver ]  [driver ]                 [driver ][driver][driver] 
	[       ]  [       ]                 [       ][      ][      ] 
ASPI	=======================     ASPI     ========================
	[OS Specific driver]                 [         OSM          ]
Board i/f======================              ------------------------
	[   Firmware         ]               [         HIM          ]
	[                    ]               ========================
	[                    ]                    [AIC-7770]
SCSI	========================     SCSI    =========================


So rather than developing software drivers directly to the board where
an understanding of the hardware technical reference manual was  required,
developers may now program the driver software to the HIM. Thus, you now
need a HIM specification to program your software driver or "OSM", and you
also need the HIM source code, for compiling purposes only. The sources code
is needed becasue the HIM is a library module, rather than a run-time
interface. Therefore, you must compile it with your OSM source code to
create the final driver object code. The HIM code is written in ANSI C
to make porting as easy as possible.



"How do I know if I need the HIM source code?"

If you can program to the ASPI specificatrion instead - to isolate
you from all hardware issues - we strongly recomend that you do so. Also,
if the operatinf system you are programming for has an "ASPI-LIKE" interface
or protocol, we strongly recommend you use it. Only of you fall into the 
following categories do you need to proceed with developing to the HIM.

[]   You are developing a driver for AIC-7770 based host adapters for
     an Operating system.

[]   You are developing an application which needs access to a SCSI feature
     for enhanced functionallity or performance not available through ASPI
     or a similar interface.



"I need HIM information, What next..?"

1/ Complete the HIM request form as completely as possiboe and fax it to
(408)957-7181 Attn HIM relations.

2/ We will provide HIM documentation and Software in a BREAK-THE SEAL envelope
with the licence agreement printed on the outside which has the following
terms:

[] Grants you the right to use the HIM source code for compiling purposes
only (no modifications) and restricts you from distributing the sources code.

[] grants you the right to distribute the HIM in Object code form only
and only in combination with your software

[] States that title to the HIM software remains with Adaptec.
 
[] Clarifies that Adaptec won't provide support for the software you write
or the combined software which you create in combination with the HIM
source code.

[] Treats the HIM source code and all related documentation as Adaptec
confidentual

[] States that the HIM software is provided "AS IS"

[] Specifies an initial term of one year with automatic one-year renewal
periods.

Someone in your company who can bind your company to the terms of the 
agreement must be the one to open the envelope. While Adaptec cannot
obligate itself legally to providing updates to or support on the HIM,
returning  the request form as complete as possible will help us ensure
you get the information and assistance you need to do
your development. We realise that it is i  adaptec's best interest for you to
be successful in you development efforts.


3. We will also send you the following items:

[] 2740 series tech reference manual
[] 2840 tech reference manual
[] Adaptec Compatibility Advantage program brochure and application
[] Notice of completion   
[] AIC-7770 programming considerations.

[ Marketting rubbish deleted to save my fingures]

"What about future Adaptec products? Will my HIM development now save me time
down the road?"

The HIM specification and source code are specific to a given host adapter
chip. Think of it as analogous to the firmware on the board under the previous
hardware design. Hence, just as you needed to program directly to the 
firmware on the board, so also you are programming directly to the HIM
for a given chip. The good news is that if we use a given chip
on more than one board, your HIM development for that chip is leveraged
across the other boards. So, with the AIC-7770 based HIM, your development
efforts can be used to create software for both the AHA-2740 series
and the AHA28XVL boards. Future Adaptec integrated I/O products will use
this HIM model, although new chips may necessitate new HIMs.

[trash deleted]

"Is there an upcoming change to the AIC-7770 that I need to consider?"

Yes, we are introducing a new version of the AIC-770 shortly called rev.E
which results in a new version of the HIM source code and some changes to
the HIM specification. In conjunction with support for rev. E, we have
also enhanced the HIM to offer better performance in heavily loaded
system environments. Performance improvements... (bla bla)

{bla bla continued)...
Note:
any software you develop to the HIM specification we can deliver to
you immediatly will be compatible with the AIC-770 rev E chip
when it is available. Programming to the new HIM specification is not
a necessity.



================end of extract===============


The way I read this.. I cannot publish the drivers in any meaningful way
that makes sense in a "source code distribution" OS like 386bsd or linux.
It's also doubtful that adaptec would let me, as an individual
let me have this information anyhow. So I can't see a driver for this board
appearing real soon. Some people may be able to get specs for the chip
and board directly, but it seems unlikely to me from my discussions
today, as they suggested that this information was all hush hush too.
If they do, then maybe a PD driver can be written to bypass the HIM rubish.

Unfortunatly, they will probably feel free to change the hardware interface
without warning, as they feel they have protected themselves from this if they
can hide this in their HIM code.. So If I bypass the HIM
code , we cannot be sure our code will always work.

Even using the HIM..
If we change boards in a machine, if we cannot guearantee that the 
driver we have on the machine was linked with the exact version of the HIM
that was meant for that revision of the board, we cannot be sure
that our driver will work at all, even if we
DO use their HIM. (in the present system, the firmware cannot become
separated from the hardware) (easily)

In general, I repeat my previous comments about adaptec needing their 
head read. They say it's because they have patentable ideas.. and
That sounds like total BS.. What on EARTH could they
have that's so brilliant, that they have to keep it so secret..
It's only a scsi controller dammit. If their AIC7770 is so marvelous
(I think it's just a sequencer) that it needs to be kept a secret,
then why do they sell it?

end of rave

+----------------------------------+       ______ _  __
|   __--_|\  Julian Elischer       |       \     U \/ / On assignment
|  /       \ julian@tfs.com        +------>x   USA    \ in a very strange
| (   OZ    ) 300 lakeside Dr. oakland CA. \___   ___ | country !
+- X_.---._/  USA+(510) 645-3137(wk)           \_/   \\            
          v