brintos

brintos / linux-shallow public Read only

0
0
Text · 25.4 KiB · 792c731 Raw
909 lines · plain
1===================2ARECA FIRMWARE SPEC3===================4 5Usage of IOP331 adapter6=======================7 8(All In/Out is in IOP331's view)9 101. Message 011------------12 13- InitThread message and return code14 152. Doorbell is used for RS-232 emulation16----------------------------------------17 18inDoorBell19    bit020	data in ready21	zDRIVER DATA WRITE OK)22    bit123	data out has been read24	(DRIVER DATA READ OK)25 26outDooeBell:27    bit028	data out ready29	(IOP331 DATA WRITE OK)30    bit131	data in has been read32	(IOP331 DATA READ OK)33 343. Index Memory Usage35---------------------36 37============   ==========================================38offset 0xf00   for RS232 out (request buffer)39offset 0xe00   for RS232 in  (scratch buffer)40offset 0xa00   for inbound message code message_rwbuffer41	       (driver send to IOP331)42offset 0xa00   for outbound message code message_rwbuffer43	       (IOP331 send to driver)44============   ==========================================45 464. RS-232 emulation47-------------------48 49Currently 128 byte buffer is used:50 51============   =====================521st uint32_t   Data length (1--124)53Byte 4--127    Max 124 bytes of data54============   =====================55 565. PostQ57--------58 59All SCSI Command must be sent through postQ:60 61    (inbound queue port)62	Request frame must be 32 bytes aligned:63 64	    #bit27--bit3165		flag for post ccb66	    #bit0--bit2667		real address (bit27--bit31) of post arcmsr_cdb68 69		=====   ===================70		bit31   ==  ===============71			0   256 bytes frame72			1   512 bytes frame73			==  ===============74		bit30   ==  ==============75			0   normal request76			1   BIOS request77			==  ==============78		bit29   reserved79		bit28   reserved80		bit27   reserved81		=====   ===================82 83    (outbount queue port)84	Request reply:85 86	    #bit27--bit3187		    flag for reply88	    #bit0--bit2689		    real address (bit27--bit31) of reply arcmsr_cdb90 91		    =====   =======================================================92		    bit31   must be 0 (for this type of reply)93		    bit30   reserved for BIOS handshake94		    bit29   reserved95		    bit28   ==  ===================================================96			    0   no error, ignore AdapStatus/DevStatus/SenseData97			    1   Error, error code in AdapStatus/DevStatus/SenseData98			    ==  ===================================================99		    bit27   reserved100		    =====   =======================================================101 1026. BIOS request103---------------104 105All BIOS request is the same with request from PostQ106 107Except:108 109Request frame is sent from configuration space:110 111	============   ==========================112	offset: 0x78   Request Frame (bit30 == 1)113	offset: 0x18   writeonly to generate114		       IRQ to IOP331115	============   ==========================116 117Completion of request::118 119	(bit30 == 0, bit28==err flag)120 1217. Definition of SGL entry (structure)122--------------------------------------123 1248. Message1 Out - Diag Status Code (????)125-----------------------------------------126 1279. Message0 message code128------------------------129 130======  =================================================================1310x00    NOP1320x01    Get Config133	->offset 0xa00 :for outbound message code message_rwbuffer134	(IOP331 send to driver)135 136	===================== ==========================================137	Signature             0x87974060(4)138	Request len           0x00000200(4)139	numbers of queue      0x00000100(4)140	SDRAM Size            0x00000100(4)-->256 MB141	IDE Channels          0x00000008(4)142	vendor                40 bytes char143	model                 8 bytes char144	FirmVer               16 bytes char145	Device Map            16 bytes char146	FirmwareVersion       DWORD147 148			      - Added for checking of149				new firmware capability150	===================== ==========================================1510x02    Set Config152	->offset 0xa00 :for inbound message code message_rwbuffer153	(driver send to IOP331)154 155	========================= ==================156	Signature                 0x87974063(4)157	UPPER32 of Request Frame  (4)-->Driver Only158	========================= ==================1590x03    Reset (Abort all queued Command)1600x04    Stop Background Activity1610x05    Flush Cache1620x06    Start Background Activity163	(re-start if background is halted)1640x07    Check If Host Command Pending165	(Novell May Need This Function)1660x08    Set controller time167	->offset 0xa00   for inbound message code message_rwbuffer168	(driver to IOP331)169 170	======   ==================171	byte 0   0xaa <-- signature172	byte 1   0x55 <-- signature173	byte 2   year (04)174	byte 3   month (1..12)175	byte 4   date (1..31)176	byte 5   hour (0..23)177	byte 6   minute (0..59)178	byte 7   second (0..59)179	======   ==================180======  =================================================================181 182 183RS-232 Interface for Areca Raid Controller184==========================================185 186      The low level command interface is exclusive with VT100 terminal187 1881. Sequence of command execution189--------------------------------190 191	(A) Header192		3 bytes sequence (0x5E, 0x01, 0x61)193 194	(B) Command block195		variable length of data including length,196		command code, data and checksum byte197 198	(C) Return data199		variable length of data200 2012. Command block202----------------203 204	(A) 1st byte205		command block length (low byte)206 207	(B) 2nd byte208		command block length (high byte)209 210		.. Note:: command block length shouldn't > 2040 bytes,211			  length excludes these two bytes212 213	(C) 3rd byte214		command code215 216	(D) 4th and following bytes217		variable length data bytes218 219	    depends on command code220 221	(E) last byte222	    checksum byte (sum of 1st byte until last data byte)223 2243. Command code and associated data225-----------------------------------226 227The following are command code defined in raid controller Command228code 0x10--0x1? are used for system level management,229no password checking is needed and should be implemented in separate230well controlled utility and not for end user access.231Command code 0x20--0x?? always check the password,232password must be entered to enable these command::233 234	enum235	{236		GUI_SET_SERIAL=0x10,237		GUI_SET_VENDOR,238		GUI_SET_MODEL,239		GUI_IDENTIFY,240		GUI_CHECK_PASSWORD,241		GUI_LOGOUT,242		GUI_HTTP,243		GUI_SET_ETHERNET_ADDR,244		GUI_SET_LOGO,245		GUI_POLL_EVENT,246		GUI_GET_EVENT,247		GUI_GET_HW_MONITOR,248		//    GUI_QUICK_CREATE=0x20, (function removed)249		GUI_GET_INFO_R=0x20,250		GUI_GET_INFO_V,251		GUI_GET_INFO_P,252		GUI_GET_INFO_S,253		GUI_CLEAR_EVENT,254		GUI_MUTE_BEEPER=0x30,255		GUI_BEEPER_SETTING,256		GUI_SET_PASSWORD,257		GUI_HOST_INTERFACE_MODE,258		GUI_REBUILD_PRIORITY,259		GUI_MAX_ATA_MODE,260		GUI_RESET_CONTROLLER,261		GUI_COM_PORT_SETTING,262		GUI_NO_OPERATION,263		GUI_DHCP_IP,264		GUI_CREATE_PASS_THROUGH=0x40,265		GUI_MODIFY_PASS_THROUGH,266		GUI_DELETE_PASS_THROUGH,267		GUI_IDENTIFY_DEVICE,268		GUI_CREATE_RAIDSET=0x50,269		GUI_DELETE_RAIDSET,270		GUI_EXPAND_RAIDSET,271		GUI_ACTIVATE_RAIDSET,272		GUI_CREATE_HOT_SPARE,273		GUI_DELETE_HOT_SPARE,274		GUI_CREATE_VOLUME=0x60,275		GUI_MODIFY_VOLUME,276		GUI_DELETE_VOLUME,277		GUI_START_CHECK_VOLUME,278		GUI_STOP_CHECK_VOLUME279	};280 281Command description282^^^^^^^^^^^^^^^^^^^283 284GUI_SET_SERIAL285	Set the controller serial#286 287	================  =============================================288	byte 0,1          length289	byte 2            command code 0x10290	byte 3            password length (should be 0x0f)291	byte 4-0x13       should be "ArEcATecHnoLogY"292	byte 0x14--0x23   Serial number string (must be 16 bytes)293	================  =============================================294 295GUI_SET_VENDOR296	Set vendor string for the controller297 298	================  =============================================299	byte 0,1          length300	byte 2            command code 0x11301	byte 3            password length (should be 0x08)302	byte 4-0x13       should be "ArEcAvAr"303	byte 0x14--0x3B   vendor string (must be 40 bytes)304	================  =============================================305 306GUI_SET_MODEL307	Set the model name of the controller308 309	================  =============================================310	byte 0,1          length311	byte 2            command code 0x12312	byte 3            password length (should be 0x08)313	byte 4-0x13       should be "ArEcAvAr"314	byte 0x14--0x1B   model string (must be 8 bytes)315	================  =============================================316 317GUI_IDENTIFY318	Identify device319 320	================  =============================================321	byte 0,1          length322	byte 2            command code 0x13323			    return "Areca RAID Subsystem "324	================  =============================================325 326GUI_CHECK_PASSWORD327	Verify password328 329	================  =============================================330	byte 0,1          length331	byte 2            command code 0x14332	byte 3            password length333	byte 4-0x??       user password to be checked334	================  =============================================335 336GUI_LOGOUT337	Logout GUI (force password checking on next command)338 339	================  =============================================340	byte 0,1          length341	byte 2            command code 0x15342	================  =============================================343 344GUI_HTTP345	HTTP interface (reserved for Http proxy service)(0x16)346 347GUI_SET_ETHERNET_ADDR348	Set the ethernet MAC address349 350	================  =============================================351	byte 0,1          length352	byte 2            command code 0x17353	byte 3            password length (should be 0x08)354	byte 4-0x13       should be "ArEcAvAr"355	byte 0x14--0x19   Ethernet MAC address (must be 6 bytes)356	================  =============================================357 358GUI_SET_LOGO359	Set logo in HTTP360 361	================  =============================================362	byte 0,1          length363	byte 2            command code 0x18364	byte 3            Page# (0/1/2/3) (0xff --> clear OEM logo)365	byte 4/5/6/7      0x55/0xaa/0xa5/0x5a366	byte 8            TITLE.JPG data (each page must be 2000 bytes)367 368			  .. Note:: page0 1st 2 byte must be369				    actual length of the JPG file370	================  =============================================371 372GUI_POLL_EVENT373	Poll If Event Log Changed374 375	================  =============================================376	byte 0,1          length377	byte 2            command code 0x19378	================  =============================================379 380GUI_GET_EVENT381	Read Event382 383	================  =============================================384	byte 0,1          length385	byte 2            command code 0x1a386	byte 3            Event Page (0:1st page/1/2/3:last page)387	================  =============================================388 389GUI_GET_HW_MONITOR390	Get HW monitor data391 392	================  =============================================393	byte 0,1          length394	byte 2 		  command code 0x1b395	byte 3 		  # of FANs(example 2)396	byte 4 		  # of Voltage sensor(example 3)397	byte 5 		  # of temperature sensor(example 2)398	byte 6 		  # of power399	byte 7/8          Fan#0 (RPM)400	byte 9/10         Fan#1401	byte 11/12 	  Voltage#0 original value in ``*1000``402	byte 13/14 	  Voltage#0 value403	byte 15/16 	  Voltage#1 org404	byte 17/18 	  Voltage#1405	byte 19/20 	  Voltage#2 org406	byte 21/22 	  Voltage#2407	byte 23 	  Temp#0408	byte 24 	  Temp#1409	byte 25 	  Power indicator (bit0   power#0,410			  bit1   power#1)411	byte 26 	  UPS indicator412	================  =============================================413 414GUI_QUICK_CREATE415	Quick create raid/volume set416 417	================  ==============================================418	byte 0,1       	  length419	byte 2         	  command code 0x20420	byte 3/4/5/6   	  raw capacity421	byte 7 		  raid level422	byte 8 		  stripe size423	byte 9 		  spare424	byte 10/11/12/13  device mask (the devices to create raid/volume)425	================  ==============================================426 427    This function is removed, application like428    to implement quick create function429 430    need to use GUI_CREATE_RAIDSET and GUI_CREATE_VOLUMESET function.431 432GUI_GET_INFO_R433	Get Raid Set Information434 435	================  =============================================436	byte 0,1          length437	byte 2            command code 0x20438	byte 3            raidset#439	================  =============================================440 441	::442 443	    typedef struct sGUI_RAIDSET444	    {445		    BYTE grsRaidSetName[16];446		    DWORD grsCapacity;447		    DWORD grsCapacityX;448		    DWORD grsFailMask;449		    BYTE grsDevArray[32];450		    BYTE grsMemberDevices;451		    BYTE grsNewMemberDevices;452		    BYTE grsRaidState;453		    BYTE grsVolumes;454		    BYTE grsVolumeList[16];455		    BYTE grsRes1;456		    BYTE grsRes2;457		    BYTE grsRes3;458		    BYTE grsFreeSegments;459		    DWORD grsRawStripes[8];460		    DWORD grsRes4;461		    DWORD grsRes5; //     Total to 128 bytes462		    DWORD grsRes6; //     Total to 128 bytes463	    } sGUI_RAIDSET, *pGUI_RAIDSET;464 465GUI_GET_INFO_V466	Get Volume Set Information467 468	================  =============================================469	byte 0,1          length470	byte 2            command code 0x21471	byte 3            volumeset#472	================  =============================================473 474	::475 476	    typedef struct sGUI_VOLUMESET477	    {478		    BYTE gvsVolumeName[16]; //     16479		    DWORD gvsCapacity;480		    DWORD gvsCapacityX;481		    DWORD gvsFailMask;482		    DWORD gvsStripeSize;483		    DWORD gvsNewFailMask;484		    DWORD gvsNewStripeSize;485		    DWORD gvsVolumeStatus;486		    DWORD gvsProgress; //     32487		    sSCSI_ATTR gvsScsi;488		    BYTE gvsMemberDisks;489		    BYTE gvsRaidLevel; //     8490		    BYTE gvsNewMemberDisks;491		    BYTE gvsNewRaidLevel;492		    BYTE gvsRaidSetNumber;493		    BYTE gvsRes0; //     4494		    BYTE gvsRes1[4]; //     64 bytes495	    } sGUI_VOLUMESET, *pGUI_VOLUMESET;496 497GUI_GET_INFO_P498	Get Physical Drive Information499 500	================  =============================================501	byte 0,1          length502	byte 2            command code 0x22503	byte 3            drive # (from 0 to max-channels - 1)504	================  =============================================505 506	::507 508	    typedef struct sGUI_PHY_DRV509	    {510		    BYTE gpdModelName[40];511		    BYTE gpdSerialNumber[20];512		    BYTE gpdFirmRev[8];513		    DWORD gpdCapacity;514		    DWORD gpdCapacityX; //     Reserved for expansion515		    BYTE gpdDeviceState;516		    BYTE gpdPioMode;517		    BYTE gpdCurrentUdmaMode;518		    BYTE gpdUdmaMode;519		    BYTE gpdDriveSelect;520		    BYTE gpdRaidNumber; //     0xff if not belongs to a raid set521		    sSCSI_ATTR gpdScsi;522		    BYTE gpdReserved[40]; //     Total to 128 bytes523	    } sGUI_PHY_DRV, *pGUI_PHY_DRV;524 525GUI_GET_INFO_S526	Get System Information527 528	================  =============================================529	byte 0,1          length530	byte 2            command code 0x23531	================  =============================================532 533	::534 535	    typedef struct sCOM_ATTR536	    {537		    BYTE comBaudRate;538		    BYTE comDataBits;539		    BYTE comStopBits;540		    BYTE comParity;541		    BYTE comFlowControl;542	    } sCOM_ATTR, *pCOM_ATTR;543	    typedef struct sSYSTEM_INFO544	    {545		    BYTE gsiVendorName[40];546		    BYTE gsiSerialNumber[16];547		    BYTE gsiFirmVersion[16];548		    BYTE gsiBootVersion[16];549		    BYTE gsiMbVersion[16];550		    BYTE gsiModelName[8];551		    BYTE gsiLocalIp[4];552		    BYTE gsiCurrentIp[4];553		    DWORD gsiTimeTick;554		    DWORD gsiCpuSpeed;555		    DWORD gsiICache;556		    DWORD gsiDCache;557		    DWORD gsiScache;558		    DWORD gsiMemorySize;559		    DWORD gsiMemorySpeed;560		    DWORD gsiEvents;561		    BYTE gsiMacAddress[6];562		    BYTE gsiDhcp;563		    BYTE gsiBeeper;564		    BYTE gsiChannelUsage;565		    BYTE gsiMaxAtaMode;566		    BYTE gsiSdramEcc; //     1:if ECC enabled567		    BYTE gsiRebuildPriority;568		    sCOM_ATTR gsiComA; //     5 bytes569		    sCOM_ATTR gsiComB; //     5 bytes570		    BYTE gsiIdeChannels;571		    BYTE gsiScsiHostChannels;572		    BYTE gsiIdeHostChannels;573		    BYTE gsiMaxVolumeSet;574		    BYTE gsiMaxRaidSet;575		    BYTE gsiEtherPort; //     1:if ether net port supported576		    BYTE gsiRaid6Engine; //     1:Raid6 engine supported577		    BYTE gsiRes[75];578	    } sSYSTEM_INFO, *pSYSTEM_INFO;579 580GUI_CLEAR_EVENT581	Clear System Event582 583	================  =============================================584	byte 0,1          length585	byte 2            command code 0x24586	================  =============================================587 588GUI_MUTE_BEEPER589	Mute current beeper590 591	================  =============================================592	byte 0,1          length593	byte 2            command code 0x30594	================  =============================================595GUI_BEEPER_SETTING596	Disable beeper597 598	================  =============================================599	byte 0,1          length600	byte 2            command code 0x31601	byte 3            0->disable, 1->enable602	================  =============================================603 604GUI_SET_PASSWORD605	Change password606 607	================  =============================================608	byte 0,1          length609	byte 2 		  command code 0x32610	byte 3 		  pass word length ( must <= 15 )611	byte 4 		  password (must be alpha-numerical)612	================  =============================================613 614GUI_HOST_INTERFACE_MODE615	Set host interface mode616 617	================  =============================================618	byte 0,1          length619	byte 2 		  command code 0x33620	byte 3 		  0->Independent, 1->cluster621	================  =============================================622 623GUI_REBUILD_PRIORITY624	Set rebuild priority625 626	================  =============================================627	byte 0,1          length628	byte 2 		  command code 0x34629	byte 3 		  0/1/2/3 (low->high)630	================  =============================================631 632GUI_MAX_ATA_MODE633	Set maximum ATA mode to be used634 635	================  =============================================636	byte 0,1          length637	byte 2 		  command code 0x35638	byte 3 		  0/1/2/3 (133/100/66/33)639	================  =============================================640 641GUI_RESET_CONTROLLER642	Reset Controller643 644	================  =============================================645	byte 0,1          length646	byte 2            command code 0x36647			  * Response with VT100 screen (discard it)648	================  =============================================649 650GUI_COM_PORT_SETTING651	COM port setting652 653	================  =================================================654	byte 0,1	  length655	byte 2 		  command code 0x37656	byte 3 		  0->COMA (term port),657			  1->COMB (debug port)658	byte 4 		  0/1/2/3/4/5/6/7659			  (1200/2400/4800/9600/19200/38400/57600/115200)660	byte 5 		  data bit661			  (0:7 bit, 1:8 bit   must be 8 bit)662	byte 6 		  stop bit (0:1, 1:2 stop bits)663	byte 7 		  parity (0:none, 1:off, 2:even)664	byte 8 		  flow control665			  (0:none, 1:xon/xoff, 2:hardware => must use none)666	================  =================================================667 668GUI_NO_OPERATION669	No operation670 671	================  =============================================672	byte 0,1          length673	byte 2            command code 0x38674	================  =============================================675 676GUI_DHCP_IP677	Set DHCP option and local IP address678 679	================  =============================================680	byte 0,1          length681	byte 2            command code 0x39682	byte 3            0:dhcp disabled, 1:dhcp enabled683	byte 4/5/6/7      IP address684	================  =============================================685 686GUI_CREATE_PASS_THROUGH687	Create pass through disk688 689	================  =============================================690	byte 0,1          length691	byte 2 		  command code 0x40692	byte 3 		  device #693	byte 4 		  scsi channel (0/1)694	byte 5 		  scsi id (0-->15)695	byte 6 		  scsi lun (0-->7)696	byte 7 		  tagged queue (1   enabled)697	byte 8 		  cache mode (1   enabled)698	byte 9 		  max speed (0/1/2/3/4,699			  async/20/40/80/160 for scsi)700			  (0/1/2/3/4, 33/66/100/133/150 for ide  )701	================  =============================================702 703GUI_MODIFY_PASS_THROUGH704	Modify pass through disk705 706	================  =============================================707	byte 0,1          length708	byte 2 		  command code 0x41709	byte 3 		  device #710	byte 4 		  scsi channel (0/1)711	byte 5 		  scsi id (0-->15)712	byte 6 		  scsi lun (0-->7)713	byte 7 		  tagged queue (1   enabled)714	byte 8 		  cache mode (1   enabled)715	byte 9 		  max speed (0/1/2/3/4,716			  async/20/40/80/160 for scsi)717			  (0/1/2/3/4, 33/66/100/133/150 for ide  )718	================  =============================================719 720GUI_DELETE_PASS_THROUGH721	Delete pass through disk722 723	================  =============================================724	byte 0,1          length725	byte 2            command code 0x42726	byte 3            device# to be deleted727	================  =============================================728GUI_IDENTIFY_DEVICE729	Identify Device730 731	================  =============================================732	byte 0,1          length733	byte 2            command code 0x43734	byte 3            Flash Method735			  (0:flash selected, 1:flash not selected)736	byte 4/5/6/7      IDE device mask to be flashed737			  .. Note:: no response data available738	================  =============================================739 740GUI_CREATE_RAIDSET741	Create Raid Set742 743	================  =============================================744	byte 0,1          length745	byte 2            command code 0x50746	byte 3/4/5/6      device mask747	byte 7-22         raidset name (if byte 7 == 0:use default)748	================  =============================================749 750GUI_DELETE_RAIDSET751	Delete Raid Set752 753	================  =============================================754	byte 0,1          length755	byte 2            command code 0x51756	byte 3            raidset#757	================  =============================================758 759GUI_EXPAND_RAIDSET760	Expand Raid Set761 762	================  =============================================763	byte 0,1          length764	byte 2            command code 0x52765	byte 3            raidset#766	byte 4/5/6/7      device mask for expansion767	byte 8/9/10       (8:0 no change, 1 change, 0xff:terminate,768			  9:new raid level,769			  10:new stripe size770			  0/1/2/3/4/5->4/8/16/32/64/128K )771	byte 11/12/13     repeat for each volume in the raidset772	================  =============================================773 774GUI_ACTIVATE_RAIDSET775	Activate incomplete raid set776 777	================  =============================================778	byte 0,1          length779	byte 2            command code 0x53780	byte 3            raidset#781	================  =============================================782 783GUI_CREATE_HOT_SPARE784	Create hot spare disk785 786	================  =============================================787	byte 0,1          length788	byte 2            command code 0x54789	byte 3/4/5/6      device mask for hot spare creation790	================  =============================================791 792GUI_DELETE_HOT_SPARE793	Delete hot spare disk794 795	================  =============================================796	byte 0,1          length797	byte 2            command code 0x55798	byte 3/4/5/6      device mask for hot spare deletion799	================  =============================================800 801GUI_CREATE_VOLUME802	Create volume set803 804	================  =============================================805	byte 0,1          length806	byte 2            command code 0x60807	byte 3            raidset#808	byte 4-19         volume set name809			  (if byte4 == 0, use default)810	byte 20-27        volume capacity (blocks)811	byte 28 	  raid level812	byte 29 	  stripe size813			  (0/1/2/3/4/5->4/8/16/32/64/128K)814	byte 30 	  channel815	byte 31 	  ID816	byte 32 	  LUN817	byte 33 	  1 enable tag818	byte 34 	  1 enable cache819	byte 35 	  speed820			  (0/1/2/3/4->async/20/40/80/160 for scsi)821			  (0/1/2/3/4->33/66/100/133/150 for IDE  )822	byte 36 	  1 to select quick init823	================  =============================================824 825GUI_MODIFY_VOLUME826	Modify volume Set827 828	================  =============================================829	byte 0,1          length830	byte 2            command code 0x61831	byte 3            volumeset#832	byte 4-19         new volume set name833			  (if byte4 == 0, not change)834	byte 20-27        new volume capacity (reserved)835	byte 28 	  new raid level836	byte 29 	  new stripe size837			  (0/1/2/3/4/5->4/8/16/32/64/128K)838	byte 30 	  new channel839	byte 31 	  new ID840	byte 32 	  new LUN841	byte 33 	  1 enable tag842	byte 34 	  1 enable cache843	byte 35 	  speed844			  (0/1/2/3/4->async/20/40/80/160 for scsi)845			  (0/1/2/3/4->33/66/100/133/150 for IDE  )846	================  =============================================847 848GUI_DELETE_VOLUME849	Delete volume set850 851	================  =============================================852	byte 0,1          length853	byte 2            command code 0x62854	byte 3            volumeset#855	================  =============================================856 857GUI_START_CHECK_VOLUME858	Start volume consistency check859 860	================  =============================================861	byte 0,1          length862	byte 2            command code 0x63863	byte 3            volumeset#864	================  =============================================865 866GUI_STOP_CHECK_VOLUME867	Stop volume consistency check868 869	================  =============================================870	byte 0,1          length871	byte 2            command code 0x64872	================  =============================================873 8744. Returned data875----------------876 877(A) Header878    3 bytes sequence (0x5E, 0x01, 0x61)879(B) Length880    2 bytes881    (low byte 1st, excludes length and checksum byte)882(C)883    status or data:884 885	1) If length == 1 ==> 1 byte status code::886 887		#define GUI_OK                    0x41888		#define GUI_RAIDSET_NOT_NORMAL    0x42889		#define GUI_VOLUMESET_NOT_NORMAL  0x43890		#define GUI_NO_RAIDSET            0x44891		#define GUI_NO_VOLUMESET          0x45892		#define GUI_NO_PHYSICAL_DRIVE     0x46893		#define GUI_PARAMETER_ERROR       0x47894		#define GUI_UNSUPPORTED_COMMAND   0x48895		#define GUI_DISK_CONFIG_CHANGED   0x49896		#define GUI_INVALID_PASSWORD      0x4a897		#define GUI_NO_DISK_SPACE         0x4b898		#define GUI_CHECKSUM_ERROR        0x4c899		#define GUI_PASSWORD_REQUIRED     0x4d900 901	2) If length > 1:902 903		data block returned from controller904		and the contents depends on the command code905 906(E) Checksum907    checksum of length and status or data byte908 909