Areca SCSI & RAID Devices Driver Download For Windows 10



The lsscsi command lists information about SCSI devices in Linux. Disk SEAGATE ST200FM0073 0007 /dev/sdd 6:0:3:0 enclosu Areca ARC-802801. The ARC-1330 series is a low profile host adapter. It brings the fastest available connections to SAS data transfer rates of 12, 6, and 3 Gb/s per lane and SATA data transfer rates of 6 and 3Gb/s per lane interface storage on any computer, workstation and server with PCI Express 3.0 interface.

Areca ARC-1330-8i (PCIe 3.0 12Gb/s SAS Host Adapter) x8 lane PCI Express® 3.0; 8 x internal; 128 X 3Gb/s, 6Gb/s and 12Gb/s SAS/SATA; Connects to SAS/SATA HDDs, solid state driver (SSDs) and removable media (DAS/JBOD) Support a maximum 128 SAS/SATA devices using SAS expander; Serial Attached SCSI (SAS-3.0) compliant; Hot-plug capability. Areca JBOD Expander Solutions Areca JBOD Expander Solutions SAS-to-SAS JBOD box provides a compact external storage chassis capable of accommodating up to 8 to 12, 12Gb/s, Serial-Attached SCSI (SAS) drives or 6Gb/s Serial ATA (SATA) drives.

(All In/Out is in IOP331’s view)

2. Doorbell is used for RS-232 emulation¶

inDoorBell
bit0
data in readyzDRIVER DATA WRITE OK)
bit1
data out has been read(DRIVER DATA READ OK)
outDooeBell:
bit0
data out ready(IOP331 DATA WRITE OK)
bit1
data in has been read(IOP331 DATA READ OK)

3. Index Memory Usage¶

offset 0xf00for RS232 out (request buffer)
offset 0xe00for RS232 in (scratch buffer)
offset 0xa00for inbound message code message_rwbuffer(driver send to IOP331)
offset 0xa00for outbound message code message_rwbuffer(IOP331 send to driver)

4. RS-232 emulation¶

Currently 128 byte buffer is used:

1st uint32_tData length (1–124)
Byte 4–127Max 124 bytes of data

5. PostQ¶

All SCSI Command must be sent through postQ:

(inbound queue port)

Request frame must be 32 bytes aligned:

#bit27–bit31
flag for post ccb
#bit0–bit26

real address (bit27–bit31) of post arcmsr_cdb

bit31
0256 bytes frame
1512 bytes frame
bit30
0normal request
1BIOS request
bit29reserved
bit28reserved
bit27reserved
(outbount queue port)

Request reply:

#bit27–bit31
flag for reply
#bit0–bit26

real address (bit27–bit31) of reply arcmsr_cdb

bit31must be 0 (for this type of reply)
bit30reserved for BIOS handshake
bit29reserved
bit28
0no error, ignore AdapStatus/DevStatus/SenseData
1Error, error code in AdapStatus/DevStatus/SenseData
bit27reserved

6. BIOS request¶

All BIOS request is the same with request from PostQ

Except:

Request frame is sent from configuration space:

offset: 0x78Request Frame (bit30 1)
offset: 0x18writeonly to generateIRQ to IOP331

Completion of request:

7. Definition of SGL entry (structure)¶

9. Message0 message code¶

0x00NOP
0x01

Get Config->offset 0xa00 :for outbound message code message_rwbuffer(IOP331 send to driver)

Signature0x87974060(4)
Request len0x00000200(4)
numbers of queue0x00000100(4)
SDRAM Size0x00000100(4)–>256 MB
IDE Channels0x00000008(4)
vendor40 bytes char
model8 bytes char
FirmVer16 bytes char
Device Map16 bytes char
FirmwareVersion

DWORD

  • Added for checking ofnew firmware capability
0x02

Set Config->offset 0xa00 :for inbound message code message_rwbuffer(driver send to IOP331)

Signature0x87974063(4)
UPPER32 of Request Frame(4)–>Driver Only
0x03Reset (Abort all queued Command)
0x04Stop Background Activity
0x05Flush Cache
0x06Start Background Activity(re-start if background is halted)
0x07Check If Host Command Pending(Novell May Need This Function)
0x08

Set controller time->offset 0xa00 for inbound message code message_rwbuffer(driver to IOP331)

byte 00xaa <– signature
byte 10x55 <– signature
byte 2year (04)
byte 3month (1..12)
byte 4date (1..31)
byte 5hour (0..23)
byte 6minute (0..59)
byte 7second (0..59)
The low level command interface is exclusive with VT100 terminal

1. Sequence of command execution¶

  1. Header
    3 bytes sequence (0x5E, 0x01, 0x61)
  2. Command block
    variable length of data including length,command code, data and checksum byte
  3. Return data
    variable length of data

2. Command block¶

  1. 1st byte

    command block length (low byte)

  2. 2nd byte

    command block length (high byte)

    Note

    command block length shouldn’t > 2040 bytes,length excludes these two bytes

  3. 3rd byte

    command code

  4. 4th and following bytes

    variable length data bytes

    depends on command code

  5. last bytechecksum byte (sum of 1st byte until last data byte)

3. Command code and associated data¶

The following are command code defined in raid controller Commandcode 0x10–0x1? are used for system level management,no password checking is needed and should be implemented in separatewell controlled utility and not for end user access.Command code 0x20–0x?? always check the password,password must be entered to enable these command:

Command description¶

GUI_SET_SERIAL

Set the controller serial#

byte 0,1length
byte 2command code 0x10
byte 3password length (should be 0x0f)
byte 4-0x13should be “ArEcATecHnoLogY”
byte 0x14–0x23Serial number string (must be 16 bytes)
GUI_SET_VENDOR

Set vendor string for the controller

byte 0,1length
byte 2command code 0x11
byte 3password length (should be 0x08)
byte 4-0x13should be “ArEcAvAr”
byte 0x14–0x3Bvendor string (must be 40 bytes)
GUI_SET_MODEL

Set the model name of the controller

byte 0,1length
byte 2command code 0x12
byte 3password length (should be 0x08)
byte 4-0x13should be “ArEcAvAr”
byte 0x14–0x1Bmodel string (must be 8 bytes)
GUI_IDENTIFY

Identify device

byte 0,1length
byte 2
command code 0x13
return “Areca RAID Subsystem “
GUI_CHECK_PASSWORD

Verify password

byte 0,1length
byte 2command code 0x14
byte 3password length
byte 4-0x??user password to be checked
GUI_LOGOUT

Logout GUI (force password checking on next command)

byte 0,1length
byte 2command code 0x15
GUI_HTTP
HTTP interface (reserved for Http proxy service)(0x16)
GUI_SET_ETHERNET_ADDR

Areca SCSI & RAID Devices Driver Download For Windows 10

Set the ethernet MAC address

byte 0,1length
byte 2command code 0x17
byte 3password length (should be 0x08)
byte 4-0x13should be “ArEcAvAr”
byte 0x14–0x19Ethernet MAC address (must be 6 bytes)
GUI_SET_LOGO

Set logo in HTTP

byte 0,1length
byte 2command code 0x18
byte 3Page# (0/1/2/3) (0xff –> clear OEM logo)
byte 4/5/6/70x55/0xaa/0xa5/0x5a
byte 8

TITLE.JPG data (each page must be 2000 bytes)

Note

page0 1st 2 byte must beactual length of the JPG file

GUI_POLL_EVENT

Poll If Event Log Changed

byte 0,1length
byte 2command code 0x19
GUI_GET_EVENT

Read Event

byte 0,1length
byte 2command code 0x1a
byte 3Event Page (0:1st page/1/2/3:last page)
GUI_GET_HW_MONITOR

Get HW monitor data

byte 0,1length
byte 2command code 0x1b
byte 3# of FANs(example 2)
byte 4# of Voltage sensor(example 3)
byte 5# of temperature sensor(example 2)
byte 6# of power
byte 7/8Fan#0 (RPM)
byte 9/10Fan#1
byte 11/12Voltage#0 original value in *1000
byte 13/14Voltage#0 value
byte 15/16Voltage#1 org
byte 17/18Voltage#1
byte 19/20Voltage#2 org
byte 21/22Voltage#2
byte 23Temp#0
byte 24Temp#1
byte 25Power indicator (bit0 power#0,bit1 power#1)
byte 26UPS indicator
GUI_QUICK_CREATE

Quick create raid/volume set

byte 0,1length
byte 2command code 0x20
byte 3/4/5/6raw capacity
byte 7raid level
byte 8stripe size
byte 9spare
byte 10/11/12/13device mask (the devices to create raid/volume)

This function is removed, application liketo implement quick create function

need to use GUI_CREATE_RAIDSET and GUI_CREATE_VOLUMESET function.

GUI_GET_INFO_R

Get Raid Set Information

byte 0,1length
byte 2command code 0x20
byte 3raidset#
GUI_GET_INFO_V
Areca SCSI & RAID Devices Driver Download For Windows 10

Get Volume Set Information

byte 0,1length
byte 2command code 0x21
byte 3volumeset#
GUI_GET_INFO_P

Get Physical Drive Information

byte 0,1length
byte 2command code 0x22
byte 3drive # (from 0 to max-channels - 1)
GUI_GET_INFO_S

Get System Information

byte 0,1length
byte 2command code 0x23
GUI_CLEAR_EVENT

Clear System Event

byte 0,1length
byte 2command code 0x24
Areca SCSI & RAID Devices Driver Download For Windows 10
GUI_MUTE_BEEPER

Mute current beeper

byte 0,1length
byte 2command code 0x30
GUI_BEEPER_SETTING

Disable beeper

byte 0,1length
byte 2command code 0x31
byte 30->disable, 1->enable
GUI_SET_PASSWORD

Change password

byte 0,1length
byte 2command code 0x32
byte 3pass word length ( must <= 15 )
byte 4password (must be alpha-numerical)
GUI_HOST_INTERFACE_MODE

Set host interface mode

byte 0,1length
byte 2command code 0x33
byte 30->Independent, 1->cluster
GUI_REBUILD_PRIORITY

Set rebuild priority

byte 0,1length
byte 2command code 0x34
byte 30/1/2/3 (low->high)
GUI_MAX_ATA_MODE

Set maximum ATA mode to be used

byte 0,1length
byte 2command code 0x35
byte 30/1/2/3 (133/100/66/33)
GUI_RESET_CONTROLLER

Reset Controller

byte 0,1length
byte 2command code 0x36* Response with VT100 screen (discard it)
GUI_COM_PORT_SETTING

COM port setting

byte 0,1length
byte 2command code 0x37
byte 30->COMA (term port),1->COMB (debug port)
byte 40/1/2/3/4/5/6/7(1200/2400/4800/9600/19200/38400/57600/115200)
byte 5data bit(0:7 bit, 1:8 bit must be 8 bit)
byte 6stop bit (0:1, 1:2 stop bits)
byte 7parity (0:none, 1:off, 2:even)
byte 8flow control(0:none, 1:xon/xoff, 2:hardware => must use none)
GUI_NO_OPERATION

No operation

byte 0,1length
byte 2command code 0x38
GUI_DHCP_IP

Set DHCP option and local IP address

byte 0,1length
byte 2command code 0x39
byte 30:dhcp disabled, 1:dhcp enabled
byte 4/5/6/7IP address
GUI_CREATE_PASS_THROUGH

Create pass through disk

byte 0,1length
byte 2command code 0x40
byte 3device #
byte 4scsi channel (0/1)
byte 5scsi id (0–>15)
byte 6scsi lun (0–>7)
byte 7tagged queue (1 enabled)
byte 8cache mode (1 enabled)
byte 9max speed (0/1/2/3/4,async/20/40/80/160 for scsi)(0/1/2/3/4, 33/66/100/133/150 for ide )
GUI_MODIFY_PASS_THROUGH

Modify pass through disk

byte 0,1length
byte 2command code 0x41
byte 3device #
byte 4scsi channel (0/1)
byte 5scsi id (0–>15)
byte 6scsi lun (0–>7)
byte 7tagged queue (1 enabled)
byte 8cache mode (1 enabled)
byte 9max speed (0/1/2/3/4,async/20/40/80/160 for scsi)(0/1/2/3/4, 33/66/100/133/150 for ide )
GUI_DELETE_PASS_THROUGH

Delete pass through disk

byte 0,1length
byte 2command code 0x42
byte 3device# to be deleted
GUI_IDENTIFY_DEVICE

Identify Device

byte 0,1length
byte 2command code 0x43
byte 3Flash Method(0:flash selected, 1:flash not selected)
byte 4/5/6/7IDE device mask to be flashed.. Note:: no response data available
GUI_CREATE_RAIDSET

Create Raid Set

byte 0,1length
byte 2command code 0x50
byte 3/4/5/6device mask
byte 7-22raidset name (if byte 7 0:use default)
GUI_DELETE_RAIDSET

Delete Raid Set

byte 0,1length
byte 2command code 0x51
byte 3raidset#
GUI_EXPAND_RAIDSET

Expand Raid Set

byte 0,1length
byte 2command code 0x52
byte 3raidset#
byte 4/5/6/7device mask for expansion
byte 8/9/10(8:0 no change, 1 change, 0xff:terminate,9:new raid level,10:new stripe size0/1/2/3/4/5->4/8/16/32/64/128K )
byte 11/12/13repeat for each volume in the raidset
GUI_ACTIVATE_RAIDSET

Activate incomplete raid set

Areca SCSI & RAID Devices Driver Download For Windows 10
byte 0,1length
byte 2command code 0x53
byte 3raidset#
GUI_CREATE_HOT_SPARE

Create hot spare disk

byte 0,1length
byte 2command code 0x54
byte 3/4/5/6device mask for hot spare creation
GUI_DELETE_HOT_SPARE

Delete hot spare disk

byte 0,1length
byte 2command code 0x55
byte 3/4/5/6device mask for hot spare deletion
GUI_CREATE_VOLUME

Create volume set

byte 0,1length
byte 2command code 0x60
byte 3raidset#
byte 4-19volume set name(if byte4 0, use default)
byte 20-27volume capacity (blocks)
byte 28raid level
byte 29stripe size(0/1/2/3/4/5->4/8/16/32/64/128K)
byte 30channel
byte 31ID
byte 32LUN
byte 331 enable tag
byte 341 enable cache
byte 35speed(0/1/2/3/4->async/20/40/80/160 for scsi)(0/1/2/3/4->33/66/100/133/150 for IDE )
byte 361 to select quick init
GUI_MODIFY_VOLUME

Modify volume Set

byte 0,1length
byte 2command code 0x61
byte 3volumeset#
byte 4-19new volume set name(if byte4 0, not change)
byte 20-27new volume capacity (reserved)
byte 28new raid level
byte 29new stripe size(0/1/2/3/4/5->4/8/16/32/64/128K)
byte 30new channel
byte 31new ID
byte 32new LUN
byte 331 enable tag
byte 341 enable cache
byte 35speed(0/1/2/3/4->async/20/40/80/160 for scsi)(0/1/2/3/4->33/66/100/133/150 for IDE )
GUI_DELETE_VOLUME

Delete volume set

byte 0,1length
byte 2command code 0x62
byte 3volumeset#

Areca Scsi & Raid Devices Driver Download For Windows 10 32-bit

GUI_START_CHECK_VOLUME

Start volume consistency check

byte 0,1length
byte 2command code 0x63
byte 3volumeset#
GUI_STOP_CHECK_VOLUME

Stop volume consistency check

byte 0,1length
byte 2command code 0x64

4. Returned data¶

  1. Header3 bytes sequence (0x5E, 0x01, 0x61)

  2. Length2 bytes(low byte 1st, excludes length and checksum byte)

  3. status or data:

    1. If length 1 > 1 byte status code:

    2. If length > 1:

      data block returned from controllerand the contents depends on the command code

  1. Checksumchecksum of length and status or data byte