*BSD News Article 24845


Return to BSD News archive

Xref: sserve comp.periphs.scsi:15988 comp.os.386bsd.development:1572
Path: sserve!newshost.anu.edu.au!munnari.oz.au!constellation!paladin.american.edu!europa.eng.gtefsd.com!news.umbc.edu!eff!news.kei.com!yeshua.marcam.com!zip.eecs.umich.edu!umn.edu!msc.edu!mckinley.cit.macalstr.edu!sferris
From: sferris@budapest.math.macalstr.edu (Scott Ferris)
Newsgroups: comp.periphs.scsi,comp.os.386bsd.development
Subject: Re: aha2742. why no 386bsd driver soon.
Followup-To: comp.periphs.scsi,comp.os.386bsd.development
Date: 9 Dec 1993 23:14:44 GMT
Organization: Macalester College, St. Paul Mn	
Lines: 284
Message-ID: <2e8bh4$ipq@mckinley.cit.macalstr.edu>
References: <CHqzyL.LBH@tfs.com>
NNTP-Posting-Host: bangkok.math.macalstr.edu
X-Newsreader: TIN [version 1.2 PL0]

Julian Elischer (julian@TFS.COM) wrote:
> 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.

  And probably (though understandably), asked for the wrong ones.
  (And I have you beat.  I've been calling since August. :)

> today, I got some..

  see above. (They mailed mine in mid-November)

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

   Like call Adaptec Literature and ask for:

   AIC-7770 Data Book. 
  
   It describes the registers, sequencer instruction
formats, op codes, and includes functional descriptions of the chip, 
as well as timing diagrams, and all the misc. stuff you were
probably expecting in the Tech Ref and didn't find.

> 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",
 
  This "firmware" is the microcode for the aic-7770.  The chip
has 448 words of program memory for the microcode, which must be
downloaded by the driver.

  The HIM is (as far as I can tell) Adaptec's microcode for the chip, 
and the host software needed to respond to the sequencer in the way the 
microcode expects.  The instruction formats and op codes are fully described
in freely available documentation (I have a copy, and am writing the Linux 
driver for the 274x, and possibly other aic-7770 based products).

> 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.

   There is no reason you *have* to use Adaptecs architecture.
The sequencer only has around 16 opcodes and 448 words of
program memory.  This rather limits its complexity.  I'll
be writing my own microcode.  You could too.

> Figure 1:
[junk from the 274x Tech Ref deleted]

[other stuff deleted as well]

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

   No, you don't.  It might arguably make it easier to write
the driver and stay current with shipping chip revs, but
you don't *need* it.

> 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"

  heh. what a surprise.

> [] 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.

  The HIM is most likely Adaptec's attempt at quality control.
By writing the microcode once at getting all the commercial OSes
to use it, they can upgrade the microcode much more easily than
they can be changing ROM-based firmware.
  

> 3. We will also send you the following items:

> [] 2740 series tech reference manual
> [] 2840 tech reference manual

  Freely available from Adaptec Literature (though they are behind
in writing the docs, and their listings of what docs they actually
have tends to be out of date.  Asking for a manual by name
is your best bet.  And, yes, the tech ref does reference the
AIC-7770 Data Book).

> [] Adaptec Compatibility Advantage program brochure and application
> [] Notice of completion   

  Useless most likely.

> [] AIC-7770 programming considerations.

  Not sure what they mean.  The data book you need is available
for free from Adaptec (though its labeled Preliminary.  sales seems
to be ahead of tech documentation on this one).

> [ Marketting rubbish deleted to save my fingures]


[ HIM junk deleted ]

> [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)

  This is a fancy way of saying they have new microcode.
It certainly will be easier for Adaptec if their major developers
switch to new microcode right away, and that developers don't
have to write their own microcode.

  However, there is no reason I can see that we *have* to use
their HIM (microcode).  The hardware is documented, and
the documentation is free.  While support under Linux may
lag new chip revs, since I'll need to get a new data book and
change my microcode, I see no reason why it couldn't be done.
The data book is now, and will probably continue to be, freely
available.  In any case, I imagine I'll be able to get
better performance out of the chip with my microcode that
with Adaptecs attempt at an OS-generic driver module.

> {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.

  Linux support will lag a little.  Life is tough.


> ================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.

  I'll be writing my own microcode for a Linux driver. The
*BSD folks can do what they wish.  I will not be directly supporting
any of the *BSD variants, though eventually the Linux driver
will make it onto the Linux FTP sites, and anyone who wants to can
try to port it.


> 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

  Call and ask for the AIC-7770 Data book.  Unlike the 174x series,
the 2740 Tech Ref manual is *not* what all you need to write a driver.
Be sure to ask for documentation you need.  I'll grant you I had
an advatange in this, as someone in Europe who does business with
Adaptec had the Tech Ref manual, saw one of my first postings
on the subject, and gave me the titles of the other manuals it references.
Still, don't you think it might have been a good idea to look at *all*
of the documentation Adaptec gives out for free before you start
posting blanket condemnations? (and no, I don't need to hear a lot of
Adaptec horror stories.  I've already heard them.  Yes, Adaptec can be
obnoxious, and their hardware may not be the best.  But they
are *not* trying to keep the aic-7770 some big secret.  My guess is they're
just trying to get a degree of quality control over what is effectively
the "firmware" that every aic-7770 driver has to download) 


> 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

  Try again.  In my experience with Adaptec, if you ask for a specific
title, and they actyally have it written , they will send it to you.
Without asking for an NDA or any other license or contract.

> 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.

   Who were you talking to?

> 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.

   They're hiding their code, yes.  But not the raw hardware
itself.  Since when is this uncommon?  And yes, they could
gratuitously change their hardware, but that won't work in
the long run.  They can't change it after you've bought it,
and in any case I suspect your suspicions are based more on
your incorrect view of the documentation situation, rather
than anything Adaptec told you directly they were going to do.

> 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)

   Yes.  This is probably why they are trying to control their HIM.
They most likely intend to release a new HIM to driver writers
before each new chip rev. And try to get it supported before
they start selling the new board.  As I said before, this may force
free OS support to lag, but I doubt it will prevent it,
as we can always write our own code that controls the
raw hardware.

> 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?

   It's just a sequencer.  I try to avoid the marketing types
and just stick with tech support and Literature.  Makes life
much more pleasant.

> end of rave

  hopefully end of thread too, though I doubt I'll be so lucky.  :)

> +----------------------------------+       ______ _  __
> |   __--_|\  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

--
Scott Ferris,             sferris@math.macalstr.edu
LaserMaster Inc,
Macalester College,
and points in between.