[comp.unix.aux] How do I access SCSI using A/UX System Calls?

herbw@midas.WR.TEK.COM (Herb Weiner) (08/27/90)

Page 5-18 of the "A/UX Toolbox: Macintosh ROM Interface" manual states:

"You can reproduce the functions of the SCSI Manager in A/UX by writing
your own routines that use A/UX system calls.  See Chapter 3, 'A/UX
Toolbox Utilities and Extensions,' for a strategy for including A/UX
system calls in applications that are intended to run under both the
Macintosh OS and A/UX"

I assume that this is a reference to "Making A/UX system calls" on
pages 3-18 to 3-19.  This section provides no further information on
SCSI.

I have looked in the "A/UX Reference Summary and Index" under "SCSI"
but there is not listing.  (Comment: this index seems very incomplete
to me.  None of the following items are listed: Control Panel, MacsBug,
Desk Accessories, Finder.  In fact, there appear to be NO references
to the ANY of the Macintosh aspects of A/UX.)

I have looked in the "A/UX Programmer's Reference" (Section 2: System
Calls) and didn't see anything obviously related to SCSI.  I have looked
in the "A/UX System Administrator's Reference" (an unlikely source) in
Section 7 (Drivers and Interfaces to Drivers), with no luck.  I have
tried "apropos scsi" only to discover that there is "nothing apropriate".

OK! I give up.  Where should I look next?  Do I have to write a driver?
I hope not, since Page 5-18 of the "A/UX Toolbox: Macintosh ROM Interface"
goes on to state that "A program that uses an A/UX device driver is not
portable to the Macintosh OS."

Herb Weiner (herbw@midas.WR.TEK.COM)

urlichs@smurf.sub.org (Matthias Urlichs) (08/31/90)

In comp.unix.aux, article <3368@wrgate.WR.TEK.COM>,
  herbw@midas.WR.TEK.COM (Herb Weiner) writes:
< Page 5-18 of the "A/UX Toolbox: Macintosh ROM Interface" manual states:
< 
< "You can reproduce the functions of the SCSI Manager in A/UX by writing
< your own routines that use A/UX system calls.  [...]

... which is just plain wrong.

You can use this strategy (open the device /dev/dsk/cXd0s31, read/write
whatever you want, close it) if you want to read from, or write to, a standard
hard disk with correct pameters (see the Mode Select and Mode Sense commands;
A/UX wants to have the PER bit turned on for good but insufficient reasons),
or possibly a CD-ROM or Apple's tape drive. Anything else currently requires
you to write a device driver for the A/UX kernel, which is _not_ one of the
easier tasks.

Is the A/UX Device Driver kit available for 2.0? Will it be FTPable from
anywhere.apple.com, or do we have to get it through APDA?

Rumor says that the kit will include a generic tape driver, which is exactly
what I need right now...

NB: Is there a /dev/scsi out there somewhere which could possibly allow me to
do generic SCSI calls from normal A/UX programs? Some 3rd party is said to
work on something like this -- anyone know more?

NB2: I'm running out of SCSI IDs. Are there any Nubus SCSI DMA boards which
will run under A/UX 2.0, on a IIfx, and which won't disable the internal SCSI
port?

NB3: Can anyone out there convince the Dantz people (makers of Retrospect)
that it would be a very good idea to make that fine program more A/UX-aware?
I have 1.0i, and it (a) doesn't know how to talk to tape drives under A/UX
(I'd like to have a dialog to tell it "This is a tape drive", or something
like that), and (b) doesn't know how to calculate the free space correctly.

-- 
Matthias Urlichs -- urlichs@smurf.sub.org -- urlichs@smurf.ira.uka.de
Humboldtstrasse 7 - 7500 Karlsruhe 1 - FRG -- +49+721+621127(Voice)/621227(PEP)

liam@cs.qmw.ac.uk (William Roberts) (09/01/90)

In <3368@wrgate.WR.TEK.COM> herbw@midas.WR.TEK.COM (Herb Weiner) writes:

>"You can reproduce the functions of the SCSI Manager in A/UX by writing
>your own routines that use A/UX system calls.  See Chapter 3, 'A/UX
>Toolbox Utilities and Extensions,' for a strategy for including A/UX
>system calls in applications that are intended to run under both the
>Macintosh OS and A/UX"

>OK! I give up.  Where should I look next?  Do I have to write a driver?
>I hope not, since Page 5-18 of the "A/UX Toolbox: Macintosh ROM Interface"
>goes on to state that "A program that uses an A/UX device driver is not
>portable to the Macintosh OS."


The bottom line is: there are no system calls directly related
to SCSI, and any programs manipulating SCSI under A/UX will
indeed not be compatible with the MacOS. The reverse is also
true, which is why things like SCSI Evaluator don't work under
A/UX.

There is some generic SCSI code within the A/UX kernel, but you
would probably have to write a device driver (probably fairly
simple) to get access to it. The only piece of documentation
that will be of any use to you is the A/UX Device Drivers kit,
though I don't know it that yet exists for A/UX 2.0.
-- 

William Roberts                 ARPA: liam@cs.qmw.ac.uk
Queen Mary & Westfield College  UUCP: liam@qmw-cs.UUCP
Mile End Road                   AppleLink: UK0087
LONDON, E1 4NS, UK              Tel:  071-975 5250 (Fax: 081-980 6533)

ktyra@ivc (Kristopher L. Tyra) (09/05/90)

>Is the A/UX Device Driver kit available for 2.0? Will it be FTPable from
>anywhere.apple.com, or do we have to get it through APDA?
>
>Rumor says that the kit will include a generic tape driver, which is exactly
>what I need right now...
>
>NB: Is there a /dev/scsi out there somewhere which could possibly allow me to
>do generic SCSI calls from normal A/UX programs? Some 3rd party is said to
>work on something like this -- anyone know more?

Interesting Idea.  The Tool Kit developed at IVC does not provide this 
actual feature ( /dev/scsi ).  It is not to hard and I do like so I think 
it will be added to our product (if such product is released 
-- we have not seen a very big response to have a new Driver Toolkit 
on the market).

As far as I can tell there are no changes to the A/UX 1.1 Generic Driver 
in A/UX 2.0 not including additions for tape driver support (anyone in Apple 
please correct me if I'm wrong).  My question out there is:

1)  How many people wish to play with the SCSI ports directly?

2)  Is it enough to make a better Generic Driver interface for writing
    device drivers or should a /dev/scsi be created ?  The A/UX 1.1 Generic
    Driver Interface in my opinion is limited and certain functions
    reported in thier documentation do not work.

3)  There is more to just accessing the SCSI then Mode Sense and READ/WRITE,
    Does anyone really require more ?  How about SCSI II inteface support 
    for library type hardware (removable and the like)?

4)  Does anyone require 1k block size instead of the fixed 512 block size 
    imposed by Apple ?

5)  How about removable media ? Apple's driver re-reads the partition 
    information on every open - it works but, yuck !!!  Is this acceptable ?

You may mail me direct and I will post responses ?  Thanks for reading.



				________________________________________

				Kristopher L. Tyra
				Intelligent Visual Computing, Inc.
				(800) 776-2810
				ktyra%ivc.com!uunet

rick@crowbar.apple.com (Rick Auricchio) (09/06/90)

In article <108@ivc> ktyra@ivc.UUCP (Kristopher L. Tyra) writes:
>As far as I can tell there are no changes to the A/UX 1.1 Generic Driver 
>in A/UX 2.0 not including additions for tape driver support (anyone in Apple 
>please correct me if I'm wrong).  My question out there is:
    Minor bug fixes, nothing major.
>
>1)  How many people wish to play with the SCSI ports directly?
    I wish there were none.
>
>2)  Is it enough to make a better Generic Driver interface for writing
>    device drivers or should a /dev/scsi be created ?  The A/UX 1.1 Generic
>    Driver Interface in my opinion is limited and certain functions
>    reported in thier documentation do not work.

    Having a /dev/scsi would better benefit third-party hardware vendors,
    who could then provide a single user-level portable driver that used
    a standard /dev/scsi interface.  Right now, providing a kernel-based
    driver for each different system is a pain.

    Having /dev/scsi wouldn't solve the problem for Mac binaries, which
    expect to issue a trap to just shoot SCSI commands out.
>
>5)  How about removable media ? Apple's driver re-reads the partition 
>    information on every open - it works but, yuck !!!  Is this acceptable ?

    The A/UX generic disk driver doesn't handle removable media at all.
    This is a major change which will eventually be fixed.
--
Rick Auricchio, Apple Computer Inc, 10300 Bubb Rd, MS 50-UX Cupertino CA 95014
rick@apple.COM  	  	 Mooney N894AR     		(408) 974-4227
		Work is for people who don't know how to fly.
My opinion is my own. My employer? They use a windsock and a fire extinguisher.