Updated to use creative commons license and clean up formatting

akuker 2020-12-27 21:32:16 -06:00
parent 7ab08f9761
commit 04e2aad175
1 changed files with 82 additions and 95 deletions

@ -1,171 +1,140 @@
DaynaPort SCSI/Link: SCSI Command Set # DaynaPort SCSI/Link: SCSI Command Set
Revision 1.20 (16 July 2005) [Original version](http://www.bitsavers.org/pdf/apple/scsi/dayna/daynaPORT/SLINKCMD.TXT) Copyright 2002-2005 by Roger Burrows.
The current version is made available under (https://creativecommons.org/licenses/by-sa/4.0/legalcode)[Creative Commons BY-SA]. For additional information, see the end of this document.
# SCOPE
Copyright 2002-2005 by Roger Burrows. All Rights Reserved. Permission
is granted to copy this document providing that no changes are made to
the contents.
LIMITATION OF LIABILITY AND DISCLAIMER OF WARRANTY
--------------------------------------------------
The information cantained in this document is provided "as-is", without
warranty of any kind, expressed or implied, including without limitation
any warranty concerning the accuracy, adequacy, or completeness of such
information or material. The Author shall not be responsible for any
claims attributable to errors, omissions, or other inaccuracies in the
information or material contained in this document, and in no event
shall the Author be liable for direct, indirect, special, incidental,
or consequential damages arising out of the use of such information or
material.
SCOPE
-----
This document applies to the following hardware devices: This document applies to the following hardware devices:
DaynaPort SCSI/Link-T (Model DP0801) - DaynaPort SCSI/Link-T (Model DP0801)
DaynaPort SCSI/Link-3 (Model DP0802) - DaynaPort SCSI/Link-3 (Model DP0802)
and to the following firmware revisions: and to the following firmware revisions:
1.4a - 1.4a
2.0f - 2.0f
It probably also applies to other firmware revisions; it may also apply
to other Dayna SCSI/Link devices. Any feedback on this is welcomed.
Please supply any additions or corrections to Roger Burrows
(roger@anodynesoftware.com).
It probably also applies to other firmware revisions; it may also apply to other Dayna SCSI/Link devices. Any feedback on this is welcomed.
REVISION HISTORY
----------------
Version 1.00 (8/August/2002)
Original version
Version 1.10 (22/April/2005)
Added description of 'Set Interface Mode/Set MAC Address' command
Version 1.20 (16/July/2005)
Corrected description of 'Set Interface Mode/Set MAC Address' command
NOTATION
--------
All numbers are expressed in hexadecimal, unless otherwise noted. All numbers are expressed in hexadecimal, unless otherwise noted.
# COMMAND SET SUMMARY
COMMAND SET SUMMARY
-------------------
The following is a partial list of implemented SCSI commands: The following is a partial list of implemented SCSI commands:
- 03 Request Sense
- 08 Read
- 09 Retrieve Statistics
- 0a Write
- 0c Set Interface Mode / Set MAC Address
- 0e Enable/disable Interface
- 12 Inquiry
03 Request Sense A number of other SCSI commands are implemented, but their usage is not yet fully known.
08 Read
09 Retrieve Statistics
0a Write
0c Set Interface Mode / Set MAC Address
0e Enable/disable Interface
12 Inquiry
A number of other SCSI commands are implemented, but their usage is ## Enable/disable Interface (0e)
not yet fully known.
Enable/disable Interface (0e)
-----------------------------
Command: 0e 00 00 00 00 XX (XX = 80 or 00) Command: 0e 00 00 00 00 XX (XX = 80 or 00)
Function: Enable (80) / disable (00) Ethernet interface Function: Enable (80) / disable (00) Ethernet interface
Type: No data transferred Type: No data transferred
Notes: After issuing an Enable, the initiator should avoid sending Notes: After issuing an Enable, the initiator should avoid sending
any subsequent commands to the device for approximately 0.5 any subsequent commands to the device for approximately 0.5
seconds seconds
## Inquiry (12)
Inquiry (12)
------------
Command: 12 00 00 00 LL 00 (LL is data length) Command: 12 00 00 00 LL 00 (LL is data length)
Function: Perform a standard SCSI Inquiry command: reference the Function: Perform a standard SCSI Inquiry command: reference the
SCSI spec for further information SCSI spec for further information
Type: Input; reference the SCSI spec for the data returned Type: Input; reference the SCSI spec for the data returned
Notes: The length is user-selectable to a maximum of 25 (37 decimal) Notes: The length is user-selectable to a maximum of 25 (37 decimal)
## Read (08)
Read (08)
---------
Command: 08 00 00 LL LL XX (LLLL is data length, XX = c0 or 80) Command: 08 00 00 LL LL XX (LLLL is data length, XX = c0 or 80)
Function: Read a packet at a time from the device (standard SCSI Read) Function: Read a packet at a time from the device (standard SCSI Read)
Type: Input; the following data is returned: Type: Input; the following data is returned:
LL LL NN NN NN NN XX XX XX ... CC CC CC CC LL LL NN NN NN NN XX XX XX ... CC CC CC CC
where: where:
LLLL is normally the length of the packet (a 2-byte LLLL is normally the length of the packet (a 2-byte
big-endian hex value), including 4 trailing bytes big-endian hex value), including 4 trailing bytes
of CRC, but excluding itself and the flag field. of CRC, but excluding itself and the flag field.
See below for special values See below for special values
NNNNNNNN is a 4-byte flag field with the following meanings: NNNNNNNN is a 4-byte flag field with the following meanings:
FFFFFFFF a packet has been dropped (?); in this case FFFFFFFF a packet has been dropped (?); in this case
the length field appears to be always 4000 the length field appears to be always 4000
00000010 there are more packets currently available 00000010 there are more packets currently available
in SCSI/Link memory in SCSI/Link memory
00000000 this is the last packet 00000000 this is the last packet
XX XX ... is the actual packet XX XX ... is the actual packet
CCCCCCCC is the CRC CCCCCCCC is the CRC
Notes: Notes:
. When all packets have been retrieved successfully, a length field - When all packets have been retrieved successfully, a length field of 0000 is returned; however, if a packet has been dropped, the SCSI/Link will instead return a non-zero length field with a flag of FFFFFFFF when there are no more packets available. This behaviour seems to continue until a disable/enable sequence has been issued.
of 0000 is returned; however, if a packet has been dropped, the - The SCSI/Link apparently has about 6KB buffer space for packets.
SCSI/Link will instead return a non-zero length field with a flag
of FFFFFFFF when there are no more packets available. This behaviour
seems to continue until a disable/enable sequence has been issued.
. The SCSI/Link apparently has about 6KB buffer space for packets.
## Request Sense (03)
Request Sense (03)
------------------
Command: 03 00 00 00 00 00 Command: 03 00 00 00 00 00
Function: Perform a standard SCSI Request Sense command Function: Perform a standard SCSI Request Sense command
Type: Input; reference the SCSI spec for the data returned Type: Input; reference the SCSI spec for the data returned
Notes: Notes:
. This command always transfers exactly 9 bytes of data (note that cdb - This command always transfers exactly 9 bytes of data (note that cdb byte 4 is always zero, however).
byte 4 is always zero, however). - If the sense key is 5, the driver should reinitialise the device via a disable/enable sequence; otherwise, it need do nothing.
. If the sense key is 5, the driver should reinitialise the device via
a disable/enable sequence; otherwise, it need do nothing.
## Retrieve Statistics (09)
Retrieve Statistics (09)
------------------------
Command: 09 00 00 00 12 00 Command: 09 00 00 00 12 00
Function: Retrieve MAC address and device statistics Function: Retrieve MAC address and device statistics
Type: Input; returns 18 (decimal) bytes of data as follows: Type: Input; returns 18 (decimal) bytes of data as follows:
. bytes 0-5: the current hardware ethernet (MAC) address - bytes 0-5: the current hardware ethernet (MAC) address
. bytes 6-17: three long word (4-byte) counters (little-endian). - bytes 6-17: three long word (4-byte) counters (little-endian).
Notes: The contents of the three longs are typically zero, and their
usage is unclear; they are suspected to be:
. long #1: frame alignment errors
. long #2: CRC errors
. long #3: frames lost
Notes:
- The contents of the three longs are typically zero, and their usage is unclear; they are suspected to be:
- long #1: frame alignment errors
- long #2: CRC errors
- long #3: frames lost
Set Interface Mode (0c) ## Set Interface Mode (0c)
-----------------------
Command: 0c 00 00 00 FF 80 (FF = 08 or 04) Command: 0c 00 00 00 FF 80 (FF = 08 or 04)
Function: Allow interface to receive broadcast messages (FF = 04); the Function: Allow interface to receive broadcast messages (FF = 04); the
function of (FF = 08) is currently unknown. function of (FF = 08) is currently unknown.
Type: No data transferred Type: No data transferred
Notes: This command is accepted by firmware 1.4a & 2.0f, but has no Notes: This command is accepted by firmware 1.4a & 2.0f, but has no
effect on 2.0f, which is always capable of receiving broadcast effect on 2.0f, which is always capable of receiving broadcast
messages. In 1.4a, once broadcast mode is set, it remains set messages. In 1.4a, once broadcast mode is set, it remains set
until the interface is disabled. until the interface is disabled.
Set MAC Address (0c) ## Set MAC Address (0c)
--------------------
Command: 0c 00 00 00 FF 40 (FF = 08 or 04) Command: 0c 00 00 00 FF 40 (FF = 08 or 04)
Function: Set MAC address Function: Set MAC address
Type: Output; overrides built-in MAC address with user-specified Type: Output; overrides built-in MAC address with user-specified
6-byte value 6-byte value
Notes: This command is intended primarily for debugging/test purposes. Notes: This command is intended primarily for debugging/test purposes.
Disabling the interface resets the MAC address to the built-in Disabling the interface resets the MAC address to the built-in
value. value.
## Write (0a)
Write (0a)
----------
Command: 0a 00 00 LL LL XX (LLLL is data length, XX = 80 or 00) Command: 0a 00 00 LL LL XX (LLLL is data length, XX = 80 or 00)
Function: Write a packet at a time to the device (standard SCSI Write) Function: Write a packet at a time to the device (standard SCSI Write)
Type: Output; the format of the data to be sent depends on the value Type: Output; the format of the data to be sent depends on the value
of XX, as follows: of XX, as follows:
. if XX = 00, LLLL is the packet length, and the data to be sent . if XX = 00, LLLL is the packet length, and the data to be sent
@ -178,3 +147,21 @@ Type: Output; the format of the data to be sent depends on the value
XX XX ... is the actual packet XX XX ... is the actual packet
========================= END OF DOCUMENT ========================= ========================= END OF DOCUMENT =========================
# Document History
The original version of this document was distributed by Roger Burrows with the following copyright information:
``Copyright 2002-2005 by Roger Burrows. All Rights Reserved. Permission is granted to copy this document providing that no changes are made to the contents.``
``LIMITATION OF LIABILITY AND DISCLAIMER OF WARRANTY``
``The information cantained in this document is provided "as-is", without warranty of any kind, expressed or implied, including without limitation any warranty concerning the accuracy, adequacy, or completeness of such information or material. The Author shall not be responsible for any claims attributable to errors, omissions, or other inaccuracies in the information or material contained in this document, and in no event shall the Author be liable for direct, indirect, special, incidental, or consequential damages arising out of the use of such information or material.``
[akuker](https://www.github.com/akuker) has contacted Roger Burrows and has received permission to modify and re-distribute this information. The Creative Commons (CC BY-SA) license is currently used to distribute this documentation.
The original revision history of this document follows:
- Version 1.00 (8/August/2002) Original version
- Version 1.10 (22/April/2005) Added description of 'Set Interface Mode/Set MAC Address' command
- Version 1.20 (16/July/2005) Corrected description of 'Set Interface Mode/Set MAC Address' command
The current version history of this document is maintained in the RaSCSI Github Wiki at: https://github.com/akuker/RASCSI/wiki/Dayna-Port-Command-Set