📄 arcmsr_spec.txt
字号:
** DWORD grsRes6; // Total to 128 bytes** } sGUI_RAIDSET, *pGUI_RAIDSET;** GUI_GET_INFO_V : Get Volume Set Information** byte 0,1 : length** byte 2 : command code 0x21** byte 3 : volumeset#** typedef struct sGUI_VOLUMESET** {** BYTE gvsVolumeName[16]; // 16** DWORD gvsCapacity;** DWORD gvsCapacityX;** DWORD gvsFailMask;** DWORD gvsStripeSize;** DWORD gvsNewFailMask;** DWORD gvsNewStripeSize;** DWORD gvsVolumeStatus;** DWORD gvsProgress; // 32** sSCSI_ATTR gvsScsi;** BYTE gvsMemberDisks;** BYTE gvsRaidLevel; // 8** BYTE gvsNewMemberDisks;** BYTE gvsNewRaidLevel;** BYTE gvsRaidSetNumber;** BYTE gvsRes0; // 4** BYTE gvsRes1[4]; // 64 bytes** } sGUI_VOLUMESET, *pGUI_VOLUMESET;** GUI_GET_INFO_P : Get Physical Drive Information** byte 0,1 : length** byte 2 : command code 0x22** byte 3 : drive # (from 0 to max-channels - 1)** typedef struct sGUI_PHY_DRV** {** BYTE gpdModelName[40];** BYTE gpdSerialNumber[20];** BYTE gpdFirmRev[8];** DWORD gpdCapacity;** DWORD gpdCapacityX; // Reserved for expansion** BYTE gpdDeviceState;** BYTE gpdPioMode;** BYTE gpdCurrentUdmaMode;** BYTE gpdUdmaMode;** BYTE gpdDriveSelect;** BYTE gpdRaidNumber; // 0xff if not belongs to a raid set** sSCSI_ATTR gpdScsi;** BYTE gpdReserved[40]; // Total to 128 bytes** } sGUI_PHY_DRV, *pGUI_PHY_DRV;** GUI_GET_INFO_S : Get System Information** byte 0,1 : length** byte 2 : command code 0x23** typedef struct sCOM_ATTR** {** BYTE comBaudRate;** BYTE comDataBits;** BYTE comStopBits;** BYTE comParity;** BYTE comFlowControl;** } sCOM_ATTR, *pCOM_ATTR;** typedef struct sSYSTEM_INFO** {** BYTE gsiVendorName[40];** BYTE gsiSerialNumber[16];** BYTE gsiFirmVersion[16];** BYTE gsiBootVersion[16];** BYTE gsiMbVersion[16];** BYTE gsiModelName[8];** BYTE gsiLocalIp[4];** BYTE gsiCurrentIp[4];** DWORD gsiTimeTick;** DWORD gsiCpuSpeed;** DWORD gsiICache;** DWORD gsiDCache;** DWORD gsiScache;** DWORD gsiMemorySize;** DWORD gsiMemorySpeed;** DWORD gsiEvents;** BYTE gsiMacAddress[6];** BYTE gsiDhcp;** BYTE gsiBeeper;** BYTE gsiChannelUsage;** BYTE gsiMaxAtaMode;** BYTE gsiSdramEcc; // 1:if ECC enabled** BYTE gsiRebuildPriority;** sCOM_ATTR gsiComA; // 5 bytes** sCOM_ATTR gsiComB; // 5 bytes** BYTE gsiIdeChannels;** BYTE gsiScsiHostChannels;** BYTE gsiIdeHostChannels;** BYTE gsiMaxVolumeSet;** BYTE gsiMaxRaidSet;** BYTE gsiEtherPort; // 1:if ether net port supported** BYTE gsiRaid6Engine; // 1:Raid6 engine supported** BYTE gsiRes[75];** } sSYSTEM_INFO, *pSYSTEM_INFO;** GUI_CLEAR_EVENT : Clear System Event** byte 0,1 : length** byte 2 : command code 0x24** GUI_MUTE_BEEPER : Mute current beeper** byte 0,1 : length** byte 2 : command code 0x30** GUI_BEEPER_SETTING : Disable beeper** byte 0,1 : length** byte 2 : command code 0x31** byte 3 : 0->disable, 1->enable** GUI_SET_PASSWORD : Change password** byte 0,1 : length** byte 2 : command code 0x32** byte 3 : pass word length ( must <= 15 )** byte 4 : password (must be alpha-numerical)** GUI_HOST_INTERFACE_MODE : Set host interface mode** byte 0,1 : length** byte 2 : command code 0x33** byte 3 : 0->Independent, 1->cluster** GUI_REBUILD_PRIORITY : Set rebuild priority** byte 0,1 : length** byte 2 : command code 0x34** byte 3 : 0/1/2/3 (low->high)** GUI_MAX_ATA_MODE : Set maximum ATA mode to be used** byte 0,1 : length** byte 2 : command code 0x35** byte 3 : 0/1/2/3 (133/100/66/33)** GUI_RESET_CONTROLLER : Reset Controller** byte 0,1 : length** byte 2 : command code 0x36** *Response with VT100 screen (discard it)** GUI_COM_PORT_SETTING : COM port setting** byte 0,1 : length** byte 2 : command code 0x37** byte 3 : 0->COMA (term port),** 1->COMB (debug port)** byte 4 : 0/1/2/3/4/5/6/7** (1200/2400/4800/9600/19200/38400/57600/115200)** byte 5 : data bit** (0:7 bit, 1:8 bit : must be 8 bit)** byte 6 : stop bit (0:1, 1:2 stop bits)** byte 7 : parity (0:none, 1:off, 2:even)** byte 8 : flow control** (0:none, 1:xon/xoff, 2:hardware => must use none)** GUI_NO_OPERATION : No operation** byte 0,1 : length** byte 2 : command code 0x38** GUI_DHCP_IP : Set DHCP option and local IP address** byte 0,1 : length** byte 2 : command code 0x39** byte 3 : 0:dhcp disabled, 1:dhcp enabled** byte 4/5/6/7 : IP address** GUI_CREATE_PASS_THROUGH : Create pass through disk** byte 0,1 : length** byte 2 : command code 0x40** byte 3 : device #** byte 4 : scsi channel (0/1)** byte 5 : scsi id (0-->15)** byte 6 : scsi lun (0-->7)** byte 7 : tagged queue (1 : enabled)** byte 8 : cache mode (1 : enabled)** byte 9 : max 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,1 : length** byte 2 : command code 0x41** byte 3 : device #** byte 4 : scsi channel (0/1)** byte 5 : scsi id (0-->15)** byte 6 : scsi lun (0-->7)** byte 7 : tagged queue (1 : enabled)** byte 8 : cache mode (1 : enabled)** byte 9 : max 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,1 : length** byte 2 : command code 0x42** byte 3 : device# to be deleted** GUI_IDENTIFY_DEVICE : Identify Device** byte 0,1 : length** byte 2 : command code 0x43** byte 3 : Flash Method** (0:flash selected, 1:flash not selected)** byte 4/5/6/7 : IDE device mask to be flashed** note .... no response data available** GUI_CREATE_RAIDSET : Create Raid Set** byte 0,1 : length** byte 2 : command code 0x50** byte 3/4/5/6 : device mask** byte 7-22 : raidset name (if byte 7 == 0:use default)** GUI_DELETE_RAIDSET : Delete Raid Set** byte 0,1 : length** byte 2 : command code 0x51** byte 3 : raidset#** GUI_EXPAND_RAIDSET : Expand Raid Set** byte 0,1 : length** byte 2 : command code 0x52** byte 3 : raidset#** byte 4/5/6/7 : device mask for expansion** byte 8/9/10 : (8:0 no change, 1 change, 0xff:terminate,** 9:new raid level,** 10:new stripe size** 0/1/2/3/4/5->4/8/16/32/64/128K )** byte 11/12/13 : repeat for each volume in the raidset** GUI_ACTIVATE_RAIDSET : Activate incomplete raid set** byte 0,1 : length** byte 2 : command code 0x53** byte 3 : raidset#** GUI_CREATE_HOT_SPARE : Create hot spare disk** byte 0,1 : length** byte 2 : command code 0x54** byte 3/4/5/6 : device mask for hot spare creation** GUI_DELETE_HOT_SPARE : Delete hot spare disk** byte 0,1 : length** byte 2 : command code 0x55** byte 3/4/5/6 : device mask for hot spare deletion** GUI_CREATE_VOLUME : Create volume set** byte 0,1 : length** byte 2 : command code 0x60** byte 3 : raidset#** byte 4-19 : volume set name** (if byte4 == 0, use default)** byte 20-27 : volume capacity (blocks)** byte 28 : raid level** byte 29 : stripe size** (0/1/2/3/4/5->4/8/16/32/64/128K)** byte 30 : channel** byte 31 : ID** byte 32 : LUN** byte 33 : 1 enable tag** byte 34 : 1 enable cache** byte 35 : 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 )** byte 36 : 1 to select quick init**** GUI_MODIFY_VOLUME : Modify volume Set** byte 0,1 : length** byte 2 : command code 0x61** byte 3 : volumeset#** byte 4-19 : new volume set name** (if byte4 == 0, not change)** byte 20-27 : new volume capacity (reserved)** byte 28 : new raid level** byte 29 : new stripe size** (0/1/2/3/4/5->4/8/16/32/64/128K)** byte 30 : new channel** byte 31 : new ID** byte 32 : new LUN** byte 33 : 1 enable tag** byte 34 : 1 enable cache** byte 35 : 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_VOLUME : Delete volume set** byte 0,1 : length** byte 2 : command code 0x62** byte 3 : volumeset#** GUI_START_CHECK_VOLUME : Start volume consistency check** byte 0,1 : length** byte 2 : command code 0x63** byte 3 : volumeset#** GUI_STOP_CHECK_VOLUME : Stop volume consistency check** byte 0,1 : length** byte 2 : command code 0x64** ---------------------------------------------------------------------** 4. Returned data** ---------------------------------------------------------------------** (A) Header : 3 bytes sequence (0x5E, 0x01, 0x61)** (B) Length : 2 bytes** (low byte 1st, excludes length and checksum byte)** (C) status or data :** <1> If length == 1 ==> 1 byte status code** #define GUI_OK 0x41** #define GUI_RAIDSET_NOT_NORMAL 0x42** #define GUI_VOLUMESET_NOT_NORMAL 0x43** #define GUI_NO_RAIDSET 0x44** #define GUI_NO_VOLUMESET 0x45** #define GUI_NO_PHYSICAL_DRIVE 0x46** #define GUI_PARAMETER_ERROR 0x47** #define GUI_UNSUPPORTED_COMMAND 0x48** #define GUI_DISK_CONFIG_CHANGED 0x49** #define GUI_INVALID_PASSWORD 0x4a** #define GUI_NO_DISK_SPACE 0x4b** #define GUI_CHECKSUM_ERROR 0x4c** #define GUI_PASSWORD_REQUIRED 0x4d** <2> If length > 1 ==>** data block returned from controller** and the contents depends on the command code** (E) Checksum : checksum of length and status or data byte**************************************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -